Progress metrics¶
This page tracks progress toward 100% fidelity with the original game.
Feature parity dashboard¶
Legend: โ complete ยท ๐ง in progress ยท โฌ not started
| Feature | Scoping | Analysis | Validation | Parity | Notes |
|---|---|---|---|---|---|
| Formats (PAQ/JAZ) | โ | โ | โ | โ | Full extraction & conversion pipeline working. |
| Quest Logic | โ | โ | โ | โ | All 50 builders dumped, validated, and mirrored in Python. |
| Terrain | โ | โ | โ | ๐ง | Rendering logic validated; decal baking wired into Survival. |
| Boot Sequence | โ | โ | โ | ๐ง | Logos, loading steps, and music handoff implemented. |
| Menu System | โ | โ | ๐ง | ๐ง | State 0: quit wired; panel/back positions + slide animation match; terrain stable across menu screens; sign shadow pass matches when fx_detail is enabled. |
| Demo / attract loop | โ | ๐ง | โฌ | ๐ง | Variants + spawn ids identified; idle trigger + variant sequencing implemented (idle threshold still TODO); trial overlay implemented (demo-build validation pending). |
| Weapons | โ | โ | ๐ง | ๐ง | Core weapons (pistol/AR/shotgun/minigun/rocket) use pellet spread + rocket splash; basic fire/reload/hit SFX hooks wired; remaining special weapons pending. |
| Creatures: structs | โ | ๐ง | โฌ | โฌ | Creature pool field map is medium-confidence; needs more xrefs + runtime checks. |
| Creatures: spawning | โ | ๐ง | โฌ | โฌ | Spawn templates are an algorithm (formations/spawn slots/tail mods); plan rewrite started. |
| Creatures: animations | โ | ๐ง | โฌ | โฌ | Atlas/frame selection wired into Survival; parity tuning in progress. |
| Creatures: AI | โ | ๐ง | โฌ | โฌ | AI modes partially mapped; needs runtime evidence and edge cases. |
| Creatures: other | โ | ๐ง | โฌ | ๐ง | Contact damage/death/bonus hooks live; death SFX hooks wired; ranged attacks + full audio behaviors pending. |
| Player | โ | โ | ๐ง | โฌ | Input & movement mapped; state struct partially validated. |
| Grim2D | โ | โ | โ | โฌ | Vtable mapped & validated; implementation deferred. |
| Save/Config | โ | โ | โฌ | โฌ | File formats reversed; editor tools built. |
Ghidra maps¶
| Map | Total entries | crimsonland.exe | grim.dll | With signatures | With comments | Duplicate names |
|---|---|---|---|---|---|---|
| Name map | 1167 | 695 | 472 | 1147 | 1144 | 0 |
| Data map | 855 | 754 | 101 | n/a | 855 | 0 |
Decompiled data symbol coverage¶
| Program | Labeled symbols | Total data symbols | Coverage |
|---|---|---|---|
| crimsonland.exe | 387 | 2576 | 15.02% |
| grim.dll | 84 | 479 | 17.54% |
| Total | 471 | 3055 | 15.42% |
Status definitions¶
See Work status model for the full lifecycle:
- Scoping โ We know it exists; location identified
- Analysis โ Static analysis complete; logic mapped in Ghidra
- Validation โ Runtime-confirmed via Frida/WinDbg
- Parity โ Reimplemented in Python; matches original exactly
Known behavior deltas¶
Intentional divergences from the original:
- None recorded yet.
Demo / attract loop tasks (rewrite)¶
Legend: โ complete ยท ๐ง in progress ยท โฌ not started
- โ Identify spawn ids used by demo variants (0x24, 0x25, 0x34, 0x35, 0x38, 0x41) and port to spawn-plan rewrite.
- โ
Fix demo loop sequencing to match
demo_mode_start(variant index modulo 6, purchase interstitial timing, restart rules). - โ Add menu idle timer trigger (attract starts after inactivity; resets on input).
- โ Implement demo upsell overlay (upsell "Want more ..." message + progress bar).
- โ
Implement
demo_trial_overlay_renderUI + timing rules. - โฌ Validate trial overlay behavior against a demo build.
- โ
Implement full
demo_purchase_screen_updatepurchase screen UI. - โ Replace DemoView toy simulation with real gameplay systems (creature alloc/update, weapons/projectiles, collision/damage, terrain bounds).