mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-10-02 07:59:52 -04:00
feat(phase-31): propagate func_80187F30 (gate lane)
This commit is contained in:
@@ -14873,3 +14873,10 @@ groups:
|
||||
func: DEFINE_func_80187354
|
||||
vram: 0x80187354
|
||||
binaries: [ov_SC02_000, ov_SC02_003]
|
||||
- id: E_func_80187F30
|
||||
tier: h_exact
|
||||
hash: 1d8b61606669da1cd2b9b46a04c0e22c3d0120e3
|
||||
source: src/shared/engine_core.h
|
||||
func: DEFINE_func_80187F30
|
||||
vram: 0x80187F30
|
||||
binaries: [ov_SC02_000, ov_SC02_003]
|
||||
|
||||
@@ -5281,36 +5281,7 @@ void func_80187EB4(int param_1) {
|
||||
|
||||
#include "common.h"
|
||||
|
||||
extern void func_8012AD80(s32 a0);
|
||||
extern s32 func_8012CEB0(s32 a0, s32 a1, s32 a2);
|
||||
|
||||
s32 func_80187F30(void *a0, s32 a1) {
|
||||
s16 arr1[3];
|
||||
s16 arr2[3];
|
||||
s32 res_val;
|
||||
|
||||
arr1[0] = *(u16 *)((s32)a0 + 0x3A);
|
||||
arr1[1] = *(u16 *)((s32)a0 + 0x3E) + 0x10;
|
||||
arr1[2] = *(u16 *)((s32)a0 + 0x42);
|
||||
|
||||
func_8012AD80((s32)a0);
|
||||
|
||||
arr2[0] = *(u16 *)((s32)a0 + 0x6);
|
||||
arr2[1] = *(u16 *)((s32)a0 + 0xA) + 0x10;
|
||||
arr2[2] = *(u16 *)((s32)a0 + 0xE);
|
||||
|
||||
res_val = func_8012CEB0((s32)arr1, (s32)arr2, a1);
|
||||
|
||||
*(u16 *)((s32)a0 + 0x6) = arr2[0];
|
||||
*(u16 *)((s32)a0 + 0xA) = arr2[1] - 0x10;
|
||||
*(u16 *)((s32)a0 + 0xE) = arr2[2];
|
||||
|
||||
if ((res_val & 0x6000) != 0) {
|
||||
*(s32 *)((s32)a0 + 0x14) = 0;
|
||||
}
|
||||
|
||||
return res_val;
|
||||
}
|
||||
DEFINE_func_80187F30() /* dedup: shared engine-core @0x80187F30 (src/shared) */
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -3440,7 +3440,7 @@ void func_80187EB4(int param_1) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_003/nonmatchings/ov_SC02_003_jr_8018173C", func_80187F30);
|
||||
DEFINE_func_80187F30() /* dedup: shared engine-core @0x80187F30 (src/shared) */
|
||||
|
||||
|
||||
extern void (*D_8018F540[])(void);
|
||||
|
||||
@@ -61158,6 +61158,30 @@
|
||||
} \
|
||||
}
|
||||
|
||||
#define DEFINE_func_80187F30() \
|
||||
extern void func_8012AD80(s32 a0); \
|
||||
extern s32 func_8012CEB0(s32 a0, s32 a1, s32 a2); \
|
||||
s32 func_80187F30(void *a0, s32 a1) { \
|
||||
s16 arr1[3]; \
|
||||
s16 arr2[3]; \
|
||||
s32 res_val; \
|
||||
arr1[0] = *(u16 *)((s32)a0 + 0x3A); \
|
||||
arr1[1] = *(u16 *)((s32)a0 + 0x3E) + 0x10; \
|
||||
arr1[2] = *(u16 *)((s32)a0 + 0x42); \
|
||||
func_8012AD80((s32)a0); \
|
||||
arr2[0] = *(u16 *)((s32)a0 + 0x6); \
|
||||
arr2[1] = *(u16 *)((s32)a0 + 0xA) + 0x10; \
|
||||
arr2[2] = *(u16 *)((s32)a0 + 0xE); \
|
||||
res_val = func_8012CEB0((s32)arr1, (s32)arr2, a1); \
|
||||
*(u16 *)((s32)a0 + 0x6) = arr2[0]; \
|
||||
*(u16 *)((s32)a0 + 0xA) = arr2[1] - 0x10; \
|
||||
*(u16 *)((s32)a0 + 0xE) = arr2[2]; \
|
||||
if ((res_val & 0x6000) != 0) { \
|
||||
*(s32 *)((s32)a0 + 0x14) = 0; \
|
||||
} \
|
||||
return res_val; \
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
#define DEFINE_func_80128EA8() \
|
||||
@@ -151721,4 +151745,28 @@
|
||||
} \
|
||||
}
|
||||
|
||||
#define DEFINE_func_80187F30() \
|
||||
extern void func_8012AD80(s32 a0); \
|
||||
extern s32 func_8012CEB0(s32 a0, s32 a1, s32 a2); \
|
||||
s32 func_80187F30(void *a0, s32 a1) { \
|
||||
s16 arr1[3]; \
|
||||
s16 arr2[3]; \
|
||||
s32 res_val; \
|
||||
arr1[0] = *(u16 *)((s32)a0 + 0x3A); \
|
||||
arr1[1] = *(u16 *)((s32)a0 + 0x3E) + 0x10; \
|
||||
arr1[2] = *(u16 *)((s32)a0 + 0x42); \
|
||||
func_8012AD80((s32)a0); \
|
||||
arr2[0] = *(u16 *)((s32)a0 + 0x6); \
|
||||
arr2[1] = *(u16 *)((s32)a0 + 0xA) + 0x10; \
|
||||
arr2[2] = *(u16 *)((s32)a0 + 0xE); \
|
||||
res_val = func_8012CEB0((s32)arr1, (s32)arr2, a1); \
|
||||
*(u16 *)((s32)a0 + 0x6) = arr2[0]; \
|
||||
*(u16 *)((s32)a0 + 0xA) = arr2[1] - 0x10; \
|
||||
*(u16 *)((s32)a0 + 0xE) = arr2[2]; \
|
||||
if ((res_val & 0x6000) != 0) { \
|
||||
*(s32 *)((s32)a0 + 0x14) = 0; \
|
||||
} \
|
||||
return res_val; \
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
Reference in New Issue
Block a user