|ENGINE_LEVEL - LevelGraphicsFile Format
||Thu, 21 November 2013 08:43
Registered: August 2013
Here's what I have so far on the engine_level/LevelGraphicsFile format. This format will not properly work in HW as it seems to cut off the strings after 10 chars and thus screws the rest of the format, and in the process sucks up a ton of cpu and mem (a 2.2kb file sucked up 1.4gb ram). There may also be additional file types that I have not yet run into.
This file seems to have links to a number of other files used for loading/rendering the level. This includes heightmaps and flora models. The flora models are followed by what looks like instancing data to spawn instances with.
#pragma maxarray(65536) // max that hw 5.1 will allow
typedef struct Coord3D
typedef struct LGFFloraInstance
float Unknown1; // these two floats seem to always be very small, very close to 0
float Unknown2; // they could be used for rotation maybe? though that's usually done with quaternions
typedef struct LGFUnknownBBEntry // looks like it might be bounding box, but not sure
typedef struct LGFFileEntry
case 0x5: break;
DWORD UnknownBBCount; // I think these might be bounding boxes, but not sure
case 0x20: break;
typedef struct LevelGraphicsFile
char LevelGraphicsFileTag; // = "LevelGraphicsFile"