Modding
Chaos Island keeps nearly everything in two archives on the CD, disk1.cfs (movies, sound, art) and disk2.cfs (missions, menus, units). This project's tools read and rebuild them, so mods are small scripts and no game data is passed around.
What's in the files
- .cfs archives: a list of named files.
- Missions: three text files each (
-prerules,-setmap and units,-endwin and lose). - .spr / .pal: sprites and palettes (256 colours).
- .ldf screens: every menu button and its position, in 640×480.
- .aud, .smk: sound and Smacker movies.
- CIsland.exe: the rules and stats. They were recovered by reading the code; the unit table has 48 records.
chaosmod
The command-line toolkit (Python, no dependencies):
| Command | Does |
|---|---|
list / extract | look inside an archive |
build | write a new archive with replaced or added files |
mission-info / validate | check missions, including setups that crash the original |
render | draw a mission map to PNG (the maps on this site) |
sprite | export sprite frames to PNG |
build-mission | make a mission from a short TOML spec |
harden | add harder Hard+ and Nightmare tiers (HUNTED and EXTINCTION in the MODDED build) |
patch-fps / widescreen | experimental patches for the original exe |
verify / diff | round-trip test an archive, compare two |
Difficulty stones
A mod can rename the difficulty stones and choose where each starts with a small text file, ocdifficulty.txt. The MODDED build uses it for HARD, HUNTED and EXTINCTION.
OpenChaos
The engine running this site's game is OpenChaos, a new open-source engine in C and SDL3 that plays the original files. It runs natively on Macs and in the browser (WebAssembly); an Android build compiles but is not yet tested. It is not the 1997 exe: every system was rewritten to match how the original behaves.
Directory
Field clearance