mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-09-26 21:36:06 -04:00
feat(phase-31): propagate func_80187354 (gate lane)
This commit is contained in:
@@ -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]
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user