diff --git a/config/dedup.us.yaml b/config/dedup.us.yaml index 9c2e855dc0..fd57a7cfb9 100644 --- a/config/dedup.us.yaml +++ b/config/dedup.us.yaml @@ -13235,3 +13235,10 @@ groups: func: DEFINE_func_80136F3C vram: 0x80136F3C binaries: [ov_SC01_077, ov_SC01_005, ov_SC01_006, ov_SC03_001, ov_SC01_000, ov_SC01_001, ov_SC02_000, ov_SC02_003, ov_SC03_002, ov_SC03_006, ov_SC04_000, ov_SC04_018, ov_SC04_019, ov_SC05_000, ov_SC06_000, ov_SC07_000, ov_SC01_004, ov_SC01_008, ov_SC01_009, ov_SC01_074, ov_SC01_080, ov_SC01_084, ov_SC02_004, ov_SC02_005, ov_SC02_011, ov_SC02_015, ov_SC02_016, ov_SC02_017, ov_SC02_021, ov_SC02_026, ov_SC02_027, ov_SC02_028, ov_SC02_031, ov_SC02_035, ov_SC02_039, ov_SC02_041, ov_SC03_003, ov_SC03_007, ov_SC03_010, ov_SC03_011, ov_SC03_012, ov_SC03_013, ov_SC03_014, ov_SC03_015, ov_SC03_023, ov_SC03_024, ov_SC03_028, ov_SC03_029, ov_SC03_030, ov_SC03_031, ov_SC03_089, ov_SC03_090, ov_SC03_091, ov_SC03_092, ov_SC03_093, ov_SC03_094, ov_SC03_095, ov_SC03_096, ov_SC03_097, ov_SC03_098, ov_SC03_099, ov_SC03_100, ov_SC03_101, ov_SC03_102, ov_SC03_103, ov_SC03_104, ov_SC03_105, ov_SC03_108, ov_SC03_109, ov_SC03_110, ov_SC03_111, ov_SC03_112, ov_SC03_113, ov_SC03_114, ov_SC03_115, ov_SC03_116, ov_SC03_117, ov_SC03_118, ov_SC03_119, ov_SC03_121, ov_SC03_124, ov_SC03_125, ov_SC03_126, ov_SC04_002, ov_SC04_003, ov_SC04_004, ov_SC04_005, ov_SC04_006, ov_SC04_007, ov_SC04_008, ov_SC04_009, ov_SC04_010, ov_SC04_011, ov_SC04_012, ov_SC04_015, ov_SC04_016, ov_SC04_020, ov_SC04_021, ov_SC05_001, ov_SC05_002, ov_SC05_003, ov_SC05_004, ov_SC05_005, ov_SC05_006, ov_SC05_007, ov_SC05_008, ov_SC05_009, ov_SC05_010, ov_SC05_011, ov_SC05_017, ov_SC05_018, ov_SC05_019, ov_SC06_006, ov_SC06_008, ov_SC06_010, ov_SC06_011, ov_SC06_013, ov_SC06_014, ov_SC06_015, ov_SC06_016, ov_SC06_018, ov_SC06_020, ov_SC06_022, ov_SC06_024, ov_SC06_025, ov_SC06_027, ov_SC06_029, ov_SC06_030, ov_SC06_032, ov_SC06_033, ov_SC07_001, ov_SC07_002, ov_SC07_008, ov_SC07_009, ov_SC07_006, ov_SC07_007, ov_SC07_010, ov_SC07_011] + - id: E_func_80180710 + tier: h_exact + hash: d000df43eb6a28305d2f45b3d1c69d4e6cabb923 + source: src/shared/engine_core.h + func: DEFINE_func_80180710 + vram: 0x80180710 + binaries: [ov_SC01_005, ov_SC01_006] diff --git a/docs/progress.fleet.md b/docs/progress.fleet.md index 00969d2936..5f8fee2b22 100644 --- a/docs/progress.fleet.md +++ b/docs/progress.fleet.md @@ -4,16 +4,16 @@ # cross-binary collapsible-byte leverage: docs/duplicates.cross.md. # THREE progress metrics (all matter — see the labels): -FLEET fn-count byte-ident: 313607 / 353717 = 88.66% (REAL+LINKED+empties; FUNCTION-count, ×134-inflated — one crack counts per overlay) -FLEET instr-weighted : 10429797 / 13141652 = 79.4% (shipped .text across main + resident + 138 overlays; the decomp.dev-DISPLAY number) +FLEET fn-count byte-ident: 313608 / 353717 = 88.66% (REAL+LINKED+empties; FUNCTION-count, ×134-inflated — one crack counts per overlay) +FLEET instr-weighted : 10429806 / 13141652 = 79.4% (shipped .text across main + resident + 138 overlays; the decomp.dev-DISPLAY number) FLEET distinct-code(uniq): 3812012 / 5634875 = 67.7% (64854/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: 10429361 / 13081451 = 79.7%) + (fleet EXCLUDING main, for continuity with pre-2026-07-22 readings: 10429370 / 13081451 = 79.7%) -FLEET REAL substantive : 311752 (of which dedup-shared 237748 via 1873 groups / 237792 instances) +FLEET REAL substantive : 311753 (of which dedup-shared 237750 via 1874 groups / 237794 instances) FLEET LINKED PsyQ objs : 959 FLEET NON_MATCHING : 7 (0 in any default build — G4) -FLEET INCLUDE_ASM stubs : 40103 +FLEET INCLUDE_ASM stubs : 40102 FLEET matchable : 353717 | binary | REAL | shared | LINKED | byte-ident | matchable | byte-ident % | @@ -23,8 +23,8 @@ FLEET matchable : 353717 | ov_SC01_000 | 2237 | 1731 | 0 | 2237 | 2403 | 93.1% | | ov_SC01_001 | 2238 | 1730 | 0 | 2240 | 2466 | 90.8% | | ov_SC01_004 | 2229 | 1721 | 0 | 2230 | 2414 | 92.4% | -| ov_SC01_005 | 2258 | 1743 | 0 | 2258 | 2503 | 90.2% | -| ov_SC01_006 | 2259 | 1743 | 0 | 2259 | 2503 | 90.3% | +| ov_SC01_005 | 2259 | 1744 | 0 | 2259 | 2503 | 90.3% | +| ov_SC01_006 | 2259 | 1744 | 0 | 2259 | 2503 | 90.3% | | ov_SC01_008 | 2229 | 1721 | 0 | 2231 | 2426 | 92.0% | | ov_SC01_009 | 2255 | 1722 | 0 | 2256 | 2507 | 90.0% | | ov_SC01_074 | 2233 | 1722 | 0 | 2235 | 2425 | 92.2% | diff --git a/src/ov_SC01_005/ov_SC01_005_jr_8017C340.c b/src/ov_SC01_005/ov_SC01_005_jr_8017C340.c index 5cc63e3098..342b777d50 100644 --- a/src/ov_SC01_005/ov_SC01_005_jr_8017C340.c +++ b/src/ov_SC01_005/ov_SC01_005_jr_8017C340.c @@ -3405,7 +3405,7 @@ INCLUDE_ASM("asm/ov_SC01_005/nonmatchings/ov_SC01_005_jr_8017C340", func_8018067 INCLUDE_ASM("asm/ov_SC01_005/nonmatchings/ov_SC01_005_jr_8017C340", func_801806B8); -INCLUDE_ASM("asm/ov_SC01_005/nonmatchings/ov_SC01_005_jr_8017C340", func_80180710); +DEFINE_func_80180710() /* dedup: shared engine-core @0x80180710 (src/shared) */ INCLUDE_ASM("asm/ov_SC01_005/nonmatchings/ov_SC01_005_jr_8017C340", func_80180734); diff --git a/src/ov_SC01_006/ov_SC01_006_jr_8017C340.c b/src/ov_SC01_006/ov_SC01_006_jr_8017C340.c index 20657d05ff..518ce516cb 100644 --- a/src/ov_SC01_006/ov_SC01_006_jr_8017C340.c +++ b/src/ov_SC01_006/ov_SC01_006_jr_8017C340.c @@ -3419,15 +3419,7 @@ INCLUDE_ASM("asm/ov_SC01_006/nonmatchings/ov_SC01_006_jr_8017C340", func_801806B -extern s16 func_8017DA9C(void); -int func_80180710(void) -{ - int new_var; - new_var = 0x1; - new_var--; - return (((unsigned int) ((int (*)(void))func_8017DA9C)()) << 16) == new_var; - new_var++; -} +DEFINE_func_80180710() /* dedup: shared engine-core @0x80180710 (src/shared) */ INCLUDE_ASM("asm/ov_SC01_006/nonmatchings/ov_SC01_006_jr_8017C340", func_80180734); diff --git a/src/shared/engine_core.h b/src/shared/engine_core.h index e0a121426c..a4520fdffd 100644 --- a/src/shared/engine_core.h +++ b/src/shared/engine_core.h @@ -28876,4 +28876,15 @@ GsSortLine(&line, &base[(u16)D_800B9A02 * 20], 0); \ } +#define DEFINE_func_80180710() \ + extern s16 func_8017DA9C(void); \ + int func_80180710(void) \ + { \ + int new_var; \ + new_var = 0x1; \ + new_var--; \ + return (((unsigned int) ((int (*)(void))func_8017DA9C)()) << 16) == new_var; \ + new_var++; \ + } + #endif