Some progress on ZON files :-
They seem to have a hearer structure :
Code:
long magic; "EQG2"
long version; ? (1)
long string_table_size; // Byte in string table following header
long unk1; // Unknown
long unk2; //Unknown
long unk3; //Unknown
long object_count;
The object_count seems to be a count of the number of placeable objects in the zone.
Following the header is a list of null terminated string many of which are the names of models in the EQG file.
At the END of the file there is a list of "object_count" 32 byte objects which are the location of placeable objects.
Code:
long id; // Not sure
float y; // Actually seems to be "-y"
floay x;
float z;
float unk1, unk2, unk3; // Possible rotations in some form
float scale; // Just a guess that it's scale
The first 3 floats seem to be (-y, x, z) which seems a little strange but if I draw a marker in my world at those locations it looks about right. Maybe I've somehow messed up getting the data in my code as (x, y, z) would make a lot more sense.
The the unk1 values seem to vary between 0 - 1. I'm guessing that one or more of them are rotations...
The scale may not be scale factor. But it seems to be a number usually 100.0 but sometimes other values such as 60.0 or 125.0 so it seems possible.
I'm guessing the id at the start indicates which model to draw. I'm thinking it needs to tie into the name table at the start but so far I've been unable to work out the connection.
Well, that's as far as I've got so far. Any more thoughts would be welcome
I can draw little triangles at the locations and it looks like those are all places where objects should in the world at least this is the right data.
As you can see from the screenshot below the marker triangles look like they are in the right places, I just can't tell what to draw there (yet)