mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-09-26 13:33:34 -04:00
feat(phase-30 S48-T6): propagate func_80183834 to its zero-crack siblings
This commit is contained in:
+4
-4
@@ -239,7 +239,7 @@ ov_SC02_000_ELF := $(ov_SC02_000_OUT).elf
|
||||
ov_SC02_000_MAPFILE := $(ov_SC02_000_OUT).map
|
||||
ov_SC02_000_LD_SCRIPT := $(ov_SC02_000_OUT).ld
|
||||
ov_SC02_000_SPLAT_YAML := config/splat.ov_SC02_000.yaml
|
||||
ov_SC02_000_JTBL_INTERLEAVE := --order tail.data.o,ov_SC02_000.o,ov_SC02_000_jr_8012ACE0.o,tail2.data.o,ov_SC02_000_jr_80135888.o,tail3.data.o,ov_SC02_000_jr_80135A4C.o,tail4.data.o,ov_SC02_000_jr_80135D20.o,tail5.data.o,ov_SC02_000_jr_801380E0.o,ov_SC02_000_o0c.o,tail6.data.o,ov_SC02_000_jr_8013F350.o,tail7.data.o,ov_SC02_000_jr_8013FFD8.o,tail8.data.o,ov_SC02_000_jr_80140608.o,tail9.data.o,ov_SC02_000_jr_8015444C.o,ov_SC02_000_jr_80154C24.o,ov_SC02_000_jr_801588CC.o,ov_SC02_000_jr_80159C84.o,tail10.data.o,ov_SC02_000_jr_8015A3C8.o,tail11.data.o,ov_SC02_000_jr_8015AE2C.o,tail12.data.o,ov_SC02_000_jr_8015C32C.o,tail13.data.o,ov_SC02_000_jr_8016AB6C.o,tail14.data.o,ov_SC02_000_jr_80171B4C.o,ov_SC02_000_jr_801734BC.o,tail15.data.o,ov_SC02_000_jr_801789AC.o,ov_SC02_000_jr_80178D40.o,tail16.data.o,ov_SC02_000_jr_8017A4AC.o,tail17.data.o,ov_SC02_000_jr_8017AE2C.o,ov_SC02_000_jr_8017EA84.o,tail18.data.o,ov_SC02_000_jr_8017FB24.o,ov_SC02_000_jr_8017FCB0.o,tail19.data.o,ov_SC02_000_jr_801808C4.o,ov_SC02_000_jr_80180D6C.o,tail20.data.o,ov_SC02_000_jr_80181538.o,tail21.data.o,ov_SC02_000_jr_80181698.o,ov_SC02_000_jr_8018173C.o,tail22.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve
|
||||
ov_SC02_000_JTBL_INTERLEAVE := --order tail.data.o,ov_SC02_000.o,ov_SC02_000_jr_8012ACE0.o,tail2.data.o,ov_SC02_000_jr_80135888.o,tail3.data.o,ov_SC02_000_jr_80135A4C.o,tail4.data.o,ov_SC02_000_jr_80135D20.o,tail5.data.o,ov_SC02_000_jr_801380E0.o,ov_SC02_000_o0c.o,tail6.data.o,ov_SC02_000_jr_8013F350.o,tail7.data.o,ov_SC02_000_jr_8013FFD8.o,tail8.data.o,ov_SC02_000_jr_80140608.o,tail9.data.o,ov_SC02_000_jr_8015444C.o,ov_SC02_000_jr_80154C24.o,ov_SC02_000_jr_801588CC.o,ov_SC02_000_jr_80159C84.o,tail10.data.o,ov_SC02_000_jr_8015A3C8.o,tail11.data.o,ov_SC02_000_jr_8015AE2C.o,tail12.data.o,ov_SC02_000_jr_8015C32C.o,tail13.data.o,ov_SC02_000_jr_8016AB6C.o,tail14.data.o,ov_SC02_000_jr_80171B4C.o,ov_SC02_000_jr_801734BC.o,tail15.data.o,ov_SC02_000_jr_801789AC.o,ov_SC02_000_jr_80178D40.o,tail16.data.o,ov_SC02_000_jr_8017A4AC.o,tail17.data.o,ov_SC02_000_jr_8017AE2C.o,ov_SC02_000_jr_8017EA84.o,tail18.data.o,ov_SC02_000_jr_8017FB24.o,ov_SC02_000_jr_8017FCB0.o,tail19.data.o,ov_SC02_000_jr_801808C4.o,ov_SC02_000_jr_80180D6C.o,ov_SC02_000_jr_80181538.o,tail20.data.o,ov_SC02_000_jr_80181698.o,ov_SC02_000_jr_8018173C.o,tail21.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve
|
||||
build/src/ov_SC02_000/ov_SC02_000.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14
|
||||
build/src/ov_SC02_000/ov_SC02_000_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0
|
||||
build/src/ov_SC02_000/ov_SC02_000_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18
|
||||
@@ -256,7 +256,7 @@ build/src/ov_SC02_000/ov_SC02_000_jr_8017AE2C.o: JTBL_PADS := 0,0,0,0,0 # §8e
|
||||
build/src/ov_SC02_000/ov_SC02_000_jr_8017EA84.o: JTBL_PADS := 0,4,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18,+0x38,+0x58
|
||||
build/src/ov_SC02_000/ov_SC02_000_jr_8017FCB0.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20
|
||||
build/src/ov_SC02_000/ov_SC02_000_jr_801808C4.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20
|
||||
build/src/ov_SC02_000/ov_SC02_000_jr_80180D6C.o: JTBL_PADS := 0,0,0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x40,+0x60,+0x80
|
||||
build/src/ov_SC02_000/ov_SC02_000_jr_80180D6C.o: JTBL_PADS := 0,0,0,0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x40,+0x60,+0x80,+0xa0
|
||||
build/src/ov_SC02_000/ov_SC02_000_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118
|
||||
ov_SC02_000_CHECK_SHA := config/check.ov_SC02_000.sha
|
||||
ov_SC02_000_SYMBOLS := config/symbols.ov_SC02_000.txt
|
||||
@@ -279,7 +279,7 @@ ov_SC02_003_ELF := $(ov_SC02_003_OUT).elf
|
||||
ov_SC02_003_MAPFILE := $(ov_SC02_003_OUT).map
|
||||
ov_SC02_003_LD_SCRIPT := $(ov_SC02_003_OUT).ld
|
||||
ov_SC02_003_SPLAT_YAML := config/splat.ov_SC02_003.yaml
|
||||
ov_SC02_003_JTBL_INTERLEAVE := --order tail.data.o,ov_SC02_003.o,ov_SC02_003_jr_8012ACE0.o,tail2.data.o,ov_SC02_003_jr_80135888.o,tail3.data.o,ov_SC02_003_jr_80135A4C.o,tail4.data.o,ov_SC02_003_jr_80135D20.o,tail5.data.o,ov_SC02_003_jr_801380E0.o,ov_SC02_003_o0c.o,tail6.data.o,ov_SC02_003_jr_8013F350.o,tail7.data.o,ov_SC02_003_jr_8013FFD8.o,tail8.data.o,ov_SC02_003_jr_80140608.o,tail9.data.o,ov_SC02_003_jr_8015444C.o,ov_SC02_003_jr_80154C24.o,ov_SC02_003_jr_801588CC.o,ov_SC02_003_jr_80159C84.o,tail10.data.o,ov_SC02_003_jr_8015A3C8.o,tail11.data.o,ov_SC02_003_jr_8015AE2C.o,tail12.data.o,ov_SC02_003_jr_8015C32C.o,tail13.data.o,ov_SC02_003_jr_8016AB6C.o,tail14.data.o,ov_SC02_003_jr_80171B4C.o,ov_SC02_003_jr_801734BC.o,tail15.data.o,ov_SC02_003_jr_801789AC.o,ov_SC02_003_jr_80178D40.o,tail16.data.o,ov_SC02_003_jr_8017A4AC.o,tail17.data.o,ov_SC02_003_jr_8017AE2C.o,ov_SC02_003_jr_8017EA84.o,tail18.data.o,ov_SC02_003_jr_8017FB24.o,ov_SC02_003_jr_8017FCB0.o,tail19.data.o,ov_SC02_003_jr_801808C4.o,ov_SC02_003_jr_80180D6C.o,tail20.data.o,ov_SC02_003_jr_80181538.o,tail21.data.o,ov_SC02_003_jr_80181698.o,ov_SC02_003_jr_8018173C.o,tail22.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve
|
||||
ov_SC02_003_JTBL_INTERLEAVE := --order tail.data.o,ov_SC02_003.o,ov_SC02_003_jr_8012ACE0.o,tail2.data.o,ov_SC02_003_jr_80135888.o,tail3.data.o,ov_SC02_003_jr_80135A4C.o,tail4.data.o,ov_SC02_003_jr_80135D20.o,tail5.data.o,ov_SC02_003_jr_801380E0.o,ov_SC02_003_o0c.o,tail6.data.o,ov_SC02_003_jr_8013F350.o,tail7.data.o,ov_SC02_003_jr_8013FFD8.o,tail8.data.o,ov_SC02_003_jr_80140608.o,tail9.data.o,ov_SC02_003_jr_8015444C.o,ov_SC02_003_jr_80154C24.o,ov_SC02_003_jr_801588CC.o,ov_SC02_003_jr_80159C84.o,tail10.data.o,ov_SC02_003_jr_8015A3C8.o,tail11.data.o,ov_SC02_003_jr_8015AE2C.o,tail12.data.o,ov_SC02_003_jr_8015C32C.o,tail13.data.o,ov_SC02_003_jr_8016AB6C.o,tail14.data.o,ov_SC02_003_jr_80171B4C.o,ov_SC02_003_jr_801734BC.o,tail15.data.o,ov_SC02_003_jr_801789AC.o,ov_SC02_003_jr_80178D40.o,tail16.data.o,ov_SC02_003_jr_8017A4AC.o,tail17.data.o,ov_SC02_003_jr_8017AE2C.o,ov_SC02_003_jr_8017EA84.o,tail18.data.o,ov_SC02_003_jr_8017FB24.o,ov_SC02_003_jr_8017FCB0.o,tail19.data.o,ov_SC02_003_jr_801808C4.o,ov_SC02_003_jr_80180D6C.o,ov_SC02_003_jr_80181538.o,tail20.data.o,ov_SC02_003_jr_80181698.o,ov_SC02_003_jr_8018173C.o,tail21.data.o,trailing.o # Phase-26 §8 jtbl-rodata carve
|
||||
build/src/ov_SC02_003/ov_SC02_003.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x14
|
||||
build/src/ov_SC02_003/ov_SC02_003_jr_8012ACE0.o: JTBL_PADS := 0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0xcc,+0xe0
|
||||
build/src/ov_SC02_003/ov_SC02_003_jr_80135D20.o: JTBL_PADS := 0,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18
|
||||
@@ -296,7 +296,7 @@ build/src/ov_SC02_003/ov_SC02_003_jr_8017AE2C.o: JTBL_PADS := 0,0,0,0,0 # §8e
|
||||
build/src/ov_SC02_003/ov_SC02_003_jr_8017EA84.o: JTBL_PADS := 0,4,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x18,+0x38,+0x58
|
||||
build/src/ov_SC02_003/ov_SC02_003_jr_8017FCB0.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20
|
||||
build/src/ov_SC02_003/ov_SC02_003_jr_801808C4.o: JTBL_PADS := 0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20
|
||||
build/src/ov_SC02_003/ov_SC02_003_jr_80180D6C.o: JTBL_PADS := 0,0,0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x40,+0x60,+0x80
|
||||
build/src/ov_SC02_003/ov_SC02_003_jr_80180D6C.o: JTBL_PADS := 0,0,0,0,0,0 # §8e pads (jtbl_carve.py) tables=+0x0,+0x20,+0x40,+0x60,+0x80,+0xa0
|
||||
build/src/ov_SC02_003/ov_SC02_003_o0c.o: JTBL_PADS := 0,4,4,4 # §8e pads (jtbl_carve.py) tables=+0x0,+0x38,+0xa8,+0x118
|
||||
ov_SC02_003_CHECK_SHA := config/check.ov_SC02_003.sha
|
||||
ov_SC02_003_SYMBOLS := config/symbols.ov_SC02_003.txt
|
||||
|
||||
@@ -176,12 +176,11 @@ segments:
|
||||
- [0xbe984, data, tail19]
|
||||
- [0xbe9a4, .rodata, ov_SC02_000_jr_801808C4] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
|
||||
- [0xbe9e4, .rodata, ov_SC02_000_jr_80180D6C] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
|
||||
- [0xbea84, data, tail20]
|
||||
- [0xbeaa4, .rodata, ov_SC02_000_jr_80181538] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
|
||||
- [0xbeac4, data, tail21]
|
||||
- [0xbeac4, data, tail20]
|
||||
- [0xbeae4, .rodata, ov_SC02_000_jr_80181698] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
|
||||
- [0xbeb04, .rodata, ov_SC02_000_jr_8018173C] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
|
||||
- [0xbeb24, data, tail22]
|
||||
- [0xbeb24, data, tail21]
|
||||
- [0xC070C, bin, trailing] # final 3 bytes (EOF not 4-aligned; spimdisasm drops a partial word)
|
||||
- [0xC070F] # EOF marker = the 0.4.dec byte length
|
||||
# @TRAILING@ (above) is replaced by tools/new_overlay.sh: for a non-4-aligned overlay it becomes
|
||||
|
||||
@@ -176,12 +176,11 @@ segments:
|
||||
- [0xbe984, data, tail19]
|
||||
- [0xbe9a4, .rodata, ov_SC02_003_jr_801808C4] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
|
||||
- [0xbe9e4, .rodata, ov_SC02_003_jr_80180D6C] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
|
||||
- [0xbea84, data, tail20]
|
||||
- [0xbeaa4, .rodata, ov_SC02_003_jr_80181538] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
|
||||
- [0xbeac4, data, tail21]
|
||||
- [0xbeac4, data, tail20]
|
||||
- [0xbeae4, .rodata, ov_SC02_003_jr_80181698] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
|
||||
- [0xbeb04, .rodata, ov_SC02_003_jr_8018173C] # Phase-26 §8 jtbl-rodata carve (jtbl_carve.py)
|
||||
- [0xbeb24, data, tail22]
|
||||
- [0xbeb24, data, tail21]
|
||||
- [0xC070C, bin, trailing] # final 3 bytes (EOF not 4-aligned; spimdisasm drops a partial word)
|
||||
- [0xC070F] # EOF marker = the 0.4.dec byte length
|
||||
# @TRAILING@ (above) is replaced by tools/new_overlay.sh: for a non-4-aligned overlay it becomes
|
||||
|
||||
@@ -2986,7 +2986,89 @@ void func_80180D6C(s32 param_1) {
|
||||
*(s32 *)(param_1 + 0x2c) = *(s16 *)(param_1 + 0xe);
|
||||
}
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_000/nonmatchings/ov_SC02_000_jr_80180D6C", func_8018127C);
|
||||
|
||||
extern void func_8017F950(void);
|
||||
extern s32 D_801270D8;
|
||||
extern s16 D_8018E6CC;
|
||||
extern s16 D_8018E6D0;
|
||||
extern s32 ratan2(s32, s32);
|
||||
extern s32 rand(void);
|
||||
extern void func_8012B2CC(s32 a0);
|
||||
extern void func_8012B23C(s32 a0);
|
||||
extern void func_8012B14C(s32 a0, s32 a1);
|
||||
extern void func_8012A828(s32 a0, void *a1);
|
||||
extern u8 D_8018E718[];
|
||||
extern u8 D_801A68A4[];
|
||||
extern void (*D_8018E9C4[])();
|
||||
extern s32 func_8012C044(s32 a0);
|
||||
extern void func_8012C098(void);
|
||||
extern void func_8012C218(void *a0);
|
||||
extern s32 D_801270CC;
|
||||
|
||||
void func_8018127C(s32 param_1) {
|
||||
s32 obj;
|
||||
s32 ang;
|
||||
u16 t;
|
||||
|
||||
if ((*(u16 *)(param_1 + 0x5C) & 1) != 0) {
|
||||
func_8017F950();
|
||||
}
|
||||
if ((*(u16 *)(param_1 + 0x70) & 0x400) != 0 && D_801270D8 != 0 &&
|
||||
*(u16 *)(param_1 + 0x2) != 0xA) {
|
||||
*(u16 *)(param_1 + 0x2) = 0xA;
|
||||
*(u16 *)(param_1 + 0x98) = 0;
|
||||
*(s32 *)(param_1 + 0x1C) = 0x3C;
|
||||
*(u16 *)(param_1 + 0x5C) = 0;
|
||||
*(u16 *)(*(s32 *)(param_1 + 0x20) + 0x12) =
|
||||
((((ratan2(*(s16 *)(param_1 + 0xE) - D_8018E6D0,
|
||||
D_8018E6CC - *(s16 *)(param_1 + 0x6)) -
|
||||
0x400) &
|
||||
0xFFF) +
|
||||
0x800) &
|
||||
0xFFF);
|
||||
if (*(s16 *)(param_1 + 0x6) > 0x180) {
|
||||
obj = *(s32 *)(param_1 + 0x20);
|
||||
ang = *(s16 *)(obj + 0x12);
|
||||
*(u16 *)(obj + 0x12) = (rand() & 1) ? ang - 0x400 : ang + 0x400;
|
||||
}
|
||||
func_8012B2CC(param_1);
|
||||
func_8012B23C(param_1);
|
||||
func_8012B14C(param_1, (s32)&D_8018E718);
|
||||
func_8012A828(param_1, &D_801A68A4);
|
||||
}
|
||||
if (*(u16 *)param_1 != 0x2F) {
|
||||
return;
|
||||
}
|
||||
D_8018E9C4[*(u16 *)(param_1 + 0x2)](param_1);
|
||||
*(u16 *)(param_1 + 0xDE) = *(u16 *)(param_1 + 0xDE) + 1;
|
||||
t = *(u16 *)(param_1 + 0x86);
|
||||
if (t != 0) {
|
||||
*(u16 *)(param_1 + 0x86) = t - 1;
|
||||
if (*(u16 *)(param_1 + 0x86) != 0) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (func_8012C044(param_1) == 0) {
|
||||
return;
|
||||
}
|
||||
switch ((s32)((u32)*(u16 *)(param_1 + 0x70) << 0x10) >> 0x18) {
|
||||
case 0:
|
||||
case 1:
|
||||
case 2:
|
||||
case 5:
|
||||
case 6:
|
||||
((void (*)(s32))func_8012C098)(param_1);
|
||||
return;
|
||||
case 3:
|
||||
case 7:
|
||||
((void (*)(s32))func_8012C218)(param_1);
|
||||
return;
|
||||
case 4:
|
||||
D_801270CC = D_801270CC - 1;
|
||||
((void (*)(s32))func_8012C218)(param_1);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
extern void func_8012E364(void);
|
||||
void func_80181498(void) {
|
||||
|
||||
@@ -2986,7 +2986,89 @@ void func_80180D6C(s32 param_1) {
|
||||
*(s32 *)(param_1 + 0x2c) = *(s16 *)(param_1 + 0xe);
|
||||
}
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_003/nonmatchings/ov_SC02_003_jr_80180D6C", func_8018127C);
|
||||
|
||||
extern void func_8017F950(void);
|
||||
extern s32 D_801270D8;
|
||||
extern s16 D_8018E6CC;
|
||||
extern s16 D_8018E6D0;
|
||||
extern s32 ratan2(s32, s32);
|
||||
extern s32 rand(void);
|
||||
extern void func_8012B2CC(s32 a0);
|
||||
extern void func_8012B23C(s32 a0);
|
||||
extern void func_8012B14C(s32 a0, s32 a1);
|
||||
extern void func_8012A828(s32 a0, void *a1);
|
||||
extern u8 D_8018E718[];
|
||||
extern u8 D_801A68A4[];
|
||||
extern void (*D_8018E9C4[])();
|
||||
extern s32 func_8012C044(s32 a0);
|
||||
extern void func_8012C098(void);
|
||||
extern void func_8012C218(void *a0);
|
||||
extern s32 D_801270CC;
|
||||
|
||||
void func_8018127C(s32 param_1) {
|
||||
s32 obj;
|
||||
s32 ang;
|
||||
u16 t;
|
||||
|
||||
if ((*(u16 *)(param_1 + 0x5C) & 1) != 0) {
|
||||
func_8017F950();
|
||||
}
|
||||
if ((*(u16 *)(param_1 + 0x70) & 0x400) != 0 && D_801270D8 != 0 &&
|
||||
*(u16 *)(param_1 + 0x2) != 0xA) {
|
||||
*(u16 *)(param_1 + 0x2) = 0xA;
|
||||
*(u16 *)(param_1 + 0x98) = 0;
|
||||
*(s32 *)(param_1 + 0x1C) = 0x3C;
|
||||
*(u16 *)(param_1 + 0x5C) = 0;
|
||||
*(u16 *)(*(s32 *)(param_1 + 0x20) + 0x12) =
|
||||
((((ratan2(*(s16 *)(param_1 + 0xE) - D_8018E6D0,
|
||||
D_8018E6CC - *(s16 *)(param_1 + 0x6)) -
|
||||
0x400) &
|
||||
0xFFF) +
|
||||
0x800) &
|
||||
0xFFF);
|
||||
if (*(s16 *)(param_1 + 0x6) > 0x180) {
|
||||
obj = *(s32 *)(param_1 + 0x20);
|
||||
ang = *(s16 *)(obj + 0x12);
|
||||
*(u16 *)(obj + 0x12) = (rand() & 1) ? ang - 0x400 : ang + 0x400;
|
||||
}
|
||||
func_8012B2CC(param_1);
|
||||
func_8012B23C(param_1);
|
||||
func_8012B14C(param_1, (s32)&D_8018E718);
|
||||
func_8012A828(param_1, &D_801A68A4);
|
||||
}
|
||||
if (*(u16 *)param_1 != 0x2F) {
|
||||
return;
|
||||
}
|
||||
D_8018E9C4[*(u16 *)(param_1 + 0x2)](param_1);
|
||||
*(u16 *)(param_1 + 0xDE) = *(u16 *)(param_1 + 0xDE) + 1;
|
||||
t = *(u16 *)(param_1 + 0x86);
|
||||
if (t != 0) {
|
||||
*(u16 *)(param_1 + 0x86) = t - 1;
|
||||
if (*(u16 *)(param_1 + 0x86) != 0) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (func_8012C044(param_1) == 0) {
|
||||
return;
|
||||
}
|
||||
switch ((s32)((u32)*(u16 *)(param_1 + 0x70) << 0x10) >> 0x18) {
|
||||
case 0:
|
||||
case 1:
|
||||
case 2:
|
||||
case 5:
|
||||
case 6:
|
||||
((void (*)(s32))func_8012C098)(param_1);
|
||||
return;
|
||||
case 3:
|
||||
case 7:
|
||||
((void (*)(s32))func_8012C218)(param_1);
|
||||
return;
|
||||
case 4:
|
||||
D_801270CC = D_801270CC - 1;
|
||||
((void (*)(s32))func_8012C218)(param_1);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
extern void func_8012E364(void);
|
||||
void func_80181498(void) {
|
||||
|
||||
Reference in New Issue
Block a user