Repository automation is grouped by domain. Run commands from the repository root unless a section says otherwise.
| Path | Purpose |
|---|---|
work/ |
Ledger, TU claiming, dossiers, reconstruction helpers, parity, compile verification, review packets, goals, and maintenance. The repo-root work.cmd is the normal entry point. |
ida/ |
IDAPython exporters, the parallel export driver, and DecFIGS source-attribution post-processing. |
build/ |
Game, FFmpeg, and standalone-tool build drivers plus linker-map conversion. |
assets/memory_map/ |
Extract, export, and generate the X360 memory-map data used by the PC build. |
assets/textures/ |
Loading-screen texture extraction and conversion experiments. |
assets/fonts/ |
X360 font conversion, vector-font carving, and layout inspection. |
renderware/ |
RenderWare type-header generation from the offline rwcore symbol export. |
diagnostics/ |
Small inspection utilities that do not belong to a production pipeline. |
volatility/ |
Resource-tooling submodule. |
yap/ |
Bundle-tooling submodule. |
The root-level export_db.ps1, build_tools.ps1, build_game_exe.bat, and
build_ffmpeg.bat files are compatibility entry points. Their implementations
live in the domain folders above.
The scripts under ida/ are either IDAPython scripts, which run inside IDA, or
normal shell-side drivers and post-processors:
| Tool | What it does |
|---|---|
ida/export_all.py |
Exports each function to .ida-exports/<db>/<addr>.json, including names, prototypes, locals, pseudocode, assembly, callers, and callees. |
ida/export_db.ps1 |
Runs export_all.py headlessly across parallel IDA processes. |
ida/export_lineinfo.py |
Extracts DecFIGS DWARF source file/line attribution from the IDB. |
ida/build_source_tree.py |
Compacts raw line information into the committed references/DecFIGS/decfigs_* artifacts. |
ida/decompile.py |
Decompiles one function selected through environment variables. |
Full export:
tools/export_db.ps1
tools/export_db.ps1 -DbName "BURNOUT_X360_ARTIST.XEX"
tools/export_db.ps1 -DbName "BURNOUT_X360_ARTIST.XEX" -IdaPath "C:\Program Files\IDA Professional 9.0\idat.exe"DecFIGS source attribution:
& "C:\Program Files\IDA Professional 9.3\idat.exe" -A `
-S"tools/ida/export_lineinfo.py" "IDA Files/DecFIGS_Burnout_Internal_PS3.ELF.i64"
python tools/ida/build_source_tree.pytools/build_game_exe.bat
tools/build_ffmpeg.bat
pwsh tools/build_tools.ps1The implementations are under tools/build/. Build products go under
build/game/ and build/tools/; generated FFmpeg binaries go under
b5-decomp/vendor/ffmpeg-build/.
Memory map:
python tools/assets/memory_map/extract.py
python tools/assets/memory_map/export_yaml.py
python tools/assets/memory_map/generate_header.pyFonts and textures:
python tools/assets/fonts/convert_x360.py <x360_font.dat> <out_ours.dat>
python tools/assets/fonts/carve_vectorfont.py
python tools/assets/textures/extract_xex.pyassets/textures/extract_loadscreens.py is an IDAPython script. The font
dump_offsets.cpp utility must be compiled manually with the include paths
listed in its header comment.
Regenerate the rw:: vocabulary after refreshing the offline Ghidra export:
python tools/renderware/generate_headers.pyThe generator consumes .ghidra-exports/rwcore/ and writes the RenderWare
headers under b5-decomp/vendor/renderware/include/.
Use work.cmd rather than invoking tools/work/work.py directly:
work status
work claim
work show <tu> --full
work submit <tu>See ../progress/README.md and
../AGENTS.md for the complete reconstruction workflow.