Skip to content

Commit a26d4fc

Browse files
committed
merge file formats.txt into README.md
1 parent e638751 commit a26d4fc

File tree

2 files changed

+47
-45
lines changed

2 files changed

+47
-45
lines changed

README.md

+47
Original file line numberDiff line numberDiff line change
@@ -2,3 +2,50 @@
22
Reverse engineering of Freedom Fighters (2003) and possibly other Glacier engine games
33

44
[![screenshot](https://raw.githubusercontent.com/minexew/Freedom/master/_images/render.jpg)](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

file formats.txt

-45
This file was deleted.

0 commit comments

Comments
 (0)