|
2 | 2 | Reverse engineering of Freedom Fighters (2003) and possibly other Glacier engine games
|
3 | 3 |
|
4 | 4 | [](https://raw.githubusercontent.com/minexew/Freedom/master/_images/render.jpg)
|
| 5 | + |
| 6 | +## File formats in map data |
| 7 | + |
| 8 | +### BUF |
| 9 | + - no header |
| 10 | + - ASCII resource names throughout |
| 11 | + - identifiers at the end |
| 12 | + - random data referenced externally? |
| 13 | + - not present in ErrorMessages |
| 14 | + |
| 15 | + - contains GMS instance names |
| 16 | + - contains GMS instance auxiliary buffers (not understood) |
| 17 | + |
| 18 | +### GMS - entities |
| 19 | + - compressed |
| 20 | + - cross-refs to PRM - mostly understood, able to render entire scene into .obj |
| 21 | + - refers to function names (script not figured out yet) |
| 22 | + |
| 23 | +### LOC - hierarchical localization data |
| 24 | + - fully understood |
| 25 | + - not present in ErrorMessages |
| 26 | + |
| 27 | +### OCT - ? |
| 28 | + |
| 29 | +### PRM - object geometry |
| 30 | + - we're able to enumerate models |
| 31 | + - dump OBJs with correct vertex positions and load those into Blender |
| 32 | + - doesn't describe model placement in world (see GMS) |
| 33 | + - a lot of questions remain |
| 34 | + - doesn't seem to contain world terrain (??) |
| 35 | + |
| 36 | +### RMC - ? |
| 37 | +### RMI - ? |
| 38 | +### SGP - ? |
| 39 | +### SND - ? |
| 40 | +### SUP - ? |
| 41 | + |
| 42 | +### TEX - textures |
| 43 | + - texdump managed to parse everything we tried |
| 44 | + - also contains reference to WAV files - this part is not understood |
| 45 | + |
| 46 | +### ZGF - compressed font collection |
| 47 | + - able to reliably decompress |
| 48 | + - unable to reliably tell font boundaries |
| 49 | + - (probably not very interesting) |
| 50 | + |
| 51 | +### xtr - custom format to help mapping file layouts and find gaps in understood data |
0 commit comments