feat(phase-30 S49): propagate func_8017CCF8 (adapt lane)

This commit is contained in:
Drew T
2026-08-14 05:01:49 -06:00
parent 028d9a496a
commit 2ab342e3d9
4 changed files with 51 additions and 44 deletions
+7
View File
@@ -14467,3 +14467,10 @@ groups:
func: DEFINE_func_8017DCD8
vram: 0x8017DCD8
binaries: [ov_SC04_000, ov_SC04_004, ov_SC04_007]
- id: E_func_8017CCF8
tier: h_exact
hash: 0dc7d970a3a5f0c07a97a9d6b3adcb5c89a4256a
source: src/shared/engine_core.h
func: DEFINE_func_8017CCF8
vram: 0x8017CCF8
binaries: [ov_SC02_031, ov_SC03_031]
+1 -22
View File
@@ -4013,28 +4013,7 @@ void func_8017CC04(void *a0) {
extern s16 func_80128CFC(u16 a0);
void func_8017CCF8(void *a0) {
void *v1 = *(void **)(a0 + 0xDC);
s16 v0;
if (*(u8 *)(v1 + 1) == 0) {
v0 = 1;
} else {
v0 = *(s16 *)(a0 + 0x108);
if (v0 == 0) {
u16 arg = *(u16 *)(v1 + 2);
v0 = func_80128CFC(arg);
*(s16 *)(a0 + 0x108) = v0;
}
v0 = *(s16 *)(a0 + 0x108);
}
if (v0 != 0) {
*(u16 *)(a0 + 0x2) += 1;
}
}
DEFINE_func_8017CCF8() /* dedup: shared engine-core @0x8017CCF8 (src/shared) */
+1 -22
View File
@@ -4019,28 +4019,7 @@ void func_8017CC04(void *a0) {
extern s16 func_80128CFC(u16 a0);
void func_8017CCF8(void *a0) {
void *v1 = *(void **)(a0 + 0xDC);
s16 v0;
if (*(u8 *)(v1 + 1) == 0) {
v0 = 1;
} else {
v0 = *(s16 *)(a0 + 0x108);
if (v0 == 0) {
u16 arg = *(u16 *)(v1 + 2);
v0 = func_80128CFC(arg);
*(s16 *)(a0 + 0x108) = v0;
}
v0 = *(s16 *)(a0 + 0x108);
}
if (v0 != 0) {
*(u16 *)(a0 + 0x2) += 1;
}
}
DEFINE_func_8017CCF8() /* dedup: shared engine-core @0x8017CCF8 (src/shared) */
+42
View File
@@ -60150,6 +60150,27 @@
((void (*)(Ent_8017BFE0_8017DCD8 *))func_8017DF10)(param_1); \
}
#define DEFINE_func_8017CCF8() \
extern s16 func_80128CFC(u16 a0); \
void func_8017CCF8(void *a0) { \
void *v1 = *(void **)(a0 + 0xDC); \
s16 v0; \
if (*(u8 *)(v1 + 1) == 0) { \
v0 = 1; \
} else { \
v0 = *(s16 *)(a0 + 0x108); \
if (v0 == 0) { \
u16 arg = *(u16 *)(v1 + 2); \
v0 = func_80128CFC(arg); \
*(s16 *)(a0 + 0x108) = v0; \
} \
v0 = *(s16 *)(a0 + 0x108); \
} \
if (v0 != 0) { \
*(u16 *)(a0 + 0x2) += 1; \
} \
}
#endif
#define DEFINE_func_80128EA8() \
@@ -149705,4 +149726,25 @@
((void (*)(Ent_8017BFE0_8017DCD8 *))func_8017DF10)(param_1); \
}
#define DEFINE_func_8017CCF8() \
extern s16 func_80128CFC(u16 a0); \
void func_8017CCF8(void *a0) { \
void *v1 = *(void **)(a0 + 0xDC); \
s16 v0; \
if (*(u8 *)(v1 + 1) == 0) { \
v0 = 1; \
} else { \
v0 = *(s16 *)(a0 + 0x108); \
if (v0 == 0) { \
u16 arg = *(u16 *)(v1 + 2); \
v0 = func_80128CFC(arg); \
*(s16 *)(a0 + 0x108) = v0; \
} \
v0 = *(s16 *)(a0 + 0x108); \
} \
if (v0 != 0) { \
*(u16 *)(a0 + 0x2) += 1; \
} \
}
#endif