Skip to content

Latest commit

 

History

History
134 lines (117 loc) · 9.48 KB

PROGRESS.md

File metadata and controls

134 lines (117 loc) · 9.48 KB

THPS1 matching decompilation: progress

Generated by node tools/progress.mjs on 2026-10-08 from matched.tsv. Don't edit by hand. node tools/check_all.mjs re-verifies every counted function byte-for-byte against the retail executable.

94.3% of game code is byte-exact: 453,780 / 481,452 bytes, 1179 / 1186 functions.

██████████████████████████████████████░░ 94.3% of bytes ████████████████████████████████████████ 99.4% of functions

Scope: retail SLUS_008.60 game code, 0x80010000–0x800858ac (1186 functions from functions.tsv). The Psy-Q libraries linked after it are out of scope because the runtime/HLE provides them.

History

date commit functions bytes % of bytes
2026-09-29 395ab4a 318 35,028 7.3%
2026-10-07 5e39939+ 1163 393,672 81.8%
2026-10-07 1e78824+ 1164 401,144 83.3%
2026-10-07 1e78824+ 1165 410,164 85.2%
2026-10-07 c5999c0+ 1166 410,544 85.3%
2026-10-07 c5999c0+ 1167 411,376 85.4%
2026-10-07 c5999c0+ 1168 417,944 86.8%
2026-10-07 c5999c0+ 1172 432,476 89.8%
2026-10-07 17b9a21+ 1173 432,780 89.9%
2026-10-07 17b9a21+ 1174 433,876 90.1%
2026-10-07 fbf10e2+ 1175 436,480 90.7%
2026-10-07 de8531b+ 1176 439,304 91.2%
2026-10-07 09b6a14+ 1177 447,788 93.0%
2026-10-08 1cf9d9b+ 1178 448,840 93.2%
2026-10-08 1cf9d9b+ 1179 453,780 94.3%

(166 points in total; full series in progress.csv)

By size

function size functions exact bytes exact
0–100 B 500 / 500 26.4 KB / 26.4 KB (100.0%) ████████████████████
101–300 B 366 / 367 64.8 KB / 65.0 KB (99.6%) ████████████████████
301–600 B 142 / 143 59.1 KB / 59.7 KB (99.0%) ████████████████████
601–1000 B 72 / 73 54.8 KB / 55.4 KB (98.9%) ████████████████████
1001–2000 B 63 / 63 84.8 KB / 84.8 KB (100.0%) ████████████████████
> 2000 B 36 / 40 153.3 KB / 178.9 KB (85.7%) █████████████████░░░

By module

Module = source file from the demo's debug symbols. Unnamed functions (no demo symbol) are assigned to the preceding named function's module, since object files link contiguously. Treat modules with many unnamed members as approximate: they're often THPS1-only code with no demo counterpart.

module functions unnamed bytes % of bytes
CREDITS 90 / 90 89 65.9 KB / 65.9 KB 100.0% ████████████
PHYSICS 61 / 63 49 49.7 KB / 58.1 KB 85.5% ██████████░░
BIT 102 / 103 61 16.7 KB / 28.5 KB 58.5% ███████░░░░░
FRONT 46 / 46 19 28.4 KB / 28.4 KB 100.0% ████████████
CAMERA 30 / 31 24 14.7 KB / 20.0 KB 73.3% █████████░░░
SHELLUTILS 67 / 67 53 19.9 KB / 19.9 KB 100.0% ████████████
COMPETITION 27 / 27 22 13.3 KB / 13.3 KB 100.0% ████████████
TRIG 34 / 34 12 11.9 KB / 11.9 KB 100.0% ████████████
MAIN 19 / 19 15 11.5 KB / 11.5 KB 100.0% ████████████
VIDEO 44 / 44 23 10.9 KB / 10.9 KB 100.0% ████████████
BADDY 20 / 20 12 10.6 KB / 10.6 KB 100.0% ████████████
PANEL 33 / 33 27 10.0 KB / 10.0 KB 100.0% ████████████
PRE 15 / 15 12 9.9 KB / 9.9 KB 100.0% ████████████
M3DCOLIJ 10 / 10 6 9.9 KB / 9.9 KB 100.0% ████████████
RFRONT 19 / 19 12 9.8 KB / 9.8 KB 100.0% ████████████
SHATTER 25 / 25 19 9.0 KB / 9.0 KB 100.0% ████████████
PLATFORM 13 / 13 6 8.8 KB / 8.8 KB 100.0% ████████████
MESS 41 / 41 24 8.2 KB / 8.2 KB 100.0% ████████████
UTILS 37 / 37 18 7.5 KB / 7.5 KB 100.0% ████████████
SPOOL 28 / 28 11 6.6 KB / 6.6 KB 100.0% ████████████
TRICKOB 16 / 16 14 6.5 KB / 6.5 KB 100.0% ████████████
CARD 21 / 22 8 5.2 KB / 5.5 KB 95.1% ███████████░
PACK 15 / 15 5 5.5 KB / 5.5 KB 100.0% ████████████
OB 37 / 37 23 5.4 KB / 5.4 KB 100.0% ████████████
M3DZONE 4 / 4 3 5.1 KB / 5.1 KB 100.0% ████████████
M3D 14 / 14 9 5.0 KB / 5.0 KB 100.0% ████████████
PAD 19 / 19 8 4.8 KB / 4.8 KB 100.0% ████████████
MECH 24 / 24 16 4.3 KB / 4.3 KB 100.0% ████████████
M3DELIPS 2 / 2 0 4.2 KB / 4.2 KB 100.0% ████████████
CAR 12 / 12 10 4.2 KB / 4.2 KB 100.0% ████████████
POWERUP 15 / 15 11 4.1 KB / 4.1 KB 100.0% ████████████
M3DINIT 6 / 6 3 3.8 KB / 3.8 KB 100.0% ████████████
M3DUTILS 8 / 8 1 3.7 KB / 3.7 KB 100.0% ████████████
GAMEFMV 15 / 15 8 3.6 KB / 3.6 KB 100.0% ████████████
TAPES 8 / 8 3 3.4 KB / 3.4 KB 100.0% ████████████
TRICKTIPS 9 / 9 7 3.4 KB / 3.4 KB 100.0% ████████████
MEM 15 / 15 12 2.9 KB / 2.9 KB 100.0% ████████████
CAREER 12 / 12 10 2.8 KB / 2.8 KB 100.0% ████████████
QUAT 5 / 5 4 2.8 KB / 2.8 KB 100.0% ████████████
FLASH 8 / 8 5 2.7 KB / 2.7 KB 100.0% ████████████
SFX 20 / 20 12 2.7 KB / 2.7 KB 100.0% ████████████
PAL 17 / 17 10 2.4 KB / 2.4 KB 100.0% ████████████
VECTOR 30 / 30 2 2.3 KB / 2.3 KB 100.0% ████████████
EXP 9 / 10 8 1.6 KB / 2.2 KB 74.2% █████████░░░
DECOMP 2 / 2 1 2.2 KB / 2.2 KB 100.0% ████████████
SMOKE 4 / 4 1 2.2 KB / 2.2 KB 100.0% ████████████
CAMPT 2 / 2 1 1.8 KB / 1.8 KB 100.0% ████████████
SHELL 10 / 10 9 1.7 KB / 1.7 KB 100.0% ████████████
FONT 8 / 8 3 1.7 KB / 1.7 KB 100.0% ████████████
FILEIO 4 / 5 4 1.1 KB / 1.7 KB 64.7% ████████░░░░
CROWD 7 / 7 6 1.6 KB / 1.6 KB 100.0% ████████████
INIT 12 / 12 10 1.5 KB / 1.5 KB 100.0% ████████████
BIT2 8 / 8 4 1.2 KB / 1.2 KB 100.0% ████████████
MEDALS 8 / 8 6 1.0 KB / 1.0 KB 100.0% ████████████
MENU 4 / 4 4 820 B / 820 B 100.0% ████████████
BACKGRND 5 / 5 0 452 B / 452 B 100.0% ████████████
REDBOOK 2 / 2 0 128 B / 128 B 100.0% ████████████
SCREENTOOLS 1 / 1 0 96 B / 96 B 100.0% ████████████

Closest near-misses

From nearmiss.tsv (the score is the better of positional and alignment-aware).

function size score source
CBruce::DoOnGroundPhysics(void) 5664 1413/1416 (99.8%) src/physics/doonground.cpp
FUN_8004f000 588 146/147 (99.3%) src/unnamed/8004f000.c
CCamera::ReactToCollision(void) 5464 1355/1366 (99.2%) src/camera/reacttocollision.cpp
FUN_8002ab20 12120 2995/3030 (98.8%) src/bit/display.cpp
FileIO_Open(char const *) 620 153/155 (98.7%) src/fileio/open.cpp
Card_GetDirAndFreeBlocks(int, int) 276 68/69 (98.6%) src/card/getdirandfreeblocks.cpp
CBruce::HandleStickToRail(void) 2940 705/735 (95.9%) src/physics/handlesticktorail.cpp

Biggest unmatched functions

function module size attempt
FUN_8002ab20 (0x8002ab20) BIT (inferred) 11.8 KB 2995/3030
CBruce::DoOnGroundPhysics(void) (0x800347a8) PHYSICS (inferred) 5.5 KB 1413/1416
CCamera::ReactToCollision(void) (0x80078f3c) CAMERA (inferred) 5.3 KB 1355/1366
CBruce::HandleStickToRail(void) (0x8003058c) PHYSICS (inferred) 2.9 KB 705/735
FileIO_Open(char const *) (0x8004c8a4) FILEIO (inferred) 620 B 153/155
FUN_8004f000 (0x8004f000) EXP (inferred) 588 B 146/147
Card_GetDirAndFreeBlocks(int, int) (0x80015164) CARD 276 B 68/69