mirror of
https://github.com/Druthulu/BFM-decomp
synced 2026-09-27 22:45:39 -04:00
feat(phase-29 crack-wave2): func_8016DC20 +132 / func_801418F8 +126 family sweep (ov_SC01_000 exemplar)
hseq family sweep of 2 absent-family cores, templated from the clean ov_SC01_000 bank (s16-array + cast-at-use spellings) instead of the ov077 heavy-struct exemplar that pick_exemplar defaults to. 258/272 members banked; 14 SC07-layout residuals.
This commit is contained in:
@@ -1344,7 +1344,79 @@ void func_80141874(void) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC01_001/nonmatchings/ov_SC01_001_jr_8013FFD8", func_801418F8);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern u16 D_80115110;
|
||||
extern u16 D_80115112;
|
||||
extern unsigned short D_80115118;
|
||||
extern volatile u16 D_8011511A;
|
||||
extern s16 D_80115128;
|
||||
extern s32 D_80115130;
|
||||
extern s16 D_80184BD0;
|
||||
extern s16 D_80184BD2;
|
||||
|
||||
extern void func_800D24A0(s32 a0);
|
||||
extern s32 func_80029178(s32 a0);
|
||||
extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
extern void func_80141C0C(s32 a0);
|
||||
|
||||
void func_801418F8(void)
|
||||
{
|
||||
|
||||
extern s16 D_8011512E;
|
||||
extern u8 D_80115158[];
|
||||
extern s16 D_8011515A;
|
||||
extern u8 D_8011515C;
|
||||
extern s16 D_8011515E;
|
||||
extern s16 D_80115162;
|
||||
extern s16 D_80115166;
|
||||
extern u8 D_80184870;
|
||||
extern u8 D_80184888;
|
||||
extern u8 D_801848FC;
|
||||
extern u8 D_80184904;
|
||||
extern void *D_801EC7B0;
|
||||
extern void *D_801EC7B4;
|
||||
u16 t;
|
||||
|
||||
func_800D24A0(1);
|
||||
D_8011511A = 2;
|
||||
t = D_8011511A;
|
||||
(*(s16 *)&D_80115118) = 0;
|
||||
D_80115130 = 0;
|
||||
if (t >= 4) {
|
||||
D_8011511A = t - 3;
|
||||
}
|
||||
(*(s16 *)D_80115158) = 0x106;
|
||||
if ((func_80029178(0x1C) & 0xFF) == 0) {
|
||||
D_801EC7B0 = &D_80184870;
|
||||
D_801EC7B4 = &D_801848FC;
|
||||
} else {
|
||||
D_801EC7B0 = &D_80184888;
|
||||
D_801EC7B4 = &D_80184904;
|
||||
}
|
||||
D_8011515A = 0x104;
|
||||
(*(s16 *)&D_8011515C) = 0x104;
|
||||
D_8011515E = 0x129;
|
||||
D_80115162 = 0x103;
|
||||
D_80115166 = 0x105;
|
||||
D_80115128 = 0;
|
||||
D_8011512E = 0;
|
||||
if (D_80115110 == 3) {
|
||||
func_8002D4C8(0x46E, 0);
|
||||
} else {
|
||||
func_80141C0C(0);
|
||||
}
|
||||
D_80115128 = 1;
|
||||
D_80184BD0 = 0xE;
|
||||
D_80184BD2 = 3;
|
||||
D_80115112 = D_80115112 + 1;
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC01_001/nonmatchings/ov_SC01_001_jr_8013FFD8", func_80141A60);
|
||||
|
||||
|
||||
@@ -3229,7 +3229,93 @@ DEFINE_func_8016DB34() /* dedup: shared engine-core @0x8016DB34 (src/shared) */
|
||||
|
||||
DEFINE_func_8016DBD8() /* dedup: shared engine-core @0x8016DBD8 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC01_001/nonmatchings/ov_SC01_001_jr_8016AB6C", func_8016DC20);
|
||||
|
||||
extern s32 D_8011D030;
|
||||
|
||||
extern void func_80149374(s32 a0, s32 a1);
|
||||
extern s32 func_801619D0(void *a0);
|
||||
extern s32 func_80146A6C(s32 a0, void *a1, s32 a2, s32 a3, s32 a4, s32 a5, s32 a6);
|
||||
extern void func_800D20C0(void *a0, void *a1, s32 a2);
|
||||
extern void func_800D23D0(void *a0);
|
||||
extern s32 func_800D21C4(s32 a0, void *a1, s32 a2);
|
||||
extern void func_800D1FC8(s32 a0, s32 a1);
|
||||
extern void func_80128EA8(s32 a0, s32 a1, s32 a2);
|
||||
extern s32 func_80128ED8(void *a0, void *a1);
|
||||
extern void func_80146C3C(void);
|
||||
|
||||
void func_8016DC20(s16 *param_1) {
|
||||
|
||||
extern s16 D_801ED4A8;
|
||||
extern s16 D_801ED4AC;
|
||||
extern u8 D_80186B5C[];
|
||||
extern u8 D_80186B68[];
|
||||
u16 *psVar1;
|
||||
s32 iVar2;
|
||||
s32 iVar3;
|
||||
s32 iVar4;
|
||||
s16 i;
|
||||
s16 sp[6];
|
||||
|
||||
i = 0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
iVar4 = *(s32 *)((u8 *)param_1 + 0x34);
|
||||
do {
|
||||
if ((psVar1 != (u16 *)param_1) && (*psVar1 == 0x34)) goto end;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80149374(iVar4, (s32)param_1 + 4);
|
||||
iVar2 = func_801619D0((void *)iVar4);
|
||||
i = 0;
|
||||
if (iVar2 == 0) goto ddb0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
do {
|
||||
if (*psVar1 == 0x11) goto ddb0;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80146A6C(0x11, param_1, *(s16 *)((u8 *)param_1 + 6),
|
||||
(s16)(*(u16 *)((u8 *)param_1 + 0xa) - 8),
|
||||
*(s16 *)((u8 *)param_1 + 0xe), 0, 0);
|
||||
sp[0] = *(u16 *)((u8 *)param_1 + 6);
|
||||
sp[1] = *(u16 *)((u8 *)param_1 + 0xa);
|
||||
sp[2] = *(u16 *)((u8 *)param_1 + 0xe);
|
||||
func_800D20C0(&sp[0], &sp[4], 0);
|
||||
sp[5] = 0;
|
||||
func_800D23D0(&sp[4]);
|
||||
i = 0;
|
||||
do {
|
||||
iVar3 = func_80146A6C(0x12, param_1, *(s16 *)(iVar4 + 6),
|
||||
*(s16 *)(iVar4 + 0xa), *(s16 *)(iVar4 + 0xe),
|
||||
i, 0);
|
||||
if (iVar3 != 0) {
|
||||
*(u16 *)(iVar3 + 0x12) = sp[4];
|
||||
*(u16 *)(iVar3 + 0x16) = sp[5];
|
||||
*(u16 *)(iVar3 + 0x1a) = 0;
|
||||
}
|
||||
i = i + 2;
|
||||
} while (i < 3);
|
||||
goto end;
|
||||
ddb0:
|
||||
if (((D_801ED4A8 != *(s16 *)(iVar4 + 6)) || (D_801ED4AC != *(s16 *)(iVar4 + 0xe))) &&
|
||||
(iVar2 = func_800D21C4((s32)param_1, D_80186B5C, 0x18), iVar2 != 0)) {
|
||||
D_801ED4A8 = *(u16 *)(iVar4 + 6);
|
||||
D_801ED4AC = *(u16 *)(iVar4 + 0xe);
|
||||
func_800D1FC8((s32)param_1, 7);
|
||||
*(s32 *)((u8 *)param_1 + 0x20) = iVar2;
|
||||
*(u16 *)(iVar2 + 0x1a) = 0x3000;
|
||||
*(u16 *)(iVar2 + 0x18) = 0x3000;
|
||||
*(u8 *)(iVar2 + 0x26) = 0xff;
|
||||
*(u32 *)(iVar2 + 4) = *(u32 *)(iVar2 + 4) | 0x50000000;
|
||||
func_80128EA8(iVar2, (s32)param_1 + 0x24, (s32)D_80186B68);
|
||||
func_80128ED8((void *)iVar2, (void *)((s32)param_1 + 0x24));
|
||||
*(u16 *)((u8 *)param_1 + 2) = *(u16 *)((u8 *)param_1 + 2) + 1;
|
||||
return;
|
||||
}
|
||||
end:
|
||||
((void (*)(s16 *))func_80146C3C)(param_1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern void (*D_80186B88[])(void);
|
||||
|
||||
@@ -1344,7 +1344,79 @@ void func_80141874(void) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC01_004/nonmatchings/ov_SC01_004_jr_8013FFD8", func_801418F8);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern u16 D_80115110;
|
||||
extern u16 D_80115112;
|
||||
extern unsigned short D_80115118;
|
||||
extern volatile u16 D_8011511A;
|
||||
extern s16 D_80115128;
|
||||
extern s32 D_80115130;
|
||||
extern s16 D_80180594;
|
||||
extern s16 D_80180596;
|
||||
|
||||
extern void func_800D24A0(s32 a0);
|
||||
extern s32 func_80029178(s32 a0);
|
||||
extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
extern void func_80141C0C(s32 a0);
|
||||
|
||||
void func_801418F8(void)
|
||||
{
|
||||
|
||||
extern s16 D_8011512E;
|
||||
extern u8 D_80115158[];
|
||||
extern s16 D_8011515A;
|
||||
extern u8 D_8011515C;
|
||||
extern s16 D_8011515E;
|
||||
extern s16 D_80115162;
|
||||
extern s16 D_80115166;
|
||||
extern u8 D_80180234;
|
||||
extern u8 D_8018024C;
|
||||
extern u8 D_801802C0;
|
||||
extern u8 D_801802C8;
|
||||
extern void *D_8018EF18;
|
||||
extern void *D_8018EF1C;
|
||||
u16 t;
|
||||
|
||||
func_800D24A0(1);
|
||||
D_8011511A = 2;
|
||||
t = D_8011511A;
|
||||
(*(s16 *)&D_80115118) = 0;
|
||||
D_80115130 = 0;
|
||||
if (t >= 4) {
|
||||
D_8011511A = t - 3;
|
||||
}
|
||||
(*(s16 *)D_80115158) = 0x106;
|
||||
if ((func_80029178(0x1C) & 0xFF) == 0) {
|
||||
D_8018EF18 = &D_80180234;
|
||||
D_8018EF1C = &D_801802C0;
|
||||
} else {
|
||||
D_8018EF18 = &D_8018024C;
|
||||
D_8018EF1C = &D_801802C8;
|
||||
}
|
||||
D_8011515A = 0x104;
|
||||
(*(s16 *)&D_8011515C) = 0x104;
|
||||
D_8011515E = 0x129;
|
||||
D_80115162 = 0x103;
|
||||
D_80115166 = 0x105;
|
||||
D_80115128 = 0;
|
||||
D_8011512E = 0;
|
||||
if (D_80115110 == 3) {
|
||||
func_8002D4C8(0x46E, 0);
|
||||
} else {
|
||||
func_80141C0C(0);
|
||||
}
|
||||
D_80115128 = 1;
|
||||
D_80180594 = 0xE;
|
||||
D_80180596 = 3;
|
||||
D_80115112 = D_80115112 + 1;
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC01_004/nonmatchings/ov_SC01_004_jr_8013FFD8", func_80141A60);
|
||||
|
||||
|
||||
@@ -3229,7 +3229,93 @@ DEFINE_func_8016DB34() /* dedup: shared engine-core @0x8016DB34 (src/shared) */
|
||||
|
||||
DEFINE_func_8016DBD8() /* dedup: shared engine-core @0x8016DBD8 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC01_004/nonmatchings/ov_SC01_004_jr_8016AB6C", func_8016DC20);
|
||||
|
||||
extern s32 D_8011D030;
|
||||
|
||||
extern void func_80149374(s32 a0, s32 a1);
|
||||
extern s32 func_801619D0(void *a0);
|
||||
extern s32 func_80146A6C(s32 a0, void *a1, s32 a2, s32 a3, s32 a4, s32 a5, s32 a6);
|
||||
extern void func_800D20C0(void *a0, void *a1, s32 a2);
|
||||
extern void func_800D23D0(void *a0);
|
||||
extern s32 func_800D21C4(s32 a0, void *a1, s32 a2);
|
||||
extern void func_800D1FC8(s32 a0, s32 a1);
|
||||
extern void func_80128EA8(s32 a0, s32 a1, s32 a2);
|
||||
extern s32 func_80128ED8(void *a0, void *a1);
|
||||
extern void func_80146C3C(void);
|
||||
|
||||
void func_8016DC20(s16 *param_1) {
|
||||
|
||||
extern s16 D_8018FC10;
|
||||
extern s16 D_8018FC14;
|
||||
extern u8 D_80182520[];
|
||||
extern u8 D_8018252C[];
|
||||
u16 *psVar1;
|
||||
s32 iVar2;
|
||||
s32 iVar3;
|
||||
s32 iVar4;
|
||||
s16 i;
|
||||
s16 sp[6];
|
||||
|
||||
i = 0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
iVar4 = *(s32 *)((u8 *)param_1 + 0x34);
|
||||
do {
|
||||
if ((psVar1 != (u16 *)param_1) && (*psVar1 == 0x34)) goto end;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80149374(iVar4, (s32)param_1 + 4);
|
||||
iVar2 = func_801619D0((void *)iVar4);
|
||||
i = 0;
|
||||
if (iVar2 == 0) goto ddb0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
do {
|
||||
if (*psVar1 == 0x11) goto ddb0;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80146A6C(0x11, param_1, *(s16 *)((u8 *)param_1 + 6),
|
||||
(s16)(*(u16 *)((u8 *)param_1 + 0xa) - 8),
|
||||
*(s16 *)((u8 *)param_1 + 0xe), 0, 0);
|
||||
sp[0] = *(u16 *)((u8 *)param_1 + 6);
|
||||
sp[1] = *(u16 *)((u8 *)param_1 + 0xa);
|
||||
sp[2] = *(u16 *)((u8 *)param_1 + 0xe);
|
||||
func_800D20C0(&sp[0], &sp[4], 0);
|
||||
sp[5] = 0;
|
||||
func_800D23D0(&sp[4]);
|
||||
i = 0;
|
||||
do {
|
||||
iVar3 = func_80146A6C(0x12, param_1, *(s16 *)(iVar4 + 6),
|
||||
*(s16 *)(iVar4 + 0xa), *(s16 *)(iVar4 + 0xe),
|
||||
i, 0);
|
||||
if (iVar3 != 0) {
|
||||
*(u16 *)(iVar3 + 0x12) = sp[4];
|
||||
*(u16 *)(iVar3 + 0x16) = sp[5];
|
||||
*(u16 *)(iVar3 + 0x1a) = 0;
|
||||
}
|
||||
i = i + 2;
|
||||
} while (i < 3);
|
||||
goto end;
|
||||
ddb0:
|
||||
if (((D_8018FC10 != *(s16 *)(iVar4 + 6)) || (D_8018FC14 != *(s16 *)(iVar4 + 0xe))) &&
|
||||
(iVar2 = func_800D21C4((s32)param_1, D_80182520, 0x18), iVar2 != 0)) {
|
||||
D_8018FC10 = *(u16 *)(iVar4 + 6);
|
||||
D_8018FC14 = *(u16 *)(iVar4 + 0xe);
|
||||
func_800D1FC8((s32)param_1, 7);
|
||||
*(s32 *)((u8 *)param_1 + 0x20) = iVar2;
|
||||
*(u16 *)(iVar2 + 0x1a) = 0x3000;
|
||||
*(u16 *)(iVar2 + 0x18) = 0x3000;
|
||||
*(u8 *)(iVar2 + 0x26) = 0xff;
|
||||
*(u32 *)(iVar2 + 4) = *(u32 *)(iVar2 + 4) | 0x50000000;
|
||||
func_80128EA8(iVar2, (s32)param_1 + 0x24, (s32)D_8018252C);
|
||||
func_80128ED8((void *)iVar2, (void *)((s32)param_1 + 0x24));
|
||||
*(u16 *)((u8 *)param_1 + 2) = *(u16 *)((u8 *)param_1 + 2) + 1;
|
||||
return;
|
||||
}
|
||||
end:
|
||||
((void (*)(s16 *))func_80146C3C)(param_1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern void (*D_8018254C[])(void);
|
||||
|
||||
@@ -1345,7 +1345,79 @@ void func_80141874(void) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC01_005/nonmatchings/ov_SC01_005_jr_8013FFD8", func_801418F8);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern u16 D_80115110;
|
||||
extern u16 D_80115112;
|
||||
extern unsigned short D_80115118;
|
||||
extern volatile u16 D_8011511A;
|
||||
extern s16 D_80115128;
|
||||
extern s32 D_80115130;
|
||||
extern s16 D_80183728;
|
||||
extern s16 D_8018372A;
|
||||
|
||||
extern void func_800D24A0(s32 a0);
|
||||
extern s32 func_80029178(s32 a0);
|
||||
extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
extern void func_80141C0C(s32 a0);
|
||||
|
||||
void func_801418F8(void)
|
||||
{
|
||||
|
||||
extern s16 D_8011512E;
|
||||
extern u8 D_80115158[];
|
||||
extern s16 D_8011515A;
|
||||
extern u8 D_8011515C;
|
||||
extern s16 D_8011515E;
|
||||
extern s16 D_80115162;
|
||||
extern s16 D_80115166;
|
||||
extern u8 D_801833C8;
|
||||
extern u8 D_801833E0;
|
||||
extern u8 D_80183454;
|
||||
extern u8 D_8018345C;
|
||||
extern void *D_801CC678;
|
||||
extern void *D_801CC67C;
|
||||
u16 t;
|
||||
|
||||
func_800D24A0(1);
|
||||
D_8011511A = 2;
|
||||
t = D_8011511A;
|
||||
(*(s16 *)&D_80115118) = 0;
|
||||
D_80115130 = 0;
|
||||
if (t >= 4) {
|
||||
D_8011511A = t - 3;
|
||||
}
|
||||
(*(s16 *)D_80115158) = 0x106;
|
||||
if ((func_80029178(0x1C) & 0xFF) == 0) {
|
||||
D_801CC678 = &D_801833C8;
|
||||
D_801CC67C = &D_80183454;
|
||||
} else {
|
||||
D_801CC678 = &D_801833E0;
|
||||
D_801CC67C = &D_8018345C;
|
||||
}
|
||||
D_8011515A = 0x104;
|
||||
(*(s16 *)&D_8011515C) = 0x104;
|
||||
D_8011515E = 0x129;
|
||||
D_80115162 = 0x103;
|
||||
D_80115166 = 0x105;
|
||||
D_80115128 = 0;
|
||||
D_8011512E = 0;
|
||||
if (D_80115110 == 3) {
|
||||
func_8002D4C8(0x46E, 0);
|
||||
} else {
|
||||
func_80141C0C(0);
|
||||
}
|
||||
D_80115128 = 1;
|
||||
D_80183728 = 0xE;
|
||||
D_8018372A = 3;
|
||||
D_80115112 = D_80115112 + 1;
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC01_005/nonmatchings/ov_SC01_005_jr_8013FFD8", func_80141A60);
|
||||
|
||||
|
||||
@@ -3230,7 +3230,93 @@ DEFINE_func_8016DB34() /* dedup: shared engine-core @0x8016DB34 (src/shared) */
|
||||
|
||||
DEFINE_func_8016DBD8() /* dedup: shared engine-core @0x8016DBD8 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC01_005/nonmatchings/ov_SC01_005_jr_8016AB6C", func_8016DC20);
|
||||
|
||||
extern s32 D_8011D030;
|
||||
|
||||
extern void func_80149374(s32 a0, s32 a1);
|
||||
extern s32 func_801619D0(void *a0);
|
||||
extern s32 func_80146A6C(s32 a0, void *a1, s32 a2, s32 a3, s32 a4, s32 a5, s32 a6);
|
||||
extern void func_800D20C0(void *a0, void *a1, s32 a2);
|
||||
extern void func_800D23D0(void *a0);
|
||||
extern s32 func_800D21C4(s32 a0, void *a1, s32 a2);
|
||||
extern void func_800D1FC8(s32 a0, s32 a1);
|
||||
extern void func_80128EA8(s32 a0, s32 a1, s32 a2);
|
||||
extern s32 func_80128ED8(void *a0, void *a1);
|
||||
extern void func_80146C3C(void);
|
||||
|
||||
void func_8016DC20(s16 *param_1) {
|
||||
|
||||
extern s16 D_801CD370;
|
||||
extern s16 D_801CD374;
|
||||
extern u8 D_801856B4[];
|
||||
extern u8 D_801856C0[];
|
||||
u16 *psVar1;
|
||||
s32 iVar2;
|
||||
s32 iVar3;
|
||||
s32 iVar4;
|
||||
s16 i;
|
||||
s16 sp[6];
|
||||
|
||||
i = 0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
iVar4 = *(s32 *)((u8 *)param_1 + 0x34);
|
||||
do {
|
||||
if ((psVar1 != (u16 *)param_1) && (*psVar1 == 0x34)) goto end;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80149374(iVar4, (s32)param_1 + 4);
|
||||
iVar2 = func_801619D0((void *)iVar4);
|
||||
i = 0;
|
||||
if (iVar2 == 0) goto ddb0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
do {
|
||||
if (*psVar1 == 0x11) goto ddb0;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80146A6C(0x11, param_1, *(s16 *)((u8 *)param_1 + 6),
|
||||
(s16)(*(u16 *)((u8 *)param_1 + 0xa) - 8),
|
||||
*(s16 *)((u8 *)param_1 + 0xe), 0, 0);
|
||||
sp[0] = *(u16 *)((u8 *)param_1 + 6);
|
||||
sp[1] = *(u16 *)((u8 *)param_1 + 0xa);
|
||||
sp[2] = *(u16 *)((u8 *)param_1 + 0xe);
|
||||
func_800D20C0(&sp[0], &sp[4], 0);
|
||||
sp[5] = 0;
|
||||
func_800D23D0(&sp[4]);
|
||||
i = 0;
|
||||
do {
|
||||
iVar3 = func_80146A6C(0x12, param_1, *(s16 *)(iVar4 + 6),
|
||||
*(s16 *)(iVar4 + 0xa), *(s16 *)(iVar4 + 0xe),
|
||||
i, 0);
|
||||
if (iVar3 != 0) {
|
||||
*(u16 *)(iVar3 + 0x12) = sp[4];
|
||||
*(u16 *)(iVar3 + 0x16) = sp[5];
|
||||
*(u16 *)(iVar3 + 0x1a) = 0;
|
||||
}
|
||||
i = i + 2;
|
||||
} while (i < 3);
|
||||
goto end;
|
||||
ddb0:
|
||||
if (((D_801CD370 != *(s16 *)(iVar4 + 6)) || (D_801CD374 != *(s16 *)(iVar4 + 0xe))) &&
|
||||
(iVar2 = func_800D21C4((s32)param_1, D_801856B4, 0x18), iVar2 != 0)) {
|
||||
D_801CD370 = *(u16 *)(iVar4 + 6);
|
||||
D_801CD374 = *(u16 *)(iVar4 + 0xe);
|
||||
func_800D1FC8((s32)param_1, 7);
|
||||
*(s32 *)((u8 *)param_1 + 0x20) = iVar2;
|
||||
*(u16 *)(iVar2 + 0x1a) = 0x3000;
|
||||
*(u16 *)(iVar2 + 0x18) = 0x3000;
|
||||
*(u8 *)(iVar2 + 0x26) = 0xff;
|
||||
*(u32 *)(iVar2 + 4) = *(u32 *)(iVar2 + 4) | 0x50000000;
|
||||
func_80128EA8(iVar2, (s32)param_1 + 0x24, (s32)D_801856C0);
|
||||
func_80128ED8((void *)iVar2, (void *)((s32)param_1 + 0x24));
|
||||
*(u16 *)((u8 *)param_1 + 2) = *(u16 *)((u8 *)param_1 + 2) + 1;
|
||||
return;
|
||||
}
|
||||
end:
|
||||
((void (*)(s16 *))func_80146C3C)(param_1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern void (*D_801856E0[])(void);
|
||||
|
||||
@@ -1345,7 +1345,79 @@ void func_80141874(void) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC01_006/nonmatchings/ov_SC01_006_jr_8013FFD8", func_801418F8);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern u16 D_80115110;
|
||||
extern u16 D_80115112;
|
||||
extern unsigned short D_80115118;
|
||||
extern volatile u16 D_8011511A;
|
||||
extern s16 D_80115128;
|
||||
extern s32 D_80115130;
|
||||
extern s16 D_80183728;
|
||||
extern s16 D_8018372A;
|
||||
|
||||
extern void func_800D24A0(s32 a0);
|
||||
extern s32 func_80029178(s32 a0);
|
||||
extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
extern void func_80141C0C(s32 a0);
|
||||
|
||||
void func_801418F8(void)
|
||||
{
|
||||
|
||||
extern s16 D_8011512E;
|
||||
extern u8 D_80115158[];
|
||||
extern s16 D_8011515A;
|
||||
extern u8 D_8011515C;
|
||||
extern s16 D_8011515E;
|
||||
extern s16 D_80115162;
|
||||
extern s16 D_80115166;
|
||||
extern u8 D_801833C8;
|
||||
extern u8 D_801833E0;
|
||||
extern u8 D_80183454;
|
||||
extern u8 D_8018345C;
|
||||
extern void *D_801CC678;
|
||||
extern void *D_801CC67C;
|
||||
u16 t;
|
||||
|
||||
func_800D24A0(1);
|
||||
D_8011511A = 2;
|
||||
t = D_8011511A;
|
||||
(*(s16 *)&D_80115118) = 0;
|
||||
D_80115130 = 0;
|
||||
if (t >= 4) {
|
||||
D_8011511A = t - 3;
|
||||
}
|
||||
(*(s16 *)D_80115158) = 0x106;
|
||||
if ((func_80029178(0x1C) & 0xFF) == 0) {
|
||||
D_801CC678 = &D_801833C8;
|
||||
D_801CC67C = &D_80183454;
|
||||
} else {
|
||||
D_801CC678 = &D_801833E0;
|
||||
D_801CC67C = &D_8018345C;
|
||||
}
|
||||
D_8011515A = 0x104;
|
||||
(*(s16 *)&D_8011515C) = 0x104;
|
||||
D_8011515E = 0x129;
|
||||
D_80115162 = 0x103;
|
||||
D_80115166 = 0x105;
|
||||
D_80115128 = 0;
|
||||
D_8011512E = 0;
|
||||
if (D_80115110 == 3) {
|
||||
func_8002D4C8(0x46E, 0);
|
||||
} else {
|
||||
func_80141C0C(0);
|
||||
}
|
||||
D_80115128 = 1;
|
||||
D_80183728 = 0xE;
|
||||
D_8018372A = 3;
|
||||
D_80115112 = D_80115112 + 1;
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC01_006/nonmatchings/ov_SC01_006_jr_8013FFD8", func_80141A60);
|
||||
|
||||
|
||||
@@ -3230,7 +3230,93 @@ DEFINE_func_8016DB34() /* dedup: shared engine-core @0x8016DB34 (src/shared) */
|
||||
|
||||
DEFINE_func_8016DBD8() /* dedup: shared engine-core @0x8016DBD8 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC01_006/nonmatchings/ov_SC01_006_jr_8016AB6C", func_8016DC20);
|
||||
|
||||
extern s32 D_8011D030;
|
||||
|
||||
extern void func_80149374(s32 a0, s32 a1);
|
||||
extern s32 func_801619D0(void *a0);
|
||||
extern s32 func_80146A6C(s32 a0, void *a1, s32 a2, s32 a3, s32 a4, s32 a5, s32 a6);
|
||||
extern void func_800D20C0(void *a0, void *a1, s32 a2);
|
||||
extern void func_800D23D0(void *a0);
|
||||
extern s32 func_800D21C4(s32 a0, void *a1, s32 a2);
|
||||
extern void func_800D1FC8(s32 a0, s32 a1);
|
||||
extern void func_80128EA8(s32 a0, s32 a1, s32 a2);
|
||||
extern s32 func_80128ED8(void *a0, void *a1);
|
||||
extern void func_80146C3C(void);
|
||||
|
||||
void func_8016DC20(s16 *param_1) {
|
||||
|
||||
extern s16 D_801CD370;
|
||||
extern s16 D_801CD374;
|
||||
extern u8 D_801856B4[];
|
||||
extern u8 D_801856C0[];
|
||||
u16 *psVar1;
|
||||
s32 iVar2;
|
||||
s32 iVar3;
|
||||
s32 iVar4;
|
||||
s16 i;
|
||||
s16 sp[6];
|
||||
|
||||
i = 0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
iVar4 = *(s32 *)((u8 *)param_1 + 0x34);
|
||||
do {
|
||||
if ((psVar1 != (u16 *)param_1) && (*psVar1 == 0x34)) goto end;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80149374(iVar4, (s32)param_1 + 4);
|
||||
iVar2 = func_801619D0((void *)iVar4);
|
||||
i = 0;
|
||||
if (iVar2 == 0) goto ddb0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
do {
|
||||
if (*psVar1 == 0x11) goto ddb0;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80146A6C(0x11, param_1, *(s16 *)((u8 *)param_1 + 6),
|
||||
(s16)(*(u16 *)((u8 *)param_1 + 0xa) - 8),
|
||||
*(s16 *)((u8 *)param_1 + 0xe), 0, 0);
|
||||
sp[0] = *(u16 *)((u8 *)param_1 + 6);
|
||||
sp[1] = *(u16 *)((u8 *)param_1 + 0xa);
|
||||
sp[2] = *(u16 *)((u8 *)param_1 + 0xe);
|
||||
func_800D20C0(&sp[0], &sp[4], 0);
|
||||
sp[5] = 0;
|
||||
func_800D23D0(&sp[4]);
|
||||
i = 0;
|
||||
do {
|
||||
iVar3 = func_80146A6C(0x12, param_1, *(s16 *)(iVar4 + 6),
|
||||
*(s16 *)(iVar4 + 0xa), *(s16 *)(iVar4 + 0xe),
|
||||
i, 0);
|
||||
if (iVar3 != 0) {
|
||||
*(u16 *)(iVar3 + 0x12) = sp[4];
|
||||
*(u16 *)(iVar3 + 0x16) = sp[5];
|
||||
*(u16 *)(iVar3 + 0x1a) = 0;
|
||||
}
|
||||
i = i + 2;
|
||||
} while (i < 3);
|
||||
goto end;
|
||||
ddb0:
|
||||
if (((D_801CD370 != *(s16 *)(iVar4 + 6)) || (D_801CD374 != *(s16 *)(iVar4 + 0xe))) &&
|
||||
(iVar2 = func_800D21C4((s32)param_1, D_801856B4, 0x18), iVar2 != 0)) {
|
||||
D_801CD370 = *(u16 *)(iVar4 + 6);
|
||||
D_801CD374 = *(u16 *)(iVar4 + 0xe);
|
||||
func_800D1FC8((s32)param_1, 7);
|
||||
*(s32 *)((u8 *)param_1 + 0x20) = iVar2;
|
||||
*(u16 *)(iVar2 + 0x1a) = 0x3000;
|
||||
*(u16 *)(iVar2 + 0x18) = 0x3000;
|
||||
*(u8 *)(iVar2 + 0x26) = 0xff;
|
||||
*(u32 *)(iVar2 + 4) = *(u32 *)(iVar2 + 4) | 0x50000000;
|
||||
func_80128EA8(iVar2, (s32)param_1 + 0x24, (s32)D_801856C0);
|
||||
func_80128ED8((void *)iVar2, (void *)((s32)param_1 + 0x24));
|
||||
*(u16 *)((u8 *)param_1 + 2) = *(u16 *)((u8 *)param_1 + 2) + 1;
|
||||
return;
|
||||
}
|
||||
end:
|
||||
((void (*)(s16 *))func_80146C3C)(param_1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern void (*D_801856E0[])(void);
|
||||
|
||||
@@ -1344,7 +1344,79 @@ void func_80141874(void) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC01_008/nonmatchings/ov_SC01_008_jr_8013FFD8", func_801418F8);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern u16 D_80115110;
|
||||
extern u16 D_80115112;
|
||||
extern unsigned short D_80115118;
|
||||
extern volatile u16 D_8011511A;
|
||||
extern s16 D_80115128;
|
||||
extern s32 D_80115130;
|
||||
extern s16 D_80180B08;
|
||||
extern s16 D_80180B0A;
|
||||
|
||||
extern void func_800D24A0(s32 a0);
|
||||
extern s32 func_80029178(s32 a0);
|
||||
extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
extern void func_80141C0C(s32 a0);
|
||||
|
||||
void func_801418F8(void)
|
||||
{
|
||||
|
||||
extern s16 D_8011512E;
|
||||
extern u8 D_80115158[];
|
||||
extern s16 D_8011515A;
|
||||
extern u8 D_8011515C;
|
||||
extern s16 D_8011515E;
|
||||
extern s16 D_80115162;
|
||||
extern s16 D_80115166;
|
||||
extern u8 D_801807A8;
|
||||
extern u8 D_801807C0;
|
||||
extern u8 D_80180834;
|
||||
extern u8 D_8018083C;
|
||||
extern void *D_801A2128;
|
||||
extern void *D_801A212C;
|
||||
u16 t;
|
||||
|
||||
func_800D24A0(1);
|
||||
D_8011511A = 2;
|
||||
t = D_8011511A;
|
||||
(*(s16 *)&D_80115118) = 0;
|
||||
D_80115130 = 0;
|
||||
if (t >= 4) {
|
||||
D_8011511A = t - 3;
|
||||
}
|
||||
(*(s16 *)D_80115158) = 0x106;
|
||||
if ((func_80029178(0x1C) & 0xFF) == 0) {
|
||||
D_801A2128 = &D_801807A8;
|
||||
D_801A212C = &D_80180834;
|
||||
} else {
|
||||
D_801A2128 = &D_801807C0;
|
||||
D_801A212C = &D_8018083C;
|
||||
}
|
||||
D_8011515A = 0x104;
|
||||
(*(s16 *)&D_8011515C) = 0x104;
|
||||
D_8011515E = 0x129;
|
||||
D_80115162 = 0x103;
|
||||
D_80115166 = 0x105;
|
||||
D_80115128 = 0;
|
||||
D_8011512E = 0;
|
||||
if (D_80115110 == 3) {
|
||||
func_8002D4C8(0x46E, 0);
|
||||
} else {
|
||||
func_80141C0C(0);
|
||||
}
|
||||
D_80115128 = 1;
|
||||
D_80180B08 = 0xE;
|
||||
D_80180B0A = 3;
|
||||
D_80115112 = D_80115112 + 1;
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC01_008/nonmatchings/ov_SC01_008_jr_8013FFD8", func_80141A60);
|
||||
|
||||
|
||||
@@ -3229,7 +3229,93 @@ DEFINE_func_8016DB34() /* dedup: shared engine-core @0x8016DB34 (src/shared) */
|
||||
|
||||
DEFINE_func_8016DBD8() /* dedup: shared engine-core @0x8016DBD8 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC01_008/nonmatchings/ov_SC01_008_jr_8016AB6C", func_8016DC20);
|
||||
|
||||
extern s32 D_8011D030;
|
||||
|
||||
extern void func_80149374(s32 a0, s32 a1);
|
||||
extern s32 func_801619D0(void *a0);
|
||||
extern s32 func_80146A6C(s32 a0, void *a1, s32 a2, s32 a3, s32 a4, s32 a5, s32 a6);
|
||||
extern void func_800D20C0(void *a0, void *a1, s32 a2);
|
||||
extern void func_800D23D0(void *a0);
|
||||
extern s32 func_800D21C4(s32 a0, void *a1, s32 a2);
|
||||
extern void func_800D1FC8(s32 a0, s32 a1);
|
||||
extern void func_80128EA8(s32 a0, s32 a1, s32 a2);
|
||||
extern s32 func_80128ED8(void *a0, void *a1);
|
||||
extern void func_80146C3C(void);
|
||||
|
||||
void func_8016DC20(s16 *param_1) {
|
||||
|
||||
extern s16 D_801A2E20;
|
||||
extern s16 D_801A2E24;
|
||||
extern u8 D_80182A94[];
|
||||
extern u8 D_80182AA0[];
|
||||
u16 *psVar1;
|
||||
s32 iVar2;
|
||||
s32 iVar3;
|
||||
s32 iVar4;
|
||||
s16 i;
|
||||
s16 sp[6];
|
||||
|
||||
i = 0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
iVar4 = *(s32 *)((u8 *)param_1 + 0x34);
|
||||
do {
|
||||
if ((psVar1 != (u16 *)param_1) && (*psVar1 == 0x34)) goto end;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80149374(iVar4, (s32)param_1 + 4);
|
||||
iVar2 = func_801619D0((void *)iVar4);
|
||||
i = 0;
|
||||
if (iVar2 == 0) goto ddb0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
do {
|
||||
if (*psVar1 == 0x11) goto ddb0;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80146A6C(0x11, param_1, *(s16 *)((u8 *)param_1 + 6),
|
||||
(s16)(*(u16 *)((u8 *)param_1 + 0xa) - 8),
|
||||
*(s16 *)((u8 *)param_1 + 0xe), 0, 0);
|
||||
sp[0] = *(u16 *)((u8 *)param_1 + 6);
|
||||
sp[1] = *(u16 *)((u8 *)param_1 + 0xa);
|
||||
sp[2] = *(u16 *)((u8 *)param_1 + 0xe);
|
||||
func_800D20C0(&sp[0], &sp[4], 0);
|
||||
sp[5] = 0;
|
||||
func_800D23D0(&sp[4]);
|
||||
i = 0;
|
||||
do {
|
||||
iVar3 = func_80146A6C(0x12, param_1, *(s16 *)(iVar4 + 6),
|
||||
*(s16 *)(iVar4 + 0xa), *(s16 *)(iVar4 + 0xe),
|
||||
i, 0);
|
||||
if (iVar3 != 0) {
|
||||
*(u16 *)(iVar3 + 0x12) = sp[4];
|
||||
*(u16 *)(iVar3 + 0x16) = sp[5];
|
||||
*(u16 *)(iVar3 + 0x1a) = 0;
|
||||
}
|
||||
i = i + 2;
|
||||
} while (i < 3);
|
||||
goto end;
|
||||
ddb0:
|
||||
if (((D_801A2E20 != *(s16 *)(iVar4 + 6)) || (D_801A2E24 != *(s16 *)(iVar4 + 0xe))) &&
|
||||
(iVar2 = func_800D21C4((s32)param_1, D_80182A94, 0x18), iVar2 != 0)) {
|
||||
D_801A2E20 = *(u16 *)(iVar4 + 6);
|
||||
D_801A2E24 = *(u16 *)(iVar4 + 0xe);
|
||||
func_800D1FC8((s32)param_1, 7);
|
||||
*(s32 *)((u8 *)param_1 + 0x20) = iVar2;
|
||||
*(u16 *)(iVar2 + 0x1a) = 0x3000;
|
||||
*(u16 *)(iVar2 + 0x18) = 0x3000;
|
||||
*(u8 *)(iVar2 + 0x26) = 0xff;
|
||||
*(u32 *)(iVar2 + 4) = *(u32 *)(iVar2 + 4) | 0x50000000;
|
||||
func_80128EA8(iVar2, (s32)param_1 + 0x24, (s32)D_80182AA0);
|
||||
func_80128ED8((void *)iVar2, (void *)((s32)param_1 + 0x24));
|
||||
*(u16 *)((u8 *)param_1 + 2) = *(u16 *)((u8 *)param_1 + 2) + 1;
|
||||
return;
|
||||
}
|
||||
end:
|
||||
((void (*)(s16 *))func_80146C3C)(param_1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern void (*D_80182AC0[])(void);
|
||||
|
||||
@@ -1344,7 +1344,79 @@ void func_80141874(void) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC01_009/nonmatchings/ov_SC01_009_jr_8013FFD8", func_801418F8);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern u16 D_80115110;
|
||||
extern u16 D_80115112;
|
||||
extern unsigned short D_80115118;
|
||||
extern volatile u16 D_8011511A;
|
||||
extern s16 D_80115128;
|
||||
extern s32 D_80115130;
|
||||
extern s16 D_80183CF0;
|
||||
extern s16 D_80183CF2;
|
||||
|
||||
extern void func_800D24A0(s32 a0);
|
||||
extern s32 func_80029178(s32 a0);
|
||||
extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
extern void func_80141C0C(s32 a0);
|
||||
|
||||
void func_801418F8(void)
|
||||
{
|
||||
|
||||
extern s16 D_8011512E;
|
||||
extern u8 D_80115158[];
|
||||
extern s16 D_8011515A;
|
||||
extern u8 D_8011515C;
|
||||
extern s16 D_8011515E;
|
||||
extern s16 D_80115162;
|
||||
extern s16 D_80115166;
|
||||
extern u8 D_80183990;
|
||||
extern u8 D_801839A8;
|
||||
extern u8 D_80183A1C;
|
||||
extern u8 D_80183A24;
|
||||
extern void *D_801F1F88;
|
||||
extern void *D_801F1F8C;
|
||||
u16 t;
|
||||
|
||||
func_800D24A0(1);
|
||||
D_8011511A = 2;
|
||||
t = D_8011511A;
|
||||
(*(s16 *)&D_80115118) = 0;
|
||||
D_80115130 = 0;
|
||||
if (t >= 4) {
|
||||
D_8011511A = t - 3;
|
||||
}
|
||||
(*(s16 *)D_80115158) = 0x106;
|
||||
if ((func_80029178(0x1C) & 0xFF) == 0) {
|
||||
D_801F1F88 = &D_80183990;
|
||||
D_801F1F8C = &D_80183A1C;
|
||||
} else {
|
||||
D_801F1F88 = &D_801839A8;
|
||||
D_801F1F8C = &D_80183A24;
|
||||
}
|
||||
D_8011515A = 0x104;
|
||||
(*(s16 *)&D_8011515C) = 0x104;
|
||||
D_8011515E = 0x129;
|
||||
D_80115162 = 0x103;
|
||||
D_80115166 = 0x105;
|
||||
D_80115128 = 0;
|
||||
D_8011512E = 0;
|
||||
if (D_80115110 == 3) {
|
||||
func_8002D4C8(0x46E, 0);
|
||||
} else {
|
||||
func_80141C0C(0);
|
||||
}
|
||||
D_80115128 = 1;
|
||||
D_80183CF0 = 0xE;
|
||||
D_80183CF2 = 3;
|
||||
D_80115112 = D_80115112 + 1;
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC01_009/nonmatchings/ov_SC01_009_jr_8013FFD8", func_80141A60);
|
||||
|
||||
|
||||
@@ -3229,7 +3229,93 @@ DEFINE_func_8016DB34() /* dedup: shared engine-core @0x8016DB34 (src/shared) */
|
||||
|
||||
DEFINE_func_8016DBD8() /* dedup: shared engine-core @0x8016DBD8 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC01_009/nonmatchings/ov_SC01_009_jr_8016AB6C", func_8016DC20);
|
||||
|
||||
extern s32 D_8011D030;
|
||||
|
||||
extern void func_80149374(s32 a0, s32 a1);
|
||||
extern s32 func_801619D0(void *a0);
|
||||
extern s32 func_80146A6C(s32 a0, void *a1, s32 a2, s32 a3, s32 a4, s32 a5, s32 a6);
|
||||
extern void func_800D20C0(void *a0, void *a1, s32 a2);
|
||||
extern void func_800D23D0(void *a0);
|
||||
extern s32 func_800D21C4(s32 a0, void *a1, s32 a2);
|
||||
extern void func_800D1FC8(s32 a0, s32 a1);
|
||||
extern void func_80128EA8(s32 a0, s32 a1, s32 a2);
|
||||
extern s32 func_80128ED8(void *a0, void *a1);
|
||||
extern void func_80146C3C(void);
|
||||
|
||||
void func_8016DC20(s16 *param_1) {
|
||||
|
||||
extern s16 D_801F2C80;
|
||||
extern s16 D_801F2C84;
|
||||
extern u8 D_80185C7C[];
|
||||
extern u8 D_80185C88[];
|
||||
u16 *psVar1;
|
||||
s32 iVar2;
|
||||
s32 iVar3;
|
||||
s32 iVar4;
|
||||
s16 i;
|
||||
s16 sp[6];
|
||||
|
||||
i = 0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
iVar4 = *(s32 *)((u8 *)param_1 + 0x34);
|
||||
do {
|
||||
if ((psVar1 != (u16 *)param_1) && (*psVar1 == 0x34)) goto end;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80149374(iVar4, (s32)param_1 + 4);
|
||||
iVar2 = func_801619D0((void *)iVar4);
|
||||
i = 0;
|
||||
if (iVar2 == 0) goto ddb0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
do {
|
||||
if (*psVar1 == 0x11) goto ddb0;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80146A6C(0x11, param_1, *(s16 *)((u8 *)param_1 + 6),
|
||||
(s16)(*(u16 *)((u8 *)param_1 + 0xa) - 8),
|
||||
*(s16 *)((u8 *)param_1 + 0xe), 0, 0);
|
||||
sp[0] = *(u16 *)((u8 *)param_1 + 6);
|
||||
sp[1] = *(u16 *)((u8 *)param_1 + 0xa);
|
||||
sp[2] = *(u16 *)((u8 *)param_1 + 0xe);
|
||||
func_800D20C0(&sp[0], &sp[4], 0);
|
||||
sp[5] = 0;
|
||||
func_800D23D0(&sp[4]);
|
||||
i = 0;
|
||||
do {
|
||||
iVar3 = func_80146A6C(0x12, param_1, *(s16 *)(iVar4 + 6),
|
||||
*(s16 *)(iVar4 + 0xa), *(s16 *)(iVar4 + 0xe),
|
||||
i, 0);
|
||||
if (iVar3 != 0) {
|
||||
*(u16 *)(iVar3 + 0x12) = sp[4];
|
||||
*(u16 *)(iVar3 + 0x16) = sp[5];
|
||||
*(u16 *)(iVar3 + 0x1a) = 0;
|
||||
}
|
||||
i = i + 2;
|
||||
} while (i < 3);
|
||||
goto end;
|
||||
ddb0:
|
||||
if (((D_801F2C80 != *(s16 *)(iVar4 + 6)) || (D_801F2C84 != *(s16 *)(iVar4 + 0xe))) &&
|
||||
(iVar2 = func_800D21C4((s32)param_1, D_80185C7C, 0x18), iVar2 != 0)) {
|
||||
D_801F2C80 = *(u16 *)(iVar4 + 6);
|
||||
D_801F2C84 = *(u16 *)(iVar4 + 0xe);
|
||||
func_800D1FC8((s32)param_1, 7);
|
||||
*(s32 *)((u8 *)param_1 + 0x20) = iVar2;
|
||||
*(u16 *)(iVar2 + 0x1a) = 0x3000;
|
||||
*(u16 *)(iVar2 + 0x18) = 0x3000;
|
||||
*(u8 *)(iVar2 + 0x26) = 0xff;
|
||||
*(u32 *)(iVar2 + 4) = *(u32 *)(iVar2 + 4) | 0x50000000;
|
||||
func_80128EA8(iVar2, (s32)param_1 + 0x24, (s32)D_80185C88);
|
||||
func_80128ED8((void *)iVar2, (void *)((s32)param_1 + 0x24));
|
||||
*(u16 *)((u8 *)param_1 + 2) = *(u16 *)((u8 *)param_1 + 2) + 1;
|
||||
return;
|
||||
}
|
||||
end:
|
||||
((void (*)(s16 *))func_80146C3C)(param_1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern void (*D_80185CA8[])(void);
|
||||
|
||||
@@ -1345,7 +1345,79 @@ void func_80141874(void) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC01_074/nonmatchings/ov_SC01_074_jr_8013FFD8", func_801418F8);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern u16 D_80115110;
|
||||
extern u16 D_80115112;
|
||||
extern unsigned short D_80115118;
|
||||
extern volatile u16 D_8011511A;
|
||||
extern s16 D_80115128;
|
||||
extern s32 D_80115130;
|
||||
extern s16 D_8017F970;
|
||||
extern s16 D_8017F972;
|
||||
|
||||
extern void func_800D24A0(s32 a0);
|
||||
extern s32 func_80029178(s32 a0);
|
||||
extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
extern void func_80141C0C(s32 a0);
|
||||
|
||||
void func_801418F8(void)
|
||||
{
|
||||
|
||||
extern s16 D_8011512E;
|
||||
extern u8 D_80115158[];
|
||||
extern s16 D_8011515A;
|
||||
extern u8 D_8011515C;
|
||||
extern s16 D_8011515E;
|
||||
extern s16 D_80115162;
|
||||
extern s16 D_80115166;
|
||||
extern u8 D_8017F610;
|
||||
extern u8 D_8017F628;
|
||||
extern u8 D_8017F69C;
|
||||
extern u8 D_8017F6A4;
|
||||
extern void *D_8019AA08;
|
||||
extern void *D_8019AA0C;
|
||||
u16 t;
|
||||
|
||||
func_800D24A0(1);
|
||||
D_8011511A = 2;
|
||||
t = D_8011511A;
|
||||
(*(s16 *)&D_80115118) = 0;
|
||||
D_80115130 = 0;
|
||||
if (t >= 4) {
|
||||
D_8011511A = t - 3;
|
||||
}
|
||||
(*(s16 *)D_80115158) = 0x106;
|
||||
if ((func_80029178(0x1C) & 0xFF) == 0) {
|
||||
D_8019AA08 = &D_8017F610;
|
||||
D_8019AA0C = &D_8017F69C;
|
||||
} else {
|
||||
D_8019AA08 = &D_8017F628;
|
||||
D_8019AA0C = &D_8017F6A4;
|
||||
}
|
||||
D_8011515A = 0x104;
|
||||
(*(s16 *)&D_8011515C) = 0x104;
|
||||
D_8011515E = 0x129;
|
||||
D_80115162 = 0x103;
|
||||
D_80115166 = 0x105;
|
||||
D_80115128 = 0;
|
||||
D_8011512E = 0;
|
||||
if (D_80115110 == 3) {
|
||||
func_8002D4C8(0x46E, 0);
|
||||
} else {
|
||||
func_80141C0C(0);
|
||||
}
|
||||
D_80115128 = 1;
|
||||
D_8017F970 = 0xE;
|
||||
D_8017F972 = 3;
|
||||
D_80115112 = D_80115112 + 1;
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC01_074/nonmatchings/ov_SC01_074_jr_8013FFD8", func_80141A60);
|
||||
|
||||
|
||||
@@ -3229,7 +3229,93 @@ DEFINE_func_8016DB34() /* dedup: shared engine-core @0x8016DB34 (src/shared) */
|
||||
|
||||
DEFINE_func_8016DBD8() /* dedup: shared engine-core @0x8016DBD8 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC01_074/nonmatchings/ov_SC01_074_jr_8016AB6C", func_8016DC20);
|
||||
|
||||
extern s32 D_8011D030;
|
||||
|
||||
extern void func_80149374(s32 a0, s32 a1);
|
||||
extern s32 func_801619D0(void *a0);
|
||||
extern s32 func_80146A6C(s32 a0, void *a1, s32 a2, s32 a3, s32 a4, s32 a5, s32 a6);
|
||||
extern void func_800D20C0(void *a0, void *a1, s32 a2);
|
||||
extern void func_800D23D0(void *a0);
|
||||
extern s32 func_800D21C4(s32 a0, void *a1, s32 a2);
|
||||
extern void func_800D1FC8(s32 a0, s32 a1);
|
||||
extern void func_80128EA8(s32 a0, s32 a1, s32 a2);
|
||||
extern s32 func_80128ED8(void *a0, void *a1);
|
||||
extern void func_80146C3C(void);
|
||||
|
||||
void func_8016DC20(s16 *param_1) {
|
||||
|
||||
extern s16 D_8019B700;
|
||||
extern s16 D_8019B704;
|
||||
extern u8 D_801818FC[];
|
||||
extern u8 D_80181908[];
|
||||
u16 *psVar1;
|
||||
s32 iVar2;
|
||||
s32 iVar3;
|
||||
s32 iVar4;
|
||||
s16 i;
|
||||
s16 sp[6];
|
||||
|
||||
i = 0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
iVar4 = *(s32 *)((u8 *)param_1 + 0x34);
|
||||
do {
|
||||
if ((psVar1 != (u16 *)param_1) && (*psVar1 == 0x34)) goto end;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80149374(iVar4, (s32)param_1 + 4);
|
||||
iVar2 = func_801619D0((void *)iVar4);
|
||||
i = 0;
|
||||
if (iVar2 == 0) goto ddb0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
do {
|
||||
if (*psVar1 == 0x11) goto ddb0;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80146A6C(0x11, param_1, *(s16 *)((u8 *)param_1 + 6),
|
||||
(s16)(*(u16 *)((u8 *)param_1 + 0xa) - 8),
|
||||
*(s16 *)((u8 *)param_1 + 0xe), 0, 0);
|
||||
sp[0] = *(u16 *)((u8 *)param_1 + 6);
|
||||
sp[1] = *(u16 *)((u8 *)param_1 + 0xa);
|
||||
sp[2] = *(u16 *)((u8 *)param_1 + 0xe);
|
||||
func_800D20C0(&sp[0], &sp[4], 0);
|
||||
sp[5] = 0;
|
||||
func_800D23D0(&sp[4]);
|
||||
i = 0;
|
||||
do {
|
||||
iVar3 = func_80146A6C(0x12, param_1, *(s16 *)(iVar4 + 6),
|
||||
*(s16 *)(iVar4 + 0xa), *(s16 *)(iVar4 + 0xe),
|
||||
i, 0);
|
||||
if (iVar3 != 0) {
|
||||
*(u16 *)(iVar3 + 0x12) = sp[4];
|
||||
*(u16 *)(iVar3 + 0x16) = sp[5];
|
||||
*(u16 *)(iVar3 + 0x1a) = 0;
|
||||
}
|
||||
i = i + 2;
|
||||
} while (i < 3);
|
||||
goto end;
|
||||
ddb0:
|
||||
if (((D_8019B700 != *(s16 *)(iVar4 + 6)) || (D_8019B704 != *(s16 *)(iVar4 + 0xe))) &&
|
||||
(iVar2 = func_800D21C4((s32)param_1, D_801818FC, 0x18), iVar2 != 0)) {
|
||||
D_8019B700 = *(u16 *)(iVar4 + 6);
|
||||
D_8019B704 = *(u16 *)(iVar4 + 0xe);
|
||||
func_800D1FC8((s32)param_1, 7);
|
||||
*(s32 *)((u8 *)param_1 + 0x20) = iVar2;
|
||||
*(u16 *)(iVar2 + 0x1a) = 0x3000;
|
||||
*(u16 *)(iVar2 + 0x18) = 0x3000;
|
||||
*(u8 *)(iVar2 + 0x26) = 0xff;
|
||||
*(u32 *)(iVar2 + 4) = *(u32 *)(iVar2 + 4) | 0x50000000;
|
||||
func_80128EA8(iVar2, (s32)param_1 + 0x24, (s32)D_80181908);
|
||||
func_80128ED8((void *)iVar2, (void *)((s32)param_1 + 0x24));
|
||||
*(u16 *)((u8 *)param_1 + 2) = *(u16 *)((u8 *)param_1 + 2) + 1;
|
||||
return;
|
||||
}
|
||||
end:
|
||||
((void (*)(s16 *))func_80146C3C)(param_1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern void (*D_80181928[])(void);
|
||||
|
||||
@@ -1345,7 +1345,79 @@ void func_80141874(void) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC01_080/nonmatchings/ov_SC01_080_jr_8013FFD8", func_801418F8);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern u16 D_80115110;
|
||||
extern u16 D_80115112;
|
||||
extern unsigned short D_80115118;
|
||||
extern volatile u16 D_8011511A;
|
||||
extern s16 D_80115128;
|
||||
extern s32 D_80115130;
|
||||
extern s16 D_801848D0;
|
||||
extern s16 D_801848D2;
|
||||
|
||||
extern void func_800D24A0(s32 a0);
|
||||
extern s32 func_80029178(s32 a0);
|
||||
extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
extern void func_80141C0C(s32 a0);
|
||||
|
||||
void func_801418F8(void)
|
||||
{
|
||||
|
||||
extern s16 D_8011512E;
|
||||
extern u8 D_80115158[];
|
||||
extern s16 D_8011515A;
|
||||
extern u8 D_8011515C;
|
||||
extern s16 D_8011515E;
|
||||
extern s16 D_80115162;
|
||||
extern s16 D_80115166;
|
||||
extern u8 D_80184570;
|
||||
extern u8 D_80184588;
|
||||
extern u8 D_801845FC;
|
||||
extern u8 D_80184604;
|
||||
extern void *D_801C4838;
|
||||
extern void *D_801C483C;
|
||||
u16 t;
|
||||
|
||||
func_800D24A0(1);
|
||||
D_8011511A = 2;
|
||||
t = D_8011511A;
|
||||
(*(s16 *)&D_80115118) = 0;
|
||||
D_80115130 = 0;
|
||||
if (t >= 4) {
|
||||
D_8011511A = t - 3;
|
||||
}
|
||||
(*(s16 *)D_80115158) = 0x106;
|
||||
if ((func_80029178(0x1C) & 0xFF) == 0) {
|
||||
D_801C4838 = &D_80184570;
|
||||
D_801C483C = &D_801845FC;
|
||||
} else {
|
||||
D_801C4838 = &D_80184588;
|
||||
D_801C483C = &D_80184604;
|
||||
}
|
||||
D_8011515A = 0x104;
|
||||
(*(s16 *)&D_8011515C) = 0x104;
|
||||
D_8011515E = 0x129;
|
||||
D_80115162 = 0x103;
|
||||
D_80115166 = 0x105;
|
||||
D_80115128 = 0;
|
||||
D_8011512E = 0;
|
||||
if (D_80115110 == 3) {
|
||||
func_8002D4C8(0x46E, 0);
|
||||
} else {
|
||||
func_80141C0C(0);
|
||||
}
|
||||
D_80115128 = 1;
|
||||
D_801848D0 = 0xE;
|
||||
D_801848D2 = 3;
|
||||
D_80115112 = D_80115112 + 1;
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC01_080/nonmatchings/ov_SC01_080_jr_8013FFD8", func_80141A60);
|
||||
|
||||
|
||||
@@ -3229,7 +3229,93 @@ DEFINE_func_8016DB34() /* dedup: shared engine-core @0x8016DB34 (src/shared) */
|
||||
|
||||
DEFINE_func_8016DBD8() /* dedup: shared engine-core @0x8016DBD8 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC01_080/nonmatchings/ov_SC01_080_jr_8016AB6C", func_8016DC20);
|
||||
|
||||
extern s32 D_8011D030;
|
||||
|
||||
extern void func_80149374(s32 a0, s32 a1);
|
||||
extern s32 func_801619D0(void *a0);
|
||||
extern s32 func_80146A6C(s32 a0, void *a1, s32 a2, s32 a3, s32 a4, s32 a5, s32 a6);
|
||||
extern void func_800D20C0(void *a0, void *a1, s32 a2);
|
||||
extern void func_800D23D0(void *a0);
|
||||
extern s32 func_800D21C4(s32 a0, void *a1, s32 a2);
|
||||
extern void func_800D1FC8(s32 a0, s32 a1);
|
||||
extern void func_80128EA8(s32 a0, s32 a1, s32 a2);
|
||||
extern s32 func_80128ED8(void *a0, void *a1);
|
||||
extern void func_80146C3C(void);
|
||||
|
||||
void func_8016DC20(s16 *param_1) {
|
||||
|
||||
extern s16 D_801C5530;
|
||||
extern s16 D_801C5534;
|
||||
extern u8 D_8018685C[];
|
||||
extern u8 D_80186868[];
|
||||
u16 *psVar1;
|
||||
s32 iVar2;
|
||||
s32 iVar3;
|
||||
s32 iVar4;
|
||||
s16 i;
|
||||
s16 sp[6];
|
||||
|
||||
i = 0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
iVar4 = *(s32 *)((u8 *)param_1 + 0x34);
|
||||
do {
|
||||
if ((psVar1 != (u16 *)param_1) && (*psVar1 == 0x34)) goto end;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80149374(iVar4, (s32)param_1 + 4);
|
||||
iVar2 = func_801619D0((void *)iVar4);
|
||||
i = 0;
|
||||
if (iVar2 == 0) goto ddb0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
do {
|
||||
if (*psVar1 == 0x11) goto ddb0;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80146A6C(0x11, param_1, *(s16 *)((u8 *)param_1 + 6),
|
||||
(s16)(*(u16 *)((u8 *)param_1 + 0xa) - 8),
|
||||
*(s16 *)((u8 *)param_1 + 0xe), 0, 0);
|
||||
sp[0] = *(u16 *)((u8 *)param_1 + 6);
|
||||
sp[1] = *(u16 *)((u8 *)param_1 + 0xa);
|
||||
sp[2] = *(u16 *)((u8 *)param_1 + 0xe);
|
||||
func_800D20C0(&sp[0], &sp[4], 0);
|
||||
sp[5] = 0;
|
||||
func_800D23D0(&sp[4]);
|
||||
i = 0;
|
||||
do {
|
||||
iVar3 = func_80146A6C(0x12, param_1, *(s16 *)(iVar4 + 6),
|
||||
*(s16 *)(iVar4 + 0xa), *(s16 *)(iVar4 + 0xe),
|
||||
i, 0);
|
||||
if (iVar3 != 0) {
|
||||
*(u16 *)(iVar3 + 0x12) = sp[4];
|
||||
*(u16 *)(iVar3 + 0x16) = sp[5];
|
||||
*(u16 *)(iVar3 + 0x1a) = 0;
|
||||
}
|
||||
i = i + 2;
|
||||
} while (i < 3);
|
||||
goto end;
|
||||
ddb0:
|
||||
if (((D_801C5530 != *(s16 *)(iVar4 + 6)) || (D_801C5534 != *(s16 *)(iVar4 + 0xe))) &&
|
||||
(iVar2 = func_800D21C4((s32)param_1, D_8018685C, 0x18), iVar2 != 0)) {
|
||||
D_801C5530 = *(u16 *)(iVar4 + 6);
|
||||
D_801C5534 = *(u16 *)(iVar4 + 0xe);
|
||||
func_800D1FC8((s32)param_1, 7);
|
||||
*(s32 *)((u8 *)param_1 + 0x20) = iVar2;
|
||||
*(u16 *)(iVar2 + 0x1a) = 0x3000;
|
||||
*(u16 *)(iVar2 + 0x18) = 0x3000;
|
||||
*(u8 *)(iVar2 + 0x26) = 0xff;
|
||||
*(u32 *)(iVar2 + 4) = *(u32 *)(iVar2 + 4) | 0x50000000;
|
||||
func_80128EA8(iVar2, (s32)param_1 + 0x24, (s32)D_80186868);
|
||||
func_80128ED8((void *)iVar2, (void *)((s32)param_1 + 0x24));
|
||||
*(u16 *)((u8 *)param_1 + 2) = *(u16 *)((u8 *)param_1 + 2) + 1;
|
||||
return;
|
||||
}
|
||||
end:
|
||||
((void (*)(s16 *))func_80146C3C)(param_1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern void (*D_80186888[])(void);
|
||||
|
||||
@@ -1345,7 +1345,79 @@ void func_80141874(void) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC01_084/nonmatchings/ov_SC01_084_jr_8013FFD8", func_801418F8);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern u16 D_80115110;
|
||||
extern u16 D_80115112;
|
||||
extern unsigned short D_80115118;
|
||||
extern volatile u16 D_8011511A;
|
||||
extern s16 D_80115128;
|
||||
extern s32 D_80115130;
|
||||
extern s16 D_80187BC4;
|
||||
extern s16 D_80187BC6;
|
||||
|
||||
extern void func_800D24A0(s32 a0);
|
||||
extern s32 func_80029178(s32 a0);
|
||||
extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
extern void func_80141C0C(s32 a0);
|
||||
|
||||
void func_801418F8(void)
|
||||
{
|
||||
|
||||
extern s16 D_8011512E;
|
||||
extern u8 D_80115158[];
|
||||
extern s16 D_8011515A;
|
||||
extern u8 D_8011515C;
|
||||
extern s16 D_8011515E;
|
||||
extern s16 D_80115162;
|
||||
extern s16 D_80115166;
|
||||
extern u8 D_80187864;
|
||||
extern u8 D_8018787C;
|
||||
extern u8 D_801878F0;
|
||||
extern u8 D_801878F8;
|
||||
extern void *D_801C62E0;
|
||||
extern void *D_801C62E4;
|
||||
u16 t;
|
||||
|
||||
func_800D24A0(1);
|
||||
D_8011511A = 2;
|
||||
t = D_8011511A;
|
||||
(*(s16 *)&D_80115118) = 0;
|
||||
D_80115130 = 0;
|
||||
if (t >= 4) {
|
||||
D_8011511A = t - 3;
|
||||
}
|
||||
(*(s16 *)D_80115158) = 0x106;
|
||||
if ((func_80029178(0x1C) & 0xFF) == 0) {
|
||||
D_801C62E0 = &D_80187864;
|
||||
D_801C62E4 = &D_801878F0;
|
||||
} else {
|
||||
D_801C62E0 = &D_8018787C;
|
||||
D_801C62E4 = &D_801878F8;
|
||||
}
|
||||
D_8011515A = 0x104;
|
||||
(*(s16 *)&D_8011515C) = 0x104;
|
||||
D_8011515E = 0x129;
|
||||
D_80115162 = 0x103;
|
||||
D_80115166 = 0x105;
|
||||
D_80115128 = 0;
|
||||
D_8011512E = 0;
|
||||
if (D_80115110 == 3) {
|
||||
func_8002D4C8(0x46E, 0);
|
||||
} else {
|
||||
func_80141C0C(0);
|
||||
}
|
||||
D_80115128 = 1;
|
||||
D_80187BC4 = 0xE;
|
||||
D_80187BC6 = 3;
|
||||
D_80115112 = D_80115112 + 1;
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC01_084/nonmatchings/ov_SC01_084_jr_8013FFD8", func_80141A60);
|
||||
|
||||
|
||||
@@ -3230,7 +3230,93 @@ DEFINE_func_8016DB34() /* dedup: shared engine-core @0x8016DB34 (src/shared) */
|
||||
|
||||
DEFINE_func_8016DBD8() /* dedup: shared engine-core @0x8016DBD8 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC01_084/nonmatchings/ov_SC01_084_jr_8016AB6C", func_8016DC20);
|
||||
|
||||
extern s32 D_8011D030;
|
||||
|
||||
extern void func_80149374(s32 a0, s32 a1);
|
||||
extern s32 func_801619D0(void *a0);
|
||||
extern s32 func_80146A6C(s32 a0, void *a1, s32 a2, s32 a3, s32 a4, s32 a5, s32 a6);
|
||||
extern void func_800D20C0(void *a0, void *a1, s32 a2);
|
||||
extern void func_800D23D0(void *a0);
|
||||
extern s32 func_800D21C4(s32 a0, void *a1, s32 a2);
|
||||
extern void func_800D1FC8(s32 a0, s32 a1);
|
||||
extern void func_80128EA8(s32 a0, s32 a1, s32 a2);
|
||||
extern s32 func_80128ED8(void *a0, void *a1);
|
||||
extern void func_80146C3C(void);
|
||||
|
||||
void func_8016DC20(s16 *param_1) {
|
||||
|
||||
extern s16 D_801C6FD8;
|
||||
extern s16 D_801C6FDC;
|
||||
extern u8 D_80189B50[];
|
||||
extern u8 D_80189B5C[];
|
||||
u16 *psVar1;
|
||||
s32 iVar2;
|
||||
s32 iVar3;
|
||||
s32 iVar4;
|
||||
s16 i;
|
||||
s16 sp[6];
|
||||
|
||||
i = 0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
iVar4 = *(s32 *)((u8 *)param_1 + 0x34);
|
||||
do {
|
||||
if ((psVar1 != (u16 *)param_1) && (*psVar1 == 0x34)) goto end;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80149374(iVar4, (s32)param_1 + 4);
|
||||
iVar2 = func_801619D0((void *)iVar4);
|
||||
i = 0;
|
||||
if (iVar2 == 0) goto ddb0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
do {
|
||||
if (*psVar1 == 0x11) goto ddb0;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80146A6C(0x11, param_1, *(s16 *)((u8 *)param_1 + 6),
|
||||
(s16)(*(u16 *)((u8 *)param_1 + 0xa) - 8),
|
||||
*(s16 *)((u8 *)param_1 + 0xe), 0, 0);
|
||||
sp[0] = *(u16 *)((u8 *)param_1 + 6);
|
||||
sp[1] = *(u16 *)((u8 *)param_1 + 0xa);
|
||||
sp[2] = *(u16 *)((u8 *)param_1 + 0xe);
|
||||
func_800D20C0(&sp[0], &sp[4], 0);
|
||||
sp[5] = 0;
|
||||
func_800D23D0(&sp[4]);
|
||||
i = 0;
|
||||
do {
|
||||
iVar3 = func_80146A6C(0x12, param_1, *(s16 *)(iVar4 + 6),
|
||||
*(s16 *)(iVar4 + 0xa), *(s16 *)(iVar4 + 0xe),
|
||||
i, 0);
|
||||
if (iVar3 != 0) {
|
||||
*(u16 *)(iVar3 + 0x12) = sp[4];
|
||||
*(u16 *)(iVar3 + 0x16) = sp[5];
|
||||
*(u16 *)(iVar3 + 0x1a) = 0;
|
||||
}
|
||||
i = i + 2;
|
||||
} while (i < 3);
|
||||
goto end;
|
||||
ddb0:
|
||||
if (((D_801C6FD8 != *(s16 *)(iVar4 + 6)) || (D_801C6FDC != *(s16 *)(iVar4 + 0xe))) &&
|
||||
(iVar2 = func_800D21C4((s32)param_1, D_80189B50, 0x18), iVar2 != 0)) {
|
||||
D_801C6FD8 = *(u16 *)(iVar4 + 6);
|
||||
D_801C6FDC = *(u16 *)(iVar4 + 0xe);
|
||||
func_800D1FC8((s32)param_1, 7);
|
||||
*(s32 *)((u8 *)param_1 + 0x20) = iVar2;
|
||||
*(u16 *)(iVar2 + 0x1a) = 0x3000;
|
||||
*(u16 *)(iVar2 + 0x18) = 0x3000;
|
||||
*(u8 *)(iVar2 + 0x26) = 0xff;
|
||||
*(u32 *)(iVar2 + 4) = *(u32 *)(iVar2 + 4) | 0x50000000;
|
||||
func_80128EA8(iVar2, (s32)param_1 + 0x24, (s32)D_80189B5C);
|
||||
func_80128ED8((void *)iVar2, (void *)((s32)param_1 + 0x24));
|
||||
*(u16 *)((u8 *)param_1 + 2) = *(u16 *)((u8 *)param_1 + 2) + 1;
|
||||
return;
|
||||
}
|
||||
end:
|
||||
((void (*)(s16 *))func_80146C3C)(param_1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern void (*D_80189B7C[])(void);
|
||||
|
||||
@@ -1344,7 +1344,79 @@ void func_80141874(void) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_000/nonmatchings/ov_SC02_000_jr_8013FFD8", func_801418F8);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern u16 D_80115110;
|
||||
extern u16 D_80115112;
|
||||
extern unsigned short D_80115118;
|
||||
extern volatile u16 D_8011511A;
|
||||
extern s16 D_80115128;
|
||||
extern s32 D_80115130;
|
||||
extern s16 D_8018BF74;
|
||||
extern s16 D_8018BF76;
|
||||
|
||||
extern void func_800D24A0(s32 a0);
|
||||
extern s32 func_80029178(s32 a0);
|
||||
extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
extern void func_80141C0C(s32 a0);
|
||||
|
||||
void func_801418F8(void)
|
||||
{
|
||||
|
||||
extern s16 D_8011512E;
|
||||
extern u8 D_80115158[];
|
||||
extern s16 D_8011515A;
|
||||
extern u8 D_8011515C;
|
||||
extern s16 D_8011515E;
|
||||
extern s16 D_80115162;
|
||||
extern s16 D_80115166;
|
||||
extern u8 D_8018BC14;
|
||||
extern u8 D_8018BC2C;
|
||||
extern u8 D_8018BCA0;
|
||||
extern u8 D_8018BCA8;
|
||||
extern void *D_801E6E10;
|
||||
extern void *D_801E6E14;
|
||||
u16 t;
|
||||
|
||||
func_800D24A0(1);
|
||||
D_8011511A = 2;
|
||||
t = D_8011511A;
|
||||
(*(s16 *)&D_80115118) = 0;
|
||||
D_80115130 = 0;
|
||||
if (t >= 4) {
|
||||
D_8011511A = t - 3;
|
||||
}
|
||||
(*(s16 *)D_80115158) = 0x106;
|
||||
if ((func_80029178(0x1C) & 0xFF) == 0) {
|
||||
D_801E6E10 = &D_8018BC14;
|
||||
D_801E6E14 = &D_8018BCA0;
|
||||
} else {
|
||||
D_801E6E10 = &D_8018BC2C;
|
||||
D_801E6E14 = &D_8018BCA8;
|
||||
}
|
||||
D_8011515A = 0x104;
|
||||
(*(s16 *)&D_8011515C) = 0x104;
|
||||
D_8011515E = 0x129;
|
||||
D_80115162 = 0x103;
|
||||
D_80115166 = 0x105;
|
||||
D_80115128 = 0;
|
||||
D_8011512E = 0;
|
||||
if (D_80115110 == 3) {
|
||||
func_8002D4C8(0x46E, 0);
|
||||
} else {
|
||||
func_80141C0C(0);
|
||||
}
|
||||
D_80115128 = 1;
|
||||
D_8018BF74 = 0xE;
|
||||
D_8018BF76 = 3;
|
||||
D_80115112 = D_80115112 + 1;
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_000/nonmatchings/ov_SC02_000_jr_8013FFD8", func_80141A60);
|
||||
|
||||
|
||||
@@ -3227,7 +3227,93 @@ DEFINE_func_8016DB34() /* dedup: shared engine-core @0x8016DB34 (src/shared) */
|
||||
|
||||
DEFINE_func_8016DBD8() /* dedup: shared engine-core @0x8016DBD8 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_000/nonmatchings/ov_SC02_000_jr_8016AB6C", func_8016DC20);
|
||||
|
||||
extern s32 D_8011D030;
|
||||
|
||||
extern void func_80149374(s32 a0, s32 a1);
|
||||
extern s32 func_801619D0(void *a0);
|
||||
extern s32 func_80146A6C(s32 a0, void *a1, s32 a2, s32 a3, s32 a4, s32 a5, s32 a6);
|
||||
extern void func_800D20C0(void *a0, void *a1, s32 a2);
|
||||
extern void func_800D23D0(void *a0);
|
||||
extern s32 func_800D21C4(s32 a0, void *a1, s32 a2);
|
||||
extern void func_800D1FC8(s32 a0, s32 a1);
|
||||
extern void func_80128EA8(s32 a0, s32 a1, s32 a2);
|
||||
extern s32 func_80128ED8(void *a0, void *a1);
|
||||
extern void func_80146C3C(void);
|
||||
|
||||
void func_8016DC20(s16 *param_1) {
|
||||
|
||||
extern s16 D_801E7B08;
|
||||
extern s16 D_801E7B0C;
|
||||
extern u8 D_8018DF00[];
|
||||
extern u8 D_8018DF0C[];
|
||||
u16 *psVar1;
|
||||
s32 iVar2;
|
||||
s32 iVar3;
|
||||
s32 iVar4;
|
||||
s16 i;
|
||||
s16 sp[6];
|
||||
|
||||
i = 0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
iVar4 = *(s32 *)((u8 *)param_1 + 0x34);
|
||||
do {
|
||||
if ((psVar1 != (u16 *)param_1) && (*psVar1 == 0x34)) goto end;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80149374(iVar4, (s32)param_1 + 4);
|
||||
iVar2 = func_801619D0((void *)iVar4);
|
||||
i = 0;
|
||||
if (iVar2 == 0) goto ddb0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
do {
|
||||
if (*psVar1 == 0x11) goto ddb0;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80146A6C(0x11, param_1, *(s16 *)((u8 *)param_1 + 6),
|
||||
(s16)(*(u16 *)((u8 *)param_1 + 0xa) - 8),
|
||||
*(s16 *)((u8 *)param_1 + 0xe), 0, 0);
|
||||
sp[0] = *(u16 *)((u8 *)param_1 + 6);
|
||||
sp[1] = *(u16 *)((u8 *)param_1 + 0xa);
|
||||
sp[2] = *(u16 *)((u8 *)param_1 + 0xe);
|
||||
func_800D20C0(&sp[0], &sp[4], 0);
|
||||
sp[5] = 0;
|
||||
func_800D23D0(&sp[4]);
|
||||
i = 0;
|
||||
do {
|
||||
iVar3 = func_80146A6C(0x12, param_1, *(s16 *)(iVar4 + 6),
|
||||
*(s16 *)(iVar4 + 0xa), *(s16 *)(iVar4 + 0xe),
|
||||
i, 0);
|
||||
if (iVar3 != 0) {
|
||||
*(u16 *)(iVar3 + 0x12) = sp[4];
|
||||
*(u16 *)(iVar3 + 0x16) = sp[5];
|
||||
*(u16 *)(iVar3 + 0x1a) = 0;
|
||||
}
|
||||
i = i + 2;
|
||||
} while (i < 3);
|
||||
goto end;
|
||||
ddb0:
|
||||
if (((D_801E7B08 != *(s16 *)(iVar4 + 6)) || (D_801E7B0C != *(s16 *)(iVar4 + 0xe))) &&
|
||||
(iVar2 = func_800D21C4((s32)param_1, D_8018DF00, 0x18), iVar2 != 0)) {
|
||||
D_801E7B08 = *(u16 *)(iVar4 + 6);
|
||||
D_801E7B0C = *(u16 *)(iVar4 + 0xe);
|
||||
func_800D1FC8((s32)param_1, 7);
|
||||
*(s32 *)((u8 *)param_1 + 0x20) = iVar2;
|
||||
*(u16 *)(iVar2 + 0x1a) = 0x3000;
|
||||
*(u16 *)(iVar2 + 0x18) = 0x3000;
|
||||
*(u8 *)(iVar2 + 0x26) = 0xff;
|
||||
*(u32 *)(iVar2 + 4) = *(u32 *)(iVar2 + 4) | 0x50000000;
|
||||
func_80128EA8(iVar2, (s32)param_1 + 0x24, (s32)D_8018DF0C);
|
||||
func_80128ED8((void *)iVar2, (void *)((s32)param_1 + 0x24));
|
||||
*(u16 *)((u8 *)param_1 + 2) = *(u16 *)((u8 *)param_1 + 2) + 1;
|
||||
return;
|
||||
}
|
||||
end:
|
||||
((void (*)(s16 *))func_80146C3C)(param_1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern void (*D_8018DF2C[])(void);
|
||||
|
||||
@@ -1344,7 +1344,79 @@ void func_80141874(void) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_003/nonmatchings/ov_SC02_003_jr_8013FFD8", func_801418F8);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern u16 D_80115110;
|
||||
extern u16 D_80115112;
|
||||
extern unsigned short D_80115118;
|
||||
extern volatile u16 D_8011511A;
|
||||
extern s16 D_80115128;
|
||||
extern s32 D_80115130;
|
||||
extern s16 D_8018BF74;
|
||||
extern s16 D_8018BF76;
|
||||
|
||||
extern void func_800D24A0(s32 a0);
|
||||
extern s32 func_80029178(s32 a0);
|
||||
extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
extern void func_80141C0C(s32 a0);
|
||||
|
||||
void func_801418F8(void)
|
||||
{
|
||||
|
||||
extern s16 D_8011512E;
|
||||
extern u8 D_80115158[];
|
||||
extern s16 D_8011515A;
|
||||
extern u8 D_8011515C;
|
||||
extern s16 D_8011515E;
|
||||
extern s16 D_80115162;
|
||||
extern s16 D_80115166;
|
||||
extern u8 D_8018BC14;
|
||||
extern u8 D_8018BC2C;
|
||||
extern u8 D_8018BCA0;
|
||||
extern u8 D_8018BCA8;
|
||||
extern void *D_801E6E10;
|
||||
extern void *D_801E6E14;
|
||||
u16 t;
|
||||
|
||||
func_800D24A0(1);
|
||||
D_8011511A = 2;
|
||||
t = D_8011511A;
|
||||
(*(s16 *)&D_80115118) = 0;
|
||||
D_80115130 = 0;
|
||||
if (t >= 4) {
|
||||
D_8011511A = t - 3;
|
||||
}
|
||||
(*(s16 *)D_80115158) = 0x106;
|
||||
if ((func_80029178(0x1C) & 0xFF) == 0) {
|
||||
D_801E6E10 = &D_8018BC14;
|
||||
D_801E6E14 = &D_8018BCA0;
|
||||
} else {
|
||||
D_801E6E10 = &D_8018BC2C;
|
||||
D_801E6E14 = &D_8018BCA8;
|
||||
}
|
||||
D_8011515A = 0x104;
|
||||
(*(s16 *)&D_8011515C) = 0x104;
|
||||
D_8011515E = 0x129;
|
||||
D_80115162 = 0x103;
|
||||
D_80115166 = 0x105;
|
||||
D_80115128 = 0;
|
||||
D_8011512E = 0;
|
||||
if (D_80115110 == 3) {
|
||||
func_8002D4C8(0x46E, 0);
|
||||
} else {
|
||||
func_80141C0C(0);
|
||||
}
|
||||
D_80115128 = 1;
|
||||
D_8018BF74 = 0xE;
|
||||
D_8018BF76 = 3;
|
||||
D_80115112 = D_80115112 + 1;
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_003/nonmatchings/ov_SC02_003_jr_8013FFD8", func_80141A60);
|
||||
|
||||
|
||||
@@ -3227,7 +3227,93 @@ DEFINE_func_8016DB34() /* dedup: shared engine-core @0x8016DB34 (src/shared) */
|
||||
|
||||
DEFINE_func_8016DBD8() /* dedup: shared engine-core @0x8016DBD8 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_003/nonmatchings/ov_SC02_003_jr_8016AB6C", func_8016DC20);
|
||||
|
||||
extern s32 D_8011D030;
|
||||
|
||||
extern void func_80149374(s32 a0, s32 a1);
|
||||
extern s32 func_801619D0(void *a0);
|
||||
extern s32 func_80146A6C(s32 a0, void *a1, s32 a2, s32 a3, s32 a4, s32 a5, s32 a6);
|
||||
extern void func_800D20C0(void *a0, void *a1, s32 a2);
|
||||
extern void func_800D23D0(void *a0);
|
||||
extern s32 func_800D21C4(s32 a0, void *a1, s32 a2);
|
||||
extern void func_800D1FC8(s32 a0, s32 a1);
|
||||
extern void func_80128EA8(s32 a0, s32 a1, s32 a2);
|
||||
extern s32 func_80128ED8(void *a0, void *a1);
|
||||
extern void func_80146C3C(void);
|
||||
|
||||
void func_8016DC20(s16 *param_1) {
|
||||
|
||||
extern s16 D_801E7B08;
|
||||
extern s16 D_801E7B0C;
|
||||
extern u8 D_8018DF00[];
|
||||
extern u8 D_8018DF0C[];
|
||||
u16 *psVar1;
|
||||
s32 iVar2;
|
||||
s32 iVar3;
|
||||
s32 iVar4;
|
||||
s16 i;
|
||||
s16 sp[6];
|
||||
|
||||
i = 0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
iVar4 = *(s32 *)((u8 *)param_1 + 0x34);
|
||||
do {
|
||||
if ((psVar1 != (u16 *)param_1) && (*psVar1 == 0x34)) goto end;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80149374(iVar4, (s32)param_1 + 4);
|
||||
iVar2 = func_801619D0((void *)iVar4);
|
||||
i = 0;
|
||||
if (iVar2 == 0) goto ddb0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
do {
|
||||
if (*psVar1 == 0x11) goto ddb0;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80146A6C(0x11, param_1, *(s16 *)((u8 *)param_1 + 6),
|
||||
(s16)(*(u16 *)((u8 *)param_1 + 0xa) - 8),
|
||||
*(s16 *)((u8 *)param_1 + 0xe), 0, 0);
|
||||
sp[0] = *(u16 *)((u8 *)param_1 + 6);
|
||||
sp[1] = *(u16 *)((u8 *)param_1 + 0xa);
|
||||
sp[2] = *(u16 *)((u8 *)param_1 + 0xe);
|
||||
func_800D20C0(&sp[0], &sp[4], 0);
|
||||
sp[5] = 0;
|
||||
func_800D23D0(&sp[4]);
|
||||
i = 0;
|
||||
do {
|
||||
iVar3 = func_80146A6C(0x12, param_1, *(s16 *)(iVar4 + 6),
|
||||
*(s16 *)(iVar4 + 0xa), *(s16 *)(iVar4 + 0xe),
|
||||
i, 0);
|
||||
if (iVar3 != 0) {
|
||||
*(u16 *)(iVar3 + 0x12) = sp[4];
|
||||
*(u16 *)(iVar3 + 0x16) = sp[5];
|
||||
*(u16 *)(iVar3 + 0x1a) = 0;
|
||||
}
|
||||
i = i + 2;
|
||||
} while (i < 3);
|
||||
goto end;
|
||||
ddb0:
|
||||
if (((D_801E7B08 != *(s16 *)(iVar4 + 6)) || (D_801E7B0C != *(s16 *)(iVar4 + 0xe))) &&
|
||||
(iVar2 = func_800D21C4((s32)param_1, D_8018DF00, 0x18), iVar2 != 0)) {
|
||||
D_801E7B08 = *(u16 *)(iVar4 + 6);
|
||||
D_801E7B0C = *(u16 *)(iVar4 + 0xe);
|
||||
func_800D1FC8((s32)param_1, 7);
|
||||
*(s32 *)((u8 *)param_1 + 0x20) = iVar2;
|
||||
*(u16 *)(iVar2 + 0x1a) = 0x3000;
|
||||
*(u16 *)(iVar2 + 0x18) = 0x3000;
|
||||
*(u8 *)(iVar2 + 0x26) = 0xff;
|
||||
*(u32 *)(iVar2 + 4) = *(u32 *)(iVar2 + 4) | 0x50000000;
|
||||
func_80128EA8(iVar2, (s32)param_1 + 0x24, (s32)D_8018DF0C);
|
||||
func_80128ED8((void *)iVar2, (void *)((s32)param_1 + 0x24));
|
||||
*(u16 *)((u8 *)param_1 + 2) = *(u16 *)((u8 *)param_1 + 2) + 1;
|
||||
return;
|
||||
}
|
||||
end:
|
||||
((void (*)(s16 *))func_80146C3C)(param_1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern void (*D_8018DF2C[])(void);
|
||||
|
||||
@@ -1345,7 +1345,79 @@ void func_80141874(void) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_004/nonmatchings/ov_SC02_004_jr_8013FFD8", func_801418F8);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern u16 D_80115110;
|
||||
extern u16 D_80115112;
|
||||
extern unsigned short D_80115118;
|
||||
extern volatile u16 D_8011511A;
|
||||
extern s16 D_80115128;
|
||||
extern s32 D_80115130;
|
||||
extern s16 D_8017F054;
|
||||
extern s16 D_8017F056;
|
||||
|
||||
extern void func_800D24A0(s32 a0);
|
||||
extern s32 func_80029178(s32 a0);
|
||||
extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
extern void func_80141C0C(s32 a0);
|
||||
|
||||
void func_801418F8(void)
|
||||
{
|
||||
|
||||
extern s16 D_8011512E;
|
||||
extern u8 D_80115158[];
|
||||
extern s16 D_8011515A;
|
||||
extern u8 D_8011515C;
|
||||
extern s16 D_8011515E;
|
||||
extern s16 D_80115162;
|
||||
extern s16 D_80115166;
|
||||
extern u8 D_8017ECF4;
|
||||
extern u8 D_8017ED0C;
|
||||
extern u8 D_8017ED80;
|
||||
extern u8 D_8017ED88;
|
||||
extern void *D_80195060;
|
||||
extern void *D_80195064;
|
||||
u16 t;
|
||||
|
||||
func_800D24A0(1);
|
||||
D_8011511A = 2;
|
||||
t = D_8011511A;
|
||||
(*(s16 *)&D_80115118) = 0;
|
||||
D_80115130 = 0;
|
||||
if (t >= 4) {
|
||||
D_8011511A = t - 3;
|
||||
}
|
||||
(*(s16 *)D_80115158) = 0x106;
|
||||
if ((func_80029178(0x1C) & 0xFF) == 0) {
|
||||
D_80195060 = &D_8017ECF4;
|
||||
D_80195064 = &D_8017ED80;
|
||||
} else {
|
||||
D_80195060 = &D_8017ED0C;
|
||||
D_80195064 = &D_8017ED88;
|
||||
}
|
||||
D_8011515A = 0x104;
|
||||
(*(s16 *)&D_8011515C) = 0x104;
|
||||
D_8011515E = 0x129;
|
||||
D_80115162 = 0x103;
|
||||
D_80115166 = 0x105;
|
||||
D_80115128 = 0;
|
||||
D_8011512E = 0;
|
||||
if (D_80115110 == 3) {
|
||||
func_8002D4C8(0x46E, 0);
|
||||
} else {
|
||||
func_80141C0C(0);
|
||||
}
|
||||
D_80115128 = 1;
|
||||
D_8017F054 = 0xE;
|
||||
D_8017F056 = 3;
|
||||
D_80115112 = D_80115112 + 1;
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_004/nonmatchings/ov_SC02_004_jr_8013FFD8", func_80141A60);
|
||||
|
||||
|
||||
@@ -3229,7 +3229,93 @@ DEFINE_func_8016DB34() /* dedup: shared engine-core @0x8016DB34 (src/shared) */
|
||||
|
||||
DEFINE_func_8016DBD8() /* dedup: shared engine-core @0x8016DBD8 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_004/nonmatchings/ov_SC02_004_jr_8016AB6C", func_8016DC20);
|
||||
|
||||
extern s32 D_8011D030;
|
||||
|
||||
extern void func_80149374(s32 a0, s32 a1);
|
||||
extern s32 func_801619D0(void *a0);
|
||||
extern s32 func_80146A6C(s32 a0, void *a1, s32 a2, s32 a3, s32 a4, s32 a5, s32 a6);
|
||||
extern void func_800D20C0(void *a0, void *a1, s32 a2);
|
||||
extern void func_800D23D0(void *a0);
|
||||
extern s32 func_800D21C4(s32 a0, void *a1, s32 a2);
|
||||
extern void func_800D1FC8(s32 a0, s32 a1);
|
||||
extern void func_80128EA8(s32 a0, s32 a1, s32 a2);
|
||||
extern s32 func_80128ED8(void *a0, void *a1);
|
||||
extern void func_80146C3C(void);
|
||||
|
||||
void func_8016DC20(s16 *param_1) {
|
||||
|
||||
extern s16 D_80195D58;
|
||||
extern s16 D_80195D5C;
|
||||
extern u8 D_80180FE0[];
|
||||
extern u8 D_80180FEC[];
|
||||
u16 *psVar1;
|
||||
s32 iVar2;
|
||||
s32 iVar3;
|
||||
s32 iVar4;
|
||||
s16 i;
|
||||
s16 sp[6];
|
||||
|
||||
i = 0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
iVar4 = *(s32 *)((u8 *)param_1 + 0x34);
|
||||
do {
|
||||
if ((psVar1 != (u16 *)param_1) && (*psVar1 == 0x34)) goto end;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80149374(iVar4, (s32)param_1 + 4);
|
||||
iVar2 = func_801619D0((void *)iVar4);
|
||||
i = 0;
|
||||
if (iVar2 == 0) goto ddb0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
do {
|
||||
if (*psVar1 == 0x11) goto ddb0;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80146A6C(0x11, param_1, *(s16 *)((u8 *)param_1 + 6),
|
||||
(s16)(*(u16 *)((u8 *)param_1 + 0xa) - 8),
|
||||
*(s16 *)((u8 *)param_1 + 0xe), 0, 0);
|
||||
sp[0] = *(u16 *)((u8 *)param_1 + 6);
|
||||
sp[1] = *(u16 *)((u8 *)param_1 + 0xa);
|
||||
sp[2] = *(u16 *)((u8 *)param_1 + 0xe);
|
||||
func_800D20C0(&sp[0], &sp[4], 0);
|
||||
sp[5] = 0;
|
||||
func_800D23D0(&sp[4]);
|
||||
i = 0;
|
||||
do {
|
||||
iVar3 = func_80146A6C(0x12, param_1, *(s16 *)(iVar4 + 6),
|
||||
*(s16 *)(iVar4 + 0xa), *(s16 *)(iVar4 + 0xe),
|
||||
i, 0);
|
||||
if (iVar3 != 0) {
|
||||
*(u16 *)(iVar3 + 0x12) = sp[4];
|
||||
*(u16 *)(iVar3 + 0x16) = sp[5];
|
||||
*(u16 *)(iVar3 + 0x1a) = 0;
|
||||
}
|
||||
i = i + 2;
|
||||
} while (i < 3);
|
||||
goto end;
|
||||
ddb0:
|
||||
if (((D_80195D58 != *(s16 *)(iVar4 + 6)) || (D_80195D5C != *(s16 *)(iVar4 + 0xe))) &&
|
||||
(iVar2 = func_800D21C4((s32)param_1, D_80180FE0, 0x18), iVar2 != 0)) {
|
||||
D_80195D58 = *(u16 *)(iVar4 + 6);
|
||||
D_80195D5C = *(u16 *)(iVar4 + 0xe);
|
||||
func_800D1FC8((s32)param_1, 7);
|
||||
*(s32 *)((u8 *)param_1 + 0x20) = iVar2;
|
||||
*(u16 *)(iVar2 + 0x1a) = 0x3000;
|
||||
*(u16 *)(iVar2 + 0x18) = 0x3000;
|
||||
*(u8 *)(iVar2 + 0x26) = 0xff;
|
||||
*(u32 *)(iVar2 + 4) = *(u32 *)(iVar2 + 4) | 0x50000000;
|
||||
func_80128EA8(iVar2, (s32)param_1 + 0x24, (s32)D_80180FEC);
|
||||
func_80128ED8((void *)iVar2, (void *)((s32)param_1 + 0x24));
|
||||
*(u16 *)((u8 *)param_1 + 2) = *(u16 *)((u8 *)param_1 + 2) + 1;
|
||||
return;
|
||||
}
|
||||
end:
|
||||
((void (*)(s16 *))func_80146C3C)(param_1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern void (*D_8018100C[])(void);
|
||||
|
||||
@@ -1345,7 +1345,79 @@ void func_80141874(void) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_005/nonmatchings/ov_SC02_005_jr_8013FFD8", func_801418F8);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern u16 D_80115110;
|
||||
extern u16 D_80115112;
|
||||
extern unsigned short D_80115118;
|
||||
extern volatile u16 D_8011511A;
|
||||
extern s16 D_80115128;
|
||||
extern s32 D_80115130;
|
||||
extern s16 D_80191C58;
|
||||
extern s16 D_80191C5A;
|
||||
|
||||
extern void func_800D24A0(s32 a0);
|
||||
extern s32 func_80029178(s32 a0);
|
||||
extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
extern void func_80141C0C(s32 a0);
|
||||
|
||||
void func_801418F8(void)
|
||||
{
|
||||
|
||||
extern s16 D_8011512E;
|
||||
extern u8 D_80115158[];
|
||||
extern s16 D_8011515A;
|
||||
extern u8 D_8011515C;
|
||||
extern s16 D_8011515E;
|
||||
extern s16 D_80115162;
|
||||
extern s16 D_80115166;
|
||||
extern u8 D_801918F8;
|
||||
extern u8 D_80191910;
|
||||
extern u8 D_80191984;
|
||||
extern u8 D_8019198C;
|
||||
extern void *D_801E30D8;
|
||||
extern void *D_801E30DC;
|
||||
u16 t;
|
||||
|
||||
func_800D24A0(1);
|
||||
D_8011511A = 2;
|
||||
t = D_8011511A;
|
||||
(*(s16 *)&D_80115118) = 0;
|
||||
D_80115130 = 0;
|
||||
if (t >= 4) {
|
||||
D_8011511A = t - 3;
|
||||
}
|
||||
(*(s16 *)D_80115158) = 0x106;
|
||||
if ((func_80029178(0x1C) & 0xFF) == 0) {
|
||||
D_801E30D8 = &D_801918F8;
|
||||
D_801E30DC = &D_80191984;
|
||||
} else {
|
||||
D_801E30D8 = &D_80191910;
|
||||
D_801E30DC = &D_8019198C;
|
||||
}
|
||||
D_8011515A = 0x104;
|
||||
(*(s16 *)&D_8011515C) = 0x104;
|
||||
D_8011515E = 0x129;
|
||||
D_80115162 = 0x103;
|
||||
D_80115166 = 0x105;
|
||||
D_80115128 = 0;
|
||||
D_8011512E = 0;
|
||||
if (D_80115110 == 3) {
|
||||
func_8002D4C8(0x46E, 0);
|
||||
} else {
|
||||
func_80141C0C(0);
|
||||
}
|
||||
D_80115128 = 1;
|
||||
D_80191C58 = 0xE;
|
||||
D_80191C5A = 3;
|
||||
D_80115112 = D_80115112 + 1;
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_005/nonmatchings/ov_SC02_005_jr_8013FFD8", func_80141A60);
|
||||
|
||||
|
||||
@@ -3231,7 +3231,93 @@ DEFINE_func_8016DB34() /* dedup: shared engine-core @0x8016DB34 (src/shared) */
|
||||
|
||||
DEFINE_func_8016DBD8() /* dedup: shared engine-core @0x8016DBD8 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_005/nonmatchings/ov_SC02_005_jr_8016AB6C", func_8016DC20);
|
||||
|
||||
extern s32 D_8011D030;
|
||||
|
||||
extern void func_80149374(s32 a0, s32 a1);
|
||||
extern s32 func_801619D0(void *a0);
|
||||
extern s32 func_80146A6C(s32 a0, void *a1, s32 a2, s32 a3, s32 a4, s32 a5, s32 a6);
|
||||
extern void func_800D20C0(void *a0, void *a1, s32 a2);
|
||||
extern void func_800D23D0(void *a0);
|
||||
extern s32 func_800D21C4(s32 a0, void *a1, s32 a2);
|
||||
extern void func_800D1FC8(s32 a0, s32 a1);
|
||||
extern void func_80128EA8(s32 a0, s32 a1, s32 a2);
|
||||
extern s32 func_80128ED8(void *a0, void *a1);
|
||||
extern void func_80146C3C(void);
|
||||
|
||||
void func_8016DC20(s16 *param_1) {
|
||||
|
||||
extern s16 D_801E3DD0;
|
||||
extern s16 D_801E3DD4;
|
||||
extern u8 D_80193BE4[];
|
||||
extern u8 D_80193BF0[];
|
||||
u16 *psVar1;
|
||||
s32 iVar2;
|
||||
s32 iVar3;
|
||||
s32 iVar4;
|
||||
s16 i;
|
||||
s16 sp[6];
|
||||
|
||||
i = 0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
iVar4 = *(s32 *)((u8 *)param_1 + 0x34);
|
||||
do {
|
||||
if ((psVar1 != (u16 *)param_1) && (*psVar1 == 0x34)) goto end;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80149374(iVar4, (s32)param_1 + 4);
|
||||
iVar2 = func_801619D0((void *)iVar4);
|
||||
i = 0;
|
||||
if (iVar2 == 0) goto ddb0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
do {
|
||||
if (*psVar1 == 0x11) goto ddb0;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80146A6C(0x11, param_1, *(s16 *)((u8 *)param_1 + 6),
|
||||
(s16)(*(u16 *)((u8 *)param_1 + 0xa) - 8),
|
||||
*(s16 *)((u8 *)param_1 + 0xe), 0, 0);
|
||||
sp[0] = *(u16 *)((u8 *)param_1 + 6);
|
||||
sp[1] = *(u16 *)((u8 *)param_1 + 0xa);
|
||||
sp[2] = *(u16 *)((u8 *)param_1 + 0xe);
|
||||
func_800D20C0(&sp[0], &sp[4], 0);
|
||||
sp[5] = 0;
|
||||
func_800D23D0(&sp[4]);
|
||||
i = 0;
|
||||
do {
|
||||
iVar3 = func_80146A6C(0x12, param_1, *(s16 *)(iVar4 + 6),
|
||||
*(s16 *)(iVar4 + 0xa), *(s16 *)(iVar4 + 0xe),
|
||||
i, 0);
|
||||
if (iVar3 != 0) {
|
||||
*(u16 *)(iVar3 + 0x12) = sp[4];
|
||||
*(u16 *)(iVar3 + 0x16) = sp[5];
|
||||
*(u16 *)(iVar3 + 0x1a) = 0;
|
||||
}
|
||||
i = i + 2;
|
||||
} while (i < 3);
|
||||
goto end;
|
||||
ddb0:
|
||||
if (((D_801E3DD0 != *(s16 *)(iVar4 + 6)) || (D_801E3DD4 != *(s16 *)(iVar4 + 0xe))) &&
|
||||
(iVar2 = func_800D21C4((s32)param_1, D_80193BE4, 0x18), iVar2 != 0)) {
|
||||
D_801E3DD0 = *(u16 *)(iVar4 + 6);
|
||||
D_801E3DD4 = *(u16 *)(iVar4 + 0xe);
|
||||
func_800D1FC8((s32)param_1, 7);
|
||||
*(s32 *)((u8 *)param_1 + 0x20) = iVar2;
|
||||
*(u16 *)(iVar2 + 0x1a) = 0x3000;
|
||||
*(u16 *)(iVar2 + 0x18) = 0x3000;
|
||||
*(u8 *)(iVar2 + 0x26) = 0xff;
|
||||
*(u32 *)(iVar2 + 4) = *(u32 *)(iVar2 + 4) | 0x50000000;
|
||||
func_80128EA8(iVar2, (s32)param_1 + 0x24, (s32)D_80193BF0);
|
||||
func_80128ED8((void *)iVar2, (void *)((s32)param_1 + 0x24));
|
||||
*(u16 *)((u8 *)param_1 + 2) = *(u16 *)((u8 *)param_1 + 2) + 1;
|
||||
return;
|
||||
}
|
||||
end:
|
||||
((void (*)(s16 *))func_80146C3C)(param_1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern void (*D_80193C10[])(void);
|
||||
|
||||
@@ -1345,7 +1345,79 @@ void func_80141874(void) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_011/nonmatchings/ov_SC02_011_jr_8013FFD8", func_801418F8);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern u16 D_80115110;
|
||||
extern u16 D_80115112;
|
||||
extern unsigned short D_80115118;
|
||||
extern volatile u16 D_8011511A;
|
||||
extern s16 D_80115128;
|
||||
extern s32 D_80115130;
|
||||
extern s16 D_801920A8;
|
||||
extern s16 D_801920AA;
|
||||
|
||||
extern void func_800D24A0(s32 a0);
|
||||
extern s32 func_80029178(s32 a0);
|
||||
extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
extern void func_80141C0C(s32 a0);
|
||||
|
||||
void func_801418F8(void)
|
||||
{
|
||||
|
||||
extern s16 D_8011512E;
|
||||
extern u8 D_80115158[];
|
||||
extern s16 D_8011515A;
|
||||
extern u8 D_8011515C;
|
||||
extern s16 D_8011515E;
|
||||
extern s16 D_80115162;
|
||||
extern s16 D_80115166;
|
||||
extern u8 D_80191D48;
|
||||
extern u8 D_80191D60;
|
||||
extern u8 D_80191DD4;
|
||||
extern u8 D_80191DDC;
|
||||
extern void *D_801E9FB8;
|
||||
extern void *D_801E9FBC;
|
||||
u16 t;
|
||||
|
||||
func_800D24A0(1);
|
||||
D_8011511A = 2;
|
||||
t = D_8011511A;
|
||||
(*(s16 *)&D_80115118) = 0;
|
||||
D_80115130 = 0;
|
||||
if (t >= 4) {
|
||||
D_8011511A = t - 3;
|
||||
}
|
||||
(*(s16 *)D_80115158) = 0x106;
|
||||
if ((func_80029178(0x1C) & 0xFF) == 0) {
|
||||
D_801E9FB8 = &D_80191D48;
|
||||
D_801E9FBC = &D_80191DD4;
|
||||
} else {
|
||||
D_801E9FB8 = &D_80191D60;
|
||||
D_801E9FBC = &D_80191DDC;
|
||||
}
|
||||
D_8011515A = 0x104;
|
||||
(*(s16 *)&D_8011515C) = 0x104;
|
||||
D_8011515E = 0x129;
|
||||
D_80115162 = 0x103;
|
||||
D_80115166 = 0x105;
|
||||
D_80115128 = 0;
|
||||
D_8011512E = 0;
|
||||
if (D_80115110 == 3) {
|
||||
func_8002D4C8(0x46E, 0);
|
||||
} else {
|
||||
func_80141C0C(0);
|
||||
}
|
||||
D_80115128 = 1;
|
||||
D_801920A8 = 0xE;
|
||||
D_801920AA = 3;
|
||||
D_80115112 = D_80115112 + 1;
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_011/nonmatchings/ov_SC02_011_jr_8013FFD8", func_80141A60);
|
||||
|
||||
|
||||
@@ -3229,7 +3229,93 @@ DEFINE_func_8016DB34() /* dedup: shared engine-core @0x8016DB34 (src/shared) */
|
||||
|
||||
DEFINE_func_8016DBD8() /* dedup: shared engine-core @0x8016DBD8 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_011/nonmatchings/ov_SC02_011_jr_8016AB6C", func_8016DC20);
|
||||
|
||||
extern s32 D_8011D030;
|
||||
|
||||
extern void func_80149374(s32 a0, s32 a1);
|
||||
extern s32 func_801619D0(void *a0);
|
||||
extern s32 func_80146A6C(s32 a0, void *a1, s32 a2, s32 a3, s32 a4, s32 a5, s32 a6);
|
||||
extern void func_800D20C0(void *a0, void *a1, s32 a2);
|
||||
extern void func_800D23D0(void *a0);
|
||||
extern s32 func_800D21C4(s32 a0, void *a1, s32 a2);
|
||||
extern void func_800D1FC8(s32 a0, s32 a1);
|
||||
extern void func_80128EA8(s32 a0, s32 a1, s32 a2);
|
||||
extern s32 func_80128ED8(void *a0, void *a1);
|
||||
extern void func_80146C3C(void);
|
||||
|
||||
void func_8016DC20(s16 *param_1) {
|
||||
|
||||
extern s16 D_801EACB0;
|
||||
extern s16 D_801EACB4;
|
||||
extern u8 D_80194034[];
|
||||
extern u8 D_80194040[];
|
||||
u16 *psVar1;
|
||||
s32 iVar2;
|
||||
s32 iVar3;
|
||||
s32 iVar4;
|
||||
s16 i;
|
||||
s16 sp[6];
|
||||
|
||||
i = 0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
iVar4 = *(s32 *)((u8 *)param_1 + 0x34);
|
||||
do {
|
||||
if ((psVar1 != (u16 *)param_1) && (*psVar1 == 0x34)) goto end;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80149374(iVar4, (s32)param_1 + 4);
|
||||
iVar2 = func_801619D0((void *)iVar4);
|
||||
i = 0;
|
||||
if (iVar2 == 0) goto ddb0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
do {
|
||||
if (*psVar1 == 0x11) goto ddb0;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80146A6C(0x11, param_1, *(s16 *)((u8 *)param_1 + 6),
|
||||
(s16)(*(u16 *)((u8 *)param_1 + 0xa) - 8),
|
||||
*(s16 *)((u8 *)param_1 + 0xe), 0, 0);
|
||||
sp[0] = *(u16 *)((u8 *)param_1 + 6);
|
||||
sp[1] = *(u16 *)((u8 *)param_1 + 0xa);
|
||||
sp[2] = *(u16 *)((u8 *)param_1 + 0xe);
|
||||
func_800D20C0(&sp[0], &sp[4], 0);
|
||||
sp[5] = 0;
|
||||
func_800D23D0(&sp[4]);
|
||||
i = 0;
|
||||
do {
|
||||
iVar3 = func_80146A6C(0x12, param_1, *(s16 *)(iVar4 + 6),
|
||||
*(s16 *)(iVar4 + 0xa), *(s16 *)(iVar4 + 0xe),
|
||||
i, 0);
|
||||
if (iVar3 != 0) {
|
||||
*(u16 *)(iVar3 + 0x12) = sp[4];
|
||||
*(u16 *)(iVar3 + 0x16) = sp[5];
|
||||
*(u16 *)(iVar3 + 0x1a) = 0;
|
||||
}
|
||||
i = i + 2;
|
||||
} while (i < 3);
|
||||
goto end;
|
||||
ddb0:
|
||||
if (((D_801EACB0 != *(s16 *)(iVar4 + 6)) || (D_801EACB4 != *(s16 *)(iVar4 + 0xe))) &&
|
||||
(iVar2 = func_800D21C4((s32)param_1, D_80194034, 0x18), iVar2 != 0)) {
|
||||
D_801EACB0 = *(u16 *)(iVar4 + 6);
|
||||
D_801EACB4 = *(u16 *)(iVar4 + 0xe);
|
||||
func_800D1FC8((s32)param_1, 7);
|
||||
*(s32 *)((u8 *)param_1 + 0x20) = iVar2;
|
||||
*(u16 *)(iVar2 + 0x1a) = 0x3000;
|
||||
*(u16 *)(iVar2 + 0x18) = 0x3000;
|
||||
*(u8 *)(iVar2 + 0x26) = 0xff;
|
||||
*(u32 *)(iVar2 + 4) = *(u32 *)(iVar2 + 4) | 0x50000000;
|
||||
func_80128EA8(iVar2, (s32)param_1 + 0x24, (s32)D_80194040);
|
||||
func_80128ED8((void *)iVar2, (void *)((s32)param_1 + 0x24));
|
||||
*(u16 *)((u8 *)param_1 + 2) = *(u16 *)((u8 *)param_1 + 2) + 1;
|
||||
return;
|
||||
}
|
||||
end:
|
||||
((void (*)(s16 *))func_80146C3C)(param_1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern void (*D_80194060[])(void);
|
||||
|
||||
@@ -1345,7 +1345,79 @@ void func_80141874(void) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_015/nonmatchings/ov_SC02_015_jr_8013FFD8", func_801418F8);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern u16 D_80115110;
|
||||
extern u16 D_80115112;
|
||||
extern unsigned short D_80115118;
|
||||
extern volatile u16 D_8011511A;
|
||||
extern s16 D_80115128;
|
||||
extern s32 D_80115130;
|
||||
extern s16 D_8017F5BC;
|
||||
extern s16 D_8017F5BE;
|
||||
|
||||
extern void func_800D24A0(s32 a0);
|
||||
extern s32 func_80029178(s32 a0);
|
||||
extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
extern void func_80141C0C(s32 a0);
|
||||
|
||||
void func_801418F8(void)
|
||||
{
|
||||
|
||||
extern s16 D_8011512E;
|
||||
extern u8 D_80115158[];
|
||||
extern s16 D_8011515A;
|
||||
extern u8 D_8011515C;
|
||||
extern s16 D_8011515E;
|
||||
extern s16 D_80115162;
|
||||
extern s16 D_80115166;
|
||||
extern u8 D_8017F25C;
|
||||
extern u8 D_8017F274;
|
||||
extern u8 D_8017F2E8;
|
||||
extern u8 D_8017F2F0;
|
||||
extern void *D_8018F138;
|
||||
extern void *D_8018F13C;
|
||||
u16 t;
|
||||
|
||||
func_800D24A0(1);
|
||||
D_8011511A = 2;
|
||||
t = D_8011511A;
|
||||
(*(s16 *)&D_80115118) = 0;
|
||||
D_80115130 = 0;
|
||||
if (t >= 4) {
|
||||
D_8011511A = t - 3;
|
||||
}
|
||||
(*(s16 *)D_80115158) = 0x106;
|
||||
if ((func_80029178(0x1C) & 0xFF) == 0) {
|
||||
D_8018F138 = &D_8017F25C;
|
||||
D_8018F13C = &D_8017F2E8;
|
||||
} else {
|
||||
D_8018F138 = &D_8017F274;
|
||||
D_8018F13C = &D_8017F2F0;
|
||||
}
|
||||
D_8011515A = 0x104;
|
||||
(*(s16 *)&D_8011515C) = 0x104;
|
||||
D_8011515E = 0x129;
|
||||
D_80115162 = 0x103;
|
||||
D_80115166 = 0x105;
|
||||
D_80115128 = 0;
|
||||
D_8011512E = 0;
|
||||
if (D_80115110 == 3) {
|
||||
func_8002D4C8(0x46E, 0);
|
||||
} else {
|
||||
func_80141C0C(0);
|
||||
}
|
||||
D_80115128 = 1;
|
||||
D_8017F5BC = 0xE;
|
||||
D_8017F5BE = 3;
|
||||
D_80115112 = D_80115112 + 1;
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_015/nonmatchings/ov_SC02_015_jr_8013FFD8", func_80141A60);
|
||||
|
||||
|
||||
@@ -3227,7 +3227,93 @@ DEFINE_func_8016DB34() /* dedup: shared engine-core @0x8016DB34 (src/shared) */
|
||||
|
||||
DEFINE_func_8016DBD8() /* dedup: shared engine-core @0x8016DBD8 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_015/nonmatchings/ov_SC02_015_jr_8016AB6C", func_8016DC20);
|
||||
|
||||
extern s32 D_8011D030;
|
||||
|
||||
extern void func_80149374(s32 a0, s32 a1);
|
||||
extern s32 func_801619D0(void *a0);
|
||||
extern s32 func_80146A6C(s32 a0, void *a1, s32 a2, s32 a3, s32 a4, s32 a5, s32 a6);
|
||||
extern void func_800D20C0(void *a0, void *a1, s32 a2);
|
||||
extern void func_800D23D0(void *a0);
|
||||
extern s32 func_800D21C4(s32 a0, void *a1, s32 a2);
|
||||
extern void func_800D1FC8(s32 a0, s32 a1);
|
||||
extern void func_80128EA8(s32 a0, s32 a1, s32 a2);
|
||||
extern s32 func_80128ED8(void *a0, void *a1);
|
||||
extern void func_80146C3C(void);
|
||||
|
||||
void func_8016DC20(s16 *param_1) {
|
||||
|
||||
extern s16 D_8018FE30;
|
||||
extern s16 D_8018FE34;
|
||||
extern u8 D_80181548[];
|
||||
extern u8 D_80181554[];
|
||||
u16 *psVar1;
|
||||
s32 iVar2;
|
||||
s32 iVar3;
|
||||
s32 iVar4;
|
||||
s16 i;
|
||||
s16 sp[6];
|
||||
|
||||
i = 0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
iVar4 = *(s32 *)((u8 *)param_1 + 0x34);
|
||||
do {
|
||||
if ((psVar1 != (u16 *)param_1) && (*psVar1 == 0x34)) goto end;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80149374(iVar4, (s32)param_1 + 4);
|
||||
iVar2 = func_801619D0((void *)iVar4);
|
||||
i = 0;
|
||||
if (iVar2 == 0) goto ddb0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
do {
|
||||
if (*psVar1 == 0x11) goto ddb0;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80146A6C(0x11, param_1, *(s16 *)((u8 *)param_1 + 6),
|
||||
(s16)(*(u16 *)((u8 *)param_1 + 0xa) - 8),
|
||||
*(s16 *)((u8 *)param_1 + 0xe), 0, 0);
|
||||
sp[0] = *(u16 *)((u8 *)param_1 + 6);
|
||||
sp[1] = *(u16 *)((u8 *)param_1 + 0xa);
|
||||
sp[2] = *(u16 *)((u8 *)param_1 + 0xe);
|
||||
func_800D20C0(&sp[0], &sp[4], 0);
|
||||
sp[5] = 0;
|
||||
func_800D23D0(&sp[4]);
|
||||
i = 0;
|
||||
do {
|
||||
iVar3 = func_80146A6C(0x12, param_1, *(s16 *)(iVar4 + 6),
|
||||
*(s16 *)(iVar4 + 0xa), *(s16 *)(iVar4 + 0xe),
|
||||
i, 0);
|
||||
if (iVar3 != 0) {
|
||||
*(u16 *)(iVar3 + 0x12) = sp[4];
|
||||
*(u16 *)(iVar3 + 0x16) = sp[5];
|
||||
*(u16 *)(iVar3 + 0x1a) = 0;
|
||||
}
|
||||
i = i + 2;
|
||||
} while (i < 3);
|
||||
goto end;
|
||||
ddb0:
|
||||
if (((D_8018FE30 != *(s16 *)(iVar4 + 6)) || (D_8018FE34 != *(s16 *)(iVar4 + 0xe))) &&
|
||||
(iVar2 = func_800D21C4((s32)param_1, D_80181548, 0x18), iVar2 != 0)) {
|
||||
D_8018FE30 = *(u16 *)(iVar4 + 6);
|
||||
D_8018FE34 = *(u16 *)(iVar4 + 0xe);
|
||||
func_800D1FC8((s32)param_1, 7);
|
||||
*(s32 *)((u8 *)param_1 + 0x20) = iVar2;
|
||||
*(u16 *)(iVar2 + 0x1a) = 0x3000;
|
||||
*(u16 *)(iVar2 + 0x18) = 0x3000;
|
||||
*(u8 *)(iVar2 + 0x26) = 0xff;
|
||||
*(u32 *)(iVar2 + 4) = *(u32 *)(iVar2 + 4) | 0x50000000;
|
||||
func_80128EA8(iVar2, (s32)param_1 + 0x24, (s32)D_80181554);
|
||||
func_80128ED8((void *)iVar2, (void *)((s32)param_1 + 0x24));
|
||||
*(u16 *)((u8 *)param_1 + 2) = *(u16 *)((u8 *)param_1 + 2) + 1;
|
||||
return;
|
||||
}
|
||||
end:
|
||||
((void (*)(s16 *))func_80146C3C)(param_1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern void (*D_80181574[])(void);
|
||||
|
||||
@@ -1345,7 +1345,79 @@ void func_80141874(void) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_016/nonmatchings/ov_SC02_016_jr_8013FFD8", func_801418F8);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern u16 D_80115110;
|
||||
extern u16 D_80115112;
|
||||
extern unsigned short D_80115118;
|
||||
extern volatile u16 D_8011511A;
|
||||
extern s16 D_80115128;
|
||||
extern s32 D_80115130;
|
||||
extern s16 D_801857F4;
|
||||
extern s16 D_801857F6;
|
||||
|
||||
extern void func_800D24A0(s32 a0);
|
||||
extern s32 func_80029178(s32 a0);
|
||||
extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
extern void func_80141C0C(s32 a0);
|
||||
|
||||
void func_801418F8(void)
|
||||
{
|
||||
|
||||
extern s16 D_8011512E;
|
||||
extern u8 D_80115158[];
|
||||
extern s16 D_8011515A;
|
||||
extern u8 D_8011515C;
|
||||
extern s16 D_8011515E;
|
||||
extern s16 D_80115162;
|
||||
extern s16 D_80115166;
|
||||
extern u8 D_80185494;
|
||||
extern u8 D_801854AC;
|
||||
extern u8 D_80185520;
|
||||
extern u8 D_80185528;
|
||||
extern void *D_801B2D50;
|
||||
extern void *D_801B2D54;
|
||||
u16 t;
|
||||
|
||||
func_800D24A0(1);
|
||||
D_8011511A = 2;
|
||||
t = D_8011511A;
|
||||
(*(s16 *)&D_80115118) = 0;
|
||||
D_80115130 = 0;
|
||||
if (t >= 4) {
|
||||
D_8011511A = t - 3;
|
||||
}
|
||||
(*(s16 *)D_80115158) = 0x106;
|
||||
if ((func_80029178(0x1C) & 0xFF) == 0) {
|
||||
D_801B2D50 = &D_80185494;
|
||||
D_801B2D54 = &D_80185520;
|
||||
} else {
|
||||
D_801B2D50 = &D_801854AC;
|
||||
D_801B2D54 = &D_80185528;
|
||||
}
|
||||
D_8011515A = 0x104;
|
||||
(*(s16 *)&D_8011515C) = 0x104;
|
||||
D_8011515E = 0x129;
|
||||
D_80115162 = 0x103;
|
||||
D_80115166 = 0x105;
|
||||
D_80115128 = 0;
|
||||
D_8011512E = 0;
|
||||
if (D_80115110 == 3) {
|
||||
func_8002D4C8(0x46E, 0);
|
||||
} else {
|
||||
func_80141C0C(0);
|
||||
}
|
||||
D_80115128 = 1;
|
||||
D_801857F4 = 0xE;
|
||||
D_801857F6 = 3;
|
||||
D_80115112 = D_80115112 + 1;
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_016/nonmatchings/ov_SC02_016_jr_8013FFD8", func_80141A60);
|
||||
|
||||
|
||||
@@ -3229,7 +3229,93 @@ DEFINE_func_8016DB34() /* dedup: shared engine-core @0x8016DB34 (src/shared) */
|
||||
|
||||
DEFINE_func_8016DBD8() /* dedup: shared engine-core @0x8016DBD8 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_016/nonmatchings/ov_SC02_016_jr_8016AB6C", func_8016DC20);
|
||||
|
||||
extern s32 D_8011D030;
|
||||
|
||||
extern void func_80149374(s32 a0, s32 a1);
|
||||
extern s32 func_801619D0(void *a0);
|
||||
extern s32 func_80146A6C(s32 a0, void *a1, s32 a2, s32 a3, s32 a4, s32 a5, s32 a6);
|
||||
extern void func_800D20C0(void *a0, void *a1, s32 a2);
|
||||
extern void func_800D23D0(void *a0);
|
||||
extern s32 func_800D21C4(s32 a0, void *a1, s32 a2);
|
||||
extern void func_800D1FC8(s32 a0, s32 a1);
|
||||
extern void func_80128EA8(s32 a0, s32 a1, s32 a2);
|
||||
extern s32 func_80128ED8(void *a0, void *a1);
|
||||
extern void func_80146C3C(void);
|
||||
|
||||
void func_8016DC20(s16 *param_1) {
|
||||
|
||||
extern s16 D_801B3A48;
|
||||
extern s16 D_801B3A4C;
|
||||
extern u8 D_80187780[];
|
||||
extern u8 D_8018778C[];
|
||||
u16 *psVar1;
|
||||
s32 iVar2;
|
||||
s32 iVar3;
|
||||
s32 iVar4;
|
||||
s16 i;
|
||||
s16 sp[6];
|
||||
|
||||
i = 0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
iVar4 = *(s32 *)((u8 *)param_1 + 0x34);
|
||||
do {
|
||||
if ((psVar1 != (u16 *)param_1) && (*psVar1 == 0x34)) goto end;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80149374(iVar4, (s32)param_1 + 4);
|
||||
iVar2 = func_801619D0((void *)iVar4);
|
||||
i = 0;
|
||||
if (iVar2 == 0) goto ddb0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
do {
|
||||
if (*psVar1 == 0x11) goto ddb0;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80146A6C(0x11, param_1, *(s16 *)((u8 *)param_1 + 6),
|
||||
(s16)(*(u16 *)((u8 *)param_1 + 0xa) - 8),
|
||||
*(s16 *)((u8 *)param_1 + 0xe), 0, 0);
|
||||
sp[0] = *(u16 *)((u8 *)param_1 + 6);
|
||||
sp[1] = *(u16 *)((u8 *)param_1 + 0xa);
|
||||
sp[2] = *(u16 *)((u8 *)param_1 + 0xe);
|
||||
func_800D20C0(&sp[0], &sp[4], 0);
|
||||
sp[5] = 0;
|
||||
func_800D23D0(&sp[4]);
|
||||
i = 0;
|
||||
do {
|
||||
iVar3 = func_80146A6C(0x12, param_1, *(s16 *)(iVar4 + 6),
|
||||
*(s16 *)(iVar4 + 0xa), *(s16 *)(iVar4 + 0xe),
|
||||
i, 0);
|
||||
if (iVar3 != 0) {
|
||||
*(u16 *)(iVar3 + 0x12) = sp[4];
|
||||
*(u16 *)(iVar3 + 0x16) = sp[5];
|
||||
*(u16 *)(iVar3 + 0x1a) = 0;
|
||||
}
|
||||
i = i + 2;
|
||||
} while (i < 3);
|
||||
goto end;
|
||||
ddb0:
|
||||
if (((D_801B3A48 != *(s16 *)(iVar4 + 6)) || (D_801B3A4C != *(s16 *)(iVar4 + 0xe))) &&
|
||||
(iVar2 = func_800D21C4((s32)param_1, D_80187780, 0x18), iVar2 != 0)) {
|
||||
D_801B3A48 = *(u16 *)(iVar4 + 6);
|
||||
D_801B3A4C = *(u16 *)(iVar4 + 0xe);
|
||||
func_800D1FC8((s32)param_1, 7);
|
||||
*(s32 *)((u8 *)param_1 + 0x20) = iVar2;
|
||||
*(u16 *)(iVar2 + 0x1a) = 0x3000;
|
||||
*(u16 *)(iVar2 + 0x18) = 0x3000;
|
||||
*(u8 *)(iVar2 + 0x26) = 0xff;
|
||||
*(u32 *)(iVar2 + 4) = *(u32 *)(iVar2 + 4) | 0x50000000;
|
||||
func_80128EA8(iVar2, (s32)param_1 + 0x24, (s32)D_8018778C);
|
||||
func_80128ED8((void *)iVar2, (void *)((s32)param_1 + 0x24));
|
||||
*(u16 *)((u8 *)param_1 + 2) = *(u16 *)((u8 *)param_1 + 2) + 1;
|
||||
return;
|
||||
}
|
||||
end:
|
||||
((void (*)(s16 *))func_80146C3C)(param_1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern void (*D_801877AC[])(void);
|
||||
|
||||
@@ -1345,7 +1345,79 @@ void func_80141874(void) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_017/nonmatchings/ov_SC02_017_jr_8013FFD8", func_801418F8);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern u16 D_80115110;
|
||||
extern u16 D_80115112;
|
||||
extern unsigned short D_80115118;
|
||||
extern volatile u16 D_8011511A;
|
||||
extern s16 D_80115128;
|
||||
extern s32 D_80115130;
|
||||
extern s16 D_8018B84C;
|
||||
extern s16 D_8018B84E;
|
||||
|
||||
extern void func_800D24A0(s32 a0);
|
||||
extern s32 func_80029178(s32 a0);
|
||||
extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
extern void func_80141C0C(s32 a0);
|
||||
|
||||
void func_801418F8(void)
|
||||
{
|
||||
|
||||
extern s16 D_8011512E;
|
||||
extern u8 D_80115158[];
|
||||
extern s16 D_8011515A;
|
||||
extern u8 D_8011515C;
|
||||
extern s16 D_8011515E;
|
||||
extern s16 D_80115162;
|
||||
extern s16 D_80115166;
|
||||
extern u8 D_8018B4EC;
|
||||
extern u8 D_8018B504;
|
||||
extern u8 D_8018B578;
|
||||
extern u8 D_8018B580;
|
||||
extern void *D_801EE578;
|
||||
extern void *D_801EE57C;
|
||||
u16 t;
|
||||
|
||||
func_800D24A0(1);
|
||||
D_8011511A = 2;
|
||||
t = D_8011511A;
|
||||
(*(s16 *)&D_80115118) = 0;
|
||||
D_80115130 = 0;
|
||||
if (t >= 4) {
|
||||
D_8011511A = t - 3;
|
||||
}
|
||||
(*(s16 *)D_80115158) = 0x106;
|
||||
if ((func_80029178(0x1C) & 0xFF) == 0) {
|
||||
D_801EE578 = &D_8018B4EC;
|
||||
D_801EE57C = &D_8018B578;
|
||||
} else {
|
||||
D_801EE578 = &D_8018B504;
|
||||
D_801EE57C = &D_8018B580;
|
||||
}
|
||||
D_8011515A = 0x104;
|
||||
(*(s16 *)&D_8011515C) = 0x104;
|
||||
D_8011515E = 0x129;
|
||||
D_80115162 = 0x103;
|
||||
D_80115166 = 0x105;
|
||||
D_80115128 = 0;
|
||||
D_8011512E = 0;
|
||||
if (D_80115110 == 3) {
|
||||
func_8002D4C8(0x46E, 0);
|
||||
} else {
|
||||
func_80141C0C(0);
|
||||
}
|
||||
D_80115128 = 1;
|
||||
D_8018B84C = 0xE;
|
||||
D_8018B84E = 3;
|
||||
D_80115112 = D_80115112 + 1;
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_017/nonmatchings/ov_SC02_017_jr_8013FFD8", func_80141A60);
|
||||
|
||||
|
||||
@@ -3229,7 +3229,93 @@ DEFINE_func_8016DB34() /* dedup: shared engine-core @0x8016DB34 (src/shared) */
|
||||
|
||||
DEFINE_func_8016DBD8() /* dedup: shared engine-core @0x8016DBD8 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_017/nonmatchings/ov_SC02_017_jr_8016AB6C", func_8016DC20);
|
||||
|
||||
extern s32 D_8011D030;
|
||||
|
||||
extern void func_80149374(s32 a0, s32 a1);
|
||||
extern s32 func_801619D0(void *a0);
|
||||
extern s32 func_80146A6C(s32 a0, void *a1, s32 a2, s32 a3, s32 a4, s32 a5, s32 a6);
|
||||
extern void func_800D20C0(void *a0, void *a1, s32 a2);
|
||||
extern void func_800D23D0(void *a0);
|
||||
extern s32 func_800D21C4(s32 a0, void *a1, s32 a2);
|
||||
extern void func_800D1FC8(s32 a0, s32 a1);
|
||||
extern void func_80128EA8(s32 a0, s32 a1, s32 a2);
|
||||
extern s32 func_80128ED8(void *a0, void *a1);
|
||||
extern void func_80146C3C(void);
|
||||
|
||||
void func_8016DC20(s16 *param_1) {
|
||||
|
||||
extern s16 D_801EF270;
|
||||
extern s16 D_801EF274;
|
||||
extern u8 D_8018D7D8[];
|
||||
extern u8 D_8018D7E4[];
|
||||
u16 *psVar1;
|
||||
s32 iVar2;
|
||||
s32 iVar3;
|
||||
s32 iVar4;
|
||||
s16 i;
|
||||
s16 sp[6];
|
||||
|
||||
i = 0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
iVar4 = *(s32 *)((u8 *)param_1 + 0x34);
|
||||
do {
|
||||
if ((psVar1 != (u16 *)param_1) && (*psVar1 == 0x34)) goto end;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80149374(iVar4, (s32)param_1 + 4);
|
||||
iVar2 = func_801619D0((void *)iVar4);
|
||||
i = 0;
|
||||
if (iVar2 == 0) goto ddb0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
do {
|
||||
if (*psVar1 == 0x11) goto ddb0;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80146A6C(0x11, param_1, *(s16 *)((u8 *)param_1 + 6),
|
||||
(s16)(*(u16 *)((u8 *)param_1 + 0xa) - 8),
|
||||
*(s16 *)((u8 *)param_1 + 0xe), 0, 0);
|
||||
sp[0] = *(u16 *)((u8 *)param_1 + 6);
|
||||
sp[1] = *(u16 *)((u8 *)param_1 + 0xa);
|
||||
sp[2] = *(u16 *)((u8 *)param_1 + 0xe);
|
||||
func_800D20C0(&sp[0], &sp[4], 0);
|
||||
sp[5] = 0;
|
||||
func_800D23D0(&sp[4]);
|
||||
i = 0;
|
||||
do {
|
||||
iVar3 = func_80146A6C(0x12, param_1, *(s16 *)(iVar4 + 6),
|
||||
*(s16 *)(iVar4 + 0xa), *(s16 *)(iVar4 + 0xe),
|
||||
i, 0);
|
||||
if (iVar3 != 0) {
|
||||
*(u16 *)(iVar3 + 0x12) = sp[4];
|
||||
*(u16 *)(iVar3 + 0x16) = sp[5];
|
||||
*(u16 *)(iVar3 + 0x1a) = 0;
|
||||
}
|
||||
i = i + 2;
|
||||
} while (i < 3);
|
||||
goto end;
|
||||
ddb0:
|
||||
if (((D_801EF270 != *(s16 *)(iVar4 + 6)) || (D_801EF274 != *(s16 *)(iVar4 + 0xe))) &&
|
||||
(iVar2 = func_800D21C4((s32)param_1, D_8018D7D8, 0x18), iVar2 != 0)) {
|
||||
D_801EF270 = *(u16 *)(iVar4 + 6);
|
||||
D_801EF274 = *(u16 *)(iVar4 + 0xe);
|
||||
func_800D1FC8((s32)param_1, 7);
|
||||
*(s32 *)((u8 *)param_1 + 0x20) = iVar2;
|
||||
*(u16 *)(iVar2 + 0x1a) = 0x3000;
|
||||
*(u16 *)(iVar2 + 0x18) = 0x3000;
|
||||
*(u8 *)(iVar2 + 0x26) = 0xff;
|
||||
*(u32 *)(iVar2 + 4) = *(u32 *)(iVar2 + 4) | 0x50000000;
|
||||
func_80128EA8(iVar2, (s32)param_1 + 0x24, (s32)D_8018D7E4);
|
||||
func_80128ED8((void *)iVar2, (void *)((s32)param_1 + 0x24));
|
||||
*(u16 *)((u8 *)param_1 + 2) = *(u16 *)((u8 *)param_1 + 2) + 1;
|
||||
return;
|
||||
}
|
||||
end:
|
||||
((void (*)(s16 *))func_80146C3C)(param_1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern void (*D_8018D804[])(void);
|
||||
|
||||
@@ -1345,7 +1345,79 @@ void func_80141874(void) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_021/nonmatchings/ov_SC02_021_jr_8013FFD8", func_801418F8);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern u16 D_80115110;
|
||||
extern u16 D_80115112;
|
||||
extern unsigned short D_80115118;
|
||||
extern volatile u16 D_8011511A;
|
||||
extern s16 D_80115128;
|
||||
extern s32 D_80115130;
|
||||
extern s16 D_80180E40;
|
||||
extern s16 D_80180E42;
|
||||
|
||||
extern void func_800D24A0(s32 a0);
|
||||
extern s32 func_80029178(s32 a0);
|
||||
extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
extern void func_80141C0C(s32 a0);
|
||||
|
||||
void func_801418F8(void)
|
||||
{
|
||||
|
||||
extern s16 D_8011512E;
|
||||
extern u8 D_80115158[];
|
||||
extern s16 D_8011515A;
|
||||
extern u8 D_8011515C;
|
||||
extern s16 D_8011515E;
|
||||
extern s16 D_80115162;
|
||||
extern s16 D_80115166;
|
||||
extern u8 D_80180AE0;
|
||||
extern u8 D_80180AF8;
|
||||
extern u8 D_80180B6C;
|
||||
extern u8 D_80180B74;
|
||||
extern void *D_80191AE8;
|
||||
extern void *D_80191AEC;
|
||||
u16 t;
|
||||
|
||||
func_800D24A0(1);
|
||||
D_8011511A = 2;
|
||||
t = D_8011511A;
|
||||
(*(s16 *)&D_80115118) = 0;
|
||||
D_80115130 = 0;
|
||||
if (t >= 4) {
|
||||
D_8011511A = t - 3;
|
||||
}
|
||||
(*(s16 *)D_80115158) = 0x106;
|
||||
if ((func_80029178(0x1C) & 0xFF) == 0) {
|
||||
D_80191AE8 = &D_80180AE0;
|
||||
D_80191AEC = &D_80180B6C;
|
||||
} else {
|
||||
D_80191AE8 = &D_80180AF8;
|
||||
D_80191AEC = &D_80180B74;
|
||||
}
|
||||
D_8011515A = 0x104;
|
||||
(*(s16 *)&D_8011515C) = 0x104;
|
||||
D_8011515E = 0x129;
|
||||
D_80115162 = 0x103;
|
||||
D_80115166 = 0x105;
|
||||
D_80115128 = 0;
|
||||
D_8011512E = 0;
|
||||
if (D_80115110 == 3) {
|
||||
func_8002D4C8(0x46E, 0);
|
||||
} else {
|
||||
func_80141C0C(0);
|
||||
}
|
||||
D_80115128 = 1;
|
||||
D_80180E40 = 0xE;
|
||||
D_80180E42 = 3;
|
||||
D_80115112 = D_80115112 + 1;
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_021/nonmatchings/ov_SC02_021_jr_8013FFD8", func_80141A60);
|
||||
|
||||
|
||||
@@ -3229,7 +3229,93 @@ DEFINE_func_8016DB34() /* dedup: shared engine-core @0x8016DB34 (src/shared) */
|
||||
|
||||
DEFINE_func_8016DBD8() /* dedup: shared engine-core @0x8016DBD8 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_021/nonmatchings/ov_SC02_021_jr_8016AB6C", func_8016DC20);
|
||||
|
||||
extern s32 D_8011D030;
|
||||
|
||||
extern void func_80149374(s32 a0, s32 a1);
|
||||
extern s32 func_801619D0(void *a0);
|
||||
extern s32 func_80146A6C(s32 a0, void *a1, s32 a2, s32 a3, s32 a4, s32 a5, s32 a6);
|
||||
extern void func_800D20C0(void *a0, void *a1, s32 a2);
|
||||
extern void func_800D23D0(void *a0);
|
||||
extern s32 func_800D21C4(s32 a0, void *a1, s32 a2);
|
||||
extern void func_800D1FC8(s32 a0, s32 a1);
|
||||
extern void func_80128EA8(s32 a0, s32 a1, s32 a2);
|
||||
extern s32 func_80128ED8(void *a0, void *a1);
|
||||
extern void func_80146C3C(void);
|
||||
|
||||
void func_8016DC20(s16 *param_1) {
|
||||
|
||||
extern s16 D_801927E0;
|
||||
extern s16 D_801927E4;
|
||||
extern u8 D_80182DCC[];
|
||||
extern u8 D_80182DD8[];
|
||||
u16 *psVar1;
|
||||
s32 iVar2;
|
||||
s32 iVar3;
|
||||
s32 iVar4;
|
||||
s16 i;
|
||||
s16 sp[6];
|
||||
|
||||
i = 0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
iVar4 = *(s32 *)((u8 *)param_1 + 0x34);
|
||||
do {
|
||||
if ((psVar1 != (u16 *)param_1) && (*psVar1 == 0x34)) goto end;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80149374(iVar4, (s32)param_1 + 4);
|
||||
iVar2 = func_801619D0((void *)iVar4);
|
||||
i = 0;
|
||||
if (iVar2 == 0) goto ddb0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
do {
|
||||
if (*psVar1 == 0x11) goto ddb0;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80146A6C(0x11, param_1, *(s16 *)((u8 *)param_1 + 6),
|
||||
(s16)(*(u16 *)((u8 *)param_1 + 0xa) - 8),
|
||||
*(s16 *)((u8 *)param_1 + 0xe), 0, 0);
|
||||
sp[0] = *(u16 *)((u8 *)param_1 + 6);
|
||||
sp[1] = *(u16 *)((u8 *)param_1 + 0xa);
|
||||
sp[2] = *(u16 *)((u8 *)param_1 + 0xe);
|
||||
func_800D20C0(&sp[0], &sp[4], 0);
|
||||
sp[5] = 0;
|
||||
func_800D23D0(&sp[4]);
|
||||
i = 0;
|
||||
do {
|
||||
iVar3 = func_80146A6C(0x12, param_1, *(s16 *)(iVar4 + 6),
|
||||
*(s16 *)(iVar4 + 0xa), *(s16 *)(iVar4 + 0xe),
|
||||
i, 0);
|
||||
if (iVar3 != 0) {
|
||||
*(u16 *)(iVar3 + 0x12) = sp[4];
|
||||
*(u16 *)(iVar3 + 0x16) = sp[5];
|
||||
*(u16 *)(iVar3 + 0x1a) = 0;
|
||||
}
|
||||
i = i + 2;
|
||||
} while (i < 3);
|
||||
goto end;
|
||||
ddb0:
|
||||
if (((D_801927E0 != *(s16 *)(iVar4 + 6)) || (D_801927E4 != *(s16 *)(iVar4 + 0xe))) &&
|
||||
(iVar2 = func_800D21C4((s32)param_1, D_80182DCC, 0x18), iVar2 != 0)) {
|
||||
D_801927E0 = *(u16 *)(iVar4 + 6);
|
||||
D_801927E4 = *(u16 *)(iVar4 + 0xe);
|
||||
func_800D1FC8((s32)param_1, 7);
|
||||
*(s32 *)((u8 *)param_1 + 0x20) = iVar2;
|
||||
*(u16 *)(iVar2 + 0x1a) = 0x3000;
|
||||
*(u16 *)(iVar2 + 0x18) = 0x3000;
|
||||
*(u8 *)(iVar2 + 0x26) = 0xff;
|
||||
*(u32 *)(iVar2 + 4) = *(u32 *)(iVar2 + 4) | 0x50000000;
|
||||
func_80128EA8(iVar2, (s32)param_1 + 0x24, (s32)D_80182DD8);
|
||||
func_80128ED8((void *)iVar2, (void *)((s32)param_1 + 0x24));
|
||||
*(u16 *)((u8 *)param_1 + 2) = *(u16 *)((u8 *)param_1 + 2) + 1;
|
||||
return;
|
||||
}
|
||||
end:
|
||||
((void (*)(s16 *))func_80146C3C)(param_1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern void (*D_80182DF8[])(void);
|
||||
|
||||
@@ -1345,7 +1345,79 @@ void func_80141874(void) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_026/nonmatchings/ov_SC02_026_jr_8013FFD8", func_801418F8);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern u16 D_80115110;
|
||||
extern u16 D_80115112;
|
||||
extern unsigned short D_80115118;
|
||||
extern volatile u16 D_8011511A;
|
||||
extern s16 D_80115128;
|
||||
extern s32 D_80115130;
|
||||
extern s16 D_80187494;
|
||||
extern s16 D_80187496;
|
||||
|
||||
extern void func_800D24A0(s32 a0);
|
||||
extern s32 func_80029178(s32 a0);
|
||||
extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
extern void func_80141C0C(s32 a0);
|
||||
|
||||
void func_801418F8(void)
|
||||
{
|
||||
|
||||
extern s16 D_8011512E;
|
||||
extern u8 D_80115158[];
|
||||
extern s16 D_8011515A;
|
||||
extern u8 D_8011515C;
|
||||
extern s16 D_8011515E;
|
||||
extern s16 D_80115162;
|
||||
extern s16 D_80115166;
|
||||
extern u8 D_80187134;
|
||||
extern u8 D_8018714C;
|
||||
extern u8 D_801871C0;
|
||||
extern u8 D_801871C8;
|
||||
extern void *D_801CEF28;
|
||||
extern void *D_801CEF2C;
|
||||
u16 t;
|
||||
|
||||
func_800D24A0(1);
|
||||
D_8011511A = 2;
|
||||
t = D_8011511A;
|
||||
(*(s16 *)&D_80115118) = 0;
|
||||
D_80115130 = 0;
|
||||
if (t >= 4) {
|
||||
D_8011511A = t - 3;
|
||||
}
|
||||
(*(s16 *)D_80115158) = 0x106;
|
||||
if ((func_80029178(0x1C) & 0xFF) == 0) {
|
||||
D_801CEF28 = &D_80187134;
|
||||
D_801CEF2C = &D_801871C0;
|
||||
} else {
|
||||
D_801CEF28 = &D_8018714C;
|
||||
D_801CEF2C = &D_801871C8;
|
||||
}
|
||||
D_8011515A = 0x104;
|
||||
(*(s16 *)&D_8011515C) = 0x104;
|
||||
D_8011515E = 0x129;
|
||||
D_80115162 = 0x103;
|
||||
D_80115166 = 0x105;
|
||||
D_80115128 = 0;
|
||||
D_8011512E = 0;
|
||||
if (D_80115110 == 3) {
|
||||
func_8002D4C8(0x46E, 0);
|
||||
} else {
|
||||
func_80141C0C(0);
|
||||
}
|
||||
D_80115128 = 1;
|
||||
D_80187494 = 0xE;
|
||||
D_80187496 = 3;
|
||||
D_80115112 = D_80115112 + 1;
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_026/nonmatchings/ov_SC02_026_jr_8013FFD8", func_80141A60);
|
||||
|
||||
|
||||
@@ -3229,7 +3229,93 @@ DEFINE_func_8016DB34() /* dedup: shared engine-core @0x8016DB34 (src/shared) */
|
||||
|
||||
DEFINE_func_8016DBD8() /* dedup: shared engine-core @0x8016DBD8 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_026/nonmatchings/ov_SC02_026_jr_8016AB6C", func_8016DC20);
|
||||
|
||||
extern s32 D_8011D030;
|
||||
|
||||
extern void func_80149374(s32 a0, s32 a1);
|
||||
extern s32 func_801619D0(void *a0);
|
||||
extern s32 func_80146A6C(s32 a0, void *a1, s32 a2, s32 a3, s32 a4, s32 a5, s32 a6);
|
||||
extern void func_800D20C0(void *a0, void *a1, s32 a2);
|
||||
extern void func_800D23D0(void *a0);
|
||||
extern s32 func_800D21C4(s32 a0, void *a1, s32 a2);
|
||||
extern void func_800D1FC8(s32 a0, s32 a1);
|
||||
extern void func_80128EA8(s32 a0, s32 a1, s32 a2);
|
||||
extern s32 func_80128ED8(void *a0, void *a1);
|
||||
extern void func_80146C3C(void);
|
||||
|
||||
void func_8016DC20(s16 *param_1) {
|
||||
|
||||
extern s16 D_801CFC20;
|
||||
extern s16 D_801CFC24;
|
||||
extern u8 D_80189420[];
|
||||
extern u8 D_8018942C[];
|
||||
u16 *psVar1;
|
||||
s32 iVar2;
|
||||
s32 iVar3;
|
||||
s32 iVar4;
|
||||
s16 i;
|
||||
s16 sp[6];
|
||||
|
||||
i = 0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
iVar4 = *(s32 *)((u8 *)param_1 + 0x34);
|
||||
do {
|
||||
if ((psVar1 != (u16 *)param_1) && (*psVar1 == 0x34)) goto end;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80149374(iVar4, (s32)param_1 + 4);
|
||||
iVar2 = func_801619D0((void *)iVar4);
|
||||
i = 0;
|
||||
if (iVar2 == 0) goto ddb0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
do {
|
||||
if (*psVar1 == 0x11) goto ddb0;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80146A6C(0x11, param_1, *(s16 *)((u8 *)param_1 + 6),
|
||||
(s16)(*(u16 *)((u8 *)param_1 + 0xa) - 8),
|
||||
*(s16 *)((u8 *)param_1 + 0xe), 0, 0);
|
||||
sp[0] = *(u16 *)((u8 *)param_1 + 6);
|
||||
sp[1] = *(u16 *)((u8 *)param_1 + 0xa);
|
||||
sp[2] = *(u16 *)((u8 *)param_1 + 0xe);
|
||||
func_800D20C0(&sp[0], &sp[4], 0);
|
||||
sp[5] = 0;
|
||||
func_800D23D0(&sp[4]);
|
||||
i = 0;
|
||||
do {
|
||||
iVar3 = func_80146A6C(0x12, param_1, *(s16 *)(iVar4 + 6),
|
||||
*(s16 *)(iVar4 + 0xa), *(s16 *)(iVar4 + 0xe),
|
||||
i, 0);
|
||||
if (iVar3 != 0) {
|
||||
*(u16 *)(iVar3 + 0x12) = sp[4];
|
||||
*(u16 *)(iVar3 + 0x16) = sp[5];
|
||||
*(u16 *)(iVar3 + 0x1a) = 0;
|
||||
}
|
||||
i = i + 2;
|
||||
} while (i < 3);
|
||||
goto end;
|
||||
ddb0:
|
||||
if (((D_801CFC20 != *(s16 *)(iVar4 + 6)) || (D_801CFC24 != *(s16 *)(iVar4 + 0xe))) &&
|
||||
(iVar2 = func_800D21C4((s32)param_1, D_80189420, 0x18), iVar2 != 0)) {
|
||||
D_801CFC20 = *(u16 *)(iVar4 + 6);
|
||||
D_801CFC24 = *(u16 *)(iVar4 + 0xe);
|
||||
func_800D1FC8((s32)param_1, 7);
|
||||
*(s32 *)((u8 *)param_1 + 0x20) = iVar2;
|
||||
*(u16 *)(iVar2 + 0x1a) = 0x3000;
|
||||
*(u16 *)(iVar2 + 0x18) = 0x3000;
|
||||
*(u8 *)(iVar2 + 0x26) = 0xff;
|
||||
*(u32 *)(iVar2 + 4) = *(u32 *)(iVar2 + 4) | 0x50000000;
|
||||
func_80128EA8(iVar2, (s32)param_1 + 0x24, (s32)D_8018942C);
|
||||
func_80128ED8((void *)iVar2, (void *)((s32)param_1 + 0x24));
|
||||
*(u16 *)((u8 *)param_1 + 2) = *(u16 *)((u8 *)param_1 + 2) + 1;
|
||||
return;
|
||||
}
|
||||
end:
|
||||
((void (*)(s16 *))func_80146C3C)(param_1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern void (*D_8018944C[])(void);
|
||||
|
||||
@@ -1345,7 +1345,79 @@ void func_80141874(void) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_027/nonmatchings/ov_SC02_027_jr_8013FFD8", func_801418F8);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern u16 D_80115110;
|
||||
extern u16 D_80115112;
|
||||
extern unsigned short D_80115118;
|
||||
extern volatile u16 D_8011511A;
|
||||
extern s16 D_80115128;
|
||||
extern s32 D_80115130;
|
||||
extern s16 D_8018C5B8;
|
||||
extern s16 D_8018C5BA;
|
||||
|
||||
extern void func_800D24A0(s32 a0);
|
||||
extern s32 func_80029178(s32 a0);
|
||||
extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
extern void func_80141C0C(s32 a0);
|
||||
|
||||
void func_801418F8(void)
|
||||
{
|
||||
|
||||
extern s16 D_8011512E;
|
||||
extern u8 D_80115158[];
|
||||
extern s16 D_8011515A;
|
||||
extern u8 D_8011515C;
|
||||
extern s16 D_8011515E;
|
||||
extern s16 D_80115162;
|
||||
extern s16 D_80115166;
|
||||
extern u8 D_8018C258;
|
||||
extern u8 D_8018C270;
|
||||
extern u8 D_8018C2E4;
|
||||
extern u8 D_8018C2EC;
|
||||
extern void *D_801D8C98;
|
||||
extern void *D_801D8C9C;
|
||||
u16 t;
|
||||
|
||||
func_800D24A0(1);
|
||||
D_8011511A = 2;
|
||||
t = D_8011511A;
|
||||
(*(s16 *)&D_80115118) = 0;
|
||||
D_80115130 = 0;
|
||||
if (t >= 4) {
|
||||
D_8011511A = t - 3;
|
||||
}
|
||||
(*(s16 *)D_80115158) = 0x106;
|
||||
if ((func_80029178(0x1C) & 0xFF) == 0) {
|
||||
D_801D8C98 = &D_8018C258;
|
||||
D_801D8C9C = &D_8018C2E4;
|
||||
} else {
|
||||
D_801D8C98 = &D_8018C270;
|
||||
D_801D8C9C = &D_8018C2EC;
|
||||
}
|
||||
D_8011515A = 0x104;
|
||||
(*(s16 *)&D_8011515C) = 0x104;
|
||||
D_8011515E = 0x129;
|
||||
D_80115162 = 0x103;
|
||||
D_80115166 = 0x105;
|
||||
D_80115128 = 0;
|
||||
D_8011512E = 0;
|
||||
if (D_80115110 == 3) {
|
||||
func_8002D4C8(0x46E, 0);
|
||||
} else {
|
||||
func_80141C0C(0);
|
||||
}
|
||||
D_80115128 = 1;
|
||||
D_8018C5B8 = 0xE;
|
||||
D_8018C5BA = 3;
|
||||
D_80115112 = D_80115112 + 1;
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_027/nonmatchings/ov_SC02_027_jr_8013FFD8", func_80141A60);
|
||||
|
||||
|
||||
@@ -3229,7 +3229,93 @@ DEFINE_func_8016DB34() /* dedup: shared engine-core @0x8016DB34 (src/shared) */
|
||||
|
||||
DEFINE_func_8016DBD8() /* dedup: shared engine-core @0x8016DBD8 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_027/nonmatchings/ov_SC02_027_jr_8016AB6C", func_8016DC20);
|
||||
|
||||
extern s32 D_8011D030;
|
||||
|
||||
extern void func_80149374(s32 a0, s32 a1);
|
||||
extern s32 func_801619D0(void *a0);
|
||||
extern s32 func_80146A6C(s32 a0, void *a1, s32 a2, s32 a3, s32 a4, s32 a5, s32 a6);
|
||||
extern void func_800D20C0(void *a0, void *a1, s32 a2);
|
||||
extern void func_800D23D0(void *a0);
|
||||
extern s32 func_800D21C4(s32 a0, void *a1, s32 a2);
|
||||
extern void func_800D1FC8(s32 a0, s32 a1);
|
||||
extern void func_80128EA8(s32 a0, s32 a1, s32 a2);
|
||||
extern s32 func_80128ED8(void *a0, void *a1);
|
||||
extern void func_80146C3C(void);
|
||||
|
||||
void func_8016DC20(s16 *param_1) {
|
||||
|
||||
extern s16 D_801D9990;
|
||||
extern s16 D_801D9994;
|
||||
extern u8 D_8018E544[];
|
||||
extern u8 D_8018E550[];
|
||||
u16 *psVar1;
|
||||
s32 iVar2;
|
||||
s32 iVar3;
|
||||
s32 iVar4;
|
||||
s16 i;
|
||||
s16 sp[6];
|
||||
|
||||
i = 0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
iVar4 = *(s32 *)((u8 *)param_1 + 0x34);
|
||||
do {
|
||||
if ((psVar1 != (u16 *)param_1) && (*psVar1 == 0x34)) goto end;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80149374(iVar4, (s32)param_1 + 4);
|
||||
iVar2 = func_801619D0((void *)iVar4);
|
||||
i = 0;
|
||||
if (iVar2 == 0) goto ddb0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
do {
|
||||
if (*psVar1 == 0x11) goto ddb0;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80146A6C(0x11, param_1, *(s16 *)((u8 *)param_1 + 6),
|
||||
(s16)(*(u16 *)((u8 *)param_1 + 0xa) - 8),
|
||||
*(s16 *)((u8 *)param_1 + 0xe), 0, 0);
|
||||
sp[0] = *(u16 *)((u8 *)param_1 + 6);
|
||||
sp[1] = *(u16 *)((u8 *)param_1 + 0xa);
|
||||
sp[2] = *(u16 *)((u8 *)param_1 + 0xe);
|
||||
func_800D20C0(&sp[0], &sp[4], 0);
|
||||
sp[5] = 0;
|
||||
func_800D23D0(&sp[4]);
|
||||
i = 0;
|
||||
do {
|
||||
iVar3 = func_80146A6C(0x12, param_1, *(s16 *)(iVar4 + 6),
|
||||
*(s16 *)(iVar4 + 0xa), *(s16 *)(iVar4 + 0xe),
|
||||
i, 0);
|
||||
if (iVar3 != 0) {
|
||||
*(u16 *)(iVar3 + 0x12) = sp[4];
|
||||
*(u16 *)(iVar3 + 0x16) = sp[5];
|
||||
*(u16 *)(iVar3 + 0x1a) = 0;
|
||||
}
|
||||
i = i + 2;
|
||||
} while (i < 3);
|
||||
goto end;
|
||||
ddb0:
|
||||
if (((D_801D9990 != *(s16 *)(iVar4 + 6)) || (D_801D9994 != *(s16 *)(iVar4 + 0xe))) &&
|
||||
(iVar2 = func_800D21C4((s32)param_1, D_8018E544, 0x18), iVar2 != 0)) {
|
||||
D_801D9990 = *(u16 *)(iVar4 + 6);
|
||||
D_801D9994 = *(u16 *)(iVar4 + 0xe);
|
||||
func_800D1FC8((s32)param_1, 7);
|
||||
*(s32 *)((u8 *)param_1 + 0x20) = iVar2;
|
||||
*(u16 *)(iVar2 + 0x1a) = 0x3000;
|
||||
*(u16 *)(iVar2 + 0x18) = 0x3000;
|
||||
*(u8 *)(iVar2 + 0x26) = 0xff;
|
||||
*(u32 *)(iVar2 + 4) = *(u32 *)(iVar2 + 4) | 0x50000000;
|
||||
func_80128EA8(iVar2, (s32)param_1 + 0x24, (s32)D_8018E550);
|
||||
func_80128ED8((void *)iVar2, (void *)((s32)param_1 + 0x24));
|
||||
*(u16 *)((u8 *)param_1 + 2) = *(u16 *)((u8 *)param_1 + 2) + 1;
|
||||
return;
|
||||
}
|
||||
end:
|
||||
((void (*)(s16 *))func_80146C3C)(param_1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern void (*D_8018E570[])(void);
|
||||
|
||||
@@ -1345,7 +1345,79 @@ void func_80141874(void) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028_jr_8013FFD8", func_801418F8);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern u16 D_80115110;
|
||||
extern u16 D_80115112;
|
||||
extern unsigned short D_80115118;
|
||||
extern volatile u16 D_8011511A;
|
||||
extern s16 D_80115128;
|
||||
extern s32 D_80115130;
|
||||
extern s16 D_8018C7BC;
|
||||
extern s16 D_8018C7BE;
|
||||
|
||||
extern void func_800D24A0(s32 a0);
|
||||
extern s32 func_80029178(s32 a0);
|
||||
extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
extern void func_80141C0C(s32 a0);
|
||||
|
||||
void func_801418F8(void)
|
||||
{
|
||||
|
||||
extern s16 D_8011512E;
|
||||
extern u8 D_80115158[];
|
||||
extern s16 D_8011515A;
|
||||
extern u8 D_8011515C;
|
||||
extern s16 D_8011515E;
|
||||
extern s16 D_80115162;
|
||||
extern s16 D_80115166;
|
||||
extern u8 D_8018C45C;
|
||||
extern u8 D_8018C474;
|
||||
extern u8 D_8018C4E8;
|
||||
extern u8 D_8018C4F0;
|
||||
extern void *D_801D1C38;
|
||||
extern void *D_801D1C3C;
|
||||
u16 t;
|
||||
|
||||
func_800D24A0(1);
|
||||
D_8011511A = 2;
|
||||
t = D_8011511A;
|
||||
(*(s16 *)&D_80115118) = 0;
|
||||
D_80115130 = 0;
|
||||
if (t >= 4) {
|
||||
D_8011511A = t - 3;
|
||||
}
|
||||
(*(s16 *)D_80115158) = 0x106;
|
||||
if ((func_80029178(0x1C) & 0xFF) == 0) {
|
||||
D_801D1C38 = &D_8018C45C;
|
||||
D_801D1C3C = &D_8018C4E8;
|
||||
} else {
|
||||
D_801D1C38 = &D_8018C474;
|
||||
D_801D1C3C = &D_8018C4F0;
|
||||
}
|
||||
D_8011515A = 0x104;
|
||||
(*(s16 *)&D_8011515C) = 0x104;
|
||||
D_8011515E = 0x129;
|
||||
D_80115162 = 0x103;
|
||||
D_80115166 = 0x105;
|
||||
D_80115128 = 0;
|
||||
D_8011512E = 0;
|
||||
if (D_80115110 == 3) {
|
||||
func_8002D4C8(0x46E, 0);
|
||||
} else {
|
||||
func_80141C0C(0);
|
||||
}
|
||||
D_80115128 = 1;
|
||||
D_8018C7BC = 0xE;
|
||||
D_8018C7BE = 3;
|
||||
D_80115112 = D_80115112 + 1;
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028_jr_8013FFD8", func_80141A60);
|
||||
|
||||
|
||||
@@ -3229,7 +3229,93 @@ DEFINE_func_8016DB34() /* dedup: shared engine-core @0x8016DB34 (src/shared) */
|
||||
|
||||
DEFINE_func_8016DBD8() /* dedup: shared engine-core @0x8016DBD8 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_028/nonmatchings/ov_SC02_028_jr_8016AB6C", func_8016DC20);
|
||||
|
||||
extern s32 D_8011D030;
|
||||
|
||||
extern void func_80149374(s32 a0, s32 a1);
|
||||
extern s32 func_801619D0(void *a0);
|
||||
extern s32 func_80146A6C(s32 a0, void *a1, s32 a2, s32 a3, s32 a4, s32 a5, s32 a6);
|
||||
extern void func_800D20C0(void *a0, void *a1, s32 a2);
|
||||
extern void func_800D23D0(void *a0);
|
||||
extern s32 func_800D21C4(s32 a0, void *a1, s32 a2);
|
||||
extern void func_800D1FC8(s32 a0, s32 a1);
|
||||
extern void func_80128EA8(s32 a0, s32 a1, s32 a2);
|
||||
extern s32 func_80128ED8(void *a0, void *a1);
|
||||
extern void func_80146C3C(void);
|
||||
|
||||
void func_8016DC20(s16 *param_1) {
|
||||
|
||||
extern s16 D_801D2930;
|
||||
extern s16 D_801D2934;
|
||||
extern u8 D_8018E748[];
|
||||
extern u8 D_8018E754[];
|
||||
u16 *psVar1;
|
||||
s32 iVar2;
|
||||
s32 iVar3;
|
||||
s32 iVar4;
|
||||
s16 i;
|
||||
s16 sp[6];
|
||||
|
||||
i = 0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
iVar4 = *(s32 *)((u8 *)param_1 + 0x34);
|
||||
do {
|
||||
if ((psVar1 != (u16 *)param_1) && (*psVar1 == 0x34)) goto end;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80149374(iVar4, (s32)param_1 + 4);
|
||||
iVar2 = func_801619D0((void *)iVar4);
|
||||
i = 0;
|
||||
if (iVar2 == 0) goto ddb0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
do {
|
||||
if (*psVar1 == 0x11) goto ddb0;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80146A6C(0x11, param_1, *(s16 *)((u8 *)param_1 + 6),
|
||||
(s16)(*(u16 *)((u8 *)param_1 + 0xa) - 8),
|
||||
*(s16 *)((u8 *)param_1 + 0xe), 0, 0);
|
||||
sp[0] = *(u16 *)((u8 *)param_1 + 6);
|
||||
sp[1] = *(u16 *)((u8 *)param_1 + 0xa);
|
||||
sp[2] = *(u16 *)((u8 *)param_1 + 0xe);
|
||||
func_800D20C0(&sp[0], &sp[4], 0);
|
||||
sp[5] = 0;
|
||||
func_800D23D0(&sp[4]);
|
||||
i = 0;
|
||||
do {
|
||||
iVar3 = func_80146A6C(0x12, param_1, *(s16 *)(iVar4 + 6),
|
||||
*(s16 *)(iVar4 + 0xa), *(s16 *)(iVar4 + 0xe),
|
||||
i, 0);
|
||||
if (iVar3 != 0) {
|
||||
*(u16 *)(iVar3 + 0x12) = sp[4];
|
||||
*(u16 *)(iVar3 + 0x16) = sp[5];
|
||||
*(u16 *)(iVar3 + 0x1a) = 0;
|
||||
}
|
||||
i = i + 2;
|
||||
} while (i < 3);
|
||||
goto end;
|
||||
ddb0:
|
||||
if (((D_801D2930 != *(s16 *)(iVar4 + 6)) || (D_801D2934 != *(s16 *)(iVar4 + 0xe))) &&
|
||||
(iVar2 = func_800D21C4((s32)param_1, D_8018E748, 0x18), iVar2 != 0)) {
|
||||
D_801D2930 = *(u16 *)(iVar4 + 6);
|
||||
D_801D2934 = *(u16 *)(iVar4 + 0xe);
|
||||
func_800D1FC8((s32)param_1, 7);
|
||||
*(s32 *)((u8 *)param_1 + 0x20) = iVar2;
|
||||
*(u16 *)(iVar2 + 0x1a) = 0x3000;
|
||||
*(u16 *)(iVar2 + 0x18) = 0x3000;
|
||||
*(u8 *)(iVar2 + 0x26) = 0xff;
|
||||
*(u32 *)(iVar2 + 4) = *(u32 *)(iVar2 + 4) | 0x50000000;
|
||||
func_80128EA8(iVar2, (s32)param_1 + 0x24, (s32)D_8018E754);
|
||||
func_80128ED8((void *)iVar2, (void *)((s32)param_1 + 0x24));
|
||||
*(u16 *)((u8 *)param_1 + 2) = *(u16 *)((u8 *)param_1 + 2) + 1;
|
||||
return;
|
||||
}
|
||||
end:
|
||||
((void (*)(s16 *))func_80146C3C)(param_1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern void (*D_8018E774[])(void);
|
||||
|
||||
@@ -1345,7 +1345,79 @@ void func_80141874(void) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_031/nonmatchings/ov_SC02_031_jr_8013FFD8", func_801418F8);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern u16 D_80115110;
|
||||
extern u16 D_80115112;
|
||||
extern unsigned short D_80115118;
|
||||
extern volatile u16 D_8011511A;
|
||||
extern s16 D_80115128;
|
||||
extern s32 D_80115130;
|
||||
extern s16 D_80185FE8;
|
||||
extern s16 D_80185FEA;
|
||||
|
||||
extern void func_800D24A0(s32 a0);
|
||||
extern s32 func_80029178(s32 a0);
|
||||
extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
extern void func_80141C0C(s32 a0);
|
||||
|
||||
void func_801418F8(void)
|
||||
{
|
||||
|
||||
extern s16 D_8011512E;
|
||||
extern u8 D_80115158[];
|
||||
extern s16 D_8011515A;
|
||||
extern u8 D_8011515C;
|
||||
extern s16 D_8011515E;
|
||||
extern s16 D_80115162;
|
||||
extern s16 D_80115166;
|
||||
extern u8 D_80185C88;
|
||||
extern u8 D_80185CA0;
|
||||
extern u8 D_80185D14;
|
||||
extern u8 D_80185D1C;
|
||||
extern void *D_801B63B0;
|
||||
extern void *D_801B63B4;
|
||||
u16 t;
|
||||
|
||||
func_800D24A0(1);
|
||||
D_8011511A = 2;
|
||||
t = D_8011511A;
|
||||
(*(s16 *)&D_80115118) = 0;
|
||||
D_80115130 = 0;
|
||||
if (t >= 4) {
|
||||
D_8011511A = t - 3;
|
||||
}
|
||||
(*(s16 *)D_80115158) = 0x106;
|
||||
if ((func_80029178(0x1C) & 0xFF) == 0) {
|
||||
D_801B63B0 = &D_80185C88;
|
||||
D_801B63B4 = &D_80185D14;
|
||||
} else {
|
||||
D_801B63B0 = &D_80185CA0;
|
||||
D_801B63B4 = &D_80185D1C;
|
||||
}
|
||||
D_8011515A = 0x104;
|
||||
(*(s16 *)&D_8011515C) = 0x104;
|
||||
D_8011515E = 0x129;
|
||||
D_80115162 = 0x103;
|
||||
D_80115166 = 0x105;
|
||||
D_80115128 = 0;
|
||||
D_8011512E = 0;
|
||||
if (D_80115110 == 3) {
|
||||
func_8002D4C8(0x46E, 0);
|
||||
} else {
|
||||
func_80141C0C(0);
|
||||
}
|
||||
D_80115128 = 1;
|
||||
D_80185FE8 = 0xE;
|
||||
D_80185FEA = 3;
|
||||
D_80115112 = D_80115112 + 1;
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_031/nonmatchings/ov_SC02_031_jr_8013FFD8", func_80141A60);
|
||||
|
||||
|
||||
@@ -3229,7 +3229,93 @@ DEFINE_func_8016DB34() /* dedup: shared engine-core @0x8016DB34 (src/shared) */
|
||||
|
||||
DEFINE_func_8016DBD8() /* dedup: shared engine-core @0x8016DBD8 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_031/nonmatchings/ov_SC02_031_jr_8016AB6C", func_8016DC20);
|
||||
|
||||
extern s32 D_8011D030;
|
||||
|
||||
extern void func_80149374(s32 a0, s32 a1);
|
||||
extern s32 func_801619D0(void *a0);
|
||||
extern s32 func_80146A6C(s32 a0, void *a1, s32 a2, s32 a3, s32 a4, s32 a5, s32 a6);
|
||||
extern void func_800D20C0(void *a0, void *a1, s32 a2);
|
||||
extern void func_800D23D0(void *a0);
|
||||
extern s32 func_800D21C4(s32 a0, void *a1, s32 a2);
|
||||
extern void func_800D1FC8(s32 a0, s32 a1);
|
||||
extern void func_80128EA8(s32 a0, s32 a1, s32 a2);
|
||||
extern s32 func_80128ED8(void *a0, void *a1);
|
||||
extern void func_80146C3C(void);
|
||||
|
||||
void func_8016DC20(s16 *param_1) {
|
||||
|
||||
extern s16 D_801B70A8;
|
||||
extern s16 D_801B70AC;
|
||||
extern u8 D_80187F74[];
|
||||
extern u8 D_80187F80[];
|
||||
u16 *psVar1;
|
||||
s32 iVar2;
|
||||
s32 iVar3;
|
||||
s32 iVar4;
|
||||
s16 i;
|
||||
s16 sp[6];
|
||||
|
||||
i = 0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
iVar4 = *(s32 *)((u8 *)param_1 + 0x34);
|
||||
do {
|
||||
if ((psVar1 != (u16 *)param_1) && (*psVar1 == 0x34)) goto end;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80149374(iVar4, (s32)param_1 + 4);
|
||||
iVar2 = func_801619D0((void *)iVar4);
|
||||
i = 0;
|
||||
if (iVar2 == 0) goto ddb0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
do {
|
||||
if (*psVar1 == 0x11) goto ddb0;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80146A6C(0x11, param_1, *(s16 *)((u8 *)param_1 + 6),
|
||||
(s16)(*(u16 *)((u8 *)param_1 + 0xa) - 8),
|
||||
*(s16 *)((u8 *)param_1 + 0xe), 0, 0);
|
||||
sp[0] = *(u16 *)((u8 *)param_1 + 6);
|
||||
sp[1] = *(u16 *)((u8 *)param_1 + 0xa);
|
||||
sp[2] = *(u16 *)((u8 *)param_1 + 0xe);
|
||||
func_800D20C0(&sp[0], &sp[4], 0);
|
||||
sp[5] = 0;
|
||||
func_800D23D0(&sp[4]);
|
||||
i = 0;
|
||||
do {
|
||||
iVar3 = func_80146A6C(0x12, param_1, *(s16 *)(iVar4 + 6),
|
||||
*(s16 *)(iVar4 + 0xa), *(s16 *)(iVar4 + 0xe),
|
||||
i, 0);
|
||||
if (iVar3 != 0) {
|
||||
*(u16 *)(iVar3 + 0x12) = sp[4];
|
||||
*(u16 *)(iVar3 + 0x16) = sp[5];
|
||||
*(u16 *)(iVar3 + 0x1a) = 0;
|
||||
}
|
||||
i = i + 2;
|
||||
} while (i < 3);
|
||||
goto end;
|
||||
ddb0:
|
||||
if (((D_801B70A8 != *(s16 *)(iVar4 + 6)) || (D_801B70AC != *(s16 *)(iVar4 + 0xe))) &&
|
||||
(iVar2 = func_800D21C4((s32)param_1, D_80187F74, 0x18), iVar2 != 0)) {
|
||||
D_801B70A8 = *(u16 *)(iVar4 + 6);
|
||||
D_801B70AC = *(u16 *)(iVar4 + 0xe);
|
||||
func_800D1FC8((s32)param_1, 7);
|
||||
*(s32 *)((u8 *)param_1 + 0x20) = iVar2;
|
||||
*(u16 *)(iVar2 + 0x1a) = 0x3000;
|
||||
*(u16 *)(iVar2 + 0x18) = 0x3000;
|
||||
*(u8 *)(iVar2 + 0x26) = 0xff;
|
||||
*(u32 *)(iVar2 + 4) = *(u32 *)(iVar2 + 4) | 0x50000000;
|
||||
func_80128EA8(iVar2, (s32)param_1 + 0x24, (s32)D_80187F80);
|
||||
func_80128ED8((void *)iVar2, (void *)((s32)param_1 + 0x24));
|
||||
*(u16 *)((u8 *)param_1 + 2) = *(u16 *)((u8 *)param_1 + 2) + 1;
|
||||
return;
|
||||
}
|
||||
end:
|
||||
((void (*)(s16 *))func_80146C3C)(param_1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern void (*D_80187FA0[])(void);
|
||||
|
||||
@@ -1345,7 +1345,79 @@ void func_80141874(void) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_035/nonmatchings/ov_SC02_035_jr_8013FFD8", func_801418F8);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern u16 D_80115110;
|
||||
extern u16 D_80115112;
|
||||
extern unsigned short D_80115118;
|
||||
extern volatile u16 D_8011511A;
|
||||
extern s16 D_80115128;
|
||||
extern s32 D_80115130;
|
||||
extern s16 D_80185848;
|
||||
extern s16 D_8018584A;
|
||||
|
||||
extern void func_800D24A0(s32 a0);
|
||||
extern s32 func_80029178(s32 a0);
|
||||
extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
extern void func_80141C0C(s32 a0);
|
||||
|
||||
void func_801418F8(void)
|
||||
{
|
||||
|
||||
extern s16 D_8011512E;
|
||||
extern u8 D_80115158[];
|
||||
extern s16 D_8011515A;
|
||||
extern u8 D_8011515C;
|
||||
extern s16 D_8011515E;
|
||||
extern s16 D_80115162;
|
||||
extern s16 D_80115166;
|
||||
extern u8 D_801854E8;
|
||||
extern u8 D_80185500;
|
||||
extern u8 D_80185574;
|
||||
extern u8 D_8018557C;
|
||||
extern void *D_801BD6E0;
|
||||
extern void *D_801BD6E4;
|
||||
u16 t;
|
||||
|
||||
func_800D24A0(1);
|
||||
D_8011511A = 2;
|
||||
t = D_8011511A;
|
||||
(*(s16 *)&D_80115118) = 0;
|
||||
D_80115130 = 0;
|
||||
if (t >= 4) {
|
||||
D_8011511A = t - 3;
|
||||
}
|
||||
(*(s16 *)D_80115158) = 0x106;
|
||||
if ((func_80029178(0x1C) & 0xFF) == 0) {
|
||||
D_801BD6E0 = &D_801854E8;
|
||||
D_801BD6E4 = &D_80185574;
|
||||
} else {
|
||||
D_801BD6E0 = &D_80185500;
|
||||
D_801BD6E4 = &D_8018557C;
|
||||
}
|
||||
D_8011515A = 0x104;
|
||||
(*(s16 *)&D_8011515C) = 0x104;
|
||||
D_8011515E = 0x129;
|
||||
D_80115162 = 0x103;
|
||||
D_80115166 = 0x105;
|
||||
D_80115128 = 0;
|
||||
D_8011512E = 0;
|
||||
if (D_80115110 == 3) {
|
||||
func_8002D4C8(0x46E, 0);
|
||||
} else {
|
||||
func_80141C0C(0);
|
||||
}
|
||||
D_80115128 = 1;
|
||||
D_80185848 = 0xE;
|
||||
D_8018584A = 3;
|
||||
D_80115112 = D_80115112 + 1;
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_035/nonmatchings/ov_SC02_035_jr_8013FFD8", func_80141A60);
|
||||
|
||||
|
||||
@@ -3229,7 +3229,93 @@ DEFINE_func_8016DB34() /* dedup: shared engine-core @0x8016DB34 (src/shared) */
|
||||
|
||||
DEFINE_func_8016DBD8() /* dedup: shared engine-core @0x8016DBD8 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_035/nonmatchings/ov_SC02_035_jr_8016AB6C", func_8016DC20);
|
||||
|
||||
extern s32 D_8011D030;
|
||||
|
||||
extern void func_80149374(s32 a0, s32 a1);
|
||||
extern s32 func_801619D0(void *a0);
|
||||
extern s32 func_80146A6C(s32 a0, void *a1, s32 a2, s32 a3, s32 a4, s32 a5, s32 a6);
|
||||
extern void func_800D20C0(void *a0, void *a1, s32 a2);
|
||||
extern void func_800D23D0(void *a0);
|
||||
extern s32 func_800D21C4(s32 a0, void *a1, s32 a2);
|
||||
extern void func_800D1FC8(s32 a0, s32 a1);
|
||||
extern void func_80128EA8(s32 a0, s32 a1, s32 a2);
|
||||
extern s32 func_80128ED8(void *a0, void *a1);
|
||||
extern void func_80146C3C(void);
|
||||
|
||||
void func_8016DC20(s16 *param_1) {
|
||||
|
||||
extern s16 D_801BE3D8;
|
||||
extern s16 D_801BE3DC;
|
||||
extern u8 D_801877D4[];
|
||||
extern u8 D_801877E0[];
|
||||
u16 *psVar1;
|
||||
s32 iVar2;
|
||||
s32 iVar3;
|
||||
s32 iVar4;
|
||||
s16 i;
|
||||
s16 sp[6];
|
||||
|
||||
i = 0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
iVar4 = *(s32 *)((u8 *)param_1 + 0x34);
|
||||
do {
|
||||
if ((psVar1 != (u16 *)param_1) && (*psVar1 == 0x34)) goto end;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80149374(iVar4, (s32)param_1 + 4);
|
||||
iVar2 = func_801619D0((void *)iVar4);
|
||||
i = 0;
|
||||
if (iVar2 == 0) goto ddb0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
do {
|
||||
if (*psVar1 == 0x11) goto ddb0;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80146A6C(0x11, param_1, *(s16 *)((u8 *)param_1 + 6),
|
||||
(s16)(*(u16 *)((u8 *)param_1 + 0xa) - 8),
|
||||
*(s16 *)((u8 *)param_1 + 0xe), 0, 0);
|
||||
sp[0] = *(u16 *)((u8 *)param_1 + 6);
|
||||
sp[1] = *(u16 *)((u8 *)param_1 + 0xa);
|
||||
sp[2] = *(u16 *)((u8 *)param_1 + 0xe);
|
||||
func_800D20C0(&sp[0], &sp[4], 0);
|
||||
sp[5] = 0;
|
||||
func_800D23D0(&sp[4]);
|
||||
i = 0;
|
||||
do {
|
||||
iVar3 = func_80146A6C(0x12, param_1, *(s16 *)(iVar4 + 6),
|
||||
*(s16 *)(iVar4 + 0xa), *(s16 *)(iVar4 + 0xe),
|
||||
i, 0);
|
||||
if (iVar3 != 0) {
|
||||
*(u16 *)(iVar3 + 0x12) = sp[4];
|
||||
*(u16 *)(iVar3 + 0x16) = sp[5];
|
||||
*(u16 *)(iVar3 + 0x1a) = 0;
|
||||
}
|
||||
i = i + 2;
|
||||
} while (i < 3);
|
||||
goto end;
|
||||
ddb0:
|
||||
if (((D_801BE3D8 != *(s16 *)(iVar4 + 6)) || (D_801BE3DC != *(s16 *)(iVar4 + 0xe))) &&
|
||||
(iVar2 = func_800D21C4((s32)param_1, D_801877D4, 0x18), iVar2 != 0)) {
|
||||
D_801BE3D8 = *(u16 *)(iVar4 + 6);
|
||||
D_801BE3DC = *(u16 *)(iVar4 + 0xe);
|
||||
func_800D1FC8((s32)param_1, 7);
|
||||
*(s32 *)((u8 *)param_1 + 0x20) = iVar2;
|
||||
*(u16 *)(iVar2 + 0x1a) = 0x3000;
|
||||
*(u16 *)(iVar2 + 0x18) = 0x3000;
|
||||
*(u8 *)(iVar2 + 0x26) = 0xff;
|
||||
*(u32 *)(iVar2 + 4) = *(u32 *)(iVar2 + 4) | 0x50000000;
|
||||
func_80128EA8(iVar2, (s32)param_1 + 0x24, (s32)D_801877E0);
|
||||
func_80128ED8((void *)iVar2, (void *)((s32)param_1 + 0x24));
|
||||
*(u16 *)((u8 *)param_1 + 2) = *(u16 *)((u8 *)param_1 + 2) + 1;
|
||||
return;
|
||||
}
|
||||
end:
|
||||
((void (*)(s16 *))func_80146C3C)(param_1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern void (*D_80187800[])(void);
|
||||
|
||||
@@ -1342,7 +1342,79 @@ void func_80141874(void) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_039/nonmatchings/ov_SC02_039_jr_8013FFD8", func_801418F8);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern u16 D_80115110;
|
||||
extern u16 D_80115112;
|
||||
extern unsigned short D_80115118;
|
||||
extern volatile u16 D_8011511A;
|
||||
extern s16 D_80115128;
|
||||
extern s32 D_80115130;
|
||||
extern s16 D_80180474;
|
||||
extern s16 D_80180476;
|
||||
|
||||
extern void func_800D24A0(s32 a0);
|
||||
extern s32 func_80029178(s32 a0);
|
||||
extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
extern void func_80141C0C(s32 a0);
|
||||
|
||||
void func_801418F8(void)
|
||||
{
|
||||
|
||||
extern s16 D_8011512E;
|
||||
extern u8 D_80115158[];
|
||||
extern s16 D_8011515A;
|
||||
extern u8 D_8011515C;
|
||||
extern s16 D_8011515E;
|
||||
extern s16 D_80115162;
|
||||
extern s16 D_80115166;
|
||||
extern u8 D_80180114;
|
||||
extern u8 D_8018012C;
|
||||
extern u8 D_801801A0;
|
||||
extern u8 D_801801A8;
|
||||
extern void *D_8019FA90;
|
||||
extern void *D_8019FA94;
|
||||
u16 t;
|
||||
|
||||
func_800D24A0(1);
|
||||
D_8011511A = 2;
|
||||
t = D_8011511A;
|
||||
(*(s16 *)&D_80115118) = 0;
|
||||
D_80115130 = 0;
|
||||
if (t >= 4) {
|
||||
D_8011511A = t - 3;
|
||||
}
|
||||
(*(s16 *)D_80115158) = 0x106;
|
||||
if ((func_80029178(0x1C) & 0xFF) == 0) {
|
||||
D_8019FA90 = &D_80180114;
|
||||
D_8019FA94 = &D_801801A0;
|
||||
} else {
|
||||
D_8019FA90 = &D_8018012C;
|
||||
D_8019FA94 = &D_801801A8;
|
||||
}
|
||||
D_8011515A = 0x104;
|
||||
(*(s16 *)&D_8011515C) = 0x104;
|
||||
D_8011515E = 0x129;
|
||||
D_80115162 = 0x103;
|
||||
D_80115166 = 0x105;
|
||||
D_80115128 = 0;
|
||||
D_8011512E = 0;
|
||||
if (D_80115110 == 3) {
|
||||
func_8002D4C8(0x46E, 0);
|
||||
} else {
|
||||
func_80141C0C(0);
|
||||
}
|
||||
D_80115128 = 1;
|
||||
D_80180474 = 0xE;
|
||||
D_80180476 = 3;
|
||||
D_80115112 = D_80115112 + 1;
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_039/nonmatchings/ov_SC02_039_jr_8013FFD8", func_80141A60);
|
||||
|
||||
|
||||
@@ -3229,7 +3229,93 @@ DEFINE_func_8016DB34() /* dedup: shared engine-core @0x8016DB34 (src/shared) */
|
||||
|
||||
DEFINE_func_8016DBD8() /* dedup: shared engine-core @0x8016DBD8 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_039/nonmatchings/ov_SC02_039_jr_8016AB6C", func_8016DC20);
|
||||
|
||||
extern s32 D_8011D030;
|
||||
|
||||
extern void func_80149374(s32 a0, s32 a1);
|
||||
extern s32 func_801619D0(void *a0);
|
||||
extern s32 func_80146A6C(s32 a0, void *a1, s32 a2, s32 a3, s32 a4, s32 a5, s32 a6);
|
||||
extern void func_800D20C0(void *a0, void *a1, s32 a2);
|
||||
extern void func_800D23D0(void *a0);
|
||||
extern s32 func_800D21C4(s32 a0, void *a1, s32 a2);
|
||||
extern void func_800D1FC8(s32 a0, s32 a1);
|
||||
extern void func_80128EA8(s32 a0, s32 a1, s32 a2);
|
||||
extern s32 func_80128ED8(void *a0, void *a1);
|
||||
extern void func_80146C3C(void);
|
||||
|
||||
void func_8016DC20(s16 *param_1) {
|
||||
|
||||
extern s16 D_801A0788;
|
||||
extern s16 D_801A078C;
|
||||
extern u8 D_80182400[];
|
||||
extern u8 D_8018240C[];
|
||||
u16 *psVar1;
|
||||
s32 iVar2;
|
||||
s32 iVar3;
|
||||
s32 iVar4;
|
||||
s16 i;
|
||||
s16 sp[6];
|
||||
|
||||
i = 0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
iVar4 = *(s32 *)((u8 *)param_1 + 0x34);
|
||||
do {
|
||||
if ((psVar1 != (u16 *)param_1) && (*psVar1 == 0x34)) goto end;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80149374(iVar4, (s32)param_1 + 4);
|
||||
iVar2 = func_801619D0((void *)iVar4);
|
||||
i = 0;
|
||||
if (iVar2 == 0) goto ddb0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
do {
|
||||
if (*psVar1 == 0x11) goto ddb0;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80146A6C(0x11, param_1, *(s16 *)((u8 *)param_1 + 6),
|
||||
(s16)(*(u16 *)((u8 *)param_1 + 0xa) - 8),
|
||||
*(s16 *)((u8 *)param_1 + 0xe), 0, 0);
|
||||
sp[0] = *(u16 *)((u8 *)param_1 + 6);
|
||||
sp[1] = *(u16 *)((u8 *)param_1 + 0xa);
|
||||
sp[2] = *(u16 *)((u8 *)param_1 + 0xe);
|
||||
func_800D20C0(&sp[0], &sp[4], 0);
|
||||
sp[5] = 0;
|
||||
func_800D23D0(&sp[4]);
|
||||
i = 0;
|
||||
do {
|
||||
iVar3 = func_80146A6C(0x12, param_1, *(s16 *)(iVar4 + 6),
|
||||
*(s16 *)(iVar4 + 0xa), *(s16 *)(iVar4 + 0xe),
|
||||
i, 0);
|
||||
if (iVar3 != 0) {
|
||||
*(u16 *)(iVar3 + 0x12) = sp[4];
|
||||
*(u16 *)(iVar3 + 0x16) = sp[5];
|
||||
*(u16 *)(iVar3 + 0x1a) = 0;
|
||||
}
|
||||
i = i + 2;
|
||||
} while (i < 3);
|
||||
goto end;
|
||||
ddb0:
|
||||
if (((D_801A0788 != *(s16 *)(iVar4 + 6)) || (D_801A078C != *(s16 *)(iVar4 + 0xe))) &&
|
||||
(iVar2 = func_800D21C4((s32)param_1, D_80182400, 0x18), iVar2 != 0)) {
|
||||
D_801A0788 = *(u16 *)(iVar4 + 6);
|
||||
D_801A078C = *(u16 *)(iVar4 + 0xe);
|
||||
func_800D1FC8((s32)param_1, 7);
|
||||
*(s32 *)((u8 *)param_1 + 0x20) = iVar2;
|
||||
*(u16 *)(iVar2 + 0x1a) = 0x3000;
|
||||
*(u16 *)(iVar2 + 0x18) = 0x3000;
|
||||
*(u8 *)(iVar2 + 0x26) = 0xff;
|
||||
*(u32 *)(iVar2 + 4) = *(u32 *)(iVar2 + 4) | 0x50000000;
|
||||
func_80128EA8(iVar2, (s32)param_1 + 0x24, (s32)D_8018240C);
|
||||
func_80128ED8((void *)iVar2, (void *)((s32)param_1 + 0x24));
|
||||
*(u16 *)((u8 *)param_1 + 2) = *(u16 *)((u8 *)param_1 + 2) + 1;
|
||||
return;
|
||||
}
|
||||
end:
|
||||
((void (*)(s16 *))func_80146C3C)(param_1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern void (*D_8018242C[])(void);
|
||||
|
||||
@@ -1342,7 +1342,79 @@ void func_80141874(void) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_041/nonmatchings/ov_SC02_041_jr_8013FFD8", func_801418F8);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern u16 D_80115110;
|
||||
extern u16 D_80115112;
|
||||
extern unsigned short D_80115118;
|
||||
extern volatile u16 D_8011511A;
|
||||
extern s16 D_80115128;
|
||||
extern s32 D_80115130;
|
||||
extern s16 D_80186144;
|
||||
extern s16 D_80186146;
|
||||
|
||||
extern void func_800D24A0(s32 a0);
|
||||
extern s32 func_80029178(s32 a0);
|
||||
extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
extern void func_80141C0C(s32 a0);
|
||||
|
||||
void func_801418F8(void)
|
||||
{
|
||||
|
||||
extern s16 D_8011512E;
|
||||
extern u8 D_80115158[];
|
||||
extern s16 D_8011515A;
|
||||
extern u8 D_8011515C;
|
||||
extern s16 D_8011515E;
|
||||
extern s16 D_80115162;
|
||||
extern s16 D_80115166;
|
||||
extern u8 D_80185DE4;
|
||||
extern u8 D_80185DFC;
|
||||
extern u8 D_80185E70;
|
||||
extern u8 D_80185E78;
|
||||
extern void *D_801B7E08;
|
||||
extern void *D_801B7E0C;
|
||||
u16 t;
|
||||
|
||||
func_800D24A0(1);
|
||||
D_8011511A = 2;
|
||||
t = D_8011511A;
|
||||
(*(s16 *)&D_80115118) = 0;
|
||||
D_80115130 = 0;
|
||||
if (t >= 4) {
|
||||
D_8011511A = t - 3;
|
||||
}
|
||||
(*(s16 *)D_80115158) = 0x106;
|
||||
if ((func_80029178(0x1C) & 0xFF) == 0) {
|
||||
D_801B7E08 = &D_80185DE4;
|
||||
D_801B7E0C = &D_80185E70;
|
||||
} else {
|
||||
D_801B7E08 = &D_80185DFC;
|
||||
D_801B7E0C = &D_80185E78;
|
||||
}
|
||||
D_8011515A = 0x104;
|
||||
(*(s16 *)&D_8011515C) = 0x104;
|
||||
D_8011515E = 0x129;
|
||||
D_80115162 = 0x103;
|
||||
D_80115166 = 0x105;
|
||||
D_80115128 = 0;
|
||||
D_8011512E = 0;
|
||||
if (D_80115110 == 3) {
|
||||
func_8002D4C8(0x46E, 0);
|
||||
} else {
|
||||
func_80141C0C(0);
|
||||
}
|
||||
D_80115128 = 1;
|
||||
D_80186144 = 0xE;
|
||||
D_80186146 = 3;
|
||||
D_80115112 = D_80115112 + 1;
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_041/nonmatchings/ov_SC02_041_jr_8013FFD8", func_80141A60);
|
||||
|
||||
|
||||
@@ -3229,7 +3229,93 @@ DEFINE_func_8016DB34() /* dedup: shared engine-core @0x8016DB34 (src/shared) */
|
||||
|
||||
DEFINE_func_8016DBD8() /* dedup: shared engine-core @0x8016DBD8 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC02_041/nonmatchings/ov_SC02_041_jr_8016AB6C", func_8016DC20);
|
||||
|
||||
extern s32 D_8011D030;
|
||||
|
||||
extern void func_80149374(s32 a0, s32 a1);
|
||||
extern s32 func_801619D0(void *a0);
|
||||
extern s32 func_80146A6C(s32 a0, void *a1, s32 a2, s32 a3, s32 a4, s32 a5, s32 a6);
|
||||
extern void func_800D20C0(void *a0, void *a1, s32 a2);
|
||||
extern void func_800D23D0(void *a0);
|
||||
extern s32 func_800D21C4(s32 a0, void *a1, s32 a2);
|
||||
extern void func_800D1FC8(s32 a0, s32 a1);
|
||||
extern void func_80128EA8(s32 a0, s32 a1, s32 a2);
|
||||
extern s32 func_80128ED8(void *a0, void *a1);
|
||||
extern void func_80146C3C(void);
|
||||
|
||||
void func_8016DC20(s16 *param_1) {
|
||||
|
||||
extern s16 D_801B8B00;
|
||||
extern s16 D_801B8B04;
|
||||
extern u8 D_801880D0[];
|
||||
extern u8 D_801880DC[];
|
||||
u16 *psVar1;
|
||||
s32 iVar2;
|
||||
s32 iVar3;
|
||||
s32 iVar4;
|
||||
s16 i;
|
||||
s16 sp[6];
|
||||
|
||||
i = 0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
iVar4 = *(s32 *)((u8 *)param_1 + 0x34);
|
||||
do {
|
||||
if ((psVar1 != (u16 *)param_1) && (*psVar1 == 0x34)) goto end;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80149374(iVar4, (s32)param_1 + 4);
|
||||
iVar2 = func_801619D0((void *)iVar4);
|
||||
i = 0;
|
||||
if (iVar2 == 0) goto ddb0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
do {
|
||||
if (*psVar1 == 0x11) goto ddb0;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80146A6C(0x11, param_1, *(s16 *)((u8 *)param_1 + 6),
|
||||
(s16)(*(u16 *)((u8 *)param_1 + 0xa) - 8),
|
||||
*(s16 *)((u8 *)param_1 + 0xe), 0, 0);
|
||||
sp[0] = *(u16 *)((u8 *)param_1 + 6);
|
||||
sp[1] = *(u16 *)((u8 *)param_1 + 0xa);
|
||||
sp[2] = *(u16 *)((u8 *)param_1 + 0xe);
|
||||
func_800D20C0(&sp[0], &sp[4], 0);
|
||||
sp[5] = 0;
|
||||
func_800D23D0(&sp[4]);
|
||||
i = 0;
|
||||
do {
|
||||
iVar3 = func_80146A6C(0x12, param_1, *(s16 *)(iVar4 + 6),
|
||||
*(s16 *)(iVar4 + 0xa), *(s16 *)(iVar4 + 0xe),
|
||||
i, 0);
|
||||
if (iVar3 != 0) {
|
||||
*(u16 *)(iVar3 + 0x12) = sp[4];
|
||||
*(u16 *)(iVar3 + 0x16) = sp[5];
|
||||
*(u16 *)(iVar3 + 0x1a) = 0;
|
||||
}
|
||||
i = i + 2;
|
||||
} while (i < 3);
|
||||
goto end;
|
||||
ddb0:
|
||||
if (((D_801B8B00 != *(s16 *)(iVar4 + 6)) || (D_801B8B04 != *(s16 *)(iVar4 + 0xe))) &&
|
||||
(iVar2 = func_800D21C4((s32)param_1, D_801880D0, 0x18), iVar2 != 0)) {
|
||||
D_801B8B00 = *(u16 *)(iVar4 + 6);
|
||||
D_801B8B04 = *(u16 *)(iVar4 + 0xe);
|
||||
func_800D1FC8((s32)param_1, 7);
|
||||
*(s32 *)((u8 *)param_1 + 0x20) = iVar2;
|
||||
*(u16 *)(iVar2 + 0x1a) = 0x3000;
|
||||
*(u16 *)(iVar2 + 0x18) = 0x3000;
|
||||
*(u8 *)(iVar2 + 0x26) = 0xff;
|
||||
*(u32 *)(iVar2 + 4) = *(u32 *)(iVar2 + 4) | 0x50000000;
|
||||
func_80128EA8(iVar2, (s32)param_1 + 0x24, (s32)D_801880DC);
|
||||
func_80128ED8((void *)iVar2, (void *)((s32)param_1 + 0x24));
|
||||
*(u16 *)((u8 *)param_1 + 2) = *(u16 *)((u8 *)param_1 + 2) + 1;
|
||||
return;
|
||||
}
|
||||
end:
|
||||
((void (*)(s16 *))func_80146C3C)(param_1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern void (*D_801880FC[])(void);
|
||||
|
||||
@@ -1344,7 +1344,79 @@ void func_80141874(void) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001_jr_8013FFD8", func_801418F8);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern u16 D_80115110;
|
||||
extern u16 D_80115112;
|
||||
extern unsigned short D_80115118;
|
||||
extern volatile u16 D_8011511A;
|
||||
extern s16 D_80115128;
|
||||
extern s32 D_80115130;
|
||||
extern s16 D_8018E884;
|
||||
extern s16 D_8018E886;
|
||||
|
||||
extern void func_800D24A0(s32 a0);
|
||||
extern s32 func_80029178(s32 a0);
|
||||
extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
extern void func_80141C0C(s32 a0);
|
||||
|
||||
void func_801418F8(void)
|
||||
{
|
||||
|
||||
extern s16 D_8011512E;
|
||||
extern u8 D_80115158[];
|
||||
extern s16 D_8011515A;
|
||||
extern u8 D_8011515C;
|
||||
extern s16 D_8011515E;
|
||||
extern s16 D_80115162;
|
||||
extern s16 D_80115166;
|
||||
extern u8 D_8018E524;
|
||||
extern u8 D_8018E53C;
|
||||
extern u8 D_8018E5B0;
|
||||
extern u8 D_8018E5B8;
|
||||
extern void *D_801ED488;
|
||||
extern void *D_801ED48C;
|
||||
u16 t;
|
||||
|
||||
func_800D24A0(1);
|
||||
D_8011511A = 2;
|
||||
t = D_8011511A;
|
||||
(*(s16 *)&D_80115118) = 0;
|
||||
D_80115130 = 0;
|
||||
if (t >= 4) {
|
||||
D_8011511A = t - 3;
|
||||
}
|
||||
(*(s16 *)D_80115158) = 0x106;
|
||||
if ((func_80029178(0x1C) & 0xFF) == 0) {
|
||||
D_801ED488 = &D_8018E524;
|
||||
D_801ED48C = &D_8018E5B0;
|
||||
} else {
|
||||
D_801ED488 = &D_8018E53C;
|
||||
D_801ED48C = &D_8018E5B8;
|
||||
}
|
||||
D_8011515A = 0x104;
|
||||
(*(s16 *)&D_8011515C) = 0x104;
|
||||
D_8011515E = 0x129;
|
||||
D_80115162 = 0x103;
|
||||
D_80115166 = 0x105;
|
||||
D_80115128 = 0;
|
||||
D_8011512E = 0;
|
||||
if (D_80115110 == 3) {
|
||||
func_8002D4C8(0x46E, 0);
|
||||
} else {
|
||||
func_80141C0C(0);
|
||||
}
|
||||
D_80115128 = 1;
|
||||
D_8018E884 = 0xE;
|
||||
D_8018E886 = 3;
|
||||
D_80115112 = D_80115112 + 1;
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001_jr_8013FFD8", func_80141A60);
|
||||
|
||||
|
||||
@@ -3229,7 +3229,93 @@ DEFINE_func_8016DB34() /* dedup: shared engine-core @0x8016DB34 (src/shared) */
|
||||
|
||||
DEFINE_func_8016DBD8() /* dedup: shared engine-core @0x8016DBD8 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_001/nonmatchings/ov_SC03_001_jr_8016AB6C", func_8016DC20);
|
||||
|
||||
extern s32 D_8011D030;
|
||||
|
||||
extern void func_80149374(s32 a0, s32 a1);
|
||||
extern s32 func_801619D0(void *a0);
|
||||
extern s32 func_80146A6C(s32 a0, void *a1, s32 a2, s32 a3, s32 a4, s32 a5, s32 a6);
|
||||
extern void func_800D20C0(void *a0, void *a1, s32 a2);
|
||||
extern void func_800D23D0(void *a0);
|
||||
extern s32 func_800D21C4(s32 a0, void *a1, s32 a2);
|
||||
extern void func_800D1FC8(s32 a0, s32 a1);
|
||||
extern void func_80128EA8(s32 a0, s32 a1, s32 a2);
|
||||
extern s32 func_80128ED8(void *a0, void *a1);
|
||||
extern void func_80146C3C(void);
|
||||
|
||||
void func_8016DC20(s16 *param_1) {
|
||||
|
||||
extern s16 D_801EE180;
|
||||
extern s16 D_801EE184;
|
||||
extern u8 D_80190810[];
|
||||
extern u8 D_8019081C[];
|
||||
u16 *psVar1;
|
||||
s32 iVar2;
|
||||
s32 iVar3;
|
||||
s32 iVar4;
|
||||
s16 i;
|
||||
s16 sp[6];
|
||||
|
||||
i = 0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
iVar4 = *(s32 *)((u8 *)param_1 + 0x34);
|
||||
do {
|
||||
if ((psVar1 != (u16 *)param_1) && (*psVar1 == 0x34)) goto end;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80149374(iVar4, (s32)param_1 + 4);
|
||||
iVar2 = func_801619D0((void *)iVar4);
|
||||
i = 0;
|
||||
if (iVar2 == 0) goto ddb0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
do {
|
||||
if (*psVar1 == 0x11) goto ddb0;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80146A6C(0x11, param_1, *(s16 *)((u8 *)param_1 + 6),
|
||||
(s16)(*(u16 *)((u8 *)param_1 + 0xa) - 8),
|
||||
*(s16 *)((u8 *)param_1 + 0xe), 0, 0);
|
||||
sp[0] = *(u16 *)((u8 *)param_1 + 6);
|
||||
sp[1] = *(u16 *)((u8 *)param_1 + 0xa);
|
||||
sp[2] = *(u16 *)((u8 *)param_1 + 0xe);
|
||||
func_800D20C0(&sp[0], &sp[4], 0);
|
||||
sp[5] = 0;
|
||||
func_800D23D0(&sp[4]);
|
||||
i = 0;
|
||||
do {
|
||||
iVar3 = func_80146A6C(0x12, param_1, *(s16 *)(iVar4 + 6),
|
||||
*(s16 *)(iVar4 + 0xa), *(s16 *)(iVar4 + 0xe),
|
||||
i, 0);
|
||||
if (iVar3 != 0) {
|
||||
*(u16 *)(iVar3 + 0x12) = sp[4];
|
||||
*(u16 *)(iVar3 + 0x16) = sp[5];
|
||||
*(u16 *)(iVar3 + 0x1a) = 0;
|
||||
}
|
||||
i = i + 2;
|
||||
} while (i < 3);
|
||||
goto end;
|
||||
ddb0:
|
||||
if (((D_801EE180 != *(s16 *)(iVar4 + 6)) || (D_801EE184 != *(s16 *)(iVar4 + 0xe))) &&
|
||||
(iVar2 = func_800D21C4((s32)param_1, D_80190810, 0x18), iVar2 != 0)) {
|
||||
D_801EE180 = *(u16 *)(iVar4 + 6);
|
||||
D_801EE184 = *(u16 *)(iVar4 + 0xe);
|
||||
func_800D1FC8((s32)param_1, 7);
|
||||
*(s32 *)((u8 *)param_1 + 0x20) = iVar2;
|
||||
*(u16 *)(iVar2 + 0x1a) = 0x3000;
|
||||
*(u16 *)(iVar2 + 0x18) = 0x3000;
|
||||
*(u8 *)(iVar2 + 0x26) = 0xff;
|
||||
*(u32 *)(iVar2 + 4) = *(u32 *)(iVar2 + 4) | 0x50000000;
|
||||
func_80128EA8(iVar2, (s32)param_1 + 0x24, (s32)D_8019081C);
|
||||
func_80128ED8((void *)iVar2, (void *)((s32)param_1 + 0x24));
|
||||
*(u16 *)((u8 *)param_1 + 2) = *(u16 *)((u8 *)param_1 + 2) + 1;
|
||||
return;
|
||||
}
|
||||
end:
|
||||
((void (*)(s16 *))func_80146C3C)(param_1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern void (*D_8019083C[])(void);
|
||||
|
||||
@@ -1344,7 +1344,79 @@ void func_80141874(void) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_002/nonmatchings/ov_SC03_002_jr_8013FFD8", func_801418F8);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern u16 D_80115110;
|
||||
extern u16 D_80115112;
|
||||
extern unsigned short D_80115118;
|
||||
extern volatile u16 D_8011511A;
|
||||
extern s16 D_80115128;
|
||||
extern s32 D_80115130;
|
||||
extern s16 D_80186874;
|
||||
extern s16 D_80186876;
|
||||
|
||||
extern void func_800D24A0(s32 a0);
|
||||
extern s32 func_80029178(s32 a0);
|
||||
extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
extern void func_80141C0C(s32 a0);
|
||||
|
||||
void func_801418F8(void)
|
||||
{
|
||||
|
||||
extern s16 D_8011512E;
|
||||
extern u8 D_80115158[];
|
||||
extern s16 D_8011515A;
|
||||
extern u8 D_8011515C;
|
||||
extern s16 D_8011515E;
|
||||
extern s16 D_80115162;
|
||||
extern s16 D_80115166;
|
||||
extern u8 D_80186514;
|
||||
extern u8 D_8018652C;
|
||||
extern u8 D_801865A0;
|
||||
extern u8 D_801865A8;
|
||||
extern void *D_801CA508;
|
||||
extern void *D_801CA50C;
|
||||
u16 t;
|
||||
|
||||
func_800D24A0(1);
|
||||
D_8011511A = 2;
|
||||
t = D_8011511A;
|
||||
(*(s16 *)&D_80115118) = 0;
|
||||
D_80115130 = 0;
|
||||
if (t >= 4) {
|
||||
D_8011511A = t - 3;
|
||||
}
|
||||
(*(s16 *)D_80115158) = 0x106;
|
||||
if ((func_80029178(0x1C) & 0xFF) == 0) {
|
||||
D_801CA508 = &D_80186514;
|
||||
D_801CA50C = &D_801865A0;
|
||||
} else {
|
||||
D_801CA508 = &D_8018652C;
|
||||
D_801CA50C = &D_801865A8;
|
||||
}
|
||||
D_8011515A = 0x104;
|
||||
(*(s16 *)&D_8011515C) = 0x104;
|
||||
D_8011515E = 0x129;
|
||||
D_80115162 = 0x103;
|
||||
D_80115166 = 0x105;
|
||||
D_80115128 = 0;
|
||||
D_8011512E = 0;
|
||||
if (D_80115110 == 3) {
|
||||
func_8002D4C8(0x46E, 0);
|
||||
} else {
|
||||
func_80141C0C(0);
|
||||
}
|
||||
D_80115128 = 1;
|
||||
D_80186874 = 0xE;
|
||||
D_80186876 = 3;
|
||||
D_80115112 = D_80115112 + 1;
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_002/nonmatchings/ov_SC03_002_jr_8013FFD8", func_80141A60);
|
||||
|
||||
|
||||
@@ -3229,7 +3229,93 @@ DEFINE_func_8016DB34() /* dedup: shared engine-core @0x8016DB34 (src/shared) */
|
||||
|
||||
DEFINE_func_8016DBD8() /* dedup: shared engine-core @0x8016DBD8 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_002/nonmatchings/ov_SC03_002_jr_8016AB6C", func_8016DC20);
|
||||
|
||||
extern s32 D_8011D030;
|
||||
|
||||
extern void func_80149374(s32 a0, s32 a1);
|
||||
extern s32 func_801619D0(void *a0);
|
||||
extern s32 func_80146A6C(s32 a0, void *a1, s32 a2, s32 a3, s32 a4, s32 a5, s32 a6);
|
||||
extern void func_800D20C0(void *a0, void *a1, s32 a2);
|
||||
extern void func_800D23D0(void *a0);
|
||||
extern s32 func_800D21C4(s32 a0, void *a1, s32 a2);
|
||||
extern void func_800D1FC8(s32 a0, s32 a1);
|
||||
extern void func_80128EA8(s32 a0, s32 a1, s32 a2);
|
||||
extern s32 func_80128ED8(void *a0, void *a1);
|
||||
extern void func_80146C3C(void);
|
||||
|
||||
void func_8016DC20(s16 *param_1) {
|
||||
|
||||
extern s16 D_801CB200;
|
||||
extern s16 D_801CB204;
|
||||
extern u8 D_80188800[];
|
||||
extern u8 D_8018880C[];
|
||||
u16 *psVar1;
|
||||
s32 iVar2;
|
||||
s32 iVar3;
|
||||
s32 iVar4;
|
||||
s16 i;
|
||||
s16 sp[6];
|
||||
|
||||
i = 0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
iVar4 = *(s32 *)((u8 *)param_1 + 0x34);
|
||||
do {
|
||||
if ((psVar1 != (u16 *)param_1) && (*psVar1 == 0x34)) goto end;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80149374(iVar4, (s32)param_1 + 4);
|
||||
iVar2 = func_801619D0((void *)iVar4);
|
||||
i = 0;
|
||||
if (iVar2 == 0) goto ddb0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
do {
|
||||
if (*psVar1 == 0x11) goto ddb0;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80146A6C(0x11, param_1, *(s16 *)((u8 *)param_1 + 6),
|
||||
(s16)(*(u16 *)((u8 *)param_1 + 0xa) - 8),
|
||||
*(s16 *)((u8 *)param_1 + 0xe), 0, 0);
|
||||
sp[0] = *(u16 *)((u8 *)param_1 + 6);
|
||||
sp[1] = *(u16 *)((u8 *)param_1 + 0xa);
|
||||
sp[2] = *(u16 *)((u8 *)param_1 + 0xe);
|
||||
func_800D20C0(&sp[0], &sp[4], 0);
|
||||
sp[5] = 0;
|
||||
func_800D23D0(&sp[4]);
|
||||
i = 0;
|
||||
do {
|
||||
iVar3 = func_80146A6C(0x12, param_1, *(s16 *)(iVar4 + 6),
|
||||
*(s16 *)(iVar4 + 0xa), *(s16 *)(iVar4 + 0xe),
|
||||
i, 0);
|
||||
if (iVar3 != 0) {
|
||||
*(u16 *)(iVar3 + 0x12) = sp[4];
|
||||
*(u16 *)(iVar3 + 0x16) = sp[5];
|
||||
*(u16 *)(iVar3 + 0x1a) = 0;
|
||||
}
|
||||
i = i + 2;
|
||||
} while (i < 3);
|
||||
goto end;
|
||||
ddb0:
|
||||
if (((D_801CB200 != *(s16 *)(iVar4 + 6)) || (D_801CB204 != *(s16 *)(iVar4 + 0xe))) &&
|
||||
(iVar2 = func_800D21C4((s32)param_1, D_80188800, 0x18), iVar2 != 0)) {
|
||||
D_801CB200 = *(u16 *)(iVar4 + 6);
|
||||
D_801CB204 = *(u16 *)(iVar4 + 0xe);
|
||||
func_800D1FC8((s32)param_1, 7);
|
||||
*(s32 *)((u8 *)param_1 + 0x20) = iVar2;
|
||||
*(u16 *)(iVar2 + 0x1a) = 0x3000;
|
||||
*(u16 *)(iVar2 + 0x18) = 0x3000;
|
||||
*(u8 *)(iVar2 + 0x26) = 0xff;
|
||||
*(u32 *)(iVar2 + 4) = *(u32 *)(iVar2 + 4) | 0x50000000;
|
||||
func_80128EA8(iVar2, (s32)param_1 + 0x24, (s32)D_8018880C);
|
||||
func_80128ED8((void *)iVar2, (void *)((s32)param_1 + 0x24));
|
||||
*(u16 *)((u8 *)param_1 + 2) = *(u16 *)((u8 *)param_1 + 2) + 1;
|
||||
return;
|
||||
}
|
||||
end:
|
||||
((void (*)(s16 *))func_80146C3C)(param_1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern void (*D_8018882C[])(void);
|
||||
|
||||
@@ -1342,7 +1342,79 @@ void func_80141874(void) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_003/nonmatchings/ov_SC03_003_jr_8013FFD8", func_801418F8);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern u16 D_80115110;
|
||||
extern u16 D_80115112;
|
||||
extern unsigned short D_80115118;
|
||||
extern volatile u16 D_8011511A;
|
||||
extern s16 D_80115128;
|
||||
extern s32 D_80115130;
|
||||
extern s16 D_8018063C;
|
||||
extern s16 D_8018063E;
|
||||
|
||||
extern void func_800D24A0(s32 a0);
|
||||
extern s32 func_80029178(s32 a0);
|
||||
extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
extern void func_80141C0C(s32 a0);
|
||||
|
||||
void func_801418F8(void)
|
||||
{
|
||||
|
||||
extern s16 D_8011512E;
|
||||
extern u8 D_80115158[];
|
||||
extern s16 D_8011515A;
|
||||
extern u8 D_8011515C;
|
||||
extern s16 D_8011515E;
|
||||
extern s16 D_80115162;
|
||||
extern s16 D_80115166;
|
||||
extern u8 D_801802DC;
|
||||
extern u8 D_801802F4;
|
||||
extern u8 D_80180368;
|
||||
extern u8 D_80180370;
|
||||
extern void *D_8018E810;
|
||||
extern void *D_8018E814;
|
||||
u16 t;
|
||||
|
||||
func_800D24A0(1);
|
||||
D_8011511A = 2;
|
||||
t = D_8011511A;
|
||||
(*(s16 *)&D_80115118) = 0;
|
||||
D_80115130 = 0;
|
||||
if (t >= 4) {
|
||||
D_8011511A = t - 3;
|
||||
}
|
||||
(*(s16 *)D_80115158) = 0x106;
|
||||
if ((func_80029178(0x1C) & 0xFF) == 0) {
|
||||
D_8018E810 = &D_801802DC;
|
||||
D_8018E814 = &D_80180368;
|
||||
} else {
|
||||
D_8018E810 = &D_801802F4;
|
||||
D_8018E814 = &D_80180370;
|
||||
}
|
||||
D_8011515A = 0x104;
|
||||
(*(s16 *)&D_8011515C) = 0x104;
|
||||
D_8011515E = 0x129;
|
||||
D_80115162 = 0x103;
|
||||
D_80115166 = 0x105;
|
||||
D_80115128 = 0;
|
||||
D_8011512E = 0;
|
||||
if (D_80115110 == 3) {
|
||||
func_8002D4C8(0x46E, 0);
|
||||
} else {
|
||||
func_80141C0C(0);
|
||||
}
|
||||
D_80115128 = 1;
|
||||
D_8018063C = 0xE;
|
||||
D_8018063E = 3;
|
||||
D_80115112 = D_80115112 + 1;
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_003/nonmatchings/ov_SC03_003_jr_8013FFD8", func_80141A60);
|
||||
|
||||
|
||||
@@ -3229,7 +3229,93 @@ DEFINE_func_8016DB34() /* dedup: shared engine-core @0x8016DB34 (src/shared) */
|
||||
|
||||
DEFINE_func_8016DBD8() /* dedup: shared engine-core @0x8016DBD8 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_003/nonmatchings/ov_SC03_003_jr_8016AB6C", func_8016DC20);
|
||||
|
||||
extern s32 D_8011D030;
|
||||
|
||||
extern void func_80149374(s32 a0, s32 a1);
|
||||
extern s32 func_801619D0(void *a0);
|
||||
extern s32 func_80146A6C(s32 a0, void *a1, s32 a2, s32 a3, s32 a4, s32 a5, s32 a6);
|
||||
extern void func_800D20C0(void *a0, void *a1, s32 a2);
|
||||
extern void func_800D23D0(void *a0);
|
||||
extern s32 func_800D21C4(s32 a0, void *a1, s32 a2);
|
||||
extern void func_800D1FC8(s32 a0, s32 a1);
|
||||
extern void func_80128EA8(s32 a0, s32 a1, s32 a2);
|
||||
extern s32 func_80128ED8(void *a0, void *a1);
|
||||
extern void func_80146C3C(void);
|
||||
|
||||
void func_8016DC20(s16 *param_1) {
|
||||
|
||||
extern s16 D_8018F508;
|
||||
extern s16 D_8018F50C;
|
||||
extern u8 D_801825C8[];
|
||||
extern u8 D_801825D4[];
|
||||
u16 *psVar1;
|
||||
s32 iVar2;
|
||||
s32 iVar3;
|
||||
s32 iVar4;
|
||||
s16 i;
|
||||
s16 sp[6];
|
||||
|
||||
i = 0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
iVar4 = *(s32 *)((u8 *)param_1 + 0x34);
|
||||
do {
|
||||
if ((psVar1 != (u16 *)param_1) && (*psVar1 == 0x34)) goto end;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80149374(iVar4, (s32)param_1 + 4);
|
||||
iVar2 = func_801619D0((void *)iVar4);
|
||||
i = 0;
|
||||
if (iVar2 == 0) goto ddb0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
do {
|
||||
if (*psVar1 == 0x11) goto ddb0;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80146A6C(0x11, param_1, *(s16 *)((u8 *)param_1 + 6),
|
||||
(s16)(*(u16 *)((u8 *)param_1 + 0xa) - 8),
|
||||
*(s16 *)((u8 *)param_1 + 0xe), 0, 0);
|
||||
sp[0] = *(u16 *)((u8 *)param_1 + 6);
|
||||
sp[1] = *(u16 *)((u8 *)param_1 + 0xa);
|
||||
sp[2] = *(u16 *)((u8 *)param_1 + 0xe);
|
||||
func_800D20C0(&sp[0], &sp[4], 0);
|
||||
sp[5] = 0;
|
||||
func_800D23D0(&sp[4]);
|
||||
i = 0;
|
||||
do {
|
||||
iVar3 = func_80146A6C(0x12, param_1, *(s16 *)(iVar4 + 6),
|
||||
*(s16 *)(iVar4 + 0xa), *(s16 *)(iVar4 + 0xe),
|
||||
i, 0);
|
||||
if (iVar3 != 0) {
|
||||
*(u16 *)(iVar3 + 0x12) = sp[4];
|
||||
*(u16 *)(iVar3 + 0x16) = sp[5];
|
||||
*(u16 *)(iVar3 + 0x1a) = 0;
|
||||
}
|
||||
i = i + 2;
|
||||
} while (i < 3);
|
||||
goto end;
|
||||
ddb0:
|
||||
if (((D_8018F508 != *(s16 *)(iVar4 + 6)) || (D_8018F50C != *(s16 *)(iVar4 + 0xe))) &&
|
||||
(iVar2 = func_800D21C4((s32)param_1, D_801825C8, 0x18), iVar2 != 0)) {
|
||||
D_8018F508 = *(u16 *)(iVar4 + 6);
|
||||
D_8018F50C = *(u16 *)(iVar4 + 0xe);
|
||||
func_800D1FC8((s32)param_1, 7);
|
||||
*(s32 *)((u8 *)param_1 + 0x20) = iVar2;
|
||||
*(u16 *)(iVar2 + 0x1a) = 0x3000;
|
||||
*(u16 *)(iVar2 + 0x18) = 0x3000;
|
||||
*(u8 *)(iVar2 + 0x26) = 0xff;
|
||||
*(u32 *)(iVar2 + 4) = *(u32 *)(iVar2 + 4) | 0x50000000;
|
||||
func_80128EA8(iVar2, (s32)param_1 + 0x24, (s32)D_801825D4);
|
||||
func_80128ED8((void *)iVar2, (void *)((s32)param_1 + 0x24));
|
||||
*(u16 *)((u8 *)param_1 + 2) = *(u16 *)((u8 *)param_1 + 2) + 1;
|
||||
return;
|
||||
}
|
||||
end:
|
||||
((void (*)(s16 *))func_80146C3C)(param_1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern void (*D_801825F4[])(void);
|
||||
|
||||
@@ -1344,7 +1344,79 @@ void func_80141874(void) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_006/nonmatchings/ov_SC03_006_jr_8013FFD8", func_801418F8);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern u16 D_80115110;
|
||||
extern u16 D_80115112;
|
||||
extern unsigned short D_80115118;
|
||||
extern volatile u16 D_8011511A;
|
||||
extern s16 D_80115128;
|
||||
extern s32 D_80115130;
|
||||
extern s16 D_8018D958;
|
||||
extern s16 D_8018D95A;
|
||||
|
||||
extern void func_800D24A0(s32 a0);
|
||||
extern s32 func_80029178(s32 a0);
|
||||
extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
extern void func_80141C0C(s32 a0);
|
||||
|
||||
void func_801418F8(void)
|
||||
{
|
||||
|
||||
extern s16 D_8011512E;
|
||||
extern u8 D_80115158[];
|
||||
extern s16 D_8011515A;
|
||||
extern u8 D_8011515C;
|
||||
extern s16 D_8011515E;
|
||||
extern s16 D_80115162;
|
||||
extern s16 D_80115166;
|
||||
extern u8 D_8018D5F8;
|
||||
extern u8 D_8018D610;
|
||||
extern u8 D_8018D684;
|
||||
extern u8 D_8018D68C;
|
||||
extern void *D_801F6188;
|
||||
extern void *D_801F618C;
|
||||
u16 t;
|
||||
|
||||
func_800D24A0(1);
|
||||
D_8011511A = 2;
|
||||
t = D_8011511A;
|
||||
(*(s16 *)&D_80115118) = 0;
|
||||
D_80115130 = 0;
|
||||
if (t >= 4) {
|
||||
D_8011511A = t - 3;
|
||||
}
|
||||
(*(s16 *)D_80115158) = 0x106;
|
||||
if ((func_80029178(0x1C) & 0xFF) == 0) {
|
||||
D_801F6188 = &D_8018D5F8;
|
||||
D_801F618C = &D_8018D684;
|
||||
} else {
|
||||
D_801F6188 = &D_8018D610;
|
||||
D_801F618C = &D_8018D68C;
|
||||
}
|
||||
D_8011515A = 0x104;
|
||||
(*(s16 *)&D_8011515C) = 0x104;
|
||||
D_8011515E = 0x129;
|
||||
D_80115162 = 0x103;
|
||||
D_80115166 = 0x105;
|
||||
D_80115128 = 0;
|
||||
D_8011512E = 0;
|
||||
if (D_80115110 == 3) {
|
||||
func_8002D4C8(0x46E, 0);
|
||||
} else {
|
||||
func_80141C0C(0);
|
||||
}
|
||||
D_80115128 = 1;
|
||||
D_8018D958 = 0xE;
|
||||
D_8018D95A = 3;
|
||||
D_80115112 = D_80115112 + 1;
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_006/nonmatchings/ov_SC03_006_jr_8013FFD8", func_80141A60);
|
||||
|
||||
|
||||
@@ -3229,7 +3229,93 @@ DEFINE_func_8016DB34() /* dedup: shared engine-core @0x8016DB34 (src/shared) */
|
||||
|
||||
DEFINE_func_8016DBD8() /* dedup: shared engine-core @0x8016DBD8 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_006/nonmatchings/ov_SC03_006_jr_8016AB6C", func_8016DC20);
|
||||
|
||||
extern s32 D_8011D030;
|
||||
|
||||
extern void func_80149374(s32 a0, s32 a1);
|
||||
extern s32 func_801619D0(void *a0);
|
||||
extern s32 func_80146A6C(s32 a0, void *a1, s32 a2, s32 a3, s32 a4, s32 a5, s32 a6);
|
||||
extern void func_800D20C0(void *a0, void *a1, s32 a2);
|
||||
extern void func_800D23D0(void *a0);
|
||||
extern s32 func_800D21C4(s32 a0, void *a1, s32 a2);
|
||||
extern void func_800D1FC8(s32 a0, s32 a1);
|
||||
extern void func_80128EA8(s32 a0, s32 a1, s32 a2);
|
||||
extern s32 func_80128ED8(void *a0, void *a1);
|
||||
extern void func_80146C3C(void);
|
||||
|
||||
void func_8016DC20(s16 *param_1) {
|
||||
|
||||
extern s16 D_801F6E80;
|
||||
extern s16 D_801F6E84;
|
||||
extern u8 D_8018F8E4[];
|
||||
extern u8 D_8018F8F0[];
|
||||
u16 *psVar1;
|
||||
s32 iVar2;
|
||||
s32 iVar3;
|
||||
s32 iVar4;
|
||||
s16 i;
|
||||
s16 sp[6];
|
||||
|
||||
i = 0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
iVar4 = *(s32 *)((u8 *)param_1 + 0x34);
|
||||
do {
|
||||
if ((psVar1 != (u16 *)param_1) && (*psVar1 == 0x34)) goto end;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80149374(iVar4, (s32)param_1 + 4);
|
||||
iVar2 = func_801619D0((void *)iVar4);
|
||||
i = 0;
|
||||
if (iVar2 == 0) goto ddb0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
do {
|
||||
if (*psVar1 == 0x11) goto ddb0;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80146A6C(0x11, param_1, *(s16 *)((u8 *)param_1 + 6),
|
||||
(s16)(*(u16 *)((u8 *)param_1 + 0xa) - 8),
|
||||
*(s16 *)((u8 *)param_1 + 0xe), 0, 0);
|
||||
sp[0] = *(u16 *)((u8 *)param_1 + 6);
|
||||
sp[1] = *(u16 *)((u8 *)param_1 + 0xa);
|
||||
sp[2] = *(u16 *)((u8 *)param_1 + 0xe);
|
||||
func_800D20C0(&sp[0], &sp[4], 0);
|
||||
sp[5] = 0;
|
||||
func_800D23D0(&sp[4]);
|
||||
i = 0;
|
||||
do {
|
||||
iVar3 = func_80146A6C(0x12, param_1, *(s16 *)(iVar4 + 6),
|
||||
*(s16 *)(iVar4 + 0xa), *(s16 *)(iVar4 + 0xe),
|
||||
i, 0);
|
||||
if (iVar3 != 0) {
|
||||
*(u16 *)(iVar3 + 0x12) = sp[4];
|
||||
*(u16 *)(iVar3 + 0x16) = sp[5];
|
||||
*(u16 *)(iVar3 + 0x1a) = 0;
|
||||
}
|
||||
i = i + 2;
|
||||
} while (i < 3);
|
||||
goto end;
|
||||
ddb0:
|
||||
if (((D_801F6E80 != *(s16 *)(iVar4 + 6)) || (D_801F6E84 != *(s16 *)(iVar4 + 0xe))) &&
|
||||
(iVar2 = func_800D21C4((s32)param_1, D_8018F8E4, 0x18), iVar2 != 0)) {
|
||||
D_801F6E80 = *(u16 *)(iVar4 + 6);
|
||||
D_801F6E84 = *(u16 *)(iVar4 + 0xe);
|
||||
func_800D1FC8((s32)param_1, 7);
|
||||
*(s32 *)((u8 *)param_1 + 0x20) = iVar2;
|
||||
*(u16 *)(iVar2 + 0x1a) = 0x3000;
|
||||
*(u16 *)(iVar2 + 0x18) = 0x3000;
|
||||
*(u8 *)(iVar2 + 0x26) = 0xff;
|
||||
*(u32 *)(iVar2 + 4) = *(u32 *)(iVar2 + 4) | 0x50000000;
|
||||
func_80128EA8(iVar2, (s32)param_1 + 0x24, (s32)D_8018F8F0);
|
||||
func_80128ED8((void *)iVar2, (void *)((s32)param_1 + 0x24));
|
||||
*(u16 *)((u8 *)param_1 + 2) = *(u16 *)((u8 *)param_1 + 2) + 1;
|
||||
return;
|
||||
}
|
||||
end:
|
||||
((void (*)(s16 *))func_80146C3C)(param_1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern void (*D_8018F910[])(void);
|
||||
|
||||
@@ -1342,7 +1342,79 @@ void func_80141874(void) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_007/nonmatchings/ov_SC03_007_jr_8013FFD8", func_801418F8);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern u16 D_80115110;
|
||||
extern u16 D_80115112;
|
||||
extern unsigned short D_80115118;
|
||||
extern volatile u16 D_8011511A;
|
||||
extern s16 D_80115128;
|
||||
extern s32 D_80115130;
|
||||
extern s16 D_80188750;
|
||||
extern s16 D_80188752;
|
||||
|
||||
extern void func_800D24A0(s32 a0);
|
||||
extern s32 func_80029178(s32 a0);
|
||||
extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
extern void func_80141C0C(s32 a0);
|
||||
|
||||
void func_801418F8(void)
|
||||
{
|
||||
|
||||
extern s16 D_8011512E;
|
||||
extern u8 D_80115158[];
|
||||
extern s16 D_8011515A;
|
||||
extern u8 D_8011515C;
|
||||
extern s16 D_8011515E;
|
||||
extern s16 D_80115162;
|
||||
extern s16 D_80115166;
|
||||
extern u8 D_801883F0;
|
||||
extern u8 D_80188408;
|
||||
extern u8 D_8018847C;
|
||||
extern u8 D_80188484;
|
||||
extern void *D_801E8AE0;
|
||||
extern void *D_801E8AE4;
|
||||
u16 t;
|
||||
|
||||
func_800D24A0(1);
|
||||
D_8011511A = 2;
|
||||
t = D_8011511A;
|
||||
(*(s16 *)&D_80115118) = 0;
|
||||
D_80115130 = 0;
|
||||
if (t >= 4) {
|
||||
D_8011511A = t - 3;
|
||||
}
|
||||
(*(s16 *)D_80115158) = 0x106;
|
||||
if ((func_80029178(0x1C) & 0xFF) == 0) {
|
||||
D_801E8AE0 = &D_801883F0;
|
||||
D_801E8AE4 = &D_8018847C;
|
||||
} else {
|
||||
D_801E8AE0 = &D_80188408;
|
||||
D_801E8AE4 = &D_80188484;
|
||||
}
|
||||
D_8011515A = 0x104;
|
||||
(*(s16 *)&D_8011515C) = 0x104;
|
||||
D_8011515E = 0x129;
|
||||
D_80115162 = 0x103;
|
||||
D_80115166 = 0x105;
|
||||
D_80115128 = 0;
|
||||
D_8011512E = 0;
|
||||
if (D_80115110 == 3) {
|
||||
func_8002D4C8(0x46E, 0);
|
||||
} else {
|
||||
func_80141C0C(0);
|
||||
}
|
||||
D_80115128 = 1;
|
||||
D_80188750 = 0xE;
|
||||
D_80188752 = 3;
|
||||
D_80115112 = D_80115112 + 1;
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_007/nonmatchings/ov_SC03_007_jr_8013FFD8", func_80141A60);
|
||||
|
||||
|
||||
@@ -3229,7 +3229,93 @@ DEFINE_func_8016DB34() /* dedup: shared engine-core @0x8016DB34 (src/shared) */
|
||||
|
||||
DEFINE_func_8016DBD8() /* dedup: shared engine-core @0x8016DBD8 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_007/nonmatchings/ov_SC03_007_jr_8016AB6C", func_8016DC20);
|
||||
|
||||
extern s32 D_8011D030;
|
||||
|
||||
extern void func_80149374(s32 a0, s32 a1);
|
||||
extern s32 func_801619D0(void *a0);
|
||||
extern s32 func_80146A6C(s32 a0, void *a1, s32 a2, s32 a3, s32 a4, s32 a5, s32 a6);
|
||||
extern void func_800D20C0(void *a0, void *a1, s32 a2);
|
||||
extern void func_800D23D0(void *a0);
|
||||
extern s32 func_800D21C4(s32 a0, void *a1, s32 a2);
|
||||
extern void func_800D1FC8(s32 a0, s32 a1);
|
||||
extern void func_80128EA8(s32 a0, s32 a1, s32 a2);
|
||||
extern s32 func_80128ED8(void *a0, void *a1);
|
||||
extern void func_80146C3C(void);
|
||||
|
||||
void func_8016DC20(s16 *param_1) {
|
||||
|
||||
extern s16 D_801E97D8;
|
||||
extern s16 D_801E97DC;
|
||||
extern u8 D_8018A6DC[];
|
||||
extern u8 D_8018A6E8[];
|
||||
u16 *psVar1;
|
||||
s32 iVar2;
|
||||
s32 iVar3;
|
||||
s32 iVar4;
|
||||
s16 i;
|
||||
s16 sp[6];
|
||||
|
||||
i = 0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
iVar4 = *(s32 *)((u8 *)param_1 + 0x34);
|
||||
do {
|
||||
if ((psVar1 != (u16 *)param_1) && (*psVar1 == 0x34)) goto end;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80149374(iVar4, (s32)param_1 + 4);
|
||||
iVar2 = func_801619D0((void *)iVar4);
|
||||
i = 0;
|
||||
if (iVar2 == 0) goto ddb0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
do {
|
||||
if (*psVar1 == 0x11) goto ddb0;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80146A6C(0x11, param_1, *(s16 *)((u8 *)param_1 + 6),
|
||||
(s16)(*(u16 *)((u8 *)param_1 + 0xa) - 8),
|
||||
*(s16 *)((u8 *)param_1 + 0xe), 0, 0);
|
||||
sp[0] = *(u16 *)((u8 *)param_1 + 6);
|
||||
sp[1] = *(u16 *)((u8 *)param_1 + 0xa);
|
||||
sp[2] = *(u16 *)((u8 *)param_1 + 0xe);
|
||||
func_800D20C0(&sp[0], &sp[4], 0);
|
||||
sp[5] = 0;
|
||||
func_800D23D0(&sp[4]);
|
||||
i = 0;
|
||||
do {
|
||||
iVar3 = func_80146A6C(0x12, param_1, *(s16 *)(iVar4 + 6),
|
||||
*(s16 *)(iVar4 + 0xa), *(s16 *)(iVar4 + 0xe),
|
||||
i, 0);
|
||||
if (iVar3 != 0) {
|
||||
*(u16 *)(iVar3 + 0x12) = sp[4];
|
||||
*(u16 *)(iVar3 + 0x16) = sp[5];
|
||||
*(u16 *)(iVar3 + 0x1a) = 0;
|
||||
}
|
||||
i = i + 2;
|
||||
} while (i < 3);
|
||||
goto end;
|
||||
ddb0:
|
||||
if (((D_801E97D8 != *(s16 *)(iVar4 + 6)) || (D_801E97DC != *(s16 *)(iVar4 + 0xe))) &&
|
||||
(iVar2 = func_800D21C4((s32)param_1, D_8018A6DC, 0x18), iVar2 != 0)) {
|
||||
D_801E97D8 = *(u16 *)(iVar4 + 6);
|
||||
D_801E97DC = *(u16 *)(iVar4 + 0xe);
|
||||
func_800D1FC8((s32)param_1, 7);
|
||||
*(s32 *)((u8 *)param_1 + 0x20) = iVar2;
|
||||
*(u16 *)(iVar2 + 0x1a) = 0x3000;
|
||||
*(u16 *)(iVar2 + 0x18) = 0x3000;
|
||||
*(u8 *)(iVar2 + 0x26) = 0xff;
|
||||
*(u32 *)(iVar2 + 4) = *(u32 *)(iVar2 + 4) | 0x50000000;
|
||||
func_80128EA8(iVar2, (s32)param_1 + 0x24, (s32)D_8018A6E8);
|
||||
func_80128ED8((void *)iVar2, (void *)((s32)param_1 + 0x24));
|
||||
*(u16 *)((u8 *)param_1 + 2) = *(u16 *)((u8 *)param_1 + 2) + 1;
|
||||
return;
|
||||
}
|
||||
end:
|
||||
((void (*)(s16 *))func_80146C3C)(param_1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern void (*D_8018A708[])(void);
|
||||
|
||||
@@ -1342,7 +1342,79 @@ void func_80141874(void) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_010/nonmatchings/ov_SC03_010_jr_8013FFD8", func_801418F8);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern u16 D_80115110;
|
||||
extern u16 D_80115112;
|
||||
extern unsigned short D_80115118;
|
||||
extern volatile u16 D_8011511A;
|
||||
extern s16 D_80115128;
|
||||
extern s32 D_80115130;
|
||||
extern s16 D_80181270;
|
||||
extern s16 D_80181272;
|
||||
|
||||
extern void func_800D24A0(s32 a0);
|
||||
extern s32 func_80029178(s32 a0);
|
||||
extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
extern void func_80141C0C(s32 a0);
|
||||
|
||||
void func_801418F8(void)
|
||||
{
|
||||
|
||||
extern s16 D_8011512E;
|
||||
extern u8 D_80115158[];
|
||||
extern s16 D_8011515A;
|
||||
extern u8 D_8011515C;
|
||||
extern s16 D_8011515E;
|
||||
extern s16 D_80115162;
|
||||
extern s16 D_80115166;
|
||||
extern u8 D_80180F10;
|
||||
extern u8 D_80180F28;
|
||||
extern u8 D_80180F9C;
|
||||
extern u8 D_80180FA4;
|
||||
extern void *D_8019ED40;
|
||||
extern void *D_8019ED44;
|
||||
u16 t;
|
||||
|
||||
func_800D24A0(1);
|
||||
D_8011511A = 2;
|
||||
t = D_8011511A;
|
||||
(*(s16 *)&D_80115118) = 0;
|
||||
D_80115130 = 0;
|
||||
if (t >= 4) {
|
||||
D_8011511A = t - 3;
|
||||
}
|
||||
(*(s16 *)D_80115158) = 0x106;
|
||||
if ((func_80029178(0x1C) & 0xFF) == 0) {
|
||||
D_8019ED40 = &D_80180F10;
|
||||
D_8019ED44 = &D_80180F9C;
|
||||
} else {
|
||||
D_8019ED40 = &D_80180F28;
|
||||
D_8019ED44 = &D_80180FA4;
|
||||
}
|
||||
D_8011515A = 0x104;
|
||||
(*(s16 *)&D_8011515C) = 0x104;
|
||||
D_8011515E = 0x129;
|
||||
D_80115162 = 0x103;
|
||||
D_80115166 = 0x105;
|
||||
D_80115128 = 0;
|
||||
D_8011512E = 0;
|
||||
if (D_80115110 == 3) {
|
||||
func_8002D4C8(0x46E, 0);
|
||||
} else {
|
||||
func_80141C0C(0);
|
||||
}
|
||||
D_80115128 = 1;
|
||||
D_80181270 = 0xE;
|
||||
D_80181272 = 3;
|
||||
D_80115112 = D_80115112 + 1;
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_010/nonmatchings/ov_SC03_010_jr_8013FFD8", func_80141A60);
|
||||
|
||||
|
||||
@@ -3229,7 +3229,93 @@ DEFINE_func_8016DB34() /* dedup: shared engine-core @0x8016DB34 (src/shared) */
|
||||
|
||||
DEFINE_func_8016DBD8() /* dedup: shared engine-core @0x8016DBD8 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_010/nonmatchings/ov_SC03_010_jr_8016AB6C", func_8016DC20);
|
||||
|
||||
extern s32 D_8011D030;
|
||||
|
||||
extern void func_80149374(s32 a0, s32 a1);
|
||||
extern s32 func_801619D0(void *a0);
|
||||
extern s32 func_80146A6C(s32 a0, void *a1, s32 a2, s32 a3, s32 a4, s32 a5, s32 a6);
|
||||
extern void func_800D20C0(void *a0, void *a1, s32 a2);
|
||||
extern void func_800D23D0(void *a0);
|
||||
extern s32 func_800D21C4(s32 a0, void *a1, s32 a2);
|
||||
extern void func_800D1FC8(s32 a0, s32 a1);
|
||||
extern void func_80128EA8(s32 a0, s32 a1, s32 a2);
|
||||
extern s32 func_80128ED8(void *a0, void *a1);
|
||||
extern void func_80146C3C(void);
|
||||
|
||||
void func_8016DC20(s16 *param_1) {
|
||||
|
||||
extern s16 D_8019FA38;
|
||||
extern s16 D_8019FA3C;
|
||||
extern u8 D_801831FC[];
|
||||
extern u8 D_80183208[];
|
||||
u16 *psVar1;
|
||||
s32 iVar2;
|
||||
s32 iVar3;
|
||||
s32 iVar4;
|
||||
s16 i;
|
||||
s16 sp[6];
|
||||
|
||||
i = 0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
iVar4 = *(s32 *)((u8 *)param_1 + 0x34);
|
||||
do {
|
||||
if ((psVar1 != (u16 *)param_1) && (*psVar1 == 0x34)) goto end;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80149374(iVar4, (s32)param_1 + 4);
|
||||
iVar2 = func_801619D0((void *)iVar4);
|
||||
i = 0;
|
||||
if (iVar2 == 0) goto ddb0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
do {
|
||||
if (*psVar1 == 0x11) goto ddb0;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80146A6C(0x11, param_1, *(s16 *)((u8 *)param_1 + 6),
|
||||
(s16)(*(u16 *)((u8 *)param_1 + 0xa) - 8),
|
||||
*(s16 *)((u8 *)param_1 + 0xe), 0, 0);
|
||||
sp[0] = *(u16 *)((u8 *)param_1 + 6);
|
||||
sp[1] = *(u16 *)((u8 *)param_1 + 0xa);
|
||||
sp[2] = *(u16 *)((u8 *)param_1 + 0xe);
|
||||
func_800D20C0(&sp[0], &sp[4], 0);
|
||||
sp[5] = 0;
|
||||
func_800D23D0(&sp[4]);
|
||||
i = 0;
|
||||
do {
|
||||
iVar3 = func_80146A6C(0x12, param_1, *(s16 *)(iVar4 + 6),
|
||||
*(s16 *)(iVar4 + 0xa), *(s16 *)(iVar4 + 0xe),
|
||||
i, 0);
|
||||
if (iVar3 != 0) {
|
||||
*(u16 *)(iVar3 + 0x12) = sp[4];
|
||||
*(u16 *)(iVar3 + 0x16) = sp[5];
|
||||
*(u16 *)(iVar3 + 0x1a) = 0;
|
||||
}
|
||||
i = i + 2;
|
||||
} while (i < 3);
|
||||
goto end;
|
||||
ddb0:
|
||||
if (((D_8019FA38 != *(s16 *)(iVar4 + 6)) || (D_8019FA3C != *(s16 *)(iVar4 + 0xe))) &&
|
||||
(iVar2 = func_800D21C4((s32)param_1, D_801831FC, 0x18), iVar2 != 0)) {
|
||||
D_8019FA38 = *(u16 *)(iVar4 + 6);
|
||||
D_8019FA3C = *(u16 *)(iVar4 + 0xe);
|
||||
func_800D1FC8((s32)param_1, 7);
|
||||
*(s32 *)((u8 *)param_1 + 0x20) = iVar2;
|
||||
*(u16 *)(iVar2 + 0x1a) = 0x3000;
|
||||
*(u16 *)(iVar2 + 0x18) = 0x3000;
|
||||
*(u8 *)(iVar2 + 0x26) = 0xff;
|
||||
*(u32 *)(iVar2 + 4) = *(u32 *)(iVar2 + 4) | 0x50000000;
|
||||
func_80128EA8(iVar2, (s32)param_1 + 0x24, (s32)D_80183208);
|
||||
func_80128ED8((void *)iVar2, (void *)((s32)param_1 + 0x24));
|
||||
*(u16 *)((u8 *)param_1 + 2) = *(u16 *)((u8 *)param_1 + 2) + 1;
|
||||
return;
|
||||
}
|
||||
end:
|
||||
((void (*)(s16 *))func_80146C3C)(param_1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern void (*D_80183228[])(void);
|
||||
|
||||
@@ -3229,7 +3229,93 @@ DEFINE_func_8016DB34() /* dedup: shared engine-core @0x8016DB34 (src/shared) */
|
||||
|
||||
DEFINE_func_8016DBD8() /* dedup: shared engine-core @0x8016DBD8 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_011/nonmatchings/ov_SC03_011_jr_8016AB6C", func_8016DC20);
|
||||
|
||||
extern s32 D_8011D030;
|
||||
|
||||
extern void func_80149374(s32 a0, s32 a1);
|
||||
extern s32 func_801619D0(void *a0);
|
||||
extern s32 func_80146A6C(s32 a0, void *a1, s32 a2, s32 a3, s32 a4, s32 a5, s32 a6);
|
||||
extern void func_800D20C0(void *a0, void *a1, s32 a2);
|
||||
extern void func_800D23D0(void *a0);
|
||||
extern s32 func_800D21C4(s32 a0, void *a1, s32 a2);
|
||||
extern void func_800D1FC8(s32 a0, s32 a1);
|
||||
extern void func_80128EA8(s32 a0, s32 a1, s32 a2);
|
||||
extern s32 func_80128ED8(void *a0, void *a1);
|
||||
extern void func_80146C3C(void);
|
||||
|
||||
void func_8016DC20(s16 *param_1) {
|
||||
|
||||
extern s16 D_801A1CD0;
|
||||
extern s16 D_801A1CD4;
|
||||
extern u8 D_8018456C[];
|
||||
extern u8 D_80184578[];
|
||||
u16 *psVar1;
|
||||
s32 iVar2;
|
||||
s32 iVar3;
|
||||
s32 iVar4;
|
||||
s16 i;
|
||||
s16 sp[6];
|
||||
|
||||
i = 0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
iVar4 = *(s32 *)((u8 *)param_1 + 0x34);
|
||||
do {
|
||||
if ((psVar1 != (u16 *)param_1) && (*psVar1 == 0x34)) goto end;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80149374(iVar4, (s32)param_1 + 4);
|
||||
iVar2 = func_801619D0((void *)iVar4);
|
||||
i = 0;
|
||||
if (iVar2 == 0) goto ddb0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
do {
|
||||
if (*psVar1 == 0x11) goto ddb0;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80146A6C(0x11, param_1, *(s16 *)((u8 *)param_1 + 6),
|
||||
(s16)(*(u16 *)((u8 *)param_1 + 0xa) - 8),
|
||||
*(s16 *)((u8 *)param_1 + 0xe), 0, 0);
|
||||
sp[0] = *(u16 *)((u8 *)param_1 + 6);
|
||||
sp[1] = *(u16 *)((u8 *)param_1 + 0xa);
|
||||
sp[2] = *(u16 *)((u8 *)param_1 + 0xe);
|
||||
func_800D20C0(&sp[0], &sp[4], 0);
|
||||
sp[5] = 0;
|
||||
func_800D23D0(&sp[4]);
|
||||
i = 0;
|
||||
do {
|
||||
iVar3 = func_80146A6C(0x12, param_1, *(s16 *)(iVar4 + 6),
|
||||
*(s16 *)(iVar4 + 0xa), *(s16 *)(iVar4 + 0xe),
|
||||
i, 0);
|
||||
if (iVar3 != 0) {
|
||||
*(u16 *)(iVar3 + 0x12) = sp[4];
|
||||
*(u16 *)(iVar3 + 0x16) = sp[5];
|
||||
*(u16 *)(iVar3 + 0x1a) = 0;
|
||||
}
|
||||
i = i + 2;
|
||||
} while (i < 3);
|
||||
goto end;
|
||||
ddb0:
|
||||
if (((D_801A1CD0 != *(s16 *)(iVar4 + 6)) || (D_801A1CD4 != *(s16 *)(iVar4 + 0xe))) &&
|
||||
(iVar2 = func_800D21C4((s32)param_1, D_8018456C, 0x18), iVar2 != 0)) {
|
||||
D_801A1CD0 = *(u16 *)(iVar4 + 6);
|
||||
D_801A1CD4 = *(u16 *)(iVar4 + 0xe);
|
||||
func_800D1FC8((s32)param_1, 7);
|
||||
*(s32 *)((u8 *)param_1 + 0x20) = iVar2;
|
||||
*(u16 *)(iVar2 + 0x1a) = 0x3000;
|
||||
*(u16 *)(iVar2 + 0x18) = 0x3000;
|
||||
*(u8 *)(iVar2 + 0x26) = 0xff;
|
||||
*(u32 *)(iVar2 + 4) = *(u32 *)(iVar2 + 4) | 0x50000000;
|
||||
func_80128EA8(iVar2, (s32)param_1 + 0x24, (s32)D_80184578);
|
||||
func_80128ED8((void *)iVar2, (void *)((s32)param_1 + 0x24));
|
||||
*(u16 *)((u8 *)param_1 + 2) = *(u16 *)((u8 *)param_1 + 2) + 1;
|
||||
return;
|
||||
}
|
||||
end:
|
||||
((void (*)(s16 *))func_80146C3C)(param_1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern void (*D_80184598[])(void);
|
||||
|
||||
@@ -1342,7 +1342,79 @@ void func_80141874(void) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_012/nonmatchings/ov_SC03_012_jr_8013FFD8", func_801418F8);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern u16 D_80115110;
|
||||
extern u16 D_80115112;
|
||||
extern unsigned short D_80115118;
|
||||
extern volatile u16 D_8011511A;
|
||||
extern s16 D_80115128;
|
||||
extern s32 D_80115130;
|
||||
extern s16 D_8017F4C0;
|
||||
extern s16 D_8017F4C2;
|
||||
|
||||
extern void func_800D24A0(s32 a0);
|
||||
extern s32 func_80029178(s32 a0);
|
||||
extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
extern void func_80141C0C(s32 a0);
|
||||
|
||||
void func_801418F8(void)
|
||||
{
|
||||
|
||||
extern s16 D_8011512E;
|
||||
extern u8 D_80115158[];
|
||||
extern s16 D_8011515A;
|
||||
extern u8 D_8011515C;
|
||||
extern s16 D_8011515E;
|
||||
extern s16 D_80115162;
|
||||
extern s16 D_80115166;
|
||||
extern u8 D_8017F160;
|
||||
extern u8 D_8017F178;
|
||||
extern u8 D_8017F1EC;
|
||||
extern u8 D_8017F1F4;
|
||||
extern void *D_80193DF8;
|
||||
extern void *D_80193DFC;
|
||||
u16 t;
|
||||
|
||||
func_800D24A0(1);
|
||||
D_8011511A = 2;
|
||||
t = D_8011511A;
|
||||
(*(s16 *)&D_80115118) = 0;
|
||||
D_80115130 = 0;
|
||||
if (t >= 4) {
|
||||
D_8011511A = t - 3;
|
||||
}
|
||||
(*(s16 *)D_80115158) = 0x106;
|
||||
if ((func_80029178(0x1C) & 0xFF) == 0) {
|
||||
D_80193DF8 = &D_8017F160;
|
||||
D_80193DFC = &D_8017F1EC;
|
||||
} else {
|
||||
D_80193DF8 = &D_8017F178;
|
||||
D_80193DFC = &D_8017F1F4;
|
||||
}
|
||||
D_8011515A = 0x104;
|
||||
(*(s16 *)&D_8011515C) = 0x104;
|
||||
D_8011515E = 0x129;
|
||||
D_80115162 = 0x103;
|
||||
D_80115166 = 0x105;
|
||||
D_80115128 = 0;
|
||||
D_8011512E = 0;
|
||||
if (D_80115110 == 3) {
|
||||
func_8002D4C8(0x46E, 0);
|
||||
} else {
|
||||
func_80141C0C(0);
|
||||
}
|
||||
D_80115128 = 1;
|
||||
D_8017F4C0 = 0xE;
|
||||
D_8017F4C2 = 3;
|
||||
D_80115112 = D_80115112 + 1;
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_012/nonmatchings/ov_SC03_012_jr_8013FFD8", func_80141A60);
|
||||
|
||||
|
||||
@@ -3229,7 +3229,93 @@ DEFINE_func_8016DB34() /* dedup: shared engine-core @0x8016DB34 (src/shared) */
|
||||
|
||||
DEFINE_func_8016DBD8() /* dedup: shared engine-core @0x8016DBD8 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_012/nonmatchings/ov_SC03_012_jr_8016AB6C", func_8016DC20);
|
||||
|
||||
extern s32 D_8011D030;
|
||||
|
||||
extern void func_80149374(s32 a0, s32 a1);
|
||||
extern s32 func_801619D0(void *a0);
|
||||
extern s32 func_80146A6C(s32 a0, void *a1, s32 a2, s32 a3, s32 a4, s32 a5, s32 a6);
|
||||
extern void func_800D20C0(void *a0, void *a1, s32 a2);
|
||||
extern void func_800D23D0(void *a0);
|
||||
extern s32 func_800D21C4(s32 a0, void *a1, s32 a2);
|
||||
extern void func_800D1FC8(s32 a0, s32 a1);
|
||||
extern void func_80128EA8(s32 a0, s32 a1, s32 a2);
|
||||
extern s32 func_80128ED8(void *a0, void *a1);
|
||||
extern void func_80146C3C(void);
|
||||
|
||||
void func_8016DC20(s16 *param_1) {
|
||||
|
||||
extern s16 D_80194AF0;
|
||||
extern s16 D_80194AF4;
|
||||
extern u8 D_8018144C[];
|
||||
extern u8 D_80181458[];
|
||||
u16 *psVar1;
|
||||
s32 iVar2;
|
||||
s32 iVar3;
|
||||
s32 iVar4;
|
||||
s16 i;
|
||||
s16 sp[6];
|
||||
|
||||
i = 0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
iVar4 = *(s32 *)((u8 *)param_1 + 0x34);
|
||||
do {
|
||||
if ((psVar1 != (u16 *)param_1) && (*psVar1 == 0x34)) goto end;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80149374(iVar4, (s32)param_1 + 4);
|
||||
iVar2 = func_801619D0((void *)iVar4);
|
||||
i = 0;
|
||||
if (iVar2 == 0) goto ddb0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
do {
|
||||
if (*psVar1 == 0x11) goto ddb0;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80146A6C(0x11, param_1, *(s16 *)((u8 *)param_1 + 6),
|
||||
(s16)(*(u16 *)((u8 *)param_1 + 0xa) - 8),
|
||||
*(s16 *)((u8 *)param_1 + 0xe), 0, 0);
|
||||
sp[0] = *(u16 *)((u8 *)param_1 + 6);
|
||||
sp[1] = *(u16 *)((u8 *)param_1 + 0xa);
|
||||
sp[2] = *(u16 *)((u8 *)param_1 + 0xe);
|
||||
func_800D20C0(&sp[0], &sp[4], 0);
|
||||
sp[5] = 0;
|
||||
func_800D23D0(&sp[4]);
|
||||
i = 0;
|
||||
do {
|
||||
iVar3 = func_80146A6C(0x12, param_1, *(s16 *)(iVar4 + 6),
|
||||
*(s16 *)(iVar4 + 0xa), *(s16 *)(iVar4 + 0xe),
|
||||
i, 0);
|
||||
if (iVar3 != 0) {
|
||||
*(u16 *)(iVar3 + 0x12) = sp[4];
|
||||
*(u16 *)(iVar3 + 0x16) = sp[5];
|
||||
*(u16 *)(iVar3 + 0x1a) = 0;
|
||||
}
|
||||
i = i + 2;
|
||||
} while (i < 3);
|
||||
goto end;
|
||||
ddb0:
|
||||
if (((D_80194AF0 != *(s16 *)(iVar4 + 6)) || (D_80194AF4 != *(s16 *)(iVar4 + 0xe))) &&
|
||||
(iVar2 = func_800D21C4((s32)param_1, D_8018144C, 0x18), iVar2 != 0)) {
|
||||
D_80194AF0 = *(u16 *)(iVar4 + 6);
|
||||
D_80194AF4 = *(u16 *)(iVar4 + 0xe);
|
||||
func_800D1FC8((s32)param_1, 7);
|
||||
*(s32 *)((u8 *)param_1 + 0x20) = iVar2;
|
||||
*(u16 *)(iVar2 + 0x1a) = 0x3000;
|
||||
*(u16 *)(iVar2 + 0x18) = 0x3000;
|
||||
*(u8 *)(iVar2 + 0x26) = 0xff;
|
||||
*(u32 *)(iVar2 + 4) = *(u32 *)(iVar2 + 4) | 0x50000000;
|
||||
func_80128EA8(iVar2, (s32)param_1 + 0x24, (s32)D_80181458);
|
||||
func_80128ED8((void *)iVar2, (void *)((s32)param_1 + 0x24));
|
||||
*(u16 *)((u8 *)param_1 + 2) = *(u16 *)((u8 *)param_1 + 2) + 1;
|
||||
return;
|
||||
}
|
||||
end:
|
||||
((void (*)(s16 *))func_80146C3C)(param_1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern void (*D_80181478[])(void);
|
||||
|
||||
@@ -1342,7 +1342,79 @@ void func_80141874(void) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_013/nonmatchings/ov_SC03_013_jr_8013FFD8", func_801418F8);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern u16 D_80115110;
|
||||
extern u16 D_80115112;
|
||||
extern unsigned short D_80115118;
|
||||
extern volatile u16 D_8011511A;
|
||||
extern s16 D_80115128;
|
||||
extern s32 D_80115130;
|
||||
extern s16 D_801822A8;
|
||||
extern s16 D_801822AA;
|
||||
|
||||
extern void func_800D24A0(s32 a0);
|
||||
extern s32 func_80029178(s32 a0);
|
||||
extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
extern void func_80141C0C(s32 a0);
|
||||
|
||||
void func_801418F8(void)
|
||||
{
|
||||
|
||||
extern s16 D_8011512E;
|
||||
extern u8 D_80115158[];
|
||||
extern s16 D_8011515A;
|
||||
extern u8 D_8011515C;
|
||||
extern s16 D_8011515E;
|
||||
extern s16 D_80115162;
|
||||
extern s16 D_80115166;
|
||||
extern u8 D_80181F48;
|
||||
extern u8 D_80181F60;
|
||||
extern u8 D_80181FD4;
|
||||
extern u8 D_80181FDC;
|
||||
extern void *D_801AC0C8;
|
||||
extern void *D_801AC0CC;
|
||||
u16 t;
|
||||
|
||||
func_800D24A0(1);
|
||||
D_8011511A = 2;
|
||||
t = D_8011511A;
|
||||
(*(s16 *)&D_80115118) = 0;
|
||||
D_80115130 = 0;
|
||||
if (t >= 4) {
|
||||
D_8011511A = t - 3;
|
||||
}
|
||||
(*(s16 *)D_80115158) = 0x106;
|
||||
if ((func_80029178(0x1C) & 0xFF) == 0) {
|
||||
D_801AC0C8 = &D_80181F48;
|
||||
D_801AC0CC = &D_80181FD4;
|
||||
} else {
|
||||
D_801AC0C8 = &D_80181F60;
|
||||
D_801AC0CC = &D_80181FDC;
|
||||
}
|
||||
D_8011515A = 0x104;
|
||||
(*(s16 *)&D_8011515C) = 0x104;
|
||||
D_8011515E = 0x129;
|
||||
D_80115162 = 0x103;
|
||||
D_80115166 = 0x105;
|
||||
D_80115128 = 0;
|
||||
D_8011512E = 0;
|
||||
if (D_80115110 == 3) {
|
||||
func_8002D4C8(0x46E, 0);
|
||||
} else {
|
||||
func_80141C0C(0);
|
||||
}
|
||||
D_80115128 = 1;
|
||||
D_801822A8 = 0xE;
|
||||
D_801822AA = 3;
|
||||
D_80115112 = D_80115112 + 1;
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_013/nonmatchings/ov_SC03_013_jr_8013FFD8", func_80141A60);
|
||||
|
||||
|
||||
@@ -3229,7 +3229,93 @@ DEFINE_func_8016DB34() /* dedup: shared engine-core @0x8016DB34 (src/shared) */
|
||||
|
||||
DEFINE_func_8016DBD8() /* dedup: shared engine-core @0x8016DBD8 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_013/nonmatchings/ov_SC03_013_jr_8016AB6C", func_8016DC20);
|
||||
|
||||
extern s32 D_8011D030;
|
||||
|
||||
extern void func_80149374(s32 a0, s32 a1);
|
||||
extern s32 func_801619D0(void *a0);
|
||||
extern s32 func_80146A6C(s32 a0, void *a1, s32 a2, s32 a3, s32 a4, s32 a5, s32 a6);
|
||||
extern void func_800D20C0(void *a0, void *a1, s32 a2);
|
||||
extern void func_800D23D0(void *a0);
|
||||
extern s32 func_800D21C4(s32 a0, void *a1, s32 a2);
|
||||
extern void func_800D1FC8(s32 a0, s32 a1);
|
||||
extern void func_80128EA8(s32 a0, s32 a1, s32 a2);
|
||||
extern s32 func_80128ED8(void *a0, void *a1);
|
||||
extern void func_80146C3C(void);
|
||||
|
||||
void func_8016DC20(s16 *param_1) {
|
||||
|
||||
extern s16 D_801ACDC0;
|
||||
extern s16 D_801ACDC4;
|
||||
extern u8 D_80184234[];
|
||||
extern u8 D_80184240[];
|
||||
u16 *psVar1;
|
||||
s32 iVar2;
|
||||
s32 iVar3;
|
||||
s32 iVar4;
|
||||
s16 i;
|
||||
s16 sp[6];
|
||||
|
||||
i = 0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
iVar4 = *(s32 *)((u8 *)param_1 + 0x34);
|
||||
do {
|
||||
if ((psVar1 != (u16 *)param_1) && (*psVar1 == 0x34)) goto end;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80149374(iVar4, (s32)param_1 + 4);
|
||||
iVar2 = func_801619D0((void *)iVar4);
|
||||
i = 0;
|
||||
if (iVar2 == 0) goto ddb0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
do {
|
||||
if (*psVar1 == 0x11) goto ddb0;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80146A6C(0x11, param_1, *(s16 *)((u8 *)param_1 + 6),
|
||||
(s16)(*(u16 *)((u8 *)param_1 + 0xa) - 8),
|
||||
*(s16 *)((u8 *)param_1 + 0xe), 0, 0);
|
||||
sp[0] = *(u16 *)((u8 *)param_1 + 6);
|
||||
sp[1] = *(u16 *)((u8 *)param_1 + 0xa);
|
||||
sp[2] = *(u16 *)((u8 *)param_1 + 0xe);
|
||||
func_800D20C0(&sp[0], &sp[4], 0);
|
||||
sp[5] = 0;
|
||||
func_800D23D0(&sp[4]);
|
||||
i = 0;
|
||||
do {
|
||||
iVar3 = func_80146A6C(0x12, param_1, *(s16 *)(iVar4 + 6),
|
||||
*(s16 *)(iVar4 + 0xa), *(s16 *)(iVar4 + 0xe),
|
||||
i, 0);
|
||||
if (iVar3 != 0) {
|
||||
*(u16 *)(iVar3 + 0x12) = sp[4];
|
||||
*(u16 *)(iVar3 + 0x16) = sp[5];
|
||||
*(u16 *)(iVar3 + 0x1a) = 0;
|
||||
}
|
||||
i = i + 2;
|
||||
} while (i < 3);
|
||||
goto end;
|
||||
ddb0:
|
||||
if (((D_801ACDC0 != *(s16 *)(iVar4 + 6)) || (D_801ACDC4 != *(s16 *)(iVar4 + 0xe))) &&
|
||||
(iVar2 = func_800D21C4((s32)param_1, D_80184234, 0x18), iVar2 != 0)) {
|
||||
D_801ACDC0 = *(u16 *)(iVar4 + 6);
|
||||
D_801ACDC4 = *(u16 *)(iVar4 + 0xe);
|
||||
func_800D1FC8((s32)param_1, 7);
|
||||
*(s32 *)((u8 *)param_1 + 0x20) = iVar2;
|
||||
*(u16 *)(iVar2 + 0x1a) = 0x3000;
|
||||
*(u16 *)(iVar2 + 0x18) = 0x3000;
|
||||
*(u8 *)(iVar2 + 0x26) = 0xff;
|
||||
*(u32 *)(iVar2 + 4) = *(u32 *)(iVar2 + 4) | 0x50000000;
|
||||
func_80128EA8(iVar2, (s32)param_1 + 0x24, (s32)D_80184240);
|
||||
func_80128ED8((void *)iVar2, (void *)((s32)param_1 + 0x24));
|
||||
*(u16 *)((u8 *)param_1 + 2) = *(u16 *)((u8 *)param_1 + 2) + 1;
|
||||
return;
|
||||
}
|
||||
end:
|
||||
((void (*)(s16 *))func_80146C3C)(param_1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern void (*D_80184260[])(void);
|
||||
|
||||
@@ -1342,7 +1342,79 @@ void func_80141874(void) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_014/nonmatchings/ov_SC03_014_jr_8013FFD8", func_801418F8);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern u16 D_80115110;
|
||||
extern u16 D_80115112;
|
||||
extern unsigned short D_80115118;
|
||||
extern volatile u16 D_8011511A;
|
||||
extern s16 D_80115128;
|
||||
extern s32 D_80115130;
|
||||
extern s16 D_8018C8E4;
|
||||
extern s16 D_8018C8E6;
|
||||
|
||||
extern void func_800D24A0(s32 a0);
|
||||
extern s32 func_80029178(s32 a0);
|
||||
extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
extern void func_80141C0C(s32 a0);
|
||||
|
||||
void func_801418F8(void)
|
||||
{
|
||||
|
||||
extern s16 D_8011512E;
|
||||
extern u8 D_80115158[];
|
||||
extern s16 D_8011515A;
|
||||
extern u8 D_8011515C;
|
||||
extern s16 D_8011515E;
|
||||
extern s16 D_80115162;
|
||||
extern s16 D_80115166;
|
||||
extern u8 D_8018C584;
|
||||
extern u8 D_8018C59C;
|
||||
extern u8 D_8018C610;
|
||||
extern u8 D_8018C618;
|
||||
extern void *D_801E9648;
|
||||
extern void *D_801E964C;
|
||||
u16 t;
|
||||
|
||||
func_800D24A0(1);
|
||||
D_8011511A = 2;
|
||||
t = D_8011511A;
|
||||
(*(s16 *)&D_80115118) = 0;
|
||||
D_80115130 = 0;
|
||||
if (t >= 4) {
|
||||
D_8011511A = t - 3;
|
||||
}
|
||||
(*(s16 *)D_80115158) = 0x106;
|
||||
if ((func_80029178(0x1C) & 0xFF) == 0) {
|
||||
D_801E9648 = &D_8018C584;
|
||||
D_801E964C = &D_8018C610;
|
||||
} else {
|
||||
D_801E9648 = &D_8018C59C;
|
||||
D_801E964C = &D_8018C618;
|
||||
}
|
||||
D_8011515A = 0x104;
|
||||
(*(s16 *)&D_8011515C) = 0x104;
|
||||
D_8011515E = 0x129;
|
||||
D_80115162 = 0x103;
|
||||
D_80115166 = 0x105;
|
||||
D_80115128 = 0;
|
||||
D_8011512E = 0;
|
||||
if (D_80115110 == 3) {
|
||||
func_8002D4C8(0x46E, 0);
|
||||
} else {
|
||||
func_80141C0C(0);
|
||||
}
|
||||
D_80115128 = 1;
|
||||
D_8018C8E4 = 0xE;
|
||||
D_8018C8E6 = 3;
|
||||
D_80115112 = D_80115112 + 1;
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_014/nonmatchings/ov_SC03_014_jr_8013FFD8", func_80141A60);
|
||||
|
||||
|
||||
@@ -3229,7 +3229,93 @@ DEFINE_func_8016DB34() /* dedup: shared engine-core @0x8016DB34 (src/shared) */
|
||||
|
||||
DEFINE_func_8016DBD8() /* dedup: shared engine-core @0x8016DBD8 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_014/nonmatchings/ov_SC03_014_jr_8016AB6C", func_8016DC20);
|
||||
|
||||
extern s32 D_8011D030;
|
||||
|
||||
extern void func_80149374(s32 a0, s32 a1);
|
||||
extern s32 func_801619D0(void *a0);
|
||||
extern s32 func_80146A6C(s32 a0, void *a1, s32 a2, s32 a3, s32 a4, s32 a5, s32 a6);
|
||||
extern void func_800D20C0(void *a0, void *a1, s32 a2);
|
||||
extern void func_800D23D0(void *a0);
|
||||
extern s32 func_800D21C4(s32 a0, void *a1, s32 a2);
|
||||
extern void func_800D1FC8(s32 a0, s32 a1);
|
||||
extern void func_80128EA8(s32 a0, s32 a1, s32 a2);
|
||||
extern s32 func_80128ED8(void *a0, void *a1);
|
||||
extern void func_80146C3C(void);
|
||||
|
||||
void func_8016DC20(s16 *param_1) {
|
||||
|
||||
extern s16 D_801EA340;
|
||||
extern s16 D_801EA344;
|
||||
extern u8 D_8018E870[];
|
||||
extern u8 D_8018E87C[];
|
||||
u16 *psVar1;
|
||||
s32 iVar2;
|
||||
s32 iVar3;
|
||||
s32 iVar4;
|
||||
s16 i;
|
||||
s16 sp[6];
|
||||
|
||||
i = 0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
iVar4 = *(s32 *)((u8 *)param_1 + 0x34);
|
||||
do {
|
||||
if ((psVar1 != (u16 *)param_1) && (*psVar1 == 0x34)) goto end;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80149374(iVar4, (s32)param_1 + 4);
|
||||
iVar2 = func_801619D0((void *)iVar4);
|
||||
i = 0;
|
||||
if (iVar2 == 0) goto ddb0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
do {
|
||||
if (*psVar1 == 0x11) goto ddb0;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80146A6C(0x11, param_1, *(s16 *)((u8 *)param_1 + 6),
|
||||
(s16)(*(u16 *)((u8 *)param_1 + 0xa) - 8),
|
||||
*(s16 *)((u8 *)param_1 + 0xe), 0, 0);
|
||||
sp[0] = *(u16 *)((u8 *)param_1 + 6);
|
||||
sp[1] = *(u16 *)((u8 *)param_1 + 0xa);
|
||||
sp[2] = *(u16 *)((u8 *)param_1 + 0xe);
|
||||
func_800D20C0(&sp[0], &sp[4], 0);
|
||||
sp[5] = 0;
|
||||
func_800D23D0(&sp[4]);
|
||||
i = 0;
|
||||
do {
|
||||
iVar3 = func_80146A6C(0x12, param_1, *(s16 *)(iVar4 + 6),
|
||||
*(s16 *)(iVar4 + 0xa), *(s16 *)(iVar4 + 0xe),
|
||||
i, 0);
|
||||
if (iVar3 != 0) {
|
||||
*(u16 *)(iVar3 + 0x12) = sp[4];
|
||||
*(u16 *)(iVar3 + 0x16) = sp[5];
|
||||
*(u16 *)(iVar3 + 0x1a) = 0;
|
||||
}
|
||||
i = i + 2;
|
||||
} while (i < 3);
|
||||
goto end;
|
||||
ddb0:
|
||||
if (((D_801EA340 != *(s16 *)(iVar4 + 6)) || (D_801EA344 != *(s16 *)(iVar4 + 0xe))) &&
|
||||
(iVar2 = func_800D21C4((s32)param_1, D_8018E870, 0x18), iVar2 != 0)) {
|
||||
D_801EA340 = *(u16 *)(iVar4 + 6);
|
||||
D_801EA344 = *(u16 *)(iVar4 + 0xe);
|
||||
func_800D1FC8((s32)param_1, 7);
|
||||
*(s32 *)((u8 *)param_1 + 0x20) = iVar2;
|
||||
*(u16 *)(iVar2 + 0x1a) = 0x3000;
|
||||
*(u16 *)(iVar2 + 0x18) = 0x3000;
|
||||
*(u8 *)(iVar2 + 0x26) = 0xff;
|
||||
*(u32 *)(iVar2 + 4) = *(u32 *)(iVar2 + 4) | 0x50000000;
|
||||
func_80128EA8(iVar2, (s32)param_1 + 0x24, (s32)D_8018E87C);
|
||||
func_80128ED8((void *)iVar2, (void *)((s32)param_1 + 0x24));
|
||||
*(u16 *)((u8 *)param_1 + 2) = *(u16 *)((u8 *)param_1 + 2) + 1;
|
||||
return;
|
||||
}
|
||||
end:
|
||||
((void (*)(s16 *))func_80146C3C)(param_1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern void (*D_8018E89C[])(void);
|
||||
|
||||
@@ -1342,7 +1342,79 @@ void func_80141874(void) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_015/nonmatchings/ov_SC03_015_jr_8013FFD8", func_801418F8);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern u16 D_80115110;
|
||||
extern u16 D_80115112;
|
||||
extern unsigned short D_80115118;
|
||||
extern volatile u16 D_8011511A;
|
||||
extern s16 D_80115128;
|
||||
extern s32 D_80115130;
|
||||
extern s16 D_8018C8E4;
|
||||
extern s16 D_8018C8E6;
|
||||
|
||||
extern void func_800D24A0(s32 a0);
|
||||
extern s32 func_80029178(s32 a0);
|
||||
extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
extern void func_80141C0C(s32 a0);
|
||||
|
||||
void func_801418F8(void)
|
||||
{
|
||||
|
||||
extern s16 D_8011512E;
|
||||
extern u8 D_80115158[];
|
||||
extern s16 D_8011515A;
|
||||
extern u8 D_8011515C;
|
||||
extern s16 D_8011515E;
|
||||
extern s16 D_80115162;
|
||||
extern s16 D_80115166;
|
||||
extern u8 D_8018C584;
|
||||
extern u8 D_8018C59C;
|
||||
extern u8 D_8018C610;
|
||||
extern u8 D_8018C618;
|
||||
extern void *D_801E9648;
|
||||
extern void *D_801E964C;
|
||||
u16 t;
|
||||
|
||||
func_800D24A0(1);
|
||||
D_8011511A = 2;
|
||||
t = D_8011511A;
|
||||
(*(s16 *)&D_80115118) = 0;
|
||||
D_80115130 = 0;
|
||||
if (t >= 4) {
|
||||
D_8011511A = t - 3;
|
||||
}
|
||||
(*(s16 *)D_80115158) = 0x106;
|
||||
if ((func_80029178(0x1C) & 0xFF) == 0) {
|
||||
D_801E9648 = &D_8018C584;
|
||||
D_801E964C = &D_8018C610;
|
||||
} else {
|
||||
D_801E9648 = &D_8018C59C;
|
||||
D_801E964C = &D_8018C618;
|
||||
}
|
||||
D_8011515A = 0x104;
|
||||
(*(s16 *)&D_8011515C) = 0x104;
|
||||
D_8011515E = 0x129;
|
||||
D_80115162 = 0x103;
|
||||
D_80115166 = 0x105;
|
||||
D_80115128 = 0;
|
||||
D_8011512E = 0;
|
||||
if (D_80115110 == 3) {
|
||||
func_8002D4C8(0x46E, 0);
|
||||
} else {
|
||||
func_80141C0C(0);
|
||||
}
|
||||
D_80115128 = 1;
|
||||
D_8018C8E4 = 0xE;
|
||||
D_8018C8E6 = 3;
|
||||
D_80115112 = D_80115112 + 1;
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_015/nonmatchings/ov_SC03_015_jr_8013FFD8", func_80141A60);
|
||||
|
||||
|
||||
@@ -3229,7 +3229,93 @@ DEFINE_func_8016DB34() /* dedup: shared engine-core @0x8016DB34 (src/shared) */
|
||||
|
||||
DEFINE_func_8016DBD8() /* dedup: shared engine-core @0x8016DBD8 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_015/nonmatchings/ov_SC03_015_jr_8016AB6C", func_8016DC20);
|
||||
|
||||
extern s32 D_8011D030;
|
||||
|
||||
extern void func_80149374(s32 a0, s32 a1);
|
||||
extern s32 func_801619D0(void *a0);
|
||||
extern s32 func_80146A6C(s32 a0, void *a1, s32 a2, s32 a3, s32 a4, s32 a5, s32 a6);
|
||||
extern void func_800D20C0(void *a0, void *a1, s32 a2);
|
||||
extern void func_800D23D0(void *a0);
|
||||
extern s32 func_800D21C4(s32 a0, void *a1, s32 a2);
|
||||
extern void func_800D1FC8(s32 a0, s32 a1);
|
||||
extern void func_80128EA8(s32 a0, s32 a1, s32 a2);
|
||||
extern s32 func_80128ED8(void *a0, void *a1);
|
||||
extern void func_80146C3C(void);
|
||||
|
||||
void func_8016DC20(s16 *param_1) {
|
||||
|
||||
extern s16 D_801EA340;
|
||||
extern s16 D_801EA344;
|
||||
extern u8 D_8018E870[];
|
||||
extern u8 D_8018E87C[];
|
||||
u16 *psVar1;
|
||||
s32 iVar2;
|
||||
s32 iVar3;
|
||||
s32 iVar4;
|
||||
s16 i;
|
||||
s16 sp[6];
|
||||
|
||||
i = 0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
iVar4 = *(s32 *)((u8 *)param_1 + 0x34);
|
||||
do {
|
||||
if ((psVar1 != (u16 *)param_1) && (*psVar1 == 0x34)) goto end;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80149374(iVar4, (s32)param_1 + 4);
|
||||
iVar2 = func_801619D0((void *)iVar4);
|
||||
i = 0;
|
||||
if (iVar2 == 0) goto ddb0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
do {
|
||||
if (*psVar1 == 0x11) goto ddb0;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80146A6C(0x11, param_1, *(s16 *)((u8 *)param_1 + 6),
|
||||
(s16)(*(u16 *)((u8 *)param_1 + 0xa) - 8),
|
||||
*(s16 *)((u8 *)param_1 + 0xe), 0, 0);
|
||||
sp[0] = *(u16 *)((u8 *)param_1 + 6);
|
||||
sp[1] = *(u16 *)((u8 *)param_1 + 0xa);
|
||||
sp[2] = *(u16 *)((u8 *)param_1 + 0xe);
|
||||
func_800D20C0(&sp[0], &sp[4], 0);
|
||||
sp[5] = 0;
|
||||
func_800D23D0(&sp[4]);
|
||||
i = 0;
|
||||
do {
|
||||
iVar3 = func_80146A6C(0x12, param_1, *(s16 *)(iVar4 + 6),
|
||||
*(s16 *)(iVar4 + 0xa), *(s16 *)(iVar4 + 0xe),
|
||||
i, 0);
|
||||
if (iVar3 != 0) {
|
||||
*(u16 *)(iVar3 + 0x12) = sp[4];
|
||||
*(u16 *)(iVar3 + 0x16) = sp[5];
|
||||
*(u16 *)(iVar3 + 0x1a) = 0;
|
||||
}
|
||||
i = i + 2;
|
||||
} while (i < 3);
|
||||
goto end;
|
||||
ddb0:
|
||||
if (((D_801EA340 != *(s16 *)(iVar4 + 6)) || (D_801EA344 != *(s16 *)(iVar4 + 0xe))) &&
|
||||
(iVar2 = func_800D21C4((s32)param_1, D_8018E870, 0x18), iVar2 != 0)) {
|
||||
D_801EA340 = *(u16 *)(iVar4 + 6);
|
||||
D_801EA344 = *(u16 *)(iVar4 + 0xe);
|
||||
func_800D1FC8((s32)param_1, 7);
|
||||
*(s32 *)((u8 *)param_1 + 0x20) = iVar2;
|
||||
*(u16 *)(iVar2 + 0x1a) = 0x3000;
|
||||
*(u16 *)(iVar2 + 0x18) = 0x3000;
|
||||
*(u8 *)(iVar2 + 0x26) = 0xff;
|
||||
*(u32 *)(iVar2 + 4) = *(u32 *)(iVar2 + 4) | 0x50000000;
|
||||
func_80128EA8(iVar2, (s32)param_1 + 0x24, (s32)D_8018E87C);
|
||||
func_80128ED8((void *)iVar2, (void *)((s32)param_1 + 0x24));
|
||||
*(u16 *)((u8 *)param_1 + 2) = *(u16 *)((u8 *)param_1 + 2) + 1;
|
||||
return;
|
||||
}
|
||||
end:
|
||||
((void (*)(s16 *))func_80146C3C)(param_1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern void (*D_8018E89C[])(void);
|
||||
|
||||
@@ -1342,7 +1342,79 @@ void func_80141874(void) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_023/nonmatchings/ov_SC03_023_jr_8013FFD8", func_801418F8);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern u16 D_80115110;
|
||||
extern u16 D_80115112;
|
||||
extern unsigned short D_80115118;
|
||||
extern volatile u16 D_8011511A;
|
||||
extern s16 D_80115128;
|
||||
extern s32 D_80115130;
|
||||
extern s16 D_80180260;
|
||||
extern s16 D_80180262;
|
||||
|
||||
extern void func_800D24A0(s32 a0);
|
||||
extern s32 func_80029178(s32 a0);
|
||||
extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
extern void func_80141C0C(s32 a0);
|
||||
|
||||
void func_801418F8(void)
|
||||
{
|
||||
|
||||
extern s16 D_8011512E;
|
||||
extern u8 D_80115158[];
|
||||
extern s16 D_8011515A;
|
||||
extern u8 D_8011515C;
|
||||
extern s16 D_8011515E;
|
||||
extern s16 D_80115162;
|
||||
extern s16 D_80115166;
|
||||
extern u8 D_8017FF00;
|
||||
extern u8 D_8017FF18;
|
||||
extern u8 D_8017FF8C;
|
||||
extern u8 D_8017FF94;
|
||||
extern void *D_80197A20;
|
||||
extern void *D_80197A24;
|
||||
u16 t;
|
||||
|
||||
func_800D24A0(1);
|
||||
D_8011511A = 2;
|
||||
t = D_8011511A;
|
||||
(*(s16 *)&D_80115118) = 0;
|
||||
D_80115130 = 0;
|
||||
if (t >= 4) {
|
||||
D_8011511A = t - 3;
|
||||
}
|
||||
(*(s16 *)D_80115158) = 0x106;
|
||||
if ((func_80029178(0x1C) & 0xFF) == 0) {
|
||||
D_80197A20 = &D_8017FF00;
|
||||
D_80197A24 = &D_8017FF8C;
|
||||
} else {
|
||||
D_80197A20 = &D_8017FF18;
|
||||
D_80197A24 = &D_8017FF94;
|
||||
}
|
||||
D_8011515A = 0x104;
|
||||
(*(s16 *)&D_8011515C) = 0x104;
|
||||
D_8011515E = 0x129;
|
||||
D_80115162 = 0x103;
|
||||
D_80115166 = 0x105;
|
||||
D_80115128 = 0;
|
||||
D_8011512E = 0;
|
||||
if (D_80115110 == 3) {
|
||||
func_8002D4C8(0x46E, 0);
|
||||
} else {
|
||||
func_80141C0C(0);
|
||||
}
|
||||
D_80115128 = 1;
|
||||
D_80180260 = 0xE;
|
||||
D_80180262 = 3;
|
||||
D_80115112 = D_80115112 + 1;
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_023/nonmatchings/ov_SC03_023_jr_8013FFD8", func_80141A60);
|
||||
|
||||
|
||||
@@ -3229,7 +3229,93 @@ DEFINE_func_8016DB34() /* dedup: shared engine-core @0x8016DB34 (src/shared) */
|
||||
|
||||
DEFINE_func_8016DBD8() /* dedup: shared engine-core @0x8016DBD8 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_023/nonmatchings/ov_SC03_023_jr_8016AB6C", func_8016DC20);
|
||||
|
||||
extern s32 D_8011D030;
|
||||
|
||||
extern void func_80149374(s32 a0, s32 a1);
|
||||
extern s32 func_801619D0(void *a0);
|
||||
extern s32 func_80146A6C(s32 a0, void *a1, s32 a2, s32 a3, s32 a4, s32 a5, s32 a6);
|
||||
extern void func_800D20C0(void *a0, void *a1, s32 a2);
|
||||
extern void func_800D23D0(void *a0);
|
||||
extern s32 func_800D21C4(s32 a0, void *a1, s32 a2);
|
||||
extern void func_800D1FC8(s32 a0, s32 a1);
|
||||
extern void func_80128EA8(s32 a0, s32 a1, s32 a2);
|
||||
extern s32 func_80128ED8(void *a0, void *a1);
|
||||
extern void func_80146C3C(void);
|
||||
|
||||
void func_8016DC20(s16 *param_1) {
|
||||
|
||||
extern s16 D_80198718;
|
||||
extern s16 D_8019871C;
|
||||
extern u8 D_801821EC[];
|
||||
extern u8 D_801821F8[];
|
||||
u16 *psVar1;
|
||||
s32 iVar2;
|
||||
s32 iVar3;
|
||||
s32 iVar4;
|
||||
s16 i;
|
||||
s16 sp[6];
|
||||
|
||||
i = 0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
iVar4 = *(s32 *)((u8 *)param_1 + 0x34);
|
||||
do {
|
||||
if ((psVar1 != (u16 *)param_1) && (*psVar1 == 0x34)) goto end;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80149374(iVar4, (s32)param_1 + 4);
|
||||
iVar2 = func_801619D0((void *)iVar4);
|
||||
i = 0;
|
||||
if (iVar2 == 0) goto ddb0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
do {
|
||||
if (*psVar1 == 0x11) goto ddb0;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80146A6C(0x11, param_1, *(s16 *)((u8 *)param_1 + 6),
|
||||
(s16)(*(u16 *)((u8 *)param_1 + 0xa) - 8),
|
||||
*(s16 *)((u8 *)param_1 + 0xe), 0, 0);
|
||||
sp[0] = *(u16 *)((u8 *)param_1 + 6);
|
||||
sp[1] = *(u16 *)((u8 *)param_1 + 0xa);
|
||||
sp[2] = *(u16 *)((u8 *)param_1 + 0xe);
|
||||
func_800D20C0(&sp[0], &sp[4], 0);
|
||||
sp[5] = 0;
|
||||
func_800D23D0(&sp[4]);
|
||||
i = 0;
|
||||
do {
|
||||
iVar3 = func_80146A6C(0x12, param_1, *(s16 *)(iVar4 + 6),
|
||||
*(s16 *)(iVar4 + 0xa), *(s16 *)(iVar4 + 0xe),
|
||||
i, 0);
|
||||
if (iVar3 != 0) {
|
||||
*(u16 *)(iVar3 + 0x12) = sp[4];
|
||||
*(u16 *)(iVar3 + 0x16) = sp[5];
|
||||
*(u16 *)(iVar3 + 0x1a) = 0;
|
||||
}
|
||||
i = i + 2;
|
||||
} while (i < 3);
|
||||
goto end;
|
||||
ddb0:
|
||||
if (((D_80198718 != *(s16 *)(iVar4 + 6)) || (D_8019871C != *(s16 *)(iVar4 + 0xe))) &&
|
||||
(iVar2 = func_800D21C4((s32)param_1, D_801821EC, 0x18), iVar2 != 0)) {
|
||||
D_80198718 = *(u16 *)(iVar4 + 6);
|
||||
D_8019871C = *(u16 *)(iVar4 + 0xe);
|
||||
func_800D1FC8((s32)param_1, 7);
|
||||
*(s32 *)((u8 *)param_1 + 0x20) = iVar2;
|
||||
*(u16 *)(iVar2 + 0x1a) = 0x3000;
|
||||
*(u16 *)(iVar2 + 0x18) = 0x3000;
|
||||
*(u8 *)(iVar2 + 0x26) = 0xff;
|
||||
*(u32 *)(iVar2 + 4) = *(u32 *)(iVar2 + 4) | 0x50000000;
|
||||
func_80128EA8(iVar2, (s32)param_1 + 0x24, (s32)D_801821F8);
|
||||
func_80128ED8((void *)iVar2, (void *)((s32)param_1 + 0x24));
|
||||
*(u16 *)((u8 *)param_1 + 2) = *(u16 *)((u8 *)param_1 + 2) + 1;
|
||||
return;
|
||||
}
|
||||
end:
|
||||
((void (*)(s16 *))func_80146C3C)(param_1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern void (*D_80182218[])(void);
|
||||
|
||||
@@ -1342,7 +1342,79 @@ void func_80141874(void) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_024/nonmatchings/ov_SC03_024_jr_8013FFD8", func_801418F8);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern u16 D_80115110;
|
||||
extern u16 D_80115112;
|
||||
extern unsigned short D_80115118;
|
||||
extern volatile u16 D_8011511A;
|
||||
extern s16 D_80115128;
|
||||
extern s32 D_80115130;
|
||||
extern s16 D_80188284;
|
||||
extern s16 D_80188286;
|
||||
|
||||
extern void func_800D24A0(s32 a0);
|
||||
extern s32 func_80029178(s32 a0);
|
||||
extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
extern void func_80141C0C(s32 a0);
|
||||
|
||||
void func_801418F8(void)
|
||||
{
|
||||
|
||||
extern s16 D_8011512E;
|
||||
extern u8 D_80115158[];
|
||||
extern s16 D_8011515A;
|
||||
extern u8 D_8011515C;
|
||||
extern s16 D_8011515E;
|
||||
extern s16 D_80115162;
|
||||
extern s16 D_80115166;
|
||||
extern u8 D_80187F24;
|
||||
extern u8 D_80187F3C;
|
||||
extern u8 D_80187FB0;
|
||||
extern u8 D_80187FB8;
|
||||
extern void *D_801BFFB8;
|
||||
extern void *D_801BFFBC;
|
||||
u16 t;
|
||||
|
||||
func_800D24A0(1);
|
||||
D_8011511A = 2;
|
||||
t = D_8011511A;
|
||||
(*(s16 *)&D_80115118) = 0;
|
||||
D_80115130 = 0;
|
||||
if (t >= 4) {
|
||||
D_8011511A = t - 3;
|
||||
}
|
||||
(*(s16 *)D_80115158) = 0x106;
|
||||
if ((func_80029178(0x1C) & 0xFF) == 0) {
|
||||
D_801BFFB8 = &D_80187F24;
|
||||
D_801BFFBC = &D_80187FB0;
|
||||
} else {
|
||||
D_801BFFB8 = &D_80187F3C;
|
||||
D_801BFFBC = &D_80187FB8;
|
||||
}
|
||||
D_8011515A = 0x104;
|
||||
(*(s16 *)&D_8011515C) = 0x104;
|
||||
D_8011515E = 0x129;
|
||||
D_80115162 = 0x103;
|
||||
D_80115166 = 0x105;
|
||||
D_80115128 = 0;
|
||||
D_8011512E = 0;
|
||||
if (D_80115110 == 3) {
|
||||
func_8002D4C8(0x46E, 0);
|
||||
} else {
|
||||
func_80141C0C(0);
|
||||
}
|
||||
D_80115128 = 1;
|
||||
D_80188284 = 0xE;
|
||||
D_80188286 = 3;
|
||||
D_80115112 = D_80115112 + 1;
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_024/nonmatchings/ov_SC03_024_jr_8013FFD8", func_80141A60);
|
||||
|
||||
|
||||
@@ -3229,7 +3229,93 @@ DEFINE_func_8016DB34() /* dedup: shared engine-core @0x8016DB34 (src/shared) */
|
||||
|
||||
DEFINE_func_8016DBD8() /* dedup: shared engine-core @0x8016DBD8 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_024/nonmatchings/ov_SC03_024_jr_8016AB6C", func_8016DC20);
|
||||
|
||||
extern s32 D_8011D030;
|
||||
|
||||
extern void func_80149374(s32 a0, s32 a1);
|
||||
extern s32 func_801619D0(void *a0);
|
||||
extern s32 func_80146A6C(s32 a0, void *a1, s32 a2, s32 a3, s32 a4, s32 a5, s32 a6);
|
||||
extern void func_800D20C0(void *a0, void *a1, s32 a2);
|
||||
extern void func_800D23D0(void *a0);
|
||||
extern s32 func_800D21C4(s32 a0, void *a1, s32 a2);
|
||||
extern void func_800D1FC8(s32 a0, s32 a1);
|
||||
extern void func_80128EA8(s32 a0, s32 a1, s32 a2);
|
||||
extern s32 func_80128ED8(void *a0, void *a1);
|
||||
extern void func_80146C3C(void);
|
||||
|
||||
void func_8016DC20(s16 *param_1) {
|
||||
|
||||
extern s16 D_801C0CB0;
|
||||
extern s16 D_801C0CB4;
|
||||
extern u8 D_8018A210[];
|
||||
extern u8 D_8018A21C[];
|
||||
u16 *psVar1;
|
||||
s32 iVar2;
|
||||
s32 iVar3;
|
||||
s32 iVar4;
|
||||
s16 i;
|
||||
s16 sp[6];
|
||||
|
||||
i = 0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
iVar4 = *(s32 *)((u8 *)param_1 + 0x34);
|
||||
do {
|
||||
if ((psVar1 != (u16 *)param_1) && (*psVar1 == 0x34)) goto end;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80149374(iVar4, (s32)param_1 + 4);
|
||||
iVar2 = func_801619D0((void *)iVar4);
|
||||
i = 0;
|
||||
if (iVar2 == 0) goto ddb0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
do {
|
||||
if (*psVar1 == 0x11) goto ddb0;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80146A6C(0x11, param_1, *(s16 *)((u8 *)param_1 + 6),
|
||||
(s16)(*(u16 *)((u8 *)param_1 + 0xa) - 8),
|
||||
*(s16 *)((u8 *)param_1 + 0xe), 0, 0);
|
||||
sp[0] = *(u16 *)((u8 *)param_1 + 6);
|
||||
sp[1] = *(u16 *)((u8 *)param_1 + 0xa);
|
||||
sp[2] = *(u16 *)((u8 *)param_1 + 0xe);
|
||||
func_800D20C0(&sp[0], &sp[4], 0);
|
||||
sp[5] = 0;
|
||||
func_800D23D0(&sp[4]);
|
||||
i = 0;
|
||||
do {
|
||||
iVar3 = func_80146A6C(0x12, param_1, *(s16 *)(iVar4 + 6),
|
||||
*(s16 *)(iVar4 + 0xa), *(s16 *)(iVar4 + 0xe),
|
||||
i, 0);
|
||||
if (iVar3 != 0) {
|
||||
*(u16 *)(iVar3 + 0x12) = sp[4];
|
||||
*(u16 *)(iVar3 + 0x16) = sp[5];
|
||||
*(u16 *)(iVar3 + 0x1a) = 0;
|
||||
}
|
||||
i = i + 2;
|
||||
} while (i < 3);
|
||||
goto end;
|
||||
ddb0:
|
||||
if (((D_801C0CB0 != *(s16 *)(iVar4 + 6)) || (D_801C0CB4 != *(s16 *)(iVar4 + 0xe))) &&
|
||||
(iVar2 = func_800D21C4((s32)param_1, D_8018A210, 0x18), iVar2 != 0)) {
|
||||
D_801C0CB0 = *(u16 *)(iVar4 + 6);
|
||||
D_801C0CB4 = *(u16 *)(iVar4 + 0xe);
|
||||
func_800D1FC8((s32)param_1, 7);
|
||||
*(s32 *)((u8 *)param_1 + 0x20) = iVar2;
|
||||
*(u16 *)(iVar2 + 0x1a) = 0x3000;
|
||||
*(u16 *)(iVar2 + 0x18) = 0x3000;
|
||||
*(u8 *)(iVar2 + 0x26) = 0xff;
|
||||
*(u32 *)(iVar2 + 4) = *(u32 *)(iVar2 + 4) | 0x50000000;
|
||||
func_80128EA8(iVar2, (s32)param_1 + 0x24, (s32)D_8018A21C);
|
||||
func_80128ED8((void *)iVar2, (void *)((s32)param_1 + 0x24));
|
||||
*(u16 *)((u8 *)param_1 + 2) = *(u16 *)((u8 *)param_1 + 2) + 1;
|
||||
return;
|
||||
}
|
||||
end:
|
||||
((void (*)(s16 *))func_80146C3C)(param_1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern void (*D_8018A23C[])(void);
|
||||
|
||||
@@ -1342,7 +1342,79 @@ void func_80141874(void) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_028/nonmatchings/ov_SC03_028_jr_8013FFD8", func_801418F8);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern u16 D_80115110;
|
||||
extern u16 D_80115112;
|
||||
extern unsigned short D_80115118;
|
||||
extern volatile u16 D_8011511A;
|
||||
extern s16 D_80115128;
|
||||
extern s32 D_80115130;
|
||||
extern s16 D_8018CD50;
|
||||
extern s16 D_8018CD52;
|
||||
|
||||
extern void func_800D24A0(s32 a0);
|
||||
extern s32 func_80029178(s32 a0);
|
||||
extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
extern void func_80141C0C(s32 a0);
|
||||
|
||||
void func_801418F8(void)
|
||||
{
|
||||
|
||||
extern s16 D_8011512E;
|
||||
extern u8 D_80115158[];
|
||||
extern s16 D_8011515A;
|
||||
extern u8 D_8011515C;
|
||||
extern s16 D_8011515E;
|
||||
extern s16 D_80115162;
|
||||
extern s16 D_80115166;
|
||||
extern u8 D_8018C9F0;
|
||||
extern u8 D_8018CA08;
|
||||
extern u8 D_8018CA7C;
|
||||
extern u8 D_8018CA84;
|
||||
extern void *D_801EA2F0;
|
||||
extern void *D_801EA2F4;
|
||||
u16 t;
|
||||
|
||||
func_800D24A0(1);
|
||||
D_8011511A = 2;
|
||||
t = D_8011511A;
|
||||
(*(s16 *)&D_80115118) = 0;
|
||||
D_80115130 = 0;
|
||||
if (t >= 4) {
|
||||
D_8011511A = t - 3;
|
||||
}
|
||||
(*(s16 *)D_80115158) = 0x106;
|
||||
if ((func_80029178(0x1C) & 0xFF) == 0) {
|
||||
D_801EA2F0 = &D_8018C9F0;
|
||||
D_801EA2F4 = &D_8018CA7C;
|
||||
} else {
|
||||
D_801EA2F0 = &D_8018CA08;
|
||||
D_801EA2F4 = &D_8018CA84;
|
||||
}
|
||||
D_8011515A = 0x104;
|
||||
(*(s16 *)&D_8011515C) = 0x104;
|
||||
D_8011515E = 0x129;
|
||||
D_80115162 = 0x103;
|
||||
D_80115166 = 0x105;
|
||||
D_80115128 = 0;
|
||||
D_8011512E = 0;
|
||||
if (D_80115110 == 3) {
|
||||
func_8002D4C8(0x46E, 0);
|
||||
} else {
|
||||
func_80141C0C(0);
|
||||
}
|
||||
D_80115128 = 1;
|
||||
D_8018CD50 = 0xE;
|
||||
D_8018CD52 = 3;
|
||||
D_80115112 = D_80115112 + 1;
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_028/nonmatchings/ov_SC03_028_jr_8013FFD8", func_80141A60);
|
||||
|
||||
|
||||
@@ -3229,7 +3229,93 @@ DEFINE_func_8016DB34() /* dedup: shared engine-core @0x8016DB34 (src/shared) */
|
||||
|
||||
DEFINE_func_8016DBD8() /* dedup: shared engine-core @0x8016DBD8 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_028/nonmatchings/ov_SC03_028_jr_8016AB6C", func_8016DC20);
|
||||
|
||||
extern s32 D_8011D030;
|
||||
|
||||
extern void func_80149374(s32 a0, s32 a1);
|
||||
extern s32 func_801619D0(void *a0);
|
||||
extern s32 func_80146A6C(s32 a0, void *a1, s32 a2, s32 a3, s32 a4, s32 a5, s32 a6);
|
||||
extern void func_800D20C0(void *a0, void *a1, s32 a2);
|
||||
extern void func_800D23D0(void *a0);
|
||||
extern s32 func_800D21C4(s32 a0, void *a1, s32 a2);
|
||||
extern void func_800D1FC8(s32 a0, s32 a1);
|
||||
extern void func_80128EA8(s32 a0, s32 a1, s32 a2);
|
||||
extern s32 func_80128ED8(void *a0, void *a1);
|
||||
extern void func_80146C3C(void);
|
||||
|
||||
void func_8016DC20(s16 *param_1) {
|
||||
|
||||
extern s16 D_801EAFE8;
|
||||
extern s16 D_801EAFEC;
|
||||
extern u8 D_8018ECDC[];
|
||||
extern u8 D_8018ECE8[];
|
||||
u16 *psVar1;
|
||||
s32 iVar2;
|
||||
s32 iVar3;
|
||||
s32 iVar4;
|
||||
s16 i;
|
||||
s16 sp[6];
|
||||
|
||||
i = 0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
iVar4 = *(s32 *)((u8 *)param_1 + 0x34);
|
||||
do {
|
||||
if ((psVar1 != (u16 *)param_1) && (*psVar1 == 0x34)) goto end;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80149374(iVar4, (s32)param_1 + 4);
|
||||
iVar2 = func_801619D0((void *)iVar4);
|
||||
i = 0;
|
||||
if (iVar2 == 0) goto ddb0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
do {
|
||||
if (*psVar1 == 0x11) goto ddb0;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80146A6C(0x11, param_1, *(s16 *)((u8 *)param_1 + 6),
|
||||
(s16)(*(u16 *)((u8 *)param_1 + 0xa) - 8),
|
||||
*(s16 *)((u8 *)param_1 + 0xe), 0, 0);
|
||||
sp[0] = *(u16 *)((u8 *)param_1 + 6);
|
||||
sp[1] = *(u16 *)((u8 *)param_1 + 0xa);
|
||||
sp[2] = *(u16 *)((u8 *)param_1 + 0xe);
|
||||
func_800D20C0(&sp[0], &sp[4], 0);
|
||||
sp[5] = 0;
|
||||
func_800D23D0(&sp[4]);
|
||||
i = 0;
|
||||
do {
|
||||
iVar3 = func_80146A6C(0x12, param_1, *(s16 *)(iVar4 + 6),
|
||||
*(s16 *)(iVar4 + 0xa), *(s16 *)(iVar4 + 0xe),
|
||||
i, 0);
|
||||
if (iVar3 != 0) {
|
||||
*(u16 *)(iVar3 + 0x12) = sp[4];
|
||||
*(u16 *)(iVar3 + 0x16) = sp[5];
|
||||
*(u16 *)(iVar3 + 0x1a) = 0;
|
||||
}
|
||||
i = i + 2;
|
||||
} while (i < 3);
|
||||
goto end;
|
||||
ddb0:
|
||||
if (((D_801EAFE8 != *(s16 *)(iVar4 + 6)) || (D_801EAFEC != *(s16 *)(iVar4 + 0xe))) &&
|
||||
(iVar2 = func_800D21C4((s32)param_1, D_8018ECDC, 0x18), iVar2 != 0)) {
|
||||
D_801EAFE8 = *(u16 *)(iVar4 + 6);
|
||||
D_801EAFEC = *(u16 *)(iVar4 + 0xe);
|
||||
func_800D1FC8((s32)param_1, 7);
|
||||
*(s32 *)((u8 *)param_1 + 0x20) = iVar2;
|
||||
*(u16 *)(iVar2 + 0x1a) = 0x3000;
|
||||
*(u16 *)(iVar2 + 0x18) = 0x3000;
|
||||
*(u8 *)(iVar2 + 0x26) = 0xff;
|
||||
*(u32 *)(iVar2 + 4) = *(u32 *)(iVar2 + 4) | 0x50000000;
|
||||
func_80128EA8(iVar2, (s32)param_1 + 0x24, (s32)D_8018ECE8);
|
||||
func_80128ED8((void *)iVar2, (void *)((s32)param_1 + 0x24));
|
||||
*(u16 *)((u8 *)param_1 + 2) = *(u16 *)((u8 *)param_1 + 2) + 1;
|
||||
return;
|
||||
}
|
||||
end:
|
||||
((void (*)(s16 *))func_80146C3C)(param_1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern void (*D_8018ED08[])(void);
|
||||
|
||||
@@ -1342,7 +1342,79 @@ void func_80141874(void) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_029/nonmatchings/ov_SC03_029_jr_8013FFD8", func_801418F8);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern u16 D_80115110;
|
||||
extern u16 D_80115112;
|
||||
extern unsigned short D_80115118;
|
||||
extern volatile u16 D_8011511A;
|
||||
extern s16 D_80115128;
|
||||
extern s32 D_80115130;
|
||||
extern s16 D_80188B88;
|
||||
extern s16 D_80188B8A;
|
||||
|
||||
extern void func_800D24A0(s32 a0);
|
||||
extern s32 func_80029178(s32 a0);
|
||||
extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
extern void func_80141C0C(s32 a0);
|
||||
|
||||
void func_801418F8(void)
|
||||
{
|
||||
|
||||
extern s16 D_8011512E;
|
||||
extern u8 D_80115158[];
|
||||
extern s16 D_8011515A;
|
||||
extern u8 D_8011515C;
|
||||
extern s16 D_8011515E;
|
||||
extern s16 D_80115162;
|
||||
extern s16 D_80115166;
|
||||
extern u8 D_80188828;
|
||||
extern u8 D_80188840;
|
||||
extern u8 D_801888B4;
|
||||
extern u8 D_801888BC;
|
||||
extern void *D_801D82C8;
|
||||
extern void *D_801D82CC;
|
||||
u16 t;
|
||||
|
||||
func_800D24A0(1);
|
||||
D_8011511A = 2;
|
||||
t = D_8011511A;
|
||||
(*(s16 *)&D_80115118) = 0;
|
||||
D_80115130 = 0;
|
||||
if (t >= 4) {
|
||||
D_8011511A = t - 3;
|
||||
}
|
||||
(*(s16 *)D_80115158) = 0x106;
|
||||
if ((func_80029178(0x1C) & 0xFF) == 0) {
|
||||
D_801D82C8 = &D_80188828;
|
||||
D_801D82CC = &D_801888B4;
|
||||
} else {
|
||||
D_801D82C8 = &D_80188840;
|
||||
D_801D82CC = &D_801888BC;
|
||||
}
|
||||
D_8011515A = 0x104;
|
||||
(*(s16 *)&D_8011515C) = 0x104;
|
||||
D_8011515E = 0x129;
|
||||
D_80115162 = 0x103;
|
||||
D_80115166 = 0x105;
|
||||
D_80115128 = 0;
|
||||
D_8011512E = 0;
|
||||
if (D_80115110 == 3) {
|
||||
func_8002D4C8(0x46E, 0);
|
||||
} else {
|
||||
func_80141C0C(0);
|
||||
}
|
||||
D_80115128 = 1;
|
||||
D_80188B88 = 0xE;
|
||||
D_80188B8A = 3;
|
||||
D_80115112 = D_80115112 + 1;
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_029/nonmatchings/ov_SC03_029_jr_8013FFD8", func_80141A60);
|
||||
|
||||
|
||||
@@ -3229,7 +3229,93 @@ DEFINE_func_8016DB34() /* dedup: shared engine-core @0x8016DB34 (src/shared) */
|
||||
|
||||
DEFINE_func_8016DBD8() /* dedup: shared engine-core @0x8016DBD8 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_029/nonmatchings/ov_SC03_029_jr_8016AB6C", func_8016DC20);
|
||||
|
||||
extern s32 D_8011D030;
|
||||
|
||||
extern void func_80149374(s32 a0, s32 a1);
|
||||
extern s32 func_801619D0(void *a0);
|
||||
extern s32 func_80146A6C(s32 a0, void *a1, s32 a2, s32 a3, s32 a4, s32 a5, s32 a6);
|
||||
extern void func_800D20C0(void *a0, void *a1, s32 a2);
|
||||
extern void func_800D23D0(void *a0);
|
||||
extern s32 func_800D21C4(s32 a0, void *a1, s32 a2);
|
||||
extern void func_800D1FC8(s32 a0, s32 a1);
|
||||
extern void func_80128EA8(s32 a0, s32 a1, s32 a2);
|
||||
extern s32 func_80128ED8(void *a0, void *a1);
|
||||
extern void func_80146C3C(void);
|
||||
|
||||
void func_8016DC20(s16 *param_1) {
|
||||
|
||||
extern s16 D_801D8FC0;
|
||||
extern s16 D_801D8FC4;
|
||||
extern u8 D_8018AB14[];
|
||||
extern u8 D_8018AB20[];
|
||||
u16 *psVar1;
|
||||
s32 iVar2;
|
||||
s32 iVar3;
|
||||
s32 iVar4;
|
||||
s16 i;
|
||||
s16 sp[6];
|
||||
|
||||
i = 0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
iVar4 = *(s32 *)((u8 *)param_1 + 0x34);
|
||||
do {
|
||||
if ((psVar1 != (u16 *)param_1) && (*psVar1 == 0x34)) goto end;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80149374(iVar4, (s32)param_1 + 4);
|
||||
iVar2 = func_801619D0((void *)iVar4);
|
||||
i = 0;
|
||||
if (iVar2 == 0) goto ddb0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
do {
|
||||
if (*psVar1 == 0x11) goto ddb0;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80146A6C(0x11, param_1, *(s16 *)((u8 *)param_1 + 6),
|
||||
(s16)(*(u16 *)((u8 *)param_1 + 0xa) - 8),
|
||||
*(s16 *)((u8 *)param_1 + 0xe), 0, 0);
|
||||
sp[0] = *(u16 *)((u8 *)param_1 + 6);
|
||||
sp[1] = *(u16 *)((u8 *)param_1 + 0xa);
|
||||
sp[2] = *(u16 *)((u8 *)param_1 + 0xe);
|
||||
func_800D20C0(&sp[0], &sp[4], 0);
|
||||
sp[5] = 0;
|
||||
func_800D23D0(&sp[4]);
|
||||
i = 0;
|
||||
do {
|
||||
iVar3 = func_80146A6C(0x12, param_1, *(s16 *)(iVar4 + 6),
|
||||
*(s16 *)(iVar4 + 0xa), *(s16 *)(iVar4 + 0xe),
|
||||
i, 0);
|
||||
if (iVar3 != 0) {
|
||||
*(u16 *)(iVar3 + 0x12) = sp[4];
|
||||
*(u16 *)(iVar3 + 0x16) = sp[5];
|
||||
*(u16 *)(iVar3 + 0x1a) = 0;
|
||||
}
|
||||
i = i + 2;
|
||||
} while (i < 3);
|
||||
goto end;
|
||||
ddb0:
|
||||
if (((D_801D8FC0 != *(s16 *)(iVar4 + 6)) || (D_801D8FC4 != *(s16 *)(iVar4 + 0xe))) &&
|
||||
(iVar2 = func_800D21C4((s32)param_1, D_8018AB14, 0x18), iVar2 != 0)) {
|
||||
D_801D8FC0 = *(u16 *)(iVar4 + 6);
|
||||
D_801D8FC4 = *(u16 *)(iVar4 + 0xe);
|
||||
func_800D1FC8((s32)param_1, 7);
|
||||
*(s32 *)((u8 *)param_1 + 0x20) = iVar2;
|
||||
*(u16 *)(iVar2 + 0x1a) = 0x3000;
|
||||
*(u16 *)(iVar2 + 0x18) = 0x3000;
|
||||
*(u8 *)(iVar2 + 0x26) = 0xff;
|
||||
*(u32 *)(iVar2 + 4) = *(u32 *)(iVar2 + 4) | 0x50000000;
|
||||
func_80128EA8(iVar2, (s32)param_1 + 0x24, (s32)D_8018AB20);
|
||||
func_80128ED8((void *)iVar2, (void *)((s32)param_1 + 0x24));
|
||||
*(u16 *)((u8 *)param_1 + 2) = *(u16 *)((u8 *)param_1 + 2) + 1;
|
||||
return;
|
||||
}
|
||||
end:
|
||||
((void (*)(s16 *))func_80146C3C)(param_1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern void (*D_8018AB40[])(void);
|
||||
|
||||
@@ -3229,7 +3229,93 @@ DEFINE_func_8016DB34() /* dedup: shared engine-core @0x8016DB34 (src/shared) */
|
||||
|
||||
DEFINE_func_8016DBD8() /* dedup: shared engine-core @0x8016DBD8 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_030/nonmatchings/ov_SC03_030_jr_8016AB6C", func_8016DC20);
|
||||
|
||||
extern s32 D_8011D030;
|
||||
|
||||
extern void func_80149374(s32 a0, s32 a1);
|
||||
extern s32 func_801619D0(void *a0);
|
||||
extern s32 func_80146A6C(s32 a0, void *a1, s32 a2, s32 a3, s32 a4, s32 a5, s32 a6);
|
||||
extern void func_800D20C0(void *a0, void *a1, s32 a2);
|
||||
extern void func_800D23D0(void *a0);
|
||||
extern s32 func_800D21C4(s32 a0, void *a1, s32 a2);
|
||||
extern void func_800D1FC8(s32 a0, s32 a1);
|
||||
extern void func_80128EA8(s32 a0, s32 a1, s32 a2);
|
||||
extern s32 func_80128ED8(void *a0, void *a1);
|
||||
extern void func_80146C3C(void);
|
||||
|
||||
void func_8016DC20(s16 *param_1) {
|
||||
|
||||
extern s16 D_801E15B8;
|
||||
extern s16 D_801E15BC;
|
||||
extern u8 D_80185150[];
|
||||
extern u8 D_8018515C[];
|
||||
u16 *psVar1;
|
||||
s32 iVar2;
|
||||
s32 iVar3;
|
||||
s32 iVar4;
|
||||
s16 i;
|
||||
s16 sp[6];
|
||||
|
||||
i = 0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
iVar4 = *(s32 *)((u8 *)param_1 + 0x34);
|
||||
do {
|
||||
if ((psVar1 != (u16 *)param_1) && (*psVar1 == 0x34)) goto end;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80149374(iVar4, (s32)param_1 + 4);
|
||||
iVar2 = func_801619D0((void *)iVar4);
|
||||
i = 0;
|
||||
if (iVar2 == 0) goto ddb0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
do {
|
||||
if (*psVar1 == 0x11) goto ddb0;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80146A6C(0x11, param_1, *(s16 *)((u8 *)param_1 + 6),
|
||||
(s16)(*(u16 *)((u8 *)param_1 + 0xa) - 8),
|
||||
*(s16 *)((u8 *)param_1 + 0xe), 0, 0);
|
||||
sp[0] = *(u16 *)((u8 *)param_1 + 6);
|
||||
sp[1] = *(u16 *)((u8 *)param_1 + 0xa);
|
||||
sp[2] = *(u16 *)((u8 *)param_1 + 0xe);
|
||||
func_800D20C0(&sp[0], &sp[4], 0);
|
||||
sp[5] = 0;
|
||||
func_800D23D0(&sp[4]);
|
||||
i = 0;
|
||||
do {
|
||||
iVar3 = func_80146A6C(0x12, param_1, *(s16 *)(iVar4 + 6),
|
||||
*(s16 *)(iVar4 + 0xa), *(s16 *)(iVar4 + 0xe),
|
||||
i, 0);
|
||||
if (iVar3 != 0) {
|
||||
*(u16 *)(iVar3 + 0x12) = sp[4];
|
||||
*(u16 *)(iVar3 + 0x16) = sp[5];
|
||||
*(u16 *)(iVar3 + 0x1a) = 0;
|
||||
}
|
||||
i = i + 2;
|
||||
} while (i < 3);
|
||||
goto end;
|
||||
ddb0:
|
||||
if (((D_801E15B8 != *(s16 *)(iVar4 + 6)) || (D_801E15BC != *(s16 *)(iVar4 + 0xe))) &&
|
||||
(iVar2 = func_800D21C4((s32)param_1, D_80185150, 0x18), iVar2 != 0)) {
|
||||
D_801E15B8 = *(u16 *)(iVar4 + 6);
|
||||
D_801E15BC = *(u16 *)(iVar4 + 0xe);
|
||||
func_800D1FC8((s32)param_1, 7);
|
||||
*(s32 *)((u8 *)param_1 + 0x20) = iVar2;
|
||||
*(u16 *)(iVar2 + 0x1a) = 0x3000;
|
||||
*(u16 *)(iVar2 + 0x18) = 0x3000;
|
||||
*(u8 *)(iVar2 + 0x26) = 0xff;
|
||||
*(u32 *)(iVar2 + 4) = *(u32 *)(iVar2 + 4) | 0x50000000;
|
||||
func_80128EA8(iVar2, (s32)param_1 + 0x24, (s32)D_8018515C);
|
||||
func_80128ED8((void *)iVar2, (void *)((s32)param_1 + 0x24));
|
||||
*(u16 *)((u8 *)param_1 + 2) = *(u16 *)((u8 *)param_1 + 2) + 1;
|
||||
return;
|
||||
}
|
||||
end:
|
||||
((void (*)(s16 *))func_80146C3C)(param_1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern void (*D_8018517C[])(void);
|
||||
|
||||
@@ -1342,7 +1342,79 @@ void func_80141874(void) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_031/nonmatchings/ov_SC03_031_jr_8013FFD8", func_801418F8);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern u16 D_80115110;
|
||||
extern u16 D_80115112;
|
||||
extern unsigned short D_80115118;
|
||||
extern volatile u16 D_8011511A;
|
||||
extern s16 D_80115128;
|
||||
extern s32 D_80115130;
|
||||
extern s16 D_801836E0;
|
||||
extern s16 D_801836E2;
|
||||
|
||||
extern void func_800D24A0(s32 a0);
|
||||
extern s32 func_80029178(s32 a0);
|
||||
extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
extern void func_80141C0C(s32 a0);
|
||||
|
||||
void func_801418F8(void)
|
||||
{
|
||||
|
||||
extern s16 D_8011512E;
|
||||
extern u8 D_80115158[];
|
||||
extern s16 D_8011515A;
|
||||
extern u8 D_8011515C;
|
||||
extern s16 D_8011515E;
|
||||
extern s16 D_80115162;
|
||||
extern s16 D_80115166;
|
||||
extern u8 D_80183380;
|
||||
extern u8 D_80183398;
|
||||
extern u8 D_8018340C;
|
||||
extern u8 D_80183414;
|
||||
extern void *D_801C4CC0;
|
||||
extern void *D_801C4CC4;
|
||||
u16 t;
|
||||
|
||||
func_800D24A0(1);
|
||||
D_8011511A = 2;
|
||||
t = D_8011511A;
|
||||
(*(s16 *)&D_80115118) = 0;
|
||||
D_80115130 = 0;
|
||||
if (t >= 4) {
|
||||
D_8011511A = t - 3;
|
||||
}
|
||||
(*(s16 *)D_80115158) = 0x106;
|
||||
if ((func_80029178(0x1C) & 0xFF) == 0) {
|
||||
D_801C4CC0 = &D_80183380;
|
||||
D_801C4CC4 = &D_8018340C;
|
||||
} else {
|
||||
D_801C4CC0 = &D_80183398;
|
||||
D_801C4CC4 = &D_80183414;
|
||||
}
|
||||
D_8011515A = 0x104;
|
||||
(*(s16 *)&D_8011515C) = 0x104;
|
||||
D_8011515E = 0x129;
|
||||
D_80115162 = 0x103;
|
||||
D_80115166 = 0x105;
|
||||
D_80115128 = 0;
|
||||
D_8011512E = 0;
|
||||
if (D_80115110 == 3) {
|
||||
func_8002D4C8(0x46E, 0);
|
||||
} else {
|
||||
func_80141C0C(0);
|
||||
}
|
||||
D_80115128 = 1;
|
||||
D_801836E0 = 0xE;
|
||||
D_801836E2 = 3;
|
||||
D_80115112 = D_80115112 + 1;
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_031/nonmatchings/ov_SC03_031_jr_8013FFD8", func_80141A60);
|
||||
|
||||
|
||||
@@ -3229,7 +3229,93 @@ DEFINE_func_8016DB34() /* dedup: shared engine-core @0x8016DB34 (src/shared) */
|
||||
|
||||
DEFINE_func_8016DBD8() /* dedup: shared engine-core @0x8016DBD8 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_031/nonmatchings/ov_SC03_031_jr_8016AB6C", func_8016DC20);
|
||||
|
||||
extern s32 D_8011D030;
|
||||
|
||||
extern void func_80149374(s32 a0, s32 a1);
|
||||
extern s32 func_801619D0(void *a0);
|
||||
extern s32 func_80146A6C(s32 a0, void *a1, s32 a2, s32 a3, s32 a4, s32 a5, s32 a6);
|
||||
extern void func_800D20C0(void *a0, void *a1, s32 a2);
|
||||
extern void func_800D23D0(void *a0);
|
||||
extern s32 func_800D21C4(s32 a0, void *a1, s32 a2);
|
||||
extern void func_800D1FC8(s32 a0, s32 a1);
|
||||
extern void func_80128EA8(s32 a0, s32 a1, s32 a2);
|
||||
extern s32 func_80128ED8(void *a0, void *a1);
|
||||
extern void func_80146C3C(void);
|
||||
|
||||
void func_8016DC20(s16 *param_1) {
|
||||
|
||||
extern s16 D_801C59B8;
|
||||
extern s16 D_801C59BC;
|
||||
extern u8 D_8018566C[];
|
||||
extern u8 D_80185678[];
|
||||
u16 *psVar1;
|
||||
s32 iVar2;
|
||||
s32 iVar3;
|
||||
s32 iVar4;
|
||||
s16 i;
|
||||
s16 sp[6];
|
||||
|
||||
i = 0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
iVar4 = *(s32 *)((u8 *)param_1 + 0x34);
|
||||
do {
|
||||
if ((psVar1 != (u16 *)param_1) && (*psVar1 == 0x34)) goto end;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80149374(iVar4, (s32)param_1 + 4);
|
||||
iVar2 = func_801619D0((void *)iVar4);
|
||||
i = 0;
|
||||
if (iVar2 == 0) goto ddb0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
do {
|
||||
if (*psVar1 == 0x11) goto ddb0;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80146A6C(0x11, param_1, *(s16 *)((u8 *)param_1 + 6),
|
||||
(s16)(*(u16 *)((u8 *)param_1 + 0xa) - 8),
|
||||
*(s16 *)((u8 *)param_1 + 0xe), 0, 0);
|
||||
sp[0] = *(u16 *)((u8 *)param_1 + 6);
|
||||
sp[1] = *(u16 *)((u8 *)param_1 + 0xa);
|
||||
sp[2] = *(u16 *)((u8 *)param_1 + 0xe);
|
||||
func_800D20C0(&sp[0], &sp[4], 0);
|
||||
sp[5] = 0;
|
||||
func_800D23D0(&sp[4]);
|
||||
i = 0;
|
||||
do {
|
||||
iVar3 = func_80146A6C(0x12, param_1, *(s16 *)(iVar4 + 6),
|
||||
*(s16 *)(iVar4 + 0xa), *(s16 *)(iVar4 + 0xe),
|
||||
i, 0);
|
||||
if (iVar3 != 0) {
|
||||
*(u16 *)(iVar3 + 0x12) = sp[4];
|
||||
*(u16 *)(iVar3 + 0x16) = sp[5];
|
||||
*(u16 *)(iVar3 + 0x1a) = 0;
|
||||
}
|
||||
i = i + 2;
|
||||
} while (i < 3);
|
||||
goto end;
|
||||
ddb0:
|
||||
if (((D_801C59B8 != *(s16 *)(iVar4 + 6)) || (D_801C59BC != *(s16 *)(iVar4 + 0xe))) &&
|
||||
(iVar2 = func_800D21C4((s32)param_1, D_8018566C, 0x18), iVar2 != 0)) {
|
||||
D_801C59B8 = *(u16 *)(iVar4 + 6);
|
||||
D_801C59BC = *(u16 *)(iVar4 + 0xe);
|
||||
func_800D1FC8((s32)param_1, 7);
|
||||
*(s32 *)((u8 *)param_1 + 0x20) = iVar2;
|
||||
*(u16 *)(iVar2 + 0x1a) = 0x3000;
|
||||
*(u16 *)(iVar2 + 0x18) = 0x3000;
|
||||
*(u8 *)(iVar2 + 0x26) = 0xff;
|
||||
*(u32 *)(iVar2 + 4) = *(u32 *)(iVar2 + 4) | 0x50000000;
|
||||
func_80128EA8(iVar2, (s32)param_1 + 0x24, (s32)D_80185678);
|
||||
func_80128ED8((void *)iVar2, (void *)((s32)param_1 + 0x24));
|
||||
*(u16 *)((u8 *)param_1 + 2) = *(u16 *)((u8 *)param_1 + 2) + 1;
|
||||
return;
|
||||
}
|
||||
end:
|
||||
((void (*)(s16 *))func_80146C3C)(param_1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern void (*D_80185698[])(void);
|
||||
|
||||
@@ -1342,7 +1342,79 @@ void func_80141874(void) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_089/nonmatchings/ov_SC03_089_jr_8013FFD8", func_801418F8);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern u16 D_80115110;
|
||||
extern u16 D_80115112;
|
||||
extern unsigned short D_80115118;
|
||||
extern volatile u16 D_8011511A;
|
||||
extern s16 D_80115128;
|
||||
extern s32 D_80115130;
|
||||
extern s16 D_8018A9DC;
|
||||
extern s16 D_8018A9DE;
|
||||
|
||||
extern void func_800D24A0(s32 a0);
|
||||
extern s32 func_80029178(s32 a0);
|
||||
extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
extern void func_80141C0C(s32 a0);
|
||||
|
||||
void func_801418F8(void)
|
||||
{
|
||||
|
||||
extern s16 D_8011512E;
|
||||
extern u8 D_80115158[];
|
||||
extern s16 D_8011515A;
|
||||
extern u8 D_8011515C;
|
||||
extern s16 D_8011515E;
|
||||
extern s16 D_80115162;
|
||||
extern s16 D_80115166;
|
||||
extern u8 D_8018A67C;
|
||||
extern u8 D_8018A694;
|
||||
extern u8 D_8018A708;
|
||||
extern u8 D_8018A710;
|
||||
extern void *D_801C5578;
|
||||
extern void *D_801C557C;
|
||||
u16 t;
|
||||
|
||||
func_800D24A0(1);
|
||||
D_8011511A = 2;
|
||||
t = D_8011511A;
|
||||
(*(s16 *)&D_80115118) = 0;
|
||||
D_80115130 = 0;
|
||||
if (t >= 4) {
|
||||
D_8011511A = t - 3;
|
||||
}
|
||||
(*(s16 *)D_80115158) = 0x106;
|
||||
if ((func_80029178(0x1C) & 0xFF) == 0) {
|
||||
D_801C5578 = &D_8018A67C;
|
||||
D_801C557C = &D_8018A708;
|
||||
} else {
|
||||
D_801C5578 = &D_8018A694;
|
||||
D_801C557C = &D_8018A710;
|
||||
}
|
||||
D_8011515A = 0x104;
|
||||
(*(s16 *)&D_8011515C) = 0x104;
|
||||
D_8011515E = 0x129;
|
||||
D_80115162 = 0x103;
|
||||
D_80115166 = 0x105;
|
||||
D_80115128 = 0;
|
||||
D_8011512E = 0;
|
||||
if (D_80115110 == 3) {
|
||||
func_8002D4C8(0x46E, 0);
|
||||
} else {
|
||||
func_80141C0C(0);
|
||||
}
|
||||
D_80115128 = 1;
|
||||
D_8018A9DC = 0xE;
|
||||
D_8018A9DE = 3;
|
||||
D_80115112 = D_80115112 + 1;
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_089/nonmatchings/ov_SC03_089_jr_8013FFD8", func_80141A60);
|
||||
|
||||
|
||||
@@ -3229,7 +3229,93 @@ DEFINE_func_8016DB34() /* dedup: shared engine-core @0x8016DB34 (src/shared) */
|
||||
|
||||
DEFINE_func_8016DBD8() /* dedup: shared engine-core @0x8016DBD8 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_089/nonmatchings/ov_SC03_089_jr_8016AB6C", func_8016DC20);
|
||||
|
||||
extern s32 D_8011D030;
|
||||
|
||||
extern void func_80149374(s32 a0, s32 a1);
|
||||
extern s32 func_801619D0(void *a0);
|
||||
extern s32 func_80146A6C(s32 a0, void *a1, s32 a2, s32 a3, s32 a4, s32 a5, s32 a6);
|
||||
extern void func_800D20C0(void *a0, void *a1, s32 a2);
|
||||
extern void func_800D23D0(void *a0);
|
||||
extern s32 func_800D21C4(s32 a0, void *a1, s32 a2);
|
||||
extern void func_800D1FC8(s32 a0, s32 a1);
|
||||
extern void func_80128EA8(s32 a0, s32 a1, s32 a2);
|
||||
extern s32 func_80128ED8(void *a0, void *a1);
|
||||
extern void func_80146C3C(void);
|
||||
|
||||
void func_8016DC20(s16 *param_1) {
|
||||
|
||||
extern s16 D_801C6270;
|
||||
extern s16 D_801C6274;
|
||||
extern u8 D_8018C968[];
|
||||
extern u8 D_8018C974[];
|
||||
u16 *psVar1;
|
||||
s32 iVar2;
|
||||
s32 iVar3;
|
||||
s32 iVar4;
|
||||
s16 i;
|
||||
s16 sp[6];
|
||||
|
||||
i = 0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
iVar4 = *(s32 *)((u8 *)param_1 + 0x34);
|
||||
do {
|
||||
if ((psVar1 != (u16 *)param_1) && (*psVar1 == 0x34)) goto end;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80149374(iVar4, (s32)param_1 + 4);
|
||||
iVar2 = func_801619D0((void *)iVar4);
|
||||
i = 0;
|
||||
if (iVar2 == 0) goto ddb0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
do {
|
||||
if (*psVar1 == 0x11) goto ddb0;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80146A6C(0x11, param_1, *(s16 *)((u8 *)param_1 + 6),
|
||||
(s16)(*(u16 *)((u8 *)param_1 + 0xa) - 8),
|
||||
*(s16 *)((u8 *)param_1 + 0xe), 0, 0);
|
||||
sp[0] = *(u16 *)((u8 *)param_1 + 6);
|
||||
sp[1] = *(u16 *)((u8 *)param_1 + 0xa);
|
||||
sp[2] = *(u16 *)((u8 *)param_1 + 0xe);
|
||||
func_800D20C0(&sp[0], &sp[4], 0);
|
||||
sp[5] = 0;
|
||||
func_800D23D0(&sp[4]);
|
||||
i = 0;
|
||||
do {
|
||||
iVar3 = func_80146A6C(0x12, param_1, *(s16 *)(iVar4 + 6),
|
||||
*(s16 *)(iVar4 + 0xa), *(s16 *)(iVar4 + 0xe),
|
||||
i, 0);
|
||||
if (iVar3 != 0) {
|
||||
*(u16 *)(iVar3 + 0x12) = sp[4];
|
||||
*(u16 *)(iVar3 + 0x16) = sp[5];
|
||||
*(u16 *)(iVar3 + 0x1a) = 0;
|
||||
}
|
||||
i = i + 2;
|
||||
} while (i < 3);
|
||||
goto end;
|
||||
ddb0:
|
||||
if (((D_801C6270 != *(s16 *)(iVar4 + 6)) || (D_801C6274 != *(s16 *)(iVar4 + 0xe))) &&
|
||||
(iVar2 = func_800D21C4((s32)param_1, D_8018C968, 0x18), iVar2 != 0)) {
|
||||
D_801C6270 = *(u16 *)(iVar4 + 6);
|
||||
D_801C6274 = *(u16 *)(iVar4 + 0xe);
|
||||
func_800D1FC8((s32)param_1, 7);
|
||||
*(s32 *)((u8 *)param_1 + 0x20) = iVar2;
|
||||
*(u16 *)(iVar2 + 0x1a) = 0x3000;
|
||||
*(u16 *)(iVar2 + 0x18) = 0x3000;
|
||||
*(u8 *)(iVar2 + 0x26) = 0xff;
|
||||
*(u32 *)(iVar2 + 4) = *(u32 *)(iVar2 + 4) | 0x50000000;
|
||||
func_80128EA8(iVar2, (s32)param_1 + 0x24, (s32)D_8018C974);
|
||||
func_80128ED8((void *)iVar2, (void *)((s32)param_1 + 0x24));
|
||||
*(u16 *)((u8 *)param_1 + 2) = *(u16 *)((u8 *)param_1 + 2) + 1;
|
||||
return;
|
||||
}
|
||||
end:
|
||||
((void (*)(s16 *))func_80146C3C)(param_1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern void (*D_8018C994[])(void);
|
||||
|
||||
@@ -1342,7 +1342,79 @@ void func_80141874(void) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_090/nonmatchings/ov_SC03_090_jr_8013FFD8", func_801418F8);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern u16 D_80115110;
|
||||
extern u16 D_80115112;
|
||||
extern unsigned short D_80115118;
|
||||
extern volatile u16 D_8011511A;
|
||||
extern s16 D_80115128;
|
||||
extern s32 D_80115130;
|
||||
extern s16 D_8018CE00;
|
||||
extern s16 D_8018CE02;
|
||||
|
||||
extern void func_800D24A0(s32 a0);
|
||||
extern s32 func_80029178(s32 a0);
|
||||
extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
extern void func_80141C0C(s32 a0);
|
||||
|
||||
void func_801418F8(void)
|
||||
{
|
||||
|
||||
extern s16 D_8011512E;
|
||||
extern u8 D_80115158[];
|
||||
extern s16 D_8011515A;
|
||||
extern u8 D_8011515C;
|
||||
extern s16 D_8011515E;
|
||||
extern s16 D_80115162;
|
||||
extern s16 D_80115166;
|
||||
extern u8 D_8018CAA0;
|
||||
extern u8 D_8018CAB8;
|
||||
extern u8 D_8018CB2C;
|
||||
extern u8 D_8018CB34;
|
||||
extern void *D_801CA9E0;
|
||||
extern void *D_801CA9E4;
|
||||
u16 t;
|
||||
|
||||
func_800D24A0(1);
|
||||
D_8011511A = 2;
|
||||
t = D_8011511A;
|
||||
(*(s16 *)&D_80115118) = 0;
|
||||
D_80115130 = 0;
|
||||
if (t >= 4) {
|
||||
D_8011511A = t - 3;
|
||||
}
|
||||
(*(s16 *)D_80115158) = 0x106;
|
||||
if ((func_80029178(0x1C) & 0xFF) == 0) {
|
||||
D_801CA9E0 = &D_8018CAA0;
|
||||
D_801CA9E4 = &D_8018CB2C;
|
||||
} else {
|
||||
D_801CA9E0 = &D_8018CAB8;
|
||||
D_801CA9E4 = &D_8018CB34;
|
||||
}
|
||||
D_8011515A = 0x104;
|
||||
(*(s16 *)&D_8011515C) = 0x104;
|
||||
D_8011515E = 0x129;
|
||||
D_80115162 = 0x103;
|
||||
D_80115166 = 0x105;
|
||||
D_80115128 = 0;
|
||||
D_8011512E = 0;
|
||||
if (D_80115110 == 3) {
|
||||
func_8002D4C8(0x46E, 0);
|
||||
} else {
|
||||
func_80141C0C(0);
|
||||
}
|
||||
D_80115128 = 1;
|
||||
D_8018CE00 = 0xE;
|
||||
D_8018CE02 = 3;
|
||||
D_80115112 = D_80115112 + 1;
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_090/nonmatchings/ov_SC03_090_jr_8013FFD8", func_80141A60);
|
||||
|
||||
|
||||
@@ -3229,7 +3229,93 @@ DEFINE_func_8016DB34() /* dedup: shared engine-core @0x8016DB34 (src/shared) */
|
||||
|
||||
DEFINE_func_8016DBD8() /* dedup: shared engine-core @0x8016DBD8 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_090/nonmatchings/ov_SC03_090_jr_8016AB6C", func_8016DC20);
|
||||
|
||||
extern s32 D_8011D030;
|
||||
|
||||
extern void func_80149374(s32 a0, s32 a1);
|
||||
extern s32 func_801619D0(void *a0);
|
||||
extern s32 func_80146A6C(s32 a0, void *a1, s32 a2, s32 a3, s32 a4, s32 a5, s32 a6);
|
||||
extern void func_800D20C0(void *a0, void *a1, s32 a2);
|
||||
extern void func_800D23D0(void *a0);
|
||||
extern s32 func_800D21C4(s32 a0, void *a1, s32 a2);
|
||||
extern void func_800D1FC8(s32 a0, s32 a1);
|
||||
extern void func_80128EA8(s32 a0, s32 a1, s32 a2);
|
||||
extern s32 func_80128ED8(void *a0, void *a1);
|
||||
extern void func_80146C3C(void);
|
||||
|
||||
void func_8016DC20(s16 *param_1) {
|
||||
|
||||
extern s16 D_801CB6D8;
|
||||
extern s16 D_801CB6DC;
|
||||
extern u8 D_8018ED8C[];
|
||||
extern u8 D_8018ED98[];
|
||||
u16 *psVar1;
|
||||
s32 iVar2;
|
||||
s32 iVar3;
|
||||
s32 iVar4;
|
||||
s16 i;
|
||||
s16 sp[6];
|
||||
|
||||
i = 0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
iVar4 = *(s32 *)((u8 *)param_1 + 0x34);
|
||||
do {
|
||||
if ((psVar1 != (u16 *)param_1) && (*psVar1 == 0x34)) goto end;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80149374(iVar4, (s32)param_1 + 4);
|
||||
iVar2 = func_801619D0((void *)iVar4);
|
||||
i = 0;
|
||||
if (iVar2 == 0) goto ddb0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
do {
|
||||
if (*psVar1 == 0x11) goto ddb0;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80146A6C(0x11, param_1, *(s16 *)((u8 *)param_1 + 6),
|
||||
(s16)(*(u16 *)((u8 *)param_1 + 0xa) - 8),
|
||||
*(s16 *)((u8 *)param_1 + 0xe), 0, 0);
|
||||
sp[0] = *(u16 *)((u8 *)param_1 + 6);
|
||||
sp[1] = *(u16 *)((u8 *)param_1 + 0xa);
|
||||
sp[2] = *(u16 *)((u8 *)param_1 + 0xe);
|
||||
func_800D20C0(&sp[0], &sp[4], 0);
|
||||
sp[5] = 0;
|
||||
func_800D23D0(&sp[4]);
|
||||
i = 0;
|
||||
do {
|
||||
iVar3 = func_80146A6C(0x12, param_1, *(s16 *)(iVar4 + 6),
|
||||
*(s16 *)(iVar4 + 0xa), *(s16 *)(iVar4 + 0xe),
|
||||
i, 0);
|
||||
if (iVar3 != 0) {
|
||||
*(u16 *)(iVar3 + 0x12) = sp[4];
|
||||
*(u16 *)(iVar3 + 0x16) = sp[5];
|
||||
*(u16 *)(iVar3 + 0x1a) = 0;
|
||||
}
|
||||
i = i + 2;
|
||||
} while (i < 3);
|
||||
goto end;
|
||||
ddb0:
|
||||
if (((D_801CB6D8 != *(s16 *)(iVar4 + 6)) || (D_801CB6DC != *(s16 *)(iVar4 + 0xe))) &&
|
||||
(iVar2 = func_800D21C4((s32)param_1, D_8018ED8C, 0x18), iVar2 != 0)) {
|
||||
D_801CB6D8 = *(u16 *)(iVar4 + 6);
|
||||
D_801CB6DC = *(u16 *)(iVar4 + 0xe);
|
||||
func_800D1FC8((s32)param_1, 7);
|
||||
*(s32 *)((u8 *)param_1 + 0x20) = iVar2;
|
||||
*(u16 *)(iVar2 + 0x1a) = 0x3000;
|
||||
*(u16 *)(iVar2 + 0x18) = 0x3000;
|
||||
*(u8 *)(iVar2 + 0x26) = 0xff;
|
||||
*(u32 *)(iVar2 + 4) = *(u32 *)(iVar2 + 4) | 0x50000000;
|
||||
func_80128EA8(iVar2, (s32)param_1 + 0x24, (s32)D_8018ED98);
|
||||
func_80128ED8((void *)iVar2, (void *)((s32)param_1 + 0x24));
|
||||
*(u16 *)((u8 *)param_1 + 2) = *(u16 *)((u8 *)param_1 + 2) + 1;
|
||||
return;
|
||||
}
|
||||
end:
|
||||
((void (*)(s16 *))func_80146C3C)(param_1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern void (*D_8018EDB8[])(void);
|
||||
|
||||
@@ -1342,7 +1342,79 @@ void func_80141874(void) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_091/nonmatchings/ov_SC03_091_jr_8013FFD8", func_801418F8);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern u16 D_80115110;
|
||||
extern u16 D_80115112;
|
||||
extern unsigned short D_80115118;
|
||||
extern volatile u16 D_8011511A;
|
||||
extern s16 D_80115128;
|
||||
extern s32 D_80115130;
|
||||
extern s16 D_8018DCA8;
|
||||
extern s16 D_8018DCAA;
|
||||
|
||||
extern void func_800D24A0(s32 a0);
|
||||
extern s32 func_80029178(s32 a0);
|
||||
extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
extern void func_80141C0C(s32 a0);
|
||||
|
||||
void func_801418F8(void)
|
||||
{
|
||||
|
||||
extern s16 D_8011512E;
|
||||
extern u8 D_80115158[];
|
||||
extern s16 D_8011515A;
|
||||
extern u8 D_8011515C;
|
||||
extern s16 D_8011515E;
|
||||
extern s16 D_80115162;
|
||||
extern s16 D_80115166;
|
||||
extern u8 D_8018D948;
|
||||
extern u8 D_8018D960;
|
||||
extern u8 D_8018D9D4;
|
||||
extern u8 D_8018D9DC;
|
||||
extern void *D_801D10B0;
|
||||
extern void *D_801D10B4;
|
||||
u16 t;
|
||||
|
||||
func_800D24A0(1);
|
||||
D_8011511A = 2;
|
||||
t = D_8011511A;
|
||||
(*(s16 *)&D_80115118) = 0;
|
||||
D_80115130 = 0;
|
||||
if (t >= 4) {
|
||||
D_8011511A = t - 3;
|
||||
}
|
||||
(*(s16 *)D_80115158) = 0x106;
|
||||
if ((func_80029178(0x1C) & 0xFF) == 0) {
|
||||
D_801D10B0 = &D_8018D948;
|
||||
D_801D10B4 = &D_8018D9D4;
|
||||
} else {
|
||||
D_801D10B0 = &D_8018D960;
|
||||
D_801D10B4 = &D_8018D9DC;
|
||||
}
|
||||
D_8011515A = 0x104;
|
||||
(*(s16 *)&D_8011515C) = 0x104;
|
||||
D_8011515E = 0x129;
|
||||
D_80115162 = 0x103;
|
||||
D_80115166 = 0x105;
|
||||
D_80115128 = 0;
|
||||
D_8011512E = 0;
|
||||
if (D_80115110 == 3) {
|
||||
func_8002D4C8(0x46E, 0);
|
||||
} else {
|
||||
func_80141C0C(0);
|
||||
}
|
||||
D_80115128 = 1;
|
||||
D_8018DCA8 = 0xE;
|
||||
D_8018DCAA = 3;
|
||||
D_80115112 = D_80115112 + 1;
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_091/nonmatchings/ov_SC03_091_jr_8013FFD8", func_80141A60);
|
||||
|
||||
|
||||
@@ -3229,7 +3229,93 @@ DEFINE_func_8016DB34() /* dedup: shared engine-core @0x8016DB34 (src/shared) */
|
||||
|
||||
DEFINE_func_8016DBD8() /* dedup: shared engine-core @0x8016DBD8 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_091/nonmatchings/ov_SC03_091_jr_8016AB6C", func_8016DC20);
|
||||
|
||||
extern s32 D_8011D030;
|
||||
|
||||
extern void func_80149374(s32 a0, s32 a1);
|
||||
extern s32 func_801619D0(void *a0);
|
||||
extern s32 func_80146A6C(s32 a0, void *a1, s32 a2, s32 a3, s32 a4, s32 a5, s32 a6);
|
||||
extern void func_800D20C0(void *a0, void *a1, s32 a2);
|
||||
extern void func_800D23D0(void *a0);
|
||||
extern s32 func_800D21C4(s32 a0, void *a1, s32 a2);
|
||||
extern void func_800D1FC8(s32 a0, s32 a1);
|
||||
extern void func_80128EA8(s32 a0, s32 a1, s32 a2);
|
||||
extern s32 func_80128ED8(void *a0, void *a1);
|
||||
extern void func_80146C3C(void);
|
||||
|
||||
void func_8016DC20(s16 *param_1) {
|
||||
|
||||
extern s16 D_801D1DA8;
|
||||
extern s16 D_801D1DAC;
|
||||
extern u8 D_8018FC34[];
|
||||
extern u8 D_8018FC40[];
|
||||
u16 *psVar1;
|
||||
s32 iVar2;
|
||||
s32 iVar3;
|
||||
s32 iVar4;
|
||||
s16 i;
|
||||
s16 sp[6];
|
||||
|
||||
i = 0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
iVar4 = *(s32 *)((u8 *)param_1 + 0x34);
|
||||
do {
|
||||
if ((psVar1 != (u16 *)param_1) && (*psVar1 == 0x34)) goto end;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80149374(iVar4, (s32)param_1 + 4);
|
||||
iVar2 = func_801619D0((void *)iVar4);
|
||||
i = 0;
|
||||
if (iVar2 == 0) goto ddb0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
do {
|
||||
if (*psVar1 == 0x11) goto ddb0;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80146A6C(0x11, param_1, *(s16 *)((u8 *)param_1 + 6),
|
||||
(s16)(*(u16 *)((u8 *)param_1 + 0xa) - 8),
|
||||
*(s16 *)((u8 *)param_1 + 0xe), 0, 0);
|
||||
sp[0] = *(u16 *)((u8 *)param_1 + 6);
|
||||
sp[1] = *(u16 *)((u8 *)param_1 + 0xa);
|
||||
sp[2] = *(u16 *)((u8 *)param_1 + 0xe);
|
||||
func_800D20C0(&sp[0], &sp[4], 0);
|
||||
sp[5] = 0;
|
||||
func_800D23D0(&sp[4]);
|
||||
i = 0;
|
||||
do {
|
||||
iVar3 = func_80146A6C(0x12, param_1, *(s16 *)(iVar4 + 6),
|
||||
*(s16 *)(iVar4 + 0xa), *(s16 *)(iVar4 + 0xe),
|
||||
i, 0);
|
||||
if (iVar3 != 0) {
|
||||
*(u16 *)(iVar3 + 0x12) = sp[4];
|
||||
*(u16 *)(iVar3 + 0x16) = sp[5];
|
||||
*(u16 *)(iVar3 + 0x1a) = 0;
|
||||
}
|
||||
i = i + 2;
|
||||
} while (i < 3);
|
||||
goto end;
|
||||
ddb0:
|
||||
if (((D_801D1DA8 != *(s16 *)(iVar4 + 6)) || (D_801D1DAC != *(s16 *)(iVar4 + 0xe))) &&
|
||||
(iVar2 = func_800D21C4((s32)param_1, D_8018FC34, 0x18), iVar2 != 0)) {
|
||||
D_801D1DA8 = *(u16 *)(iVar4 + 6);
|
||||
D_801D1DAC = *(u16 *)(iVar4 + 0xe);
|
||||
func_800D1FC8((s32)param_1, 7);
|
||||
*(s32 *)((u8 *)param_1 + 0x20) = iVar2;
|
||||
*(u16 *)(iVar2 + 0x1a) = 0x3000;
|
||||
*(u16 *)(iVar2 + 0x18) = 0x3000;
|
||||
*(u8 *)(iVar2 + 0x26) = 0xff;
|
||||
*(u32 *)(iVar2 + 4) = *(u32 *)(iVar2 + 4) | 0x50000000;
|
||||
func_80128EA8(iVar2, (s32)param_1 + 0x24, (s32)D_8018FC40);
|
||||
func_80128ED8((void *)iVar2, (void *)((s32)param_1 + 0x24));
|
||||
*(u16 *)((u8 *)param_1 + 2) = *(u16 *)((u8 *)param_1 + 2) + 1;
|
||||
return;
|
||||
}
|
||||
end:
|
||||
((void (*)(s16 *))func_80146C3C)(param_1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern void (*D_8018FC60[])(void);
|
||||
|
||||
@@ -1342,7 +1342,79 @@ void func_80141874(void) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_092/nonmatchings/ov_SC03_092_jr_8013FFD8", func_801418F8);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern u16 D_80115110;
|
||||
extern u16 D_80115112;
|
||||
extern unsigned short D_80115118;
|
||||
extern volatile u16 D_8011511A;
|
||||
extern s16 D_80115128;
|
||||
extern s32 D_80115130;
|
||||
extern s16 D_80186078;
|
||||
extern s16 D_8018607A;
|
||||
|
||||
extern void func_800D24A0(s32 a0);
|
||||
extern s32 func_80029178(s32 a0);
|
||||
extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
extern void func_80141C0C(s32 a0);
|
||||
|
||||
void func_801418F8(void)
|
||||
{
|
||||
|
||||
extern s16 D_8011512E;
|
||||
extern u8 D_80115158[];
|
||||
extern s16 D_8011515A;
|
||||
extern u8 D_8011515C;
|
||||
extern s16 D_8011515E;
|
||||
extern s16 D_80115162;
|
||||
extern s16 D_80115166;
|
||||
extern u8 D_80185D18;
|
||||
extern u8 D_80185D30;
|
||||
extern u8 D_80185DA4;
|
||||
extern u8 D_80185DAC;
|
||||
extern void *D_801B1C78;
|
||||
extern void *D_801B1C7C;
|
||||
u16 t;
|
||||
|
||||
func_800D24A0(1);
|
||||
D_8011511A = 2;
|
||||
t = D_8011511A;
|
||||
(*(s16 *)&D_80115118) = 0;
|
||||
D_80115130 = 0;
|
||||
if (t >= 4) {
|
||||
D_8011511A = t - 3;
|
||||
}
|
||||
(*(s16 *)D_80115158) = 0x106;
|
||||
if ((func_80029178(0x1C) & 0xFF) == 0) {
|
||||
D_801B1C78 = &D_80185D18;
|
||||
D_801B1C7C = &D_80185DA4;
|
||||
} else {
|
||||
D_801B1C78 = &D_80185D30;
|
||||
D_801B1C7C = &D_80185DAC;
|
||||
}
|
||||
D_8011515A = 0x104;
|
||||
(*(s16 *)&D_8011515C) = 0x104;
|
||||
D_8011515E = 0x129;
|
||||
D_80115162 = 0x103;
|
||||
D_80115166 = 0x105;
|
||||
D_80115128 = 0;
|
||||
D_8011512E = 0;
|
||||
if (D_80115110 == 3) {
|
||||
func_8002D4C8(0x46E, 0);
|
||||
} else {
|
||||
func_80141C0C(0);
|
||||
}
|
||||
D_80115128 = 1;
|
||||
D_80186078 = 0xE;
|
||||
D_8018607A = 3;
|
||||
D_80115112 = D_80115112 + 1;
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_092/nonmatchings/ov_SC03_092_jr_8013FFD8", func_80141A60);
|
||||
|
||||
|
||||
@@ -3229,7 +3229,93 @@ DEFINE_func_8016DB34() /* dedup: shared engine-core @0x8016DB34 (src/shared) */
|
||||
|
||||
DEFINE_func_8016DBD8() /* dedup: shared engine-core @0x8016DBD8 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_092/nonmatchings/ov_SC03_092_jr_8016AB6C", func_8016DC20);
|
||||
|
||||
extern s32 D_8011D030;
|
||||
|
||||
extern void func_80149374(s32 a0, s32 a1);
|
||||
extern s32 func_801619D0(void *a0);
|
||||
extern s32 func_80146A6C(s32 a0, void *a1, s32 a2, s32 a3, s32 a4, s32 a5, s32 a6);
|
||||
extern void func_800D20C0(void *a0, void *a1, s32 a2);
|
||||
extern void func_800D23D0(void *a0);
|
||||
extern s32 func_800D21C4(s32 a0, void *a1, s32 a2);
|
||||
extern void func_800D1FC8(s32 a0, s32 a1);
|
||||
extern void func_80128EA8(s32 a0, s32 a1, s32 a2);
|
||||
extern s32 func_80128ED8(void *a0, void *a1);
|
||||
extern void func_80146C3C(void);
|
||||
|
||||
void func_8016DC20(s16 *param_1) {
|
||||
|
||||
extern s16 D_801B2970;
|
||||
extern s16 D_801B2974;
|
||||
extern u8 D_80188004[];
|
||||
extern u8 D_80188010[];
|
||||
u16 *psVar1;
|
||||
s32 iVar2;
|
||||
s32 iVar3;
|
||||
s32 iVar4;
|
||||
s16 i;
|
||||
s16 sp[6];
|
||||
|
||||
i = 0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
iVar4 = *(s32 *)((u8 *)param_1 + 0x34);
|
||||
do {
|
||||
if ((psVar1 != (u16 *)param_1) && (*psVar1 == 0x34)) goto end;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80149374(iVar4, (s32)param_1 + 4);
|
||||
iVar2 = func_801619D0((void *)iVar4);
|
||||
i = 0;
|
||||
if (iVar2 == 0) goto ddb0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
do {
|
||||
if (*psVar1 == 0x11) goto ddb0;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80146A6C(0x11, param_1, *(s16 *)((u8 *)param_1 + 6),
|
||||
(s16)(*(u16 *)((u8 *)param_1 + 0xa) - 8),
|
||||
*(s16 *)((u8 *)param_1 + 0xe), 0, 0);
|
||||
sp[0] = *(u16 *)((u8 *)param_1 + 6);
|
||||
sp[1] = *(u16 *)((u8 *)param_1 + 0xa);
|
||||
sp[2] = *(u16 *)((u8 *)param_1 + 0xe);
|
||||
func_800D20C0(&sp[0], &sp[4], 0);
|
||||
sp[5] = 0;
|
||||
func_800D23D0(&sp[4]);
|
||||
i = 0;
|
||||
do {
|
||||
iVar3 = func_80146A6C(0x12, param_1, *(s16 *)(iVar4 + 6),
|
||||
*(s16 *)(iVar4 + 0xa), *(s16 *)(iVar4 + 0xe),
|
||||
i, 0);
|
||||
if (iVar3 != 0) {
|
||||
*(u16 *)(iVar3 + 0x12) = sp[4];
|
||||
*(u16 *)(iVar3 + 0x16) = sp[5];
|
||||
*(u16 *)(iVar3 + 0x1a) = 0;
|
||||
}
|
||||
i = i + 2;
|
||||
} while (i < 3);
|
||||
goto end;
|
||||
ddb0:
|
||||
if (((D_801B2970 != *(s16 *)(iVar4 + 6)) || (D_801B2974 != *(s16 *)(iVar4 + 0xe))) &&
|
||||
(iVar2 = func_800D21C4((s32)param_1, D_80188004, 0x18), iVar2 != 0)) {
|
||||
D_801B2970 = *(u16 *)(iVar4 + 6);
|
||||
D_801B2974 = *(u16 *)(iVar4 + 0xe);
|
||||
func_800D1FC8((s32)param_1, 7);
|
||||
*(s32 *)((u8 *)param_1 + 0x20) = iVar2;
|
||||
*(u16 *)(iVar2 + 0x1a) = 0x3000;
|
||||
*(u16 *)(iVar2 + 0x18) = 0x3000;
|
||||
*(u8 *)(iVar2 + 0x26) = 0xff;
|
||||
*(u32 *)(iVar2 + 4) = *(u32 *)(iVar2 + 4) | 0x50000000;
|
||||
func_80128EA8(iVar2, (s32)param_1 + 0x24, (s32)D_80188010);
|
||||
func_80128ED8((void *)iVar2, (void *)((s32)param_1 + 0x24));
|
||||
*(u16 *)((u8 *)param_1 + 2) = *(u16 *)((u8 *)param_1 + 2) + 1;
|
||||
return;
|
||||
}
|
||||
end:
|
||||
((void (*)(s16 *))func_80146C3C)(param_1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern void (*D_80188030[])(void);
|
||||
|
||||
@@ -1342,7 +1342,79 @@ void func_80141874(void) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_093/nonmatchings/ov_SC03_093_jr_8013FFD8", func_801418F8);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern u16 D_80115110;
|
||||
extern u16 D_80115112;
|
||||
extern unsigned short D_80115118;
|
||||
extern volatile u16 D_8011511A;
|
||||
extern s16 D_80115128;
|
||||
extern s32 D_80115130;
|
||||
extern s16 D_80187250;
|
||||
extern s16 D_80187252;
|
||||
|
||||
extern void func_800D24A0(s32 a0);
|
||||
extern s32 func_80029178(s32 a0);
|
||||
extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
extern void func_80141C0C(s32 a0);
|
||||
|
||||
void func_801418F8(void)
|
||||
{
|
||||
|
||||
extern s16 D_8011512E;
|
||||
extern u8 D_80115158[];
|
||||
extern s16 D_8011515A;
|
||||
extern u8 D_8011515C;
|
||||
extern s16 D_8011515E;
|
||||
extern s16 D_80115162;
|
||||
extern s16 D_80115166;
|
||||
extern u8 D_80186EF0;
|
||||
extern u8 D_80186F08;
|
||||
extern u8 D_80186F7C;
|
||||
extern u8 D_80186F84;
|
||||
extern void *D_801CB0E8;
|
||||
extern void *D_801CB0EC;
|
||||
u16 t;
|
||||
|
||||
func_800D24A0(1);
|
||||
D_8011511A = 2;
|
||||
t = D_8011511A;
|
||||
(*(s16 *)&D_80115118) = 0;
|
||||
D_80115130 = 0;
|
||||
if (t >= 4) {
|
||||
D_8011511A = t - 3;
|
||||
}
|
||||
(*(s16 *)D_80115158) = 0x106;
|
||||
if ((func_80029178(0x1C) & 0xFF) == 0) {
|
||||
D_801CB0E8 = &D_80186EF0;
|
||||
D_801CB0EC = &D_80186F7C;
|
||||
} else {
|
||||
D_801CB0E8 = &D_80186F08;
|
||||
D_801CB0EC = &D_80186F84;
|
||||
}
|
||||
D_8011515A = 0x104;
|
||||
(*(s16 *)&D_8011515C) = 0x104;
|
||||
D_8011515E = 0x129;
|
||||
D_80115162 = 0x103;
|
||||
D_80115166 = 0x105;
|
||||
D_80115128 = 0;
|
||||
D_8011512E = 0;
|
||||
if (D_80115110 == 3) {
|
||||
func_8002D4C8(0x46E, 0);
|
||||
} else {
|
||||
func_80141C0C(0);
|
||||
}
|
||||
D_80115128 = 1;
|
||||
D_80187250 = 0xE;
|
||||
D_80187252 = 3;
|
||||
D_80115112 = D_80115112 + 1;
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_093/nonmatchings/ov_SC03_093_jr_8013FFD8", func_80141A60);
|
||||
|
||||
|
||||
@@ -3229,7 +3229,93 @@ DEFINE_func_8016DB34() /* dedup: shared engine-core @0x8016DB34 (src/shared) */
|
||||
|
||||
DEFINE_func_8016DBD8() /* dedup: shared engine-core @0x8016DBD8 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_093/nonmatchings/ov_SC03_093_jr_8016AB6C", func_8016DC20);
|
||||
|
||||
extern s32 D_8011D030;
|
||||
|
||||
extern void func_80149374(s32 a0, s32 a1);
|
||||
extern s32 func_801619D0(void *a0);
|
||||
extern s32 func_80146A6C(s32 a0, void *a1, s32 a2, s32 a3, s32 a4, s32 a5, s32 a6);
|
||||
extern void func_800D20C0(void *a0, void *a1, s32 a2);
|
||||
extern void func_800D23D0(void *a0);
|
||||
extern s32 func_800D21C4(s32 a0, void *a1, s32 a2);
|
||||
extern void func_800D1FC8(s32 a0, s32 a1);
|
||||
extern void func_80128EA8(s32 a0, s32 a1, s32 a2);
|
||||
extern s32 func_80128ED8(void *a0, void *a1);
|
||||
extern void func_80146C3C(void);
|
||||
|
||||
void func_8016DC20(s16 *param_1) {
|
||||
|
||||
extern s16 D_801CBDE0;
|
||||
extern s16 D_801CBDE4;
|
||||
extern u8 D_801891DC[];
|
||||
extern u8 D_801891E8[];
|
||||
u16 *psVar1;
|
||||
s32 iVar2;
|
||||
s32 iVar3;
|
||||
s32 iVar4;
|
||||
s16 i;
|
||||
s16 sp[6];
|
||||
|
||||
i = 0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
iVar4 = *(s32 *)((u8 *)param_1 + 0x34);
|
||||
do {
|
||||
if ((psVar1 != (u16 *)param_1) && (*psVar1 == 0x34)) goto end;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80149374(iVar4, (s32)param_1 + 4);
|
||||
iVar2 = func_801619D0((void *)iVar4);
|
||||
i = 0;
|
||||
if (iVar2 == 0) goto ddb0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
do {
|
||||
if (*psVar1 == 0x11) goto ddb0;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80146A6C(0x11, param_1, *(s16 *)((u8 *)param_1 + 6),
|
||||
(s16)(*(u16 *)((u8 *)param_1 + 0xa) - 8),
|
||||
*(s16 *)((u8 *)param_1 + 0xe), 0, 0);
|
||||
sp[0] = *(u16 *)((u8 *)param_1 + 6);
|
||||
sp[1] = *(u16 *)((u8 *)param_1 + 0xa);
|
||||
sp[2] = *(u16 *)((u8 *)param_1 + 0xe);
|
||||
func_800D20C0(&sp[0], &sp[4], 0);
|
||||
sp[5] = 0;
|
||||
func_800D23D0(&sp[4]);
|
||||
i = 0;
|
||||
do {
|
||||
iVar3 = func_80146A6C(0x12, param_1, *(s16 *)(iVar4 + 6),
|
||||
*(s16 *)(iVar4 + 0xa), *(s16 *)(iVar4 + 0xe),
|
||||
i, 0);
|
||||
if (iVar3 != 0) {
|
||||
*(u16 *)(iVar3 + 0x12) = sp[4];
|
||||
*(u16 *)(iVar3 + 0x16) = sp[5];
|
||||
*(u16 *)(iVar3 + 0x1a) = 0;
|
||||
}
|
||||
i = i + 2;
|
||||
} while (i < 3);
|
||||
goto end;
|
||||
ddb0:
|
||||
if (((D_801CBDE0 != *(s16 *)(iVar4 + 6)) || (D_801CBDE4 != *(s16 *)(iVar4 + 0xe))) &&
|
||||
(iVar2 = func_800D21C4((s32)param_1, D_801891DC, 0x18), iVar2 != 0)) {
|
||||
D_801CBDE0 = *(u16 *)(iVar4 + 6);
|
||||
D_801CBDE4 = *(u16 *)(iVar4 + 0xe);
|
||||
func_800D1FC8((s32)param_1, 7);
|
||||
*(s32 *)((u8 *)param_1 + 0x20) = iVar2;
|
||||
*(u16 *)(iVar2 + 0x1a) = 0x3000;
|
||||
*(u16 *)(iVar2 + 0x18) = 0x3000;
|
||||
*(u8 *)(iVar2 + 0x26) = 0xff;
|
||||
*(u32 *)(iVar2 + 4) = *(u32 *)(iVar2 + 4) | 0x50000000;
|
||||
func_80128EA8(iVar2, (s32)param_1 + 0x24, (s32)D_801891E8);
|
||||
func_80128ED8((void *)iVar2, (void *)((s32)param_1 + 0x24));
|
||||
*(u16 *)((u8 *)param_1 + 2) = *(u16 *)((u8 *)param_1 + 2) + 1;
|
||||
return;
|
||||
}
|
||||
end:
|
||||
((void (*)(s16 *))func_80146C3C)(param_1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern void (*D_80189208[])(void);
|
||||
|
||||
@@ -1342,7 +1342,79 @@ void func_80141874(void) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_094/nonmatchings/ov_SC03_094_jr_8013FFD8", func_801418F8);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern u16 D_80115110;
|
||||
extern u16 D_80115112;
|
||||
extern unsigned short D_80115118;
|
||||
extern volatile u16 D_8011511A;
|
||||
extern s16 D_80115128;
|
||||
extern s32 D_80115130;
|
||||
extern s16 D_80188C4C;
|
||||
extern s16 D_80188C4E;
|
||||
|
||||
extern void func_800D24A0(s32 a0);
|
||||
extern s32 func_80029178(s32 a0);
|
||||
extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
extern void func_80141C0C(s32 a0);
|
||||
|
||||
void func_801418F8(void)
|
||||
{
|
||||
|
||||
extern s16 D_8011512E;
|
||||
extern u8 D_80115158[];
|
||||
extern s16 D_8011515A;
|
||||
extern u8 D_8011515C;
|
||||
extern s16 D_8011515E;
|
||||
extern s16 D_80115162;
|
||||
extern s16 D_80115166;
|
||||
extern u8 D_801888EC;
|
||||
extern u8 D_80188904;
|
||||
extern u8 D_80188978;
|
||||
extern u8 D_80188980;
|
||||
extern void *D_801D1F28;
|
||||
extern void *D_801D1F2C;
|
||||
u16 t;
|
||||
|
||||
func_800D24A0(1);
|
||||
D_8011511A = 2;
|
||||
t = D_8011511A;
|
||||
(*(s16 *)&D_80115118) = 0;
|
||||
D_80115130 = 0;
|
||||
if (t >= 4) {
|
||||
D_8011511A = t - 3;
|
||||
}
|
||||
(*(s16 *)D_80115158) = 0x106;
|
||||
if ((func_80029178(0x1C) & 0xFF) == 0) {
|
||||
D_801D1F28 = &D_801888EC;
|
||||
D_801D1F2C = &D_80188978;
|
||||
} else {
|
||||
D_801D1F28 = &D_80188904;
|
||||
D_801D1F2C = &D_80188980;
|
||||
}
|
||||
D_8011515A = 0x104;
|
||||
(*(s16 *)&D_8011515C) = 0x104;
|
||||
D_8011515E = 0x129;
|
||||
D_80115162 = 0x103;
|
||||
D_80115166 = 0x105;
|
||||
D_80115128 = 0;
|
||||
D_8011512E = 0;
|
||||
if (D_80115110 == 3) {
|
||||
func_8002D4C8(0x46E, 0);
|
||||
} else {
|
||||
func_80141C0C(0);
|
||||
}
|
||||
D_80115128 = 1;
|
||||
D_80188C4C = 0xE;
|
||||
D_80188C4E = 3;
|
||||
D_80115112 = D_80115112 + 1;
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_094/nonmatchings/ov_SC03_094_jr_8013FFD8", func_80141A60);
|
||||
|
||||
|
||||
@@ -3229,7 +3229,93 @@ DEFINE_func_8016DB34() /* dedup: shared engine-core @0x8016DB34 (src/shared) */
|
||||
|
||||
DEFINE_func_8016DBD8() /* dedup: shared engine-core @0x8016DBD8 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_094/nonmatchings/ov_SC03_094_jr_8016AB6C", func_8016DC20);
|
||||
|
||||
extern s32 D_8011D030;
|
||||
|
||||
extern void func_80149374(s32 a0, s32 a1);
|
||||
extern s32 func_801619D0(void *a0);
|
||||
extern s32 func_80146A6C(s32 a0, void *a1, s32 a2, s32 a3, s32 a4, s32 a5, s32 a6);
|
||||
extern void func_800D20C0(void *a0, void *a1, s32 a2);
|
||||
extern void func_800D23D0(void *a0);
|
||||
extern s32 func_800D21C4(s32 a0, void *a1, s32 a2);
|
||||
extern void func_800D1FC8(s32 a0, s32 a1);
|
||||
extern void func_80128EA8(s32 a0, s32 a1, s32 a2);
|
||||
extern s32 func_80128ED8(void *a0, void *a1);
|
||||
extern void func_80146C3C(void);
|
||||
|
||||
void func_8016DC20(s16 *param_1) {
|
||||
|
||||
extern s16 D_801D2C20;
|
||||
extern s16 D_801D2C24;
|
||||
extern u8 D_8018ABD8[];
|
||||
extern u8 D_8018ABE4[];
|
||||
u16 *psVar1;
|
||||
s32 iVar2;
|
||||
s32 iVar3;
|
||||
s32 iVar4;
|
||||
s16 i;
|
||||
s16 sp[6];
|
||||
|
||||
i = 0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
iVar4 = *(s32 *)((u8 *)param_1 + 0x34);
|
||||
do {
|
||||
if ((psVar1 != (u16 *)param_1) && (*psVar1 == 0x34)) goto end;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80149374(iVar4, (s32)param_1 + 4);
|
||||
iVar2 = func_801619D0((void *)iVar4);
|
||||
i = 0;
|
||||
if (iVar2 == 0) goto ddb0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
do {
|
||||
if (*psVar1 == 0x11) goto ddb0;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80146A6C(0x11, param_1, *(s16 *)((u8 *)param_1 + 6),
|
||||
(s16)(*(u16 *)((u8 *)param_1 + 0xa) - 8),
|
||||
*(s16 *)((u8 *)param_1 + 0xe), 0, 0);
|
||||
sp[0] = *(u16 *)((u8 *)param_1 + 6);
|
||||
sp[1] = *(u16 *)((u8 *)param_1 + 0xa);
|
||||
sp[2] = *(u16 *)((u8 *)param_1 + 0xe);
|
||||
func_800D20C0(&sp[0], &sp[4], 0);
|
||||
sp[5] = 0;
|
||||
func_800D23D0(&sp[4]);
|
||||
i = 0;
|
||||
do {
|
||||
iVar3 = func_80146A6C(0x12, param_1, *(s16 *)(iVar4 + 6),
|
||||
*(s16 *)(iVar4 + 0xa), *(s16 *)(iVar4 + 0xe),
|
||||
i, 0);
|
||||
if (iVar3 != 0) {
|
||||
*(u16 *)(iVar3 + 0x12) = sp[4];
|
||||
*(u16 *)(iVar3 + 0x16) = sp[5];
|
||||
*(u16 *)(iVar3 + 0x1a) = 0;
|
||||
}
|
||||
i = i + 2;
|
||||
} while (i < 3);
|
||||
goto end;
|
||||
ddb0:
|
||||
if (((D_801D2C20 != *(s16 *)(iVar4 + 6)) || (D_801D2C24 != *(s16 *)(iVar4 + 0xe))) &&
|
||||
(iVar2 = func_800D21C4((s32)param_1, D_8018ABD8, 0x18), iVar2 != 0)) {
|
||||
D_801D2C20 = *(u16 *)(iVar4 + 6);
|
||||
D_801D2C24 = *(u16 *)(iVar4 + 0xe);
|
||||
func_800D1FC8((s32)param_1, 7);
|
||||
*(s32 *)((u8 *)param_1 + 0x20) = iVar2;
|
||||
*(u16 *)(iVar2 + 0x1a) = 0x3000;
|
||||
*(u16 *)(iVar2 + 0x18) = 0x3000;
|
||||
*(u8 *)(iVar2 + 0x26) = 0xff;
|
||||
*(u32 *)(iVar2 + 4) = *(u32 *)(iVar2 + 4) | 0x50000000;
|
||||
func_80128EA8(iVar2, (s32)param_1 + 0x24, (s32)D_8018ABE4);
|
||||
func_80128ED8((void *)iVar2, (void *)((s32)param_1 + 0x24));
|
||||
*(u16 *)((u8 *)param_1 + 2) = *(u16 *)((u8 *)param_1 + 2) + 1;
|
||||
return;
|
||||
}
|
||||
end:
|
||||
((void (*)(s16 *))func_80146C3C)(param_1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern void (*D_8018AC04[])(void);
|
||||
|
||||
@@ -1342,7 +1342,79 @@ void func_80141874(void) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_095/nonmatchings/ov_SC03_095_jr_8013FFD8", func_801418F8);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern u16 D_80115110;
|
||||
extern u16 D_80115112;
|
||||
extern unsigned short D_80115118;
|
||||
extern volatile u16 D_8011511A;
|
||||
extern s16 D_80115128;
|
||||
extern s32 D_80115130;
|
||||
extern s16 D_801822AC;
|
||||
extern s16 D_801822AE;
|
||||
|
||||
extern void func_800D24A0(s32 a0);
|
||||
extern s32 func_80029178(s32 a0);
|
||||
extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
extern void func_80141C0C(s32 a0);
|
||||
|
||||
void func_801418F8(void)
|
||||
{
|
||||
|
||||
extern s16 D_8011512E;
|
||||
extern u8 D_80115158[];
|
||||
extern s16 D_8011515A;
|
||||
extern u8 D_8011515C;
|
||||
extern s16 D_8011515E;
|
||||
extern s16 D_80115162;
|
||||
extern s16 D_80115166;
|
||||
extern u8 D_80181F4C;
|
||||
extern u8 D_80181F64;
|
||||
extern u8 D_80181FD8;
|
||||
extern u8 D_80181FE0;
|
||||
extern void *D_8019AB20;
|
||||
extern void *D_8019AB24;
|
||||
u16 t;
|
||||
|
||||
func_800D24A0(1);
|
||||
D_8011511A = 2;
|
||||
t = D_8011511A;
|
||||
(*(s16 *)&D_80115118) = 0;
|
||||
D_80115130 = 0;
|
||||
if (t >= 4) {
|
||||
D_8011511A = t - 3;
|
||||
}
|
||||
(*(s16 *)D_80115158) = 0x106;
|
||||
if ((func_80029178(0x1C) & 0xFF) == 0) {
|
||||
D_8019AB20 = &D_80181F4C;
|
||||
D_8019AB24 = &D_80181FD8;
|
||||
} else {
|
||||
D_8019AB20 = &D_80181F64;
|
||||
D_8019AB24 = &D_80181FE0;
|
||||
}
|
||||
D_8011515A = 0x104;
|
||||
(*(s16 *)&D_8011515C) = 0x104;
|
||||
D_8011515E = 0x129;
|
||||
D_80115162 = 0x103;
|
||||
D_80115166 = 0x105;
|
||||
D_80115128 = 0;
|
||||
D_8011512E = 0;
|
||||
if (D_80115110 == 3) {
|
||||
func_8002D4C8(0x46E, 0);
|
||||
} else {
|
||||
func_80141C0C(0);
|
||||
}
|
||||
D_80115128 = 1;
|
||||
D_801822AC = 0xE;
|
||||
D_801822AE = 3;
|
||||
D_80115112 = D_80115112 + 1;
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_095/nonmatchings/ov_SC03_095_jr_8013FFD8", func_80141A60);
|
||||
|
||||
|
||||
@@ -3229,7 +3229,93 @@ DEFINE_func_8016DB34() /* dedup: shared engine-core @0x8016DB34 (src/shared) */
|
||||
|
||||
DEFINE_func_8016DBD8() /* dedup: shared engine-core @0x8016DBD8 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_095/nonmatchings/ov_SC03_095_jr_8016AB6C", func_8016DC20);
|
||||
|
||||
extern s32 D_8011D030;
|
||||
|
||||
extern void func_80149374(s32 a0, s32 a1);
|
||||
extern s32 func_801619D0(void *a0);
|
||||
extern s32 func_80146A6C(s32 a0, void *a1, s32 a2, s32 a3, s32 a4, s32 a5, s32 a6);
|
||||
extern void func_800D20C0(void *a0, void *a1, s32 a2);
|
||||
extern void func_800D23D0(void *a0);
|
||||
extern s32 func_800D21C4(s32 a0, void *a1, s32 a2);
|
||||
extern void func_800D1FC8(s32 a0, s32 a1);
|
||||
extern void func_80128EA8(s32 a0, s32 a1, s32 a2);
|
||||
extern s32 func_80128ED8(void *a0, void *a1);
|
||||
extern void func_80146C3C(void);
|
||||
|
||||
void func_8016DC20(s16 *param_1) {
|
||||
|
||||
extern s16 D_8019B818;
|
||||
extern s16 D_8019B81C;
|
||||
extern u8 D_80184238[];
|
||||
extern u8 D_80184244[];
|
||||
u16 *psVar1;
|
||||
s32 iVar2;
|
||||
s32 iVar3;
|
||||
s32 iVar4;
|
||||
s16 i;
|
||||
s16 sp[6];
|
||||
|
||||
i = 0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
iVar4 = *(s32 *)((u8 *)param_1 + 0x34);
|
||||
do {
|
||||
if ((psVar1 != (u16 *)param_1) && (*psVar1 == 0x34)) goto end;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80149374(iVar4, (s32)param_1 + 4);
|
||||
iVar2 = func_801619D0((void *)iVar4);
|
||||
i = 0;
|
||||
if (iVar2 == 0) goto ddb0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
do {
|
||||
if (*psVar1 == 0x11) goto ddb0;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80146A6C(0x11, param_1, *(s16 *)((u8 *)param_1 + 6),
|
||||
(s16)(*(u16 *)((u8 *)param_1 + 0xa) - 8),
|
||||
*(s16 *)((u8 *)param_1 + 0xe), 0, 0);
|
||||
sp[0] = *(u16 *)((u8 *)param_1 + 6);
|
||||
sp[1] = *(u16 *)((u8 *)param_1 + 0xa);
|
||||
sp[2] = *(u16 *)((u8 *)param_1 + 0xe);
|
||||
func_800D20C0(&sp[0], &sp[4], 0);
|
||||
sp[5] = 0;
|
||||
func_800D23D0(&sp[4]);
|
||||
i = 0;
|
||||
do {
|
||||
iVar3 = func_80146A6C(0x12, param_1, *(s16 *)(iVar4 + 6),
|
||||
*(s16 *)(iVar4 + 0xa), *(s16 *)(iVar4 + 0xe),
|
||||
i, 0);
|
||||
if (iVar3 != 0) {
|
||||
*(u16 *)(iVar3 + 0x12) = sp[4];
|
||||
*(u16 *)(iVar3 + 0x16) = sp[5];
|
||||
*(u16 *)(iVar3 + 0x1a) = 0;
|
||||
}
|
||||
i = i + 2;
|
||||
} while (i < 3);
|
||||
goto end;
|
||||
ddb0:
|
||||
if (((D_8019B818 != *(s16 *)(iVar4 + 6)) || (D_8019B81C != *(s16 *)(iVar4 + 0xe))) &&
|
||||
(iVar2 = func_800D21C4((s32)param_1, D_80184238, 0x18), iVar2 != 0)) {
|
||||
D_8019B818 = *(u16 *)(iVar4 + 6);
|
||||
D_8019B81C = *(u16 *)(iVar4 + 0xe);
|
||||
func_800D1FC8((s32)param_1, 7);
|
||||
*(s32 *)((u8 *)param_1 + 0x20) = iVar2;
|
||||
*(u16 *)(iVar2 + 0x1a) = 0x3000;
|
||||
*(u16 *)(iVar2 + 0x18) = 0x3000;
|
||||
*(u8 *)(iVar2 + 0x26) = 0xff;
|
||||
*(u32 *)(iVar2 + 4) = *(u32 *)(iVar2 + 4) | 0x50000000;
|
||||
func_80128EA8(iVar2, (s32)param_1 + 0x24, (s32)D_80184244);
|
||||
func_80128ED8((void *)iVar2, (void *)((s32)param_1 + 0x24));
|
||||
*(u16 *)((u8 *)param_1 + 2) = *(u16 *)((u8 *)param_1 + 2) + 1;
|
||||
return;
|
||||
}
|
||||
end:
|
||||
((void (*)(s16 *))func_80146C3C)(param_1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern void (*D_80184264[])(void);
|
||||
|
||||
@@ -1342,7 +1342,79 @@ void func_80141874(void) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_096/nonmatchings/ov_SC03_096_jr_8013FFD8", func_801418F8);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern u16 D_80115110;
|
||||
extern u16 D_80115112;
|
||||
extern unsigned short D_80115118;
|
||||
extern volatile u16 D_8011511A;
|
||||
extern s16 D_80115128;
|
||||
extern s32 D_80115130;
|
||||
extern s16 D_80181E2C;
|
||||
extern s16 D_80181E2E;
|
||||
|
||||
extern void func_800D24A0(s32 a0);
|
||||
extern s32 func_80029178(s32 a0);
|
||||
extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
extern void func_80141C0C(s32 a0);
|
||||
|
||||
void func_801418F8(void)
|
||||
{
|
||||
|
||||
extern s16 D_8011512E;
|
||||
extern u8 D_80115158[];
|
||||
extern s16 D_8011515A;
|
||||
extern u8 D_8011515C;
|
||||
extern s16 D_8011515E;
|
||||
extern s16 D_80115162;
|
||||
extern s16 D_80115166;
|
||||
extern u8 D_80181ACC;
|
||||
extern u8 D_80181AE4;
|
||||
extern u8 D_80181B58;
|
||||
extern u8 D_80181B60;
|
||||
extern void *D_801995D8;
|
||||
extern void *D_801995DC;
|
||||
u16 t;
|
||||
|
||||
func_800D24A0(1);
|
||||
D_8011511A = 2;
|
||||
t = D_8011511A;
|
||||
(*(s16 *)&D_80115118) = 0;
|
||||
D_80115130 = 0;
|
||||
if (t >= 4) {
|
||||
D_8011511A = t - 3;
|
||||
}
|
||||
(*(s16 *)D_80115158) = 0x106;
|
||||
if ((func_80029178(0x1C) & 0xFF) == 0) {
|
||||
D_801995D8 = &D_80181ACC;
|
||||
D_801995DC = &D_80181B58;
|
||||
} else {
|
||||
D_801995D8 = &D_80181AE4;
|
||||
D_801995DC = &D_80181B60;
|
||||
}
|
||||
D_8011515A = 0x104;
|
||||
(*(s16 *)&D_8011515C) = 0x104;
|
||||
D_8011515E = 0x129;
|
||||
D_80115162 = 0x103;
|
||||
D_80115166 = 0x105;
|
||||
D_80115128 = 0;
|
||||
D_8011512E = 0;
|
||||
if (D_80115110 == 3) {
|
||||
func_8002D4C8(0x46E, 0);
|
||||
} else {
|
||||
func_80141C0C(0);
|
||||
}
|
||||
D_80115128 = 1;
|
||||
D_80181E2C = 0xE;
|
||||
D_80181E2E = 3;
|
||||
D_80115112 = D_80115112 + 1;
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_096/nonmatchings/ov_SC03_096_jr_8013FFD8", func_80141A60);
|
||||
|
||||
|
||||
@@ -3229,7 +3229,93 @@ DEFINE_func_8016DB34() /* dedup: shared engine-core @0x8016DB34 (src/shared) */
|
||||
|
||||
DEFINE_func_8016DBD8() /* dedup: shared engine-core @0x8016DBD8 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_096/nonmatchings/ov_SC03_096_jr_8016AB6C", func_8016DC20);
|
||||
|
||||
extern s32 D_8011D030;
|
||||
|
||||
extern void func_80149374(s32 a0, s32 a1);
|
||||
extern s32 func_801619D0(void *a0);
|
||||
extern s32 func_80146A6C(s32 a0, void *a1, s32 a2, s32 a3, s32 a4, s32 a5, s32 a6);
|
||||
extern void func_800D20C0(void *a0, void *a1, s32 a2);
|
||||
extern void func_800D23D0(void *a0);
|
||||
extern s32 func_800D21C4(s32 a0, void *a1, s32 a2);
|
||||
extern void func_800D1FC8(s32 a0, s32 a1);
|
||||
extern void func_80128EA8(s32 a0, s32 a1, s32 a2);
|
||||
extern s32 func_80128ED8(void *a0, void *a1);
|
||||
extern void func_80146C3C(void);
|
||||
|
||||
void func_8016DC20(s16 *param_1) {
|
||||
|
||||
extern s16 D_8019A2D0;
|
||||
extern s16 D_8019A2D4;
|
||||
extern u8 D_80183DB8[];
|
||||
extern u8 D_80183DC4[];
|
||||
u16 *psVar1;
|
||||
s32 iVar2;
|
||||
s32 iVar3;
|
||||
s32 iVar4;
|
||||
s16 i;
|
||||
s16 sp[6];
|
||||
|
||||
i = 0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
iVar4 = *(s32 *)((u8 *)param_1 + 0x34);
|
||||
do {
|
||||
if ((psVar1 != (u16 *)param_1) && (*psVar1 == 0x34)) goto end;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80149374(iVar4, (s32)param_1 + 4);
|
||||
iVar2 = func_801619D0((void *)iVar4);
|
||||
i = 0;
|
||||
if (iVar2 == 0) goto ddb0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
do {
|
||||
if (*psVar1 == 0x11) goto ddb0;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80146A6C(0x11, param_1, *(s16 *)((u8 *)param_1 + 6),
|
||||
(s16)(*(u16 *)((u8 *)param_1 + 0xa) - 8),
|
||||
*(s16 *)((u8 *)param_1 + 0xe), 0, 0);
|
||||
sp[0] = *(u16 *)((u8 *)param_1 + 6);
|
||||
sp[1] = *(u16 *)((u8 *)param_1 + 0xa);
|
||||
sp[2] = *(u16 *)((u8 *)param_1 + 0xe);
|
||||
func_800D20C0(&sp[0], &sp[4], 0);
|
||||
sp[5] = 0;
|
||||
func_800D23D0(&sp[4]);
|
||||
i = 0;
|
||||
do {
|
||||
iVar3 = func_80146A6C(0x12, param_1, *(s16 *)(iVar4 + 6),
|
||||
*(s16 *)(iVar4 + 0xa), *(s16 *)(iVar4 + 0xe),
|
||||
i, 0);
|
||||
if (iVar3 != 0) {
|
||||
*(u16 *)(iVar3 + 0x12) = sp[4];
|
||||
*(u16 *)(iVar3 + 0x16) = sp[5];
|
||||
*(u16 *)(iVar3 + 0x1a) = 0;
|
||||
}
|
||||
i = i + 2;
|
||||
} while (i < 3);
|
||||
goto end;
|
||||
ddb0:
|
||||
if (((D_8019A2D0 != *(s16 *)(iVar4 + 6)) || (D_8019A2D4 != *(s16 *)(iVar4 + 0xe))) &&
|
||||
(iVar2 = func_800D21C4((s32)param_1, D_80183DB8, 0x18), iVar2 != 0)) {
|
||||
D_8019A2D0 = *(u16 *)(iVar4 + 6);
|
||||
D_8019A2D4 = *(u16 *)(iVar4 + 0xe);
|
||||
func_800D1FC8((s32)param_1, 7);
|
||||
*(s32 *)((u8 *)param_1 + 0x20) = iVar2;
|
||||
*(u16 *)(iVar2 + 0x1a) = 0x3000;
|
||||
*(u16 *)(iVar2 + 0x18) = 0x3000;
|
||||
*(u8 *)(iVar2 + 0x26) = 0xff;
|
||||
*(u32 *)(iVar2 + 4) = *(u32 *)(iVar2 + 4) | 0x50000000;
|
||||
func_80128EA8(iVar2, (s32)param_1 + 0x24, (s32)D_80183DC4);
|
||||
func_80128ED8((void *)iVar2, (void *)((s32)param_1 + 0x24));
|
||||
*(u16 *)((u8 *)param_1 + 2) = *(u16 *)((u8 *)param_1 + 2) + 1;
|
||||
return;
|
||||
}
|
||||
end:
|
||||
((void (*)(s16 *))func_80146C3C)(param_1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern void (*D_80183DE4[])(void);
|
||||
|
||||
@@ -1342,7 +1342,79 @@ void func_80141874(void) {
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_097/nonmatchings/ov_SC03_097_jr_8013FFD8", func_801418F8);
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
extern u16 D_80115110;
|
||||
extern u16 D_80115112;
|
||||
extern unsigned short D_80115118;
|
||||
extern volatile u16 D_8011511A;
|
||||
extern s16 D_80115128;
|
||||
extern s32 D_80115130;
|
||||
extern s16 D_8018720C;
|
||||
extern s16 D_8018720E;
|
||||
|
||||
extern void func_800D24A0(s32 a0);
|
||||
extern s32 func_80029178(s32 a0);
|
||||
extern void func_8002D4C8(s32 a0, s32 a1);
|
||||
extern void func_80141C0C(s32 a0);
|
||||
|
||||
void func_801418F8(void)
|
||||
{
|
||||
|
||||
extern s16 D_8011512E;
|
||||
extern u8 D_80115158[];
|
||||
extern s16 D_8011515A;
|
||||
extern u8 D_8011515C;
|
||||
extern s16 D_8011515E;
|
||||
extern s16 D_80115162;
|
||||
extern s16 D_80115166;
|
||||
extern u8 D_80186EAC;
|
||||
extern u8 D_80186EC4;
|
||||
extern u8 D_80186F38;
|
||||
extern u8 D_80186F40;
|
||||
extern void *D_801A9660;
|
||||
extern void *D_801A9664;
|
||||
u16 t;
|
||||
|
||||
func_800D24A0(1);
|
||||
D_8011511A = 2;
|
||||
t = D_8011511A;
|
||||
(*(s16 *)&D_80115118) = 0;
|
||||
D_80115130 = 0;
|
||||
if (t >= 4) {
|
||||
D_8011511A = t - 3;
|
||||
}
|
||||
(*(s16 *)D_80115158) = 0x106;
|
||||
if ((func_80029178(0x1C) & 0xFF) == 0) {
|
||||
D_801A9660 = &D_80186EAC;
|
||||
D_801A9664 = &D_80186F38;
|
||||
} else {
|
||||
D_801A9660 = &D_80186EC4;
|
||||
D_801A9664 = &D_80186F40;
|
||||
}
|
||||
D_8011515A = 0x104;
|
||||
(*(s16 *)&D_8011515C) = 0x104;
|
||||
D_8011515E = 0x129;
|
||||
D_80115162 = 0x103;
|
||||
D_80115166 = 0x105;
|
||||
D_80115128 = 0;
|
||||
D_8011512E = 0;
|
||||
if (D_80115110 == 3) {
|
||||
func_8002D4C8(0x46E, 0);
|
||||
} else {
|
||||
func_80141C0C(0);
|
||||
}
|
||||
D_80115128 = 1;
|
||||
D_8018720C = 0xE;
|
||||
D_8018720E = 3;
|
||||
D_80115112 = D_80115112 + 1;
|
||||
}
|
||||
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_097/nonmatchings/ov_SC03_097_jr_8013FFD8", func_80141A60);
|
||||
|
||||
|
||||
@@ -3229,7 +3229,93 @@ DEFINE_func_8016DB34() /* dedup: shared engine-core @0x8016DB34 (src/shared) */
|
||||
|
||||
DEFINE_func_8016DBD8() /* dedup: shared engine-core @0x8016DBD8 (src/shared) */
|
||||
|
||||
INCLUDE_ASM("asm/ov_SC03_097/nonmatchings/ov_SC03_097_jr_8016AB6C", func_8016DC20);
|
||||
|
||||
extern s32 D_8011D030;
|
||||
|
||||
extern void func_80149374(s32 a0, s32 a1);
|
||||
extern s32 func_801619D0(void *a0);
|
||||
extern s32 func_80146A6C(s32 a0, void *a1, s32 a2, s32 a3, s32 a4, s32 a5, s32 a6);
|
||||
extern void func_800D20C0(void *a0, void *a1, s32 a2);
|
||||
extern void func_800D23D0(void *a0);
|
||||
extern s32 func_800D21C4(s32 a0, void *a1, s32 a2);
|
||||
extern void func_800D1FC8(s32 a0, s32 a1);
|
||||
extern void func_80128EA8(s32 a0, s32 a1, s32 a2);
|
||||
extern s32 func_80128ED8(void *a0, void *a1);
|
||||
extern void func_80146C3C(void);
|
||||
|
||||
void func_8016DC20(s16 *param_1) {
|
||||
|
||||
extern s16 D_801AA358;
|
||||
extern s16 D_801AA35C;
|
||||
extern u8 D_80189198[];
|
||||
extern u8 D_801891A4[];
|
||||
u16 *psVar1;
|
||||
s32 iVar2;
|
||||
s32 iVar3;
|
||||
s32 iVar4;
|
||||
s16 i;
|
||||
s16 sp[6];
|
||||
|
||||
i = 0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
iVar4 = *(s32 *)((u8 *)param_1 + 0x34);
|
||||
do {
|
||||
if ((psVar1 != (u16 *)param_1) && (*psVar1 == 0x34)) goto end;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80149374(iVar4, (s32)param_1 + 4);
|
||||
iVar2 = func_801619D0((void *)iVar4);
|
||||
i = 0;
|
||||
if (iVar2 == 0) goto ddb0;
|
||||
psVar1 = (u16 *)&D_8011D030;
|
||||
do {
|
||||
if (*psVar1 == 0x11) goto ddb0;
|
||||
i = i + 1;
|
||||
psVar1 = psVar1 + 0x2c;
|
||||
} while (i < 0x1e);
|
||||
func_80146A6C(0x11, param_1, *(s16 *)((u8 *)param_1 + 6),
|
||||
(s16)(*(u16 *)((u8 *)param_1 + 0xa) - 8),
|
||||
*(s16 *)((u8 *)param_1 + 0xe), 0, 0);
|
||||
sp[0] = *(u16 *)((u8 *)param_1 + 6);
|
||||
sp[1] = *(u16 *)((u8 *)param_1 + 0xa);
|
||||
sp[2] = *(u16 *)((u8 *)param_1 + 0xe);
|
||||
func_800D20C0(&sp[0], &sp[4], 0);
|
||||
sp[5] = 0;
|
||||
func_800D23D0(&sp[4]);
|
||||
i = 0;
|
||||
do {
|
||||
iVar3 = func_80146A6C(0x12, param_1, *(s16 *)(iVar4 + 6),
|
||||
*(s16 *)(iVar4 + 0xa), *(s16 *)(iVar4 + 0xe),
|
||||
i, 0);
|
||||
if (iVar3 != 0) {
|
||||
*(u16 *)(iVar3 + 0x12) = sp[4];
|
||||
*(u16 *)(iVar3 + 0x16) = sp[5];
|
||||
*(u16 *)(iVar3 + 0x1a) = 0;
|
||||
}
|
||||
i = i + 2;
|
||||
} while (i < 3);
|
||||
goto end;
|
||||
ddb0:
|
||||
if (((D_801AA358 != *(s16 *)(iVar4 + 6)) || (D_801AA35C != *(s16 *)(iVar4 + 0xe))) &&
|
||||
(iVar2 = func_800D21C4((s32)param_1, D_80189198, 0x18), iVar2 != 0)) {
|
||||
D_801AA358 = *(u16 *)(iVar4 + 6);
|
||||
D_801AA35C = *(u16 *)(iVar4 + 0xe);
|
||||
func_800D1FC8((s32)param_1, 7);
|
||||
*(s32 *)((u8 *)param_1 + 0x20) = iVar2;
|
||||
*(u16 *)(iVar2 + 0x1a) = 0x3000;
|
||||
*(u16 *)(iVar2 + 0x18) = 0x3000;
|
||||
*(u8 *)(iVar2 + 0x26) = 0xff;
|
||||
*(u32 *)(iVar2 + 4) = *(u32 *)(iVar2 + 4) | 0x50000000;
|
||||
func_80128EA8(iVar2, (s32)param_1 + 0x24, (s32)D_801891A4);
|
||||
func_80128ED8((void *)iVar2, (void *)((s32)param_1 + 0x24));
|
||||
*(u16 *)((u8 *)param_1 + 2) = *(u16 *)((u8 *)param_1 + 2) + 1;
|
||||
return;
|
||||
}
|
||||
end:
|
||||
((void (*)(s16 *))func_80146C3C)(param_1);
|
||||
}
|
||||
|
||||
|
||||
|
||||
extern void (*D_801891C4[])(void);
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user