EQEmulator Forums

EQEmulator Forums (https://www.eqemulator.org/forums/index.php)
-   General::General Discussion (https://www.eqemulator.org/forums/forumdisplay.php?f=586)
-   -   Anyone interested in client development? (https://www.eqemulator.org/forums/showthread.php?t=33432)

Tabasco 02-06-2012 05:56 PM

Revision 29 should build and function on linux 32 and 64 bit.

PixelEngineer 02-06-2012 06:14 PM

Quote:

Originally Posted by Tabasco (Post 206902)
Revision 29 should build and function on linux 32 and 64 bit.

Fantastic. Thank you Tabasco. Also, for those who don't know, Tabasco is now a contributor to the project.

pfyon 02-06-2012 10:10 PM

Excellent, works out of the box. Performance shot up once I installed the nvidia proprietary driver too ;).

Vexyl 02-07-2012 12:44 AM

Results
 
Revision 29 compiles/runs with no errors on Fedora 13.

Code:

[user@host ~]$ uname -a
Linux host 2.6.34.9-69.fc13.i686.PAE #1 SMP Tue May 3 09:13:56 UTC 2011 i686 i686 i386 GNU/Linux

`g++ --version`
Code:

g++ (GCC) 4.4.5 20101112 (Red Hat 4.4.5-2)
...

`make --version`
Code:

GNU Make 3.81
...


I did take a few screenshots while I was testing it, but didn't want to put all 5 in one post so here are the links:

Unrest: http://i.imgur.com/6wgCs.jpg

Mistmoore 1 (Overview): http://i.imgur.com/EH4QD.jpg

Mistmoore 2: http://i.imgur.com/eUgH5.jpg

Highkeep 1 (Front entrance): http://i.imgur.com/UGJ7o.jpg

Highkeep 2: http://i.imgur.com/V6XJB.jpg

That last one is interesting because the establishment plaque is upside down, and the left and right textures adjacent to the plaque are blurry.

Edit: Going to put up some neriak screenshots just for fun.

pfyon 02-07-2012 09:29 AM

I also noticed in gfay that all the trees' leaves were upside down.

Tabasco 02-07-2012 11:01 AM

This is indeed the case, and as you said, pretty easy to fix.

Quote:

Originally Posted by lerxst2112 (Post 206872)
It may not help that by default Direct3D is left-handed and OpenGL is right-handed with regards to coordinate systems. Not hard to account for if you know the format the data is loaded in and the destination system you want it to fit, but certainly a common pitfall.

The resolution should now load from the ini file and you can change camera speed with +/- now as well.

PixelEngineer 02-07-2012 06:44 PM

As for the flipped textures, there is a flag in the WLD header that denotes if the zone is old or new. I assumed that would allow us to flip or not flip the texture across the y axis. Unfortunately, the classic and the titanium Greater Faydark both say they are old zones so it won't be that simple. My next idea is just to check the bit depth on the textures when they load. If the depth is 8 bit, we know it's a classic zone and 24 bits, a newer version zone. Again as I mentioned, I will be learning shaders for the next week or so and then I am going to tackle both per vertex and per pixel lighting in GLSL.

Awesome work Tabasco.

Cheers!

PixelEngineer 02-13-2012 08:36 PM

As I continue to progress through my study of shaders, I had a fun idea last night. For me, seeing Lantern grow and accumulate a number of DLL's in the directory has been a little depressing. I downloaded a Game Boy Advance emulator yesterday and it had only 1 file; the executable.

I am going to try as I progress to actively reduce the amounts of external dependencies and DLL's so that quite possibly Lantern can simply be an executable. It could as a first run, create the .ini.

Thoughts?

Taurinus2 02-13-2012 09:09 PM

My thoughts:

In order to achieve this on Windows, you would need:

1) Static linkage
1a) Source for every lib you use to achieve this.

Sure, lib developers/vendors make pre-built libs available, but depending on them means that the show is over once development ends (or you move on to another environment that they do not support) and no source is supplied. You also have to keep crt linkage in mind (cannot mix them).

Even being feasible it is simply not worth the effort IMO.

Secondly, why?

Your data dependencies number in the thousands already so it would seem pointless to me.

PixelEngineer 02-13-2012 09:24 PM

Just an idea I was kicking around in my head. Obviously it would not be possible with more advanced libraries like FMOD but in terms of smaller libraries where I only use 1-2 functions from them, it might be useful.

Again, not something I am set in doing, just an idea. :D

And thank you for the great reply!

Cheers!

Speedz 02-13-2012 11:40 PM

Made a small mod for a live client like feel to movement.

camera.cpp line 53

if(ks[SDLK_UP] || ks[SDLK_w] || SDL_GetMouseState(NULL, NULL)&SDL_BUTTON(1))

Speedz 02-13-2012 11:52 PM

I hope you guys don't mind my type of submissions. I too am just learning. At this point I can do simple adds, and whatnot. But to do some grand feature addon is a bit beyond me. I like to make simple apps or make aesthetic type changes or addons. I have a local working copy with a bunch of changes that haven't made it to the svn. But thats ok if they are not needed.

As I do this I will get a grasp of C+. But my main experience is C# and I have just a basic grasp of that with the help of google and microsoft help links.

PixelEngineer 02-14-2012 01:27 AM

Quote:

Originally Posted by Speedz (Post 207202)
I hope you guys don't mind my type of submissions. I too am just learning. At this point I can do simple adds, and whatnot. But to do some grand feature addon is a bit beyond me. I like to make simple apps or make aesthetic type changes or addons. I have a local working copy with a bunch of changes that haven't made it to the svn. But thats ok if they are not needed.

As I do this I will get a grasp of C+. But my main experience is C# and I have just a basic grasp of that with the help of google and microsoft help links.

Don't be discouraged at all. What I would recommend is looking at a simple fragment. How about 0x21, the BSP tree. Look in the source for my handling of that fragment and compare it to the WLD documentation: ftp://ftp.mirrorservice.org/pub/sour...1.1/wlddoc.pdf

Then, pick a fragment that is not implemented, any one. Try to create a struct out of it. Try to implement a loading function mimicking the style that have already been created. And yes, I appreciate your contributions. Don't get down on yourself.

Cheers!

Taurinus2 02-16-2012 11:26 AM

PixelEngineer,

I know you aren't there yet but I would like to point you toward boost::asio for your networking. Boost as a whole is excellent and highly recommended.

pfyon 02-16-2012 07:32 PM

I was thinking about getting into the network side of things (as I have little interest in GUIs, but lots of interest in network code) and was thinking about using boost for cross-platform threading.


All times are GMT -4. The time now is 01:39 PM.

Powered by vBulletin®, Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.