| Binary | `.c` units |
| Outpost2.exe | 4278 |
| op2ext.dll | 173 |
| OP2Shell.dll | 212 |
| Total | 4663 |
| - | Addresses | Share |
| In a named subsystem (units, UI, game loop, ...) | 1711 | 56.6% |
| Only "unclassified" so far | 1311 | 43.4% |
| Evidence | Count | % of 3022 |
| Tethys VA table (OPU / headers) | 994 | 32.9% |
| Curated known-address list | 200 | 6.6% |
| HFL-style DAT globals | 161 | 5.3% |
| Heuristic filename | 166 | 5.5% |
| Heuristic content | 150 | 5.0% |
| Keyword scrape | 40 | 1.3% |
| Has a subsystem assignment | 1711 | 56.6% |
| Still default / unclassified | 1311 | 43.4% |
| Level | Addresses | Share |
| high | 1194 | 39.5% |
| medium | 471 | 15.6% |
| low | 1357 | 44.9% |
| Subsystem | Rows |
| units | 794 |
| ui | 392 |
| save_load | 391 |
| scenario | 327 |
| game_loop | 230 |
| map | 210 |
| rendering | 192 |
| sim_tick | 152 |
| unclassified | 1390 |
| networking | 40 |
| research | 49 |
| buildings | 57 |
| audio | 53 |
| Sum | 4277 |
| Metric | Before Phase 3G | After Phase 3G (now) |
| Named (not `FUN_*`) | 1,751 (57.9%) | 1,837 (60.8%) |
| Auto `FUN_*` | 1,271 | 1,185 |
| `unclassified` subsystem rows (index) | ~1,390 | 1,242 |
| New `crt` bucket (runtime tail tagged) | (none) | 46 rows on EXE |
There isn't enough real Outpost 2 90s era source lying around to build a serious dataset.
So why not rebuild it (or chunks of it) using the same kind of tools and stack they would have used back then?
3G-2 - RTTI / vtables
- Done: PE-first RTTI parse (`recover_rtti.py`, `rtti_pe.py`), optional Ghidra apply, `rtti-classes.md` + JSON.
- Expected: 100-300 functions renamed from RTTI alone.
- Actual: Community Tethys VAs already named most stream/GFX vtable slots. RTTI confirms hierarchies and only 6** extra `FUN_*` renames on apply. OP2Shell / op2ext in the OPU tree: no MSVC RTTI anchor found.
HFL-style DAT globals
Table: Subsystem heat (row counts, duplicates allowed)
Subsystem Rows
units 794
ui 392
save_load 391
scenario 327
...
I am a real person. Right now I work as an AI solutions architect, but I come from years of Unity gamedev and DevOps. Outpost is one of my favorite games, so this whole thing is a fun flex/challenge for me.What did you do with Unity, if you don't mind me asking? I worked with some of their proper engine developers on 3D GFX.