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

This commit is contained in:
Drew T
2026-08-15 08:02:56 -06:00
parent f55032ea56
commit c0c19b5c00
4 changed files with 49 additions and 23 deletions
+7
View File
@@ -14866,3 +14866,10 @@ groups:
func: DEFINE_func_8018AD3C
vram: 0x8018AD3C
binaries: [ov_SC04_018, ov_SC04_019]
- id: E_func_80187354
tier: h_exact
hash: de9edbad022910d06cd17328fff92a2fd0785082
source: src/shared/engine_core.h
func: DEFINE_func_80187354
vram: 0x80187354
binaries: [ov_SC02_000, ov_SC02_003]
+1 -22
View File
@@ -5054,28 +5054,7 @@ void func_801872D8(int param_1) {
#include "common.h"
extern s32 D_8018F424[3];
extern s32 D_8018F430[];
extern s16 D_8018F3E4[];
extern void func_80188C0C(void *a0, s16 a1);
void func_80187354(s32 a0) {
s16 buf[3];
s16 vec[3];
s32 i;
buf[0] = *(u16 *)(a0 + 0x6) - 0xE1;
buf[1] = *(u16 *)(a0 + 0xA) + 0x40;
buf[2] = *(u16 *)(a0 + 0xE) - 0x75;
for (i = 0; i < 16; i++) {
vec[1] = buf[1] + D_8018F424[rand() % 3];
vec[2] = buf[2] + D_8018F430[rand() % 5];
vec[0] = buf[0] + i * 0x20;
func_80188C0C(vec, *(s16 *)((s32)D_8018F3E4 + i * 4));
}
}
DEFINE_func_80187354() /* dedup: shared engine-core @0x80187354 (src/shared) */
INCLUDE_ASM("asm/ov_SC02_000/nonmatchings/ov_SC02_000_jr_8018173C", func_80187480);
+1 -1
View File
@@ -3370,7 +3370,7 @@ void func_801872D8(int param_1) {
}
INCLUDE_ASM("asm/ov_SC02_003/nonmatchings/ov_SC02_003_jr_8018173C", func_80187354);
DEFINE_func_80187354() /* dedup: shared engine-core @0x80187354 (src/shared) */
INCLUDE_ASM("asm/ov_SC02_003/nonmatchings/ov_SC02_003_jr_8018173C", func_80187480);
+40
View File
@@ -61138,6 +61138,26 @@
func_8018A168(0x474, 0x4B0); \
}
#define DEFINE_func_80187354() \
extern s32 D_8018F424[3]; \
extern s32 D_8018F430[]; \
extern s16 D_8018F3E4[]; \
extern void func_80188C0C(void *a0, s16 a1); \
void func_80187354(s32 a0) { \
s16 buf[3]; \
s16 vec[3]; \
s32 i; \
buf[0] = *(u16 *)(a0 + 0x6) - 0xE1; \
buf[1] = *(u16 *)(a0 + 0xA) + 0x40; \
buf[2] = *(u16 *)(a0 + 0xE) - 0x75; \
for (i = 0; i < 16; i++) { \
vec[1] = buf[1] + D_8018F424[rand() % 3]; \
vec[2] = buf[2] + D_8018F430[rand() % 5]; \
vec[0] = buf[0] + i * 0x20; \
func_80188C0C(vec, *(s16 *)((s32)D_8018F3E4 + i * 4)); \
} \
}
#endif
#define DEFINE_func_80128EA8() \
@@ -151681,4 +151701,24 @@
func_8018A168(0x474, 0x4B0); \
}
#define DEFINE_func_80187354() \
extern s32 D_8018F424[3]; \
extern s32 D_8018F430[]; \
extern s16 D_8018F3E4[]; \
extern void func_80188C0C(void *a0, s16 a1); \
void func_80187354(s32 a0) { \
s16 buf[3]; \
s16 vec[3]; \
s32 i; \
buf[0] = *(u16 *)(a0 + 0x6) - 0xE1; \
buf[1] = *(u16 *)(a0 + 0xA) + 0x40; \
buf[2] = *(u16 *)(a0 + 0xE) - 0x75; \
for (i = 0; i < 16; i++) { \
vec[1] = buf[1] + D_8018F424[rand() % 3]; \
vec[2] = buf[2] + D_8018F430[rand() % 5]; \
vec[0] = buf[0] + i * 0x20; \
func_80188C0C(vec, *(s16 *)((s32)D_8018F3E4 + i * 4)); \
} \
}
#endif