feat(phase-31): propagate func_8017DC4C (gate lane)

This commit is contained in:
Drew T
2026-08-14 23:33:17 -06:00
parent fc36789c15
commit a5677fdeac
4 changed files with 57 additions and 27 deletions
+7
View File
@@ -14642,3 +14642,10 @@ groups:
func: DEFINE_func_80180D48
vram: 0x80180D48
binaries: [ov_SC01_005, ov_SC01_006]
- id: E_func_8017DC4C
tier: h_exact
hash: 48877b49f72a5f8b79e305003472bc61592ea5a5
source: src/shared/engine_core.h
func: DEFINE_func_8017DC4C
vram: 0x8017DC4C
binaries: [ov_SC03_014, ov_SC03_015]
+1 -26
View File
@@ -4450,32 +4450,7 @@ extern void func_80171A1C(u8 *a0);
#include "common.h"
extern void func_8014706C(void *arg0);
extern void func_80154274(s32 *a0, s32 a1);
extern void func_8013C938(void);
extern void func_8012943C(void);
extern void func_80171A1C(u8 *a0);
extern s32 D_8018F0BC;
extern u8 D_800B9A11;
void func_8017DC4C(s32 *a0) {
s32 v0 = a0[0x80];
s32 v1;
v1 = v0 - 1;
a0[0x80] = v1;
if (v1 != -1) {
return;
}
func_8014706C(a0);
func_80154274(a0, (s32)&D_8018F0BC);
func_8013C938();
D_800B9A11 = 0xC0;
func_8012943C();
func_80171A1C((u8 *)a0);
}
DEFINE_func_8017DC4C() /* dedup: shared engine-core @0x8017DC4C (src/shared) */
INCLUDE_ASM("asm/ov_SC03_014/nonmatchings/ov_SC03_014_jr_8017AE2C", func_8017DCC0);
+1 -1
View File
@@ -4420,7 +4420,7 @@ void func_8017DC28(void *a0) {
}
INCLUDE_ASM("asm/ov_SC03_015/nonmatchings/ov_SC03_015_jr_8017AE2C", func_8017DC4C);
DEFINE_func_8017DC4C() /* dedup: shared engine-core @0x8017DC4C (src/shared) */
INCLUDE_ASM("asm/ov_SC03_015/nonmatchings/ov_SC03_015_jr_8017AE2C", func_8017DCC0);
+48
View File
@@ -60587,6 +60587,30 @@
*(u16 *)(a0 + 2) += 1; \
}
#define DEFINE_func_8017DC4C() \
extern void func_8014706C(void *arg0); \
extern void func_80154274(s32 *a0, s32 a1); \
extern void func_8013C938(void); \
extern void func_8012943C(void); \
extern void func_80171A1C(u8 *a0); \
extern s32 D_8018F0BC; \
extern u8 D_800B9A11; \
void func_8017DC4C(s32 *a0) { \
s32 v0 = a0[0x80]; \
s32 v1; \
v1 = v0 - 1; \
a0[0x80] = v1; \
if (v1 != -1) { \
return; \
} \
func_8014706C(a0); \
func_80154274(a0, (s32)&D_8018F0BC); \
func_8013C938(); \
D_800B9A11 = 0xC0; \
func_8012943C(); \
func_80171A1C((u8 *)a0); \
}
#endif
#define DEFINE_func_80128EA8() \
@@ -150579,4 +150603,28 @@
*(u16 *)(a0 + 2) += 1; \
}
#define DEFINE_func_8017DC4C() \
extern void func_8014706C(void *arg0); \
extern void func_80154274(s32 *a0, s32 a1); \
extern void func_8013C938(void); \
extern void func_8012943C(void); \
extern void func_80171A1C(u8 *a0); \
extern s32 D_8018F0BC; \
extern u8 D_800B9A11; \
void func_8017DC4C(s32 *a0) { \
s32 v0 = a0[0x80]; \
s32 v1; \
v1 = v0 - 1; \
a0[0x80] = v1; \
if (v1 != -1) { \
return; \
} \
func_8014706C(a0); \
func_80154274(a0, (s32)&D_8018F0BC); \
func_8013C938(); \
D_800B9A11 = 0xC0; \
func_8012943C(); \
func_80171A1C((u8 *)a0); \
}
#endif