mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-09-26 13:33:34 -04:00
5f937bdda5
- splat.us.exe.yaml: text subseg asm->c (INCLUDE_ASM scaffold); include/common.h (committed prelude); Makefile c-rule cpp->cc1->maspsx->as + -Map - PIN (G8): gcc-2.7.2-psx -O2 -G0 -mips1 -mcpu=3000 -mgas -msoft-float -fgnu-linker + maspsx --aspsx-version=2.56 --expand-div; byte-exact on func_80018F20 + instruction-identical across 3 idiom classes; --expand-div REQUIRED for div/rem (SETUP.md §5.4 PINNED, Makefile MASPSX_FLAGS) - harness: diff_settings.py (asm-differ mipsel object mode), tools/decompile.py (m2c wrapper), tools/permuter/ (decomp-permuter harness + objdump shim), expected/ - 14 real functions matched (asm-differ score 0): func_80018F20 + 13 accessors; +14 splat-auto empty no-ops; make check BYTE-IDENTICAL throughout - 2 instruction-identical near-misses guarded NON_MATCHING (func_80015A74 scheduling, func_80016714 phantom frame) -> decomp-permuter candidates - flywheel: docs/matching-cookbook.md, memory + CLAUDE.md step 5 (consult+evolve), R16 - requirements-python.txt: venv freeze (pycparser<3.0 pinned — permuter needs plyparser) - LZSS spike: needs jump-table-in-rodata workflow (102 tables, mixed blob) -> Phase 7 - venv: asm-differ + permuter deps installed - bumps project version 1.5.0 -> 1.6.0
44 lines
1.4 KiB
Plaintext
44 lines
1.4 KiB
Plaintext
# requirements-python.txt — Python venv deps for the BFM-decomp toolchain.
|
|
# The .venv itself is gitignored; THIS file is the durable, committed record so the
|
|
# environment is reproducible and hard-won findings are never re-debugged.
|
|
#
|
|
# Recreate the venv:
|
|
# python3 -m venv .venv && .venv/bin/pip install -r requirements-python.txt
|
|
#
|
|
# Phase 4 deferred this freeze to "after Phase-5 green"; created at Phase-6 close (2026-06-14).
|
|
# Exact versions from `pip freeze` on the working machine.
|
|
#
|
|
# IMPORTANT pins / notes:
|
|
# - pycparser is held <3.0 (==2.23): pycparser 3.0 removed the `plyparser` module that the
|
|
# pinned decomp-permuter imports. Upgrading WILL break the permuter (cost real debugging;
|
|
# see docs/matching-cookbook.md §3). Keep it <3.0.
|
|
# - splat64 0.41.0 pulls spimdisasm/rabbitizer/PyYAML/etc.; asm-differ needs
|
|
# watchdog/Levenshtein/cxxfilt/colorama; decomp-permuter needs pycparser/toml/PyNaCl.
|
|
|
|
# --- build / splat (Phase 4) ---
|
|
splat64==0.41.0
|
|
spimdisasm==1.41.0
|
|
rabbitizer==1.16.2
|
|
crunch64==0.6.2
|
|
PyYAML==6.0.3
|
|
pylibyaml==0.1.0
|
|
intervaltree==3.1.0
|
|
sortedcontainers==2.4.0
|
|
tqdm==4.67.1
|
|
n64img==0.3.3
|
|
pygfxd==1.0.5
|
|
pypng==0.20220715.0
|
|
|
|
# --- asm-differ runtime (Phase 6) ---
|
|
watchdog==6.0.0
|
|
Levenshtein==0.27.3
|
|
RapidFuzz==3.14.5
|
|
cxxfilt==0.3.0
|
|
colorama==0.4.6
|
|
|
|
# --- decomp-permuter (Phase 6) ---
|
|
pycparser==2.23
|
|
toml==0.10.2
|
|
PyNaCl==1.6.2
|
|
cffi==2.0.0
|