sots-engine/CONTRIBUTING.md
2026-09-07 17:07:54 -04:00

910 B

Contributing — clean-room rules

This tree must stay publishable as engine code only. Never commit:

  • game data in any form: .gob contents, extracted catalogs, saves, textures, strings dumps;
  • the original binaries, or anything derived from them by a decompiler/disassembler (no decompiler output, no disassembly excerpts, no pasted pseudo-code — not even in comments);
  • copied fixture files from the game. Test fixtures are hand-written minimal samples.

Facts about the binary (addresses, calling conventions, prototypes, struct layouts) enter this repo only through include/generated/sots_addresses.h, which is generated from the RE repo with a provenance header. Everything else is written from understanding, in our own words and code.

Real-data tests read $SOTS_DATA_DIR (the owner's installed copy) and must skip cleanly when unset. Run tools/clean_room_check.sh before committing.