No description
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
2026-10-12 00:52:03 +09:00
raw Batch progress: 831 accepted 2026-10-12 00:52:03 +09:00
src Readable: 9 functions polished and verified (UI input, Text::String::Assign, Item::Init, SpriteSheet draws, ...) 2026-10-11 14:27:29 +09:00
state Batch progress: 831 accepted 2026-10-12 00:52:03 +09:00
.gitignore Ignore pipeline logs and pids 2026-10-12 00:40:03 +09:00
names.toml Registry and proposals: PC 1.2.4.1 names replace 1.4.5.8 ones 2026-10-11 19:11:15 +09:00
README.md Readable creator pilot: registry, three readable functions, five raw translations 2026-10-10 13:46:22 +09:00

TerrariaDecomp

Readable C++ for Terraria 1.09 (Xbox 360), function by function, each proven to behave like the original.

Private. This is derived from the game. It needs TerrariaRecomp next to it (../TerrariaRecomp), which builds it in and holds all the tooling. The workflow is described in TerrariaRecomp's docs/DECOMP.md.

Layout

Path What
names.toml The registry: types and field layouts, function names and signatures, globals, status. TerrariaRecomp's tools/decomp/gen.py turns it into decomp/game.h and stubs.
src/<Subsystem>/ Readable code. Functions are written against decomp/game.h and registered with DECOMP(...) / DECOMP_METHOD(...).
raw/sub_ADDR.cpp Verified machine translations waiting for a readability pass. Each one is deleted once a readable version is accepted.
include/ Hand-written helper headers.
state/ Driver state: status.json, names.json, and every model attempt in attempts/.

Rules

  • Nothing gets in without passing the endianness and readability lints, building, and the fork-diff verifier in a scenario that reaches it.
  • Readable code doesn't use raw addresses or g_memory: every type, function and global goes through names.toml.
  • Names follow TerrariaOGC where the native code confirms them; otherwise they're neutral and commented.