mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-09-27 14:02:04 -04:00
62042f65ca
Fleet 96.06 -> 96.10% fn-count / 93.7% instr / 88.0% distinct; dedup 1907 -> 1908 groups, 0 failed, C1 240807/240807. R22 clean-fleet: 140 passed, 0 failed of 140. func_8012A598 (3,288 templatable ins) was being written off as CARRY-FIXABLE. It took TWO fixes; either alone leaves it skipped. 1. TOOL (R33) — find_site's preamble backscan. The SESSION-18 fix handled blank, `//`, and SINGLE-LINE `/* … */` lines, but a MULTI-LINE block comment still halted the walk: its middle lines start with `*` and its last line ends `*/` without starting `/*`. So the three externs above the body were dropped and the body then failed compiles_standalone on now-undeclared data. This is the §134 multi-line-blindness class — S6b fixed the identical shape three times in family_remap (D1/D2/D5) and this copy was never reached. Fixed by deciding skippability on `cdecl._mask` — the project's ONE masking oracle — instead of on line syntax: it subsumes every comment form at once and cannot be fooled by a `/*` inside a string, with an R32 assertion on the length-preservation invariant it rests on. Strictly monotone (it can only carry MORE preamble), and dedup_propagate is a byte-gate feeder, so a bug here can fail to bank but never falsely bank. 2. EXEMPLAR — the body also declared a draft-local `struct BigCopy164` tag, which the tool refuses by design (two macros defining one tag would redefine it in a single TU). The shared `struct BigCopy` (engine_types.h L312) is the identical layout and is ALREADY used this exact way at engine_core.h:16158, so switching the exemplar to it is byte-neutral and drops the alias too. Probed on ONE member before scaling (R37/S29): byte-identical 9052dc0e first try; then 138 overlays byte-identical. PROPAGATE head accounting after this: 7,398 of 18,545 ins banked (func_80147364 4,110 + func_8012A598 3,288). Still open, each with a NAMED cause and none yet diagnosed against a build: func_8012f274 (3,973, dropped), func_8016ba68 (3,886, 4/138), func_801466f0 (3,288, the S6b D4 wrapped-alias gap).
161 lines
9.1 KiB
Markdown
161 lines
9.1 KiB
Markdown
# BFM FLEET matching progress (generated by tools/progress.py --fleet — authoritative)
|
||
# 140 binaries: main + resident + 138 location overlays. DETERMINISTIC,
|
||
# source-derived (committed src/*.c + config/dedup.us.yaml). Live byte gate: `make check-all`;
|
||
# cross-binary collapsible-byte leverage: docs/duplicates.cross.md.
|
||
|
||
# THREE progress metrics (all matter — see the labels):
|
||
FLEET fn-count byte-ident: 339914 / 353721 = 96.10% (REAL+LINKED+empties; FUNCTION-count, ×134-inflated — one crack counts per overlay)
|
||
FLEET instr-weighted : 12314568 / 13141652 = 93.7% (shipped .text across main + resident + 138 overlays; the decomp.dev-DISPLAY number)
|
||
FLEET distinct-code(uniq): 4961017 / 5634875 = 88.0% (77550/87459 unique fns; the DISTINCT-RE number)
|
||
MAIN game-code weighted : 436 / 60201 = 0.7% (INCLUDED in the fleet numbers above since 2026-07-22 — roadmap §1 metrics contract; LINKED-excluding Ghidra sig dated 2026-06-14; caveat is R34: no independent second oracle for a PS-X EXE, NOT drift)
|
||
(fleet EXCLUDING main, for continuity with pre-2026-07-22 readings: 12314132 / 13081451 = 94.1%)
|
||
|
||
FLEET REAL substantive : 338059 (of which dedup-shared 240733 via 1908 groups / 240807 instances)
|
||
FLEET LINKED PsyQ objs : 959
|
||
FLEET NON_MATCHING : 7 (0 in any default build — G4)
|
||
FLEET INCLUDE_ASM stubs : 13800
|
||
FLEET matchable : 353721
|
||
|
||
| binary | REAL | shared | LINKED | byte-ident | matchable | byte-ident % |
|
||
|---|---:|---:|---:|---:|---:|---:|
|
||
| main | 54 | 2 | 959 | 1055 | 2096 | 50.3% |
|
||
| resident | 129 | 0 | 0 | 131 | 145 | 90.3% |
|
||
| ov_SC01_000 | 2379 | 1750 | 0 | 2379 | 2403 | 99.0% |
|
||
| ov_SC01_001 | 2387 | 1751 | 0 | 2389 | 2466 | 96.9% |
|
||
| ov_SC01_004 | 2381 | 1742 | 0 | 2382 | 2414 | 98.7% |
|
||
| ov_SC01_005 | 2411 | 1765 | 0 | 2411 | 2503 | 96.3% |
|
||
| ov_SC01_006 | 2411 | 1765 | 0 | 2411 | 2503 | 96.3% |
|
||
| ov_SC01_008 | 2381 | 1742 | 0 | 2383 | 2426 | 98.2% |
|
||
| ov_SC01_009 | 2407 | 1743 | 0 | 2408 | 2507 | 96.1% |
|
||
| ov_SC01_074 | 2386 | 1743 | 0 | 2388 | 2425 | 98.5% |
|
||
| ov_SC01_077 | 2537 | 1709 | 0 | 2539 | 2586 | 98.2% |
|
||
| ov_SC01_080 | 2414 | 1746 | 0 | 2414 | 2512 | 96.1% |
|
||
| ov_SC01_084 | 2439 | 1751 | 0 | 2444 | 2579 | 94.8% |
|
||
| ov_SC02_000 | 2504 | 1790 | 0 | 2504 | 2683 | 93.3% |
|
||
| ov_SC02_003 | 2504 | 1790 | 0 | 2504 | 2683 | 93.3% |
|
||
| ov_SC02_004 | 2379 | 1746 | 0 | 2379 | 2401 | 99.1% |
|
||
| ov_SC02_005 | 2526 | 1742 | 0 | 2536 | 2927 | 86.6% |
|
||
| ov_SC02_011 | 2609 | 1749 | 0 | 2620 | 2893 | 90.6% |
|
||
| ov_SC02_015 | 2390 | 1748 | 0 | 2390 | 2414 | 99.0% |
|
||
| ov_SC02_016 | 2471 | 1748 | 0 | 2474 | 2545 | 97.2% |
|
||
| ov_SC02_017 | 2539 | 1748 | 0 | 2547 | 2732 | 93.2% |
|
||
| ov_SC02_021 | 2395 | 1748 | 0 | 2395 | 2437 | 98.3% |
|
||
| ov_SC02_026 | 2486 | 1746 | 0 | 2492 | 2572 | 96.9% |
|
||
| ov_SC02_027 | 2543 | 1746 | 0 | 2552 | 2692 | 94.8% |
|
||
| ov_SC02_028 | 2548 | 1746 | 0 | 2558 | 2701 | 94.7% |
|
||
| ov_SC02_031 | 2482 | 1747 | 0 | 2487 | 2562 | 97.1% |
|
||
| ov_SC02_035 | 2470 | 1746 | 0 | 2473 | 2520 | 98.1% |
|
||
| ov_SC02_039 | 2384 | 1746 | 0 | 2384 | 2416 | 98.7% |
|
||
| ov_SC02_041 | 2461 | 1746 | 0 | 2464 | 2561 | 96.2% |
|
||
| ov_SC03_001 | 2647 | 1747 | 0 | 2664 | 2869 | 92.9% |
|
||
| ov_SC03_002 | 2523 | 1751 | 0 | 2538 | 2631 | 96.5% |
|
||
| ov_SC03_003 | 2388 | 1746 | 0 | 2389 | 2423 | 98.6% |
|
||
| ov_SC03_006 | 2537 | 1752 | 0 | 2546 | 2767 | 92.0% |
|
||
| ov_SC03_007 | 2451 | 1746 | 0 | 2455 | 2623 | 93.6% |
|
||
| ov_SC03_010 | 2404 | 1746 | 0 | 2404 | 2471 | 97.3% |
|
||
| ov_SC03_011 | 2406 | 1746 | 0 | 2412 | 2527 | 95.4% |
|
||
| ov_SC03_012 | 2378 | 1746 | 0 | 2379 | 2406 | 98.9% |
|
||
| ov_SC03_013 | 2410 | 1746 | 0 | 2410 | 2493 | 96.7% |
|
||
| ov_SC03_014 | 2557 | 1774 | 0 | 2557 | 2685 | 95.2% |
|
||
| ov_SC03_015 | 2557 | 1774 | 0 | 2557 | 2685 | 95.2% |
|
||
| ov_SC03_023 | 2390 | 1746 | 0 | 2391 | 2435 | 98.2% |
|
||
| ov_SC03_024 | 2499 | 1751 | 0 | 2506 | 2641 | 94.9% |
|
||
| ov_SC03_028 | 2447 | 1746 | 0 | 2451 | 2664 | 92.0% |
|
||
| ov_SC03_029 | 2490 | 1748 | 0 | 2500 | 2644 | 94.6% |
|
||
| ov_SC03_030 | 2408 | 1751 | 0 | 2410 | 2495 | 96.6% |
|
||
| ov_SC03_031 | 2437 | 1746 | 0 | 2440 | 2514 | 97.1% |
|
||
| ov_SC03_089 | 2495 | 1751 | 0 | 2502 | 2581 | 96.9% |
|
||
| ov_SC03_090 | 2505 | 1751 | 0 | 2513 | 2625 | 95.7% |
|
||
| ov_SC03_091 | 2519 | 1746 | 0 | 2527 | 2640 | 95.7% |
|
||
| ov_SC03_092 | 2488 | 1751 | 0 | 2500 | 2587 | 96.6% |
|
||
| ov_SC03_093 | 2502 | 1746 | 0 | 2506 | 2563 | 97.8% |
|
||
| ov_SC03_094 | 2486 | 1746 | 0 | 2492 | 2577 | 96.7% |
|
||
| ov_SC03_095 | 2418 | 1746 | 0 | 2421 | 2474 | 97.9% |
|
||
| ov_SC03_096 | 2415 | 1746 | 0 | 2418 | 2465 | 98.1% |
|
||
| ov_SC03_097 | 2509 | 1746 | 0 | 2516 | 2603 | 96.7% |
|
||
| ov_SC03_098 | 2491 | 1746 | 0 | 2494 | 2541 | 98.2% |
|
||
| ov_SC03_099 | 2472 | 1746 | 0 | 2475 | 2504 | 98.8% |
|
||
| ov_SC03_100 | 2507 | 1746 | 0 | 2511 | 2539 | 98.9% |
|
||
| ov_SC03_101 | 2467 | 1751 | 0 | 2471 | 2528 | 97.7% |
|
||
| ov_SC03_102 | 2456 | 1746 | 0 | 2459 | 2492 | 98.7% |
|
||
| ov_SC03_103 | 2479 | 1748 | 0 | 2482 | 2510 | 98.9% |
|
||
| ov_SC03_104 | 2524 | 1751 | 0 | 2531 | 2616 | 96.8% |
|
||
| ov_SC03_105 | 2432 | 1746 | 0 | 2439 | 2597 | 93.9% |
|
||
| ov_SC03_108 | 2387 | 1746 | 0 | 2387 | 2443 | 97.7% |
|
||
| ov_SC03_109 | 2397 | 1746 | 0 | 2399 | 2424 | 99.0% |
|
||
| ov_SC03_110 | 2429 | 1746 | 0 | 2429 | 2468 | 98.4% |
|
||
| ov_SC03_111 | 2459 | 1746 | 0 | 2462 | 2510 | 98.1% |
|
||
| ov_SC03_112 | 2420 | 1748 | 0 | 2422 | 2526 | 95.9% |
|
||
| ov_SC03_113 | 2421 | 1748 | 0 | 2424 | 2468 | 98.2% |
|
||
| ov_SC03_114 | 2379 | 1746 | 0 | 2381 | 2415 | 98.6% |
|
||
| ov_SC03_115 | 2420 | 1746 | 0 | 2422 | 2472 | 98.0% |
|
||
| ov_SC03_116 | 2387 | 1746 | 0 | 2390 | 2438 | 98.0% |
|
||
| ov_SC03_117 | 2455 | 1746 | 0 | 2461 | 2557 | 96.2% |
|
||
| ov_SC03_118 | 2525 | 1770 | 0 | 2526 | 2685 | 94.1% |
|
||
| ov_SC03_119 | 2521 | 1770 | 0 | 2522 | 2685 | 93.9% |
|
||
| ov_SC03_121 | 2393 | 1746 | 0 | 2396 | 2459 | 97.4% |
|
||
| ov_SC03_124 | 2557 | 1742 | 0 | 2577 | 2741 | 94.0% |
|
||
| ov_SC03_125 | 2510 | 1746 | 0 | 2522 | 2588 | 97.4% |
|
||
| ov_SC03_126 | 2389 | 1748 | 0 | 2389 | 2423 | 98.6% |
|
||
| ov_SC04_000 | 2462 | 1750 | 0 | 2471 | 2546 | 97.1% |
|
||
| ov_SC04_002 | 2489 | 1746 | 0 | 2493 | 2636 | 94.6% |
|
||
| ov_SC04_003 | 2426 | 1746 | 0 | 2430 | 2502 | 97.1% |
|
||
| ov_SC04_004 | 2459 | 1746 | 0 | 2461 | 2558 | 96.2% |
|
||
| ov_SC04_005 | 2483 | 1746 | 0 | 2489 | 2612 | 95.3% |
|
||
| ov_SC04_006 | 2419 | 1746 | 0 | 2421 | 2454 | 98.7% |
|
||
| ov_SC04_007 | 2477 | 1746 | 0 | 2481 | 2569 | 96.6% |
|
||
| ov_SC04_008 | 2390 | 1746 | 0 | 2390 | 2415 | 99.0% |
|
||
| ov_SC04_009 | 2416 | 1746 | 0 | 2419 | 2441 | 99.1% |
|
||
| ov_SC04_010 | 2392 | 1746 | 0 | 2393 | 2419 | 98.9% |
|
||
| ov_SC04_011 | 2503 | 1751 | 0 | 2509 | 2803 | 89.5% |
|
||
| ov_SC04_012 | 2387 | 1746 | 0 | 2388 | 2420 | 98.7% |
|
||
| ov_SC04_015 | 2515 | 1747 | 0 | 2526 | 2611 | 96.7% |
|
||
| ov_SC04_016 | 2390 | 1746 | 0 | 2392 | 2440 | 98.0% |
|
||
| ov_SC04_018 | 2659 | 1782 | 0 | 2659 | 2857 | 93.1% |
|
||
| ov_SC04_019 | 2651 | 1782 | 0 | 2651 | 2857 | 92.8% |
|
||
| ov_SC04_020 | 2497 | 1746 | 0 | 2509 | 2567 | 97.7% |
|
||
| ov_SC04_021 | 2389 | 1748 | 0 | 2389 | 2423 | 98.6% |
|
||
| ov_SC05_000 | 2396 | 1750 | 0 | 2399 | 2422 | 99.1% |
|
||
| ov_SC05_001 | 2464 | 1746 | 0 | 2469 | 2574 | 95.9% |
|
||
| ov_SC05_002 | 2419 | 1746 | 0 | 2422 | 2442 | 99.2% |
|
||
| ov_SC05_003 | 2400 | 1746 | 0 | 2401 | 2481 | 96.8% |
|
||
| ov_SC05_004 | 2410 | 1746 | 0 | 2412 | 2464 | 97.9% |
|
||
| ov_SC05_005 | 2426 | 1751 | 0 | 2427 | 2491 | 97.4% |
|
||
| ov_SC05_006 | 2412 | 1746 | 0 | 2412 | 2430 | 99.3% |
|
||
| ov_SC05_007 | 2419 | 1746 | 0 | 2424 | 2482 | 97.7% |
|
||
| ov_SC05_008 | 2432 | 1746 | 0 | 2434 | 2543 | 95.7% |
|
||
| ov_SC05_009 | 2397 | 1746 | 0 | 2401 | 2438 | 98.5% |
|
||
| ov_SC05_010 | 2435 | 1746 | 0 | 2439 | 2588 | 94.2% |
|
||
| ov_SC05_011 | 2386 | 1746 | 0 | 2387 | 2409 | 99.1% |
|
||
| ov_SC05_017 | 2630 | 1743 | 0 | 2641 | 2842 | 92.9% |
|
||
| ov_SC05_018 | 2526 | 1746 | 0 | 2539 | 2673 | 95.0% |
|
||
| ov_SC05_019 | 2389 | 1748 | 0 | 2389 | 2423 | 98.6% |
|
||
| ov_SC06_000 | 2513 | 1755 | 0 | 2516 | 2691 | 93.5% |
|
||
| ov_SC06_006 | 2411 | 1746 | 0 | 2412 | 2511 | 96.1% |
|
||
| ov_SC06_008 | 2465 | 1748 | 0 | 2471 | 2542 | 97.2% |
|
||
| ov_SC06_010 | 2439 | 1746 | 0 | 2444 | 2517 | 97.1% |
|
||
| ov_SC06_011 | 2403 | 1746 | 0 | 2407 | 2468 | 97.5% |
|
||
| ov_SC06_013 | 2393 | 1746 | 0 | 2394 | 2425 | 98.7% |
|
||
| ov_SC06_014 | 2404 | 1746 | 0 | 2406 | 2453 | 98.1% |
|
||
| ov_SC06_015 | 2398 | 1746 | 0 | 2398 | 2421 | 99.0% |
|
||
| ov_SC06_016 | 2440 | 1746 | 0 | 2442 | 2549 | 95.8% |
|
||
| ov_SC06_018 | 2466 | 1748 | 0 | 2473 | 2665 | 92.8% |
|
||
| ov_SC06_020 | 2427 | 1748 | 0 | 2428 | 2518 | 96.4% |
|
||
| ov_SC06_022 | 2453 | 1746 | 0 | 2461 | 2642 | 93.1% |
|
||
| ov_SC06_024 | 2472 | 1746 | 0 | 2478 | 2667 | 92.9% |
|
||
| ov_SC06_025 | 2441 | 1746 | 0 | 2446 | 2572 | 95.1% |
|
||
| ov_SC06_027 | 2381 | 1746 | 0 | 2382 | 2408 | 98.9% |
|
||
| ov_SC06_029 | 2462 | 1746 | 0 | 2474 | 2662 | 92.9% |
|
||
| ov_SC06_030 | 2401 | 1746 | 0 | 2401 | 2456 | 97.8% |
|
||
| ov_SC06_032 | 2459 | 1747 | 0 | 2466 | 2658 | 92.8% |
|
||
| ov_SC06_033 | 2458 | 1747 | 0 | 2465 | 2631 | 93.7% |
|
||
| ov_SC07_000 | 2421 | 1750 | 0 | 2423 | 2521 | 96.1% |
|
||
| ov_SC07_001 | 2393 | 1746 | 0 | 2395 | 2454 | 97.6% |
|
||
| ov_SC07_002 | 2446 | 1746 | 0 | 2450 | 2579 | 95.0% |
|
||
| ov_SC07_006 | 2305 | 1571 | 0 | 2385 | 2456 | 97.1% |
|
||
| ov_SC07_007 | 2323 | 1603 | 0 | 2407 | 2613 | 92.1% |
|
||
| ov_SC07_008 | 2375 | 1746 | 0 | 2375 | 2386 | 99.5% |
|
||
| ov_SC07_009 | 2387 | 1746 | 0 | 2389 | 2430 | 98.3% |
|
||
| ov_SC07_010 | 2304 | 1624 | 0 | 2387 | 2524 | 94.6% |
|
||
| ov_SC07_011 | 2324 | 1602 | 0 | 2404 | 2449 | 98.2% |
|