feat(phase-30 S39): propagate free h_exact class 0x8018625c (19 ins x 1) - R22 140/140

This commit is contained in:
Drew T
2026-08-05 00:13:15 -06:00
parent 638f97dbbb
commit e88eccac60
5 changed files with 40 additions and 18 deletions
+7
View File
@@ -13515,3 +13515,10 @@ groups:
func: DEFINE_func_80176144
vram: 0x80176144
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_8018625C
tier: h_exact
hash: 3b4847517d5f0eb7020328ccfe75c14f3cf73c50
source: src/shared/engine_core.h
func: DEFINE_func_8018625C
vram: 0x8018625C
binaries: [ov_SC04_018, ov_SC04_019]
+7 -7
View File
@@ -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: 341360 / 353717 = 96.51% (REAL+LINKED+empties; FUNCTION-count, ×134-inflated — one crack counts per overlay)
FLEET instr-weighted : 12419115 / 13141652 = 94.5% (shipped .text across main + resident + 138 overlays; the decomp.dev-DISPLAY number)
FLEET fn-count byte-ident: 341361 / 353717 = 96.51% (REAL+LINKED+empties; FUNCTION-count, ×134-inflated — one crack counts per overlay)
FLEET instr-weighted : 12419134 / 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: 12418679 / 13081451 = 94.9%)
(fleet EXCLUDING main, for continuity with pre-2026-07-22 readings: 12418698 / 13081451 = 94.9%)
FLEET REAL substantive : 339505 (of which dedup-shared 241425 via 1913 groups / 241499 instances)
FLEET REAL substantive : 339506 (of which dedup-shared 241427 via 1914 groups / 241501 instances)
FLEET LINKED PsyQ objs : 959
FLEET NON_MATCHING : 7 (0 in any default build — G4)
FLEET INCLUDE_ASM stubs : 12350
FLEET INCLUDE_ASM stubs : 12349
FLEET matchable : 353717
| binary | REAL | shared | LINKED | byte-ident | matchable | byte-ident % |
@@ -111,8 +111,8 @@ FLEET matchable : 353717
| ov_SC04_012 | 2394 | 1751 | 0 | 2395 | 2420 | 99.0% |
| ov_SC04_015 | 2527 | 1752 | 0 | 2538 | 2611 | 97.2% |
| ov_SC04_016 | 2398 | 1751 | 0 | 2400 | 2440 | 98.4% |
| ov_SC04_018 | 2668 | 1787 | 0 | 2668 | 2857 | 93.4% |
| ov_SC04_019 | 2665 | 1787 | 0 | 2665 | 2857 | 93.3% |
| ov_SC04_018 | 2668 | 1788 | 0 | 2668 | 2857 | 93.4% |
| ov_SC04_019 | 2666 | 1788 | 0 | 2666 | 2857 | 93.3% |
| ov_SC04_020 | 2508 | 1751 | 0 | 2520 | 2567 | 98.2% |
| ov_SC04_021 | 2396 | 1753 | 0 | 2396 | 2423 | 98.9% |
| ov_SC05_000 | 2403 | 1755 | 0 | 2406 | 2422 | 99.3% |
+1 -10
View File
@@ -8194,16 +8194,7 @@ void func_8018613C(void *a0)
}
s32 func_8018625C(void *a0) {
a0 = *(void **)((char *)a0 + 0xCC);
if (a0 == 0) {
return 0;
}
if (*(u16 *)a0 != 0x61) {
return 0;
}
return func_801862A8(a0);
}
DEFINE_func_8018625C() /* dedup: shared engine-core @0x8018625C (src/shared) */
/* func_801862A8 — scan the 96-entry / 0x10C-stride D_801202A0 actor table for
+1 -1
View File
@@ -8213,7 +8213,7 @@ void func_8018613C(void *a0)
}
INCLUDE_ASM("asm/ov_SC04_019/nonmatchings/ov_SC04_019_jr_8017AE2C", func_8018625C);
DEFINE_func_8018625C() /* dedup: shared engine-core @0x8018625C (src/shared) */
/* func_801862A8 — scan the 96-entry / 0x10C-stride D_801202A0 actor table for
+24
View File
@@ -497,6 +497,18 @@
aAF634[param_1].g0 += ((s32)p - (s32)slot[14]) >> 2; \
}
#define DEFINE_func_8018625C() \
s32 func_8018625C(void *a0) { \
a0 = *(void **)((char *)a0 + 0xCC); \
if (a0 == 0) { \
return 0; \
} \
if (*(u16 *)a0 != 0x61) { \
return 0; \
} \
return func_801862A8(a0); \
}
#endif
#define DEFINE_func_80128EA8() \
@@ -30399,4 +30411,16 @@
aAF634[param_1].g0 += ((s32)p - (s32)slot[14]) >> 2; \
}
#define DEFINE_func_8018625C() \
s32 func_8018625C(void *a0) { \
a0 = *(void **)((char *)a0 + 0xCC); \
if (a0 == 0) { \
return 0; \
} \
if (*(u16 *)a0 != 0x61) { \
return 0; \
} \
return func_801862A8(a0); \
}
#endif