Crimsonland reverse engineering notes¶
Reverse engineering and rewriting Crimsonland v1.9.93 in Python + raylib.
Current state
The rewrite boots to a working menu with terrain rendering, music playback, and demo/attract mode scaffolding. All 50 quest builders are runtime-validated and mirrored in Python. Asset pipeline (PAQ/JAZ) is complete. Next milestone: player input + weapon firing to unlock the gameplay loop.
Analysis¶
Rewrite (Python + raylib)¶
Crimsonland.exe¶
- Crimsonland.exe overview (by concern)
- State machine
- Frame loop
- Gameplay glue
- Rendering pipeline
- UI and menus
- Main menu (state 0)
- Screens and flows
- Demo / attract mode
- Online high scores
- Mods (CMOD plugins)
- Terrain pipeline
Formats & pipeline¶
- Formats overview
- PAQ archives
- JAZ textures
- Fonts
- Sprite atlas cutting
- Extraction pipeline
- Python executable spec
- Save/status file (game.cfg)
- Config blob (crimson.cfg)
Data tables & IDs¶
- Weapon table
- Weapon ID map
- UI weapon icons
- Perk ID map
- Bonus ID map
- Game mode map
- Quest builders
- Audio