diff --git a/config/dedup.us.yaml b/config/dedup.us.yaml index 8259efbe8b..58b7ab727c 100644 --- a/config/dedup.us.yaml +++ b/config/dedup.us.yaml @@ -13543,3 +13543,10 @@ groups: func: DEFINE_func_80188F90 vram: 0x80188F90 binaries: [ov_SC03_118, ov_SC03_119] + - id: E_func_801880F8 + tier: h_exact + hash: 53ccaf0755a5f6a2a9d32c667dcfcb0c2b19ea7b + source: src/shared/engine_core.h + func: DEFINE_func_801880F8 + vram: 0x801880F8 + binaries: [ov_SC03_014, ov_SC03_015] diff --git a/docs/progress.fleet.md b/docs/progress.fleet.md index d3e79488f0..12dd736733 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: 341364 / 353717 = 96.51% (REAL+LINKED+empties; FUNCTION-count, ×134-inflated — one crack counts per overlay) -FLEET instr-weighted : 12419161 / 13141652 = 94.5% (shipped .text across main + resident + 138 overlays; the decomp.dev-DISPLAY number) +FLEET fn-count byte-ident: 341365 / 353717 = 96.51% (REAL+LINKED+empties; FUNCTION-count, ×134-inflated — one crack counts per overlay) +FLEET instr-weighted : 12419169 / 13141652 = 94.5% (shipped .text across main + resident + 138 overlays; the decomp.dev-DISPLAY number) FLEET distinct-code(uniq): 5029454 / 5634875 = 89.3% (77973/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: 12418725 / 13081451 = 94.9%) + (fleet EXCLUDING main, for continuity with pre-2026-07-22 readings: 12418733 / 13081451 = 94.9%) -FLEET REAL substantive : 339509 (of which dedup-shared 241433 via 1917 groups / 241507 instances) +FLEET REAL substantive : 339510 (of which dedup-shared 241435 via 1918 groups / 241509 instances) FLEET LINKED PsyQ objs : 959 FLEET NON_MATCHING : 7 (0 in any default build — G4) -FLEET INCLUDE_ASM stubs : 12346 +FLEET INCLUDE_ASM stubs : 12345 FLEET matchable : 353717 | binary | REAL | shared | LINKED | byte-ident | matchable | byte-ident % | @@ -56,8 +56,8 @@ FLEET matchable : 353717 | ov_SC03_011 | 2413 | 1751 | 0 | 2419 | 2527 | 95.7% | | ov_SC03_012 | 2385 | 1751 | 0 | 2386 | 2406 | 99.2% | | ov_SC03_013 | 2418 | 1751 | 0 | 2418 | 2493 | 97.0% | -| ov_SC03_014 | 2570 | 1781 | 0 | 2570 | 2685 | 95.7% | -| ov_SC03_015 | 2570 | 1781 | 0 | 2570 | 2685 | 95.7% | +| ov_SC03_014 | 2571 | 1782 | 0 | 2571 | 2685 | 95.8% | +| ov_SC03_015 | 2570 | 1782 | 0 | 2570 | 2685 | 95.7% | | ov_SC03_023 | 2397 | 1751 | 0 | 2398 | 2435 | 98.5% | | ov_SC03_024 | 2514 | 1756 | 0 | 2521 | 2641 | 95.5% | | ov_SC03_028 | 2457 | 1752 | 0 | 2461 | 2664 | 92.4% | diff --git a/src/ov_SC03_014/ov_SC03_014_jr_801848E4.c b/src/ov_SC03_014/ov_SC03_014_jr_801848E4.c index 3601974487..de10810e17 100644 --- a/src/ov_SC03_014/ov_SC03_014_jr_801848E4.c +++ b/src/ov_SC03_014/ov_SC03_014_jr_801848E4.c @@ -2947,7 +2947,7 @@ void func_80187EA8(s32 a0) { INCLUDE_ASM("asm/ov_SC03_014/nonmatchings/ov_SC03_014_jr_801848E4", func_80187EE8); -INCLUDE_ASM("asm/ov_SC03_014/nonmatchings/ov_SC03_014_jr_801848E4", func_801880F8); +DEFINE_func_801880F8() /* dedup: shared engine-core @0x801880F8 (src/shared) */ INCLUDE_ASM("asm/ov_SC03_014/nonmatchings/ov_SC03_014_jr_801848E4", func_80188118); diff --git a/src/ov_SC03_015/ov_SC03_015_jr_801848E4.c b/src/ov_SC03_015/ov_SC03_015_jr_801848E4.c index 07e6844165..672d66cd5f 100644 --- a/src/ov_SC03_015/ov_SC03_015_jr_801848E4.c +++ b/src/ov_SC03_015/ov_SC03_015_jr_801848E4.c @@ -2952,10 +2952,7 @@ void func_80187EA8(s32 a0) { INCLUDE_ASM("asm/ov_SC03_015/nonmatchings/ov_SC03_015_jr_801848E4", func_80187EE8); -extern void func_80131E00(struct S80131E00 *a0, s32 a1); - void func_801880F8(void *arg0) { - ((void (*)(s32, s32))func_80131E00)((s32)arg0, 0x11); - } +DEFINE_func_801880F8() /* dedup: shared engine-core @0x801880F8 (src/shared) */ INCLUDE_ASM("asm/ov_SC03_015/nonmatchings/ov_SC03_015_jr_801848E4", func_80188118); diff --git a/src/shared/engine_core.h b/src/shared/engine_core.h index 43c2d7b9a8..68e770eb89 100644 --- a/src/shared/engine_core.h +++ b/src/shared/engine_core.h @@ -527,6 +527,12 @@ ((void (*)(s32, s32))func_80131E00)(arg0, 0x3); \ } +#define DEFINE_func_801880F8() \ + extern void func_80131E00(struct S80131E00 *a0, s32 a1); \ + void func_801880F8(void *arg0) { \ + ((void (*)(s32, s32))func_80131E00)((s32)arg0, 0x11); \ + } + #endif #define DEFINE_func_80128EA8() \ @@ -30459,4 +30465,10 @@ ((void (*)(s32, s32))func_80131E00)(arg0, 0x3); \ } +#define DEFINE_func_801880F8() \ + extern void func_80131E00(struct S80131E00 *a0, s32 a1); \ + void func_801880F8(void *arg0) { \ + ((void (*)(s32, s32))func_80131E00)((s32)arg0, 0x11); \ + } + #endif