Hmm, there was a post here saying what help was needed on the project but it seems to have vanished.
I've been working on my own zone renderer. I've hacked together some code that will display a .EQG based zone and let you fly through it although it only displays the basic diffuse textures at the moment and is one nasty long block of code that has evolved through trial and error.
I'm now rewriting the code in properly designed c++. With a core program that can represent a "world" and with plug in DLLs for platform support, graphics api support (D3D, Opengl) and world importing (from .s3d and .eqg files).
It's going to take a while though. I estimate a couple of weeks before I've got anything at all to show.
So what's this got to do with openeq?
Not a great deal at the moment. Although it will need to do a lot of the same things OpenEQ is about producing a new eq client. My code is a graphics engine which can display some eq zones...
But - I'm certainly willing to help with openeq too as and when I can. I'd like to see this project succeed and am offering what help I can with working out file format, designing stuff and implementing code, although I have limited time...
When I've got my code to a suitable standard I intend to relese the source code (although I'm not promising anything at this point) . Probably not under GPL though but I'll work something out that lets people use it if they wish.
I don't know how far openEQ has got beyond the code I've seen but here are some of the things I would need for my engine which I think openeq is going to need too :
1) Better documentation for the file formats. The posting here have been wonderful but it would be nice to draw them all together.
2) Documentation for the old style WLD files. There is code in
openeq to read them but it's far from clear how it all works.
3) Placable objects from old zones. Where are they stored and how? Where are the models stored and how?
4) Placeable objects for new zones. They are stored in .ZON resources inside .EQG files and I've mostly figured out the format. I can work out where to draw them, but not which object to draw which is a slight problem.
5) Better material handling. The new format files have a lot of information in about Diffuse textures, Normal textures and quite a few other things. Just drawing the diffuse texture produces a reasonable looking zone. I've experimented with the normal texture for bump mapping by applying it as a normal map to the main texture and modulating the brightness as each pixel. It seems to work in that it correctly hilights the bumps based on the position of the light source but it looks *terrible* so I'm obviously doing something wrong.
6) What about the .LIT files. I presume they contain light maps but can't figure out how to apply them at this point. My guess is that the ZON file shows which LIT file to apply to which areas but beyond that I've got nothing.
7) MOB formats. I only intend to draw the zones themselved with placable objects at least for starters. But openEQ is going to have to draw the mobs too, and animate them. What information is there on the file formats for this?
Floor finding. At the moment I just fly around the zone but I'm going to have to work out how to drop to the floor for walking around. At the moment I've no thoughts on how to do this other than by calculating the distance to every polygon and picking the nearest one below the player to move towards. But that sounds a huge amount of CPU time. I guess with an octree to cull the polygons that need searching it might be workable.
Anyway, lots of questions. I can probably answer some of them and maybe help draw together what documentation there is for the file formats.
I'll be working on my engine too and hope to release source to it once it is at least capable of drawing the zones and moving around in them even if it's just one unlit texture as there exists now.
Hmm, more later. Got to go to wortk now :(