PDA

View Full Version : OpenEQ compiling


MOG
12-16-2004, 10:36 AM
Daeken, I think your project looks very nice so far. I downloaded the tarball at http://home.archshadow.com/~daeken/openeq.tar.bz2

I have a couple questions. Will you be providing VisualC++6/7 project files? How about MinGW, or XCode (Mac OS X)? I'm curious how cross-platform it really is.
So far it isn't compiling for me in MinGW (don't want to try cygwin, because of the dll thing). I haven't yet tried compiling it on my G5 Mac.

Anyway, good luck, and thanks for the effort.

daeken_bb
12-16-2004, 10:44 AM
Daeken, I think your project looks very nice so far. I downloaded the tarball at http://home.archshadow.com/~daeken/openeq.tar.bz2

I have a couple questions. Will you be providing VisualC++6/7 project files? How about MinGW, or XCode (Mac OS X)? I'm curious how cross-platform it really is.
So far it isn't compiling for me in MinGW (don't want to try cygwin, because of the dll thing). I haven't yet tried compiling it on my G5 Mac.

Anyway, good luck, and thanks for the effort.

jbb ported the source to compile on windows not long ago and sent it to me. I have to merge it in still, and when I do, I'll post the source and such. I have been busy with life lately, so I haven't had time to work on OpenEQ, but I should be able to merge it soon.

MOG
12-16-2004, 01:44 PM
I found it necessary to edit the makefile slightly as references to libs were incorrect for windows. In particular,

LINKOPTS=-lz -lopengl32 -lglu32 -lSDL -LSDL

But that wasn't enough to get it to compile.

$ make
g++ -g src/pfs.o src/ter.o src/draw.o src/ddslib.o src/move.o src/matrix.o src/zon.o src/file.o src/octree.o src/frustum.o src/main.o -lz -lopengl32 -lglu32 -lSDL -LSDL -o openeq
src/pfs.o(.text+0x252): In function `ZN9PFSLoader4OpenEP6_iobuf':
/openeq/src/pfs.cpp:74: undefined reference to `ntohl'
c:/MinGW/bin/../lib/gcc-lib/mingw32/3.2.3/../../../libmingw32.a(main.o)(.text+0x97):main.c: undefined reference to `WinMain@16'
make: *** [openeq] Error 1

By the way, I have noticed I posted this out of the support area by mistake, feel free to transfer the topic to where it is allowed. I apologise for the oversight.


MOG

Cisyouc
12-16-2004, 02:43 PM
I created VC++ 6 workspaces for the win32 version...

You can try them.

Win32 Source: http://home.archshadow.com/~daeken/openeq_win32.zip

VC++ 6 Project Files: http://www.freepgs.com/csn/openeq_win32_vc6.zip

MOG
12-16-2004, 03:44 PM
Thanks for the help. I downloaded your windows files and it builds. Unfortunately it crashes at launch, so I guess there is still work to be done to get it to run in Windows XP sp2?

After I typed that I looked again and it seems I could be missing a standard lib. The VC6 debugger accuses FREAD.c
I'll look into it.

By the way, it might be a good idea to sticky instructions for people who want to compile under windows, as I suspect there will be quite a few.

jbb
12-17-2004, 12:06 AM
If this is still the crappy "port" I did then it's hardcoded to load a particular zone file. Anguish.eqg I think from the working directory of the program. It may well crash if that file isn't there.

MOG
12-17-2004, 05:08 AM
Unfortunately I cannot find that file, only anguish.txt

Changing the txt to eqg didn't help, either.

jbb
12-17-2004, 06:26 AM
Anguish.eqg is the zone file for one of the Omens of War zones. You'll need that expansion in order to have the file. The openeq as available so far only renders omens of war zones (because they have a different file format to the old zones)

MOG
12-17-2004, 10:31 AM
Interesting. I bought EverQuest evolution a few months back and it had a lot of expansions. But not that one.

Is that expansion downloadable through the patcher somehow?


MOG

daeken_bb
12-17-2004, 10:45 AM
Interesting. I bought EverQuest evolution a few months back and it had a lot of expansions. But not that one.

Is that expansion downloadable through the patcher somehow?


MOG

http://home.archshadow.com/~daeken/patch.html has all of the patcher files there (linked to the patch server, of course) so you can get anguish.eqg.gz from there, then gunzip it (or use winamp)

Cisyouc
12-17-2004, 02:05 PM
(or use winamp)Winamp? The MP3 Player!?

daeken_bb
12-17-2004, 03:04 PM
(or use winamp)Winamp? The MP3 Player!?

Erm, winzip... die :P

MOG
12-18-2004, 05:21 AM
Thanks. This worked fine. I was able to load the zone and move around it with mouse and arrow keys. It gave me a better understanding of where OpenEQ is at right now. There is no gravity, no animation and no collision. So right now it is strictly a zone viewer but very interesting. What will be added next? Lights?
It might be a good idea to add some basic bounding boxes so you can move around a zone without going through walls.

I like the project, so far it looks competently made.

MOG

daeken_bb
12-18-2004, 05:48 AM
Thanks. This worked fine. I was able to load the zone and move around it with mouse and arrow keys. It gave me a better understanding of where OpenEQ is at right now. There is no gravity, no animation and no collision. So right now it is strictly a zone viewer but very interesting. What will be added next? Lights?
It might be a good idea to add some basic bounding boxes so you can move around a zone without going through walls.

I like the project, so far it looks competently made.

MOG

Next thing I'm going to add is collision detection, then probably networking so we can get some basic stuff working, then animations (ugh.)

jbb
12-18-2004, 05:53 AM
That seems to be the way to go to me.
Having empty zones you could walk around in and at least render the other players as a red cube and let you chat to them would be a good milestone that would show nice progress to people too

daeken_bb
12-18-2004, 06:20 AM
That seems to be the way to go to me.
Having empty zones you could walk around in and at least render the other players as a red cube and let you chat to them would be a good milestone that would show nice progress to people too

Agreed.

Anyway, need to get some christmas shopping done, so I'll see you all later :)

MOG
12-18-2004, 06:46 AM
Happy shopping, hoho.

Have you considered using the Ogre engine? It does real nice skeletal animations. I would suggest using Ogre instead of reinventing the wheel. http://www.ogre3d.org It would take away a lot of the hard work so you could concentrate on other aspects of the logic. Ogre is also good for GUI functionality.
For networking, I would strongly recommend HawkNL
( http://www.hawksoft.com/hawknl/ ). It's fairly low level sockets programming there. Crossplatform (the way I like it).
From the site:

HawkNL is a free, open source, game oriented network API released under the GNU Library General Public License (LGPL). HawkNL (NL) is a fairly low level API, a wrapper over Berkeley/Unix Sockets and Winsock. But NL also provides other features including support for many OSs, groups of sockets, socket statistics, high accuracy timer, CRC functions, macros to read and write data to packets with endian conversion, and support for multiple network transports. NL has been tested on Windows 9x/ME/NT/2000/XP/CE, Linux, Solaris, IRIX, AIX, BSDs, MacOS 7-9 and MacOS X.

It would make sense to "twist" these in since you are already using SDL. You could save a lot of time.

MOG

MOG
12-18-2004, 06:53 AM
That seems to be the way to go to me.
Having empty zones you could walk around in and at least render the other players as a red cube and let you chat to them would be a good milestone that would show nice progress to people too

I am thinking that with Ogre he could jump into the nitty-gritty skelatal animations a lot faster, maybe even bypassing the cube phase.
What is the status on reverse engineering the character animation files? I'll read more in this forum to find out. But it seems to me it could be quite similar to .NIF files used by NetImmerse-based games (Morrowind, DAoC).
Is there a way to import EQ meshes into 3DsMax or Lightwave?
At any rate, I look forward to see his next step.

MOG

jbb
12-18-2004, 06:56 AM
Personally I'd use Ogre it seems nice.
But it's not my project :)

And getting the data into the format it needs is not trivial anyway.

jbb
12-20-2004, 07:15 AM
One more thing -
It seems that the changes I made to change main to WinMain are uncecssary as SDL on windows comes with a library "sdlmain.lib" which if you like with it contains a WinMain which calls the standard main function.
That's better for portability