mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-09-26 13:33:34 -04:00
feat(phase-30 S49): propagate func_8017CCF8 (adapt lane)
This commit is contained in:
@@ -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]
|
||||
|
||||
@@ -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) */
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -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) */
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user