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:
Drew T
2026-07-19 01:57:32 -06:00
parent a725c2a4e6
commit 9ee4ce8d0e
258 changed files with 20682 additions and 258 deletions
+73 -1
View File
@@ -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);
+87 -1
View File
@@ -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);
+73 -1
View File
@@ -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);
+87 -1
View File
@@ -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);
+73 -1
View File
@@ -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);
+87 -1
View File
@@ -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);
+73 -1
View File
@@ -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);
+87 -1
View File
@@ -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);
+73 -1
View File
@@ -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);
+87 -1
View File
@@ -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);
+73 -1
View File
@@ -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);
+87 -1
View File
@@ -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);
+73 -1
View File
@@ -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);
+87 -1
View File
@@ -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);
+73 -1
View File
@@ -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);
+87 -1
View File
@@ -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);
+73 -1
View File
@@ -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);
+87 -1
View File
@@ -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);
+73 -1
View File
@@ -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);
+87 -1
View File
@@ -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);
+73 -1
View File
@@ -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);
+87 -1
View File
@@ -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);
+73 -1
View File
@@ -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);
+87 -1
View File
@@ -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);
+73 -1
View File
@@ -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);
+87 -1
View File
@@ -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);
+73 -1
View File
@@ -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);
+87 -1
View File
@@ -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);
+73 -1
View File
@@ -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);
+87 -1
View File
@@ -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);
+73 -1
View File
@@ -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);
+87 -1
View File
@@ -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);
+73 -1
View File
@@ -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);
+87 -1
View File
@@ -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);
+73 -1
View File
@@ -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);
+87 -1
View File
@@ -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);
+73 -1
View File
@@ -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);
+87 -1
View File
@@ -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);
+73 -1
View File
@@ -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);
+87 -1
View File
@@ -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);
+73 -1
View File
@@ -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);
+87 -1
View File
@@ -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);
+73 -1
View File
@@ -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);
+87 -1
View File
@@ -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);
+73 -1
View File
@@ -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);
+87 -1
View File
@@ -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);
+73 -1
View File
@@ -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);
+87 -1
View File
@@ -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);
+73 -1
View File
@@ -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);
+87 -1
View File
@@ -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);
+73 -1
View File
@@ -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);
+87 -1
View File
@@ -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);
+73 -1
View File
@@ -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);
+87 -1
View File
@@ -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);
+73 -1
View File
@@ -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);
+87 -1
View File
@@ -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);
+73 -1
View File
@@ -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);
+87 -1
View File
@@ -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);
+73 -1
View File
@@ -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);
+87 -1
View File
@@ -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);
+73 -1
View File
@@ -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);
+87 -1
View File
@@ -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);
+87 -1
View File
@@ -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);
+73 -1
View File
@@ -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);
+87 -1
View File
@@ -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);
+73 -1
View File
@@ -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);
+87 -1
View File
@@ -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);
+73 -1
View File
@@ -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);
+87 -1
View File
@@ -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);
+73 -1
View File
@@ -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);
+87 -1
View File
@@ -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);
+73 -1
View File
@@ -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);
+87 -1
View File
@@ -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);
+73 -1
View File
@@ -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);
+87 -1
View File
@@ -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);
+73 -1
View File
@@ -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);
+87 -1
View File
@@ -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);
+73 -1
View File
@@ -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);
+87 -1
View File
@@ -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);
+87 -1
View File
@@ -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);
+73 -1
View File
@@ -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);
+87 -1
View File
@@ -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);
+73 -1
View File
@@ -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);
+87 -1
View File
@@ -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);
+73 -1
View File
@@ -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);
+87 -1
View File
@@ -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);
+73 -1
View File
@@ -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);
+87 -1
View File
@@ -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);
+73 -1
View File
@@ -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);
+87 -1
View File
@@ -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);
+73 -1
View File
@@ -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);
+87 -1
View File
@@ -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);
+73 -1
View File
@@ -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);
+87 -1
View File
@@ -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);
+73 -1
View File
@@ -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);
+87 -1
View File
@@ -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);
+73 -1
View File
@@ -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);
+87 -1
View File
@@ -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);
+73 -1
View File
@@ -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);
+87 -1
View File
@@ -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