Decompile 6 more high_scores.c functions

This commit is contained in:
Marcus Huderle 2024-02-13 18:06:06 -06:00
parent 3aae87397e
commit 73ad521aa1
3 changed files with 190 additions and 607 deletions

View File

@ -4,610 +4,6 @@
.text
thumb_func_start sub_DEB4
sub_DEB4: @ 0x0800DEB4
push {r4, r5, r6, r7, lr}
mov r7, sl
mov r6, sb
mov r5, r8
push {r5, r6, r7}
movs r2, #0
ldr r0, _0800DF54 @ =gUnknown_02002858
mov r8, r0
ldr r0, _0800DF58 @ =gMain
mov ip, r0
ldr r0, _0800DF5C @ =gUnknown_0202C610
mov sl, r0
movs r0, #0x74
add r0, ip
mov sb, r0
_0800DED2:
movs r1, #0
lsls r0, r2, #1
adds r7, r2, #1
adds r0, r0, r2
lsls r5, r0, #6
adds r6, r5, #0
adds r6, #0xe4
_0800DEE0:
lsls r0, r1, #1
adds r4, r1, #1
adds r0, r0, r1
lsls r0, r0, #3
adds r1, r0, r6
add r1, sb
adds r0, r0, r5
mov r2, sl
adds r3, r0, r2
movs r2, #5
_0800DEF4:
ldm r1!, {r0}
stm r3!, {r0}
subs r2, #1
cmp r2, #0
bge _0800DEF4
adds r1, r4, #0
cmp r1, #7
ble _0800DEE0
adds r2, r7, #0
cmp r2, #1
ble _0800DED2
movs r0, #0
movs r1, #0
mov r2, r8
strh r0, [r2, #8]
strh r0, [r2, #0x1e]
strh r0, [r2, #0x1c]
strb r1, [r2, #0xb]
ldr r2, _0800DF60 @ =gUnknown_02002882
strh r0, [r2]
movs r2, #1
rsbs r2, r2, #0
adds r0, r2, #0
ldr r2, _0800DF64 @ =gUnknown_02002880
strh r0, [r2]
mov r0, r8
adds r0, #0x24
strb r1, [r0]
mov r0, r8
strb r1, [r0, #0xa]
ldr r2, _0800DF60 @ =gUnknown_02002882
ldrh r1, [r2]
movs r0, #0xbd
lsls r0, r0, #2
add r0, ip
strh r1, [r0]
ldrh r1, [r2]
movs r0, #0xbc
lsls r0, r0, #2
add r0, ip
strh r1, [r0]
pop {r3, r4, r5}
mov r8, r3
mov sb, r4
mov sl, r5
pop {r4, r5, r6, r7}
pop {r0}
bx r0
.align 2, 0
_0800DF54: .4byte gUnknown_02002858
_0800DF58: .4byte gMain
_0800DF5C: .4byte gUnknown_0202C610
_0800DF60: .4byte gUnknown_02002882
_0800DF64: .4byte gUnknown_02002880
thumb_func_start sub_DF68
sub_DF68: @ 0x0800DF68
push {r4, r5, lr}
ldr r0, _0800DF80 @ =gUnknown_02002858
ldrb r4, [r0, #0xa]
adds r5, r0, #0
cmp r4, #1
beq _0800DFE8
cmp r4, #1
bgt _0800DF88
cmp r4, #0
beq _0800DF94
ldr r4, _0800DF84 @ =gMain
b _0800E072
.align 2, 0
_0800DF80: .4byte gUnknown_02002858
_0800DF84: .4byte gMain
_0800DF88:
cmp r4, #2
beq _0800E020
ldr r4, _0800DF90 @ =gMain
b _0800E072
.align 2, 0
_0800DF90: .4byte gMain
_0800DF94:
ldrh r0, [r5, #0x1e]
adds r0, #1
strh r0, [r5, #0x1e]
lsls r0, r0, #0x10
asrs r0, r0, #0x10
cmp r0, #8
ble _0800DFC0
strh r4, [r5, #0x1e]
movs r0, #0x1c
ldrsh r2, [r5, r0]
movs r0, #0
movs r1, #0
bl sub_F8B0
ldrh r0, [r5, #0x1c]
adds r0, #1
strh r0, [r5, #0x1c]
lsls r0, r0, #0x10
asrs r0, r0, #0x10
cmp r0, #2
ble _0800DFC0
strh r4, [r5, #0x1c]
_0800DFC0:
ldr r0, _0800DFE0 @ =gUnknown_02002858
movs r1, #8
ldrsh r2, [r0, r1]
movs r1, #0x96
lsls r1, r1, #2
adds r5, r0, #0
ldr r4, _0800DFE4 @ =gMain
cmp r2, r1
ble _0800E072
movs r0, #0
strh r0, [r5, #8]
strh r0, [r5, #0x1e]
strh r0, [r5, #0x1c]
movs r0, #1
strb r0, [r5, #0xa]
b _0800E072
.align 2, 0
_0800DFE0: .4byte gUnknown_02002858
_0800DFE4: .4byte gMain
_0800DFE8:
ldr r2, _0800E018 @ =gUnknown_02002882
ldrh r0, [r2]
adds r0, #8
strh r0, [r2]
lsls r0, r0, #0x10
asrs r0, r0, #0x10
cmp r0, #0xef
ble _0800E000
movs r0, #0
strh r0, [r5, #8]
movs r0, #2
strb r0, [r5, #0xa]
_0800E000:
ldr r1, _0800E01C @ =gMain
ldrh r2, [r2]
movs r3, #0xbd
lsls r3, r3, #2
adds r0, r1, r3
strh r2, [r0]
subs r3, #4
adds r0, r1, r3
strh r2, [r0]
adds r4, r1, #0
b _0800E072
.align 2, 0
_0800E018: .4byte gUnknown_02002882
_0800E01C: .4byte gMain
_0800E020:
ldrh r0, [r5, #0x1e]
adds r0, #1
movs r4, #0
strh r0, [r5, #0x1e]
lsls r0, r0, #0x10
asrs r0, r0, #0x10
cmp r0, #8
ble _0800E04E
strh r4, [r5, #0x1e]
movs r0, #0x1c
ldrsh r2, [r5, r0]
movs r0, #1
movs r1, #0
bl sub_F8B0
ldrh r0, [r5, #0x1c]
adds r0, #1
strh r0, [r5, #0x1c]
lsls r0, r0, #0x10
asrs r0, r0, #0x10
cmp r0, #2
ble _0800E04E
strh r4, [r5, #0x1c]
_0800E04E:
ldr r0, _0800E0B0 @ =gUnknown_02002858
movs r1, #8
ldrsh r2, [r0, r1]
movs r1, #0x96
lsls r1, r1, #2
adds r5, r0, #0
ldr r4, _0800E0B4 @ =gMain
cmp r2, r1
ble _0800E072
movs r1, #0
movs r0, #0
strh r0, [r5, #8]
adds r0, r5, #0
adds r0, #0x24
strb r1, [r0]
ldrb r0, [r4, #3]
adds r0, #1
strb r0, [r4, #3]
_0800E072:
ldrh r0, [r5, #8]
adds r0, #1
strh r0, [r5, #8]
ldr r1, _0800E0B8 @ =0x040000D4
ldr r0, _0800E0BC @ =gUnknown_03005C00
str r0, [r1]
movs r0, #0xc0
lsls r0, r0, #0x13
str r0, [r1, #4]
ldr r0, _0800E0C0 @ =0x80000800
str r0, [r1, #8]
ldr r0, [r1, #8]
ldrh r1, [r4, #0x18]
movs r0, #0xb
ands r0, r1
cmp r0, #0
beq _0800E0A8
movs r0, #0x66
bl m4aSongNumStart
adds r1, r5, #0
adds r1, #0x24
movs r0, #1
strb r0, [r1]
ldrb r0, [r4, #3]
adds r0, #1
strb r0, [r4, #3]
_0800E0A8:
pop {r4, r5}
pop {r0}
bx r0
.align 2, 0
_0800E0B0: .4byte gUnknown_02002858
_0800E0B4: .4byte gMain
_0800E0B8: .4byte 0x040000D4
_0800E0BC: .4byte gUnknown_03005C00
_0800E0C0: .4byte 0x80000800
thumb_func_start sub_E0C4
sub_E0C4: @ 0x0800E0C4
push {lr}
bl sub_02B4
bl m4aMPlayAllStop
bl sub_0D10
ldr r0, _0800E0E8 @ =gUnknown_02002858
adds r0, #0x24
ldrb r0, [r0]
lsls r0, r0, #0x18
asrs r0, r0, #0x18
lsls r0, r0, #0x10
lsrs r0, r0, #0x10
bl SetMainGameState
pop {r0}
bx r0
.align 2, 0
_0800E0E8: .4byte gUnknown_02002858
thumb_func_start sub_E0EC
sub_E0EC: @ 0x0800E0EC
push {r4, r5, r6, lr}
mov r6, r8
push {r6}
bl ResetSomeGraphicsRelatedStuff
movs r2, #0x80
lsls r2, r2, #0x13
movs r1, #0x84
lsls r1, r1, #5
adds r0, r1, #0
strh r0, [r2]
ldr r1, _0800E1CC @ =0x0400000C
ldr r3, _0800E1D0 @ =0x00004006
adds r0, r3, #0
strh r0, [r1]
ldrh r0, [r2]
movs r3, #0x80
lsls r3, r3, #3
adds r1, r3, #0
orrs r0, r1
strh r0, [r2]
ldr r1, _0800E1D4 @ =0x0400000E
ldr r3, _0800E1D8 @ =0x0000420F
adds r0, r3, #0
strh r0, [r1]
ldrh r0, [r2]
movs r3, #0x80
lsls r3, r3, #4
adds r1, r3, #0
orrs r0, r1
strh r0, [r2]
ldr r6, _0800E1DC @ =gMain
ldrh r0, [r2]
strh r0, [r6, #0x16]
ldr r4, _0800E1E0 @ =0x040000D4
ldr r0, _0800E1E4 @ =gUnknown_0809DBE0
str r0, [r4]
movs r0, #0xa0
lsls r0, r0, #0x13
str r0, [r4, #4]
ldr r0, _0800E1E8 @ =0x80000100
str r0, [r4, #8]
ldr r0, [r4, #8]
ldr r0, _0800E1EC @ =gUnknown_080957A0
str r0, [r4]
ldr r0, _0800E1F0 @ =0x06004000
str r0, [r4, #4]
ldr r0, _0800E1F4 @ =0x80002400
str r0, [r4, #8]
ldr r0, [r4, #8]
ldr r0, _0800E1F8 @ =gUnknown_0809AFC0
str r0, [r4]
ldr r0, _0800E1FC @ =0x0600C000
str r0, [r4, #4]
ldr r0, _0800E200 @ =0x80001600
str r0, [r4, #8]
ldr r0, [r4, #8]
ldr r0, _0800E204 @ =gUnknown_080947A0
str r0, [r4]
ldr r0, _0800E208 @ =gUnknown_03005C00
mov r8, r0
str r0, [r4, #4]
ldr r5, _0800E20C @ =0x80000800
str r5, [r4, #8]
ldr r0, [r4, #8]
ldr r0, _0800E210 @ =gUnknown_08099FC0
str r0, [r4]
ldr r0, _0800E214 @ =0x06001000
str r0, [r4, #4]
str r5, [r4, #8]
ldr r0, [r4, #8]
ldr r0, _0800E218 @ =gUnknown_0809DDE0
str r0, [r4]
ldr r0, _0800E21C @ =0x05000200
str r0, [r4, #4]
ldr r0, _0800E220 @ =0x80000010
str r0, [r4, #8]
ldr r0, [r4, #8]
ldr r0, _0800E224 @ =gUnknown_0809DFE0
str r0, [r4]
ldr r0, _0800E228 @ =0x06010000
str r0, [r4, #4]
ldr r0, _0800E22C @ =0x80002210
str r0, [r4, #8]
ldr r0, [r4, #8]
bl sub_DEB4
bl sub_EE64
mov r1, r8
str r1, [r4]
movs r0, #0xc0
lsls r0, r0, #0x13
str r0, [r4, #4]
str r5, [r4, #8]
ldr r0, [r4, #8]
movs r0, #9
bl m4aSongNumStart
bl sub_0CBC
bl sub_024C
ldrb r0, [r6, #3]
adds r0, #1
strb r0, [r6, #3]
pop {r3}
mov r8, r3
pop {r4, r5, r6}
pop {r0}
bx r0
.align 2, 0
_0800E1CC: .4byte 0x0400000C
_0800E1D0: .4byte 0x00004006
_0800E1D4: .4byte 0x0400000E
_0800E1D8: .4byte 0x0000420F
_0800E1DC: .4byte gMain
_0800E1E0: .4byte 0x040000D4
_0800E1E4: .4byte gUnknown_0809DBE0
_0800E1E8: .4byte 0x80000100
_0800E1EC: .4byte gUnknown_080957A0
_0800E1F0: .4byte 0x06004000
_0800E1F4: .4byte 0x80002400
_0800E1F8: .4byte gUnknown_0809AFC0
_0800E1FC: .4byte 0x0600C000
_0800E200: .4byte 0x80001600
_0800E204: .4byte gUnknown_080947A0
_0800E208: .4byte gUnknown_03005C00
_0800E20C: .4byte 0x80000800
_0800E210: .4byte gUnknown_08099FC0
_0800E214: .4byte 0x06001000
_0800E218: .4byte gUnknown_0809DDE0
_0800E21C: .4byte 0x05000200
_0800E220: .4byte 0x80000010
_0800E224: .4byte gUnknown_0809DFE0
_0800E228: .4byte 0x06010000
_0800E22C: .4byte 0x80002210
thumb_func_start sub_E230
sub_E230: @ 0x0800E230
push {r4, r5, lr}
ldr r0, _0800E248 @ =gUnknown_02002858
ldrb r4, [r0, #0xa]
adds r5, r0, #0
cmp r4, #1
beq _0800E2BC
cmp r4, #1
bgt _0800E250
cmp r4, #0
beq _0800E25C
ldr r4, _0800E24C @ =gMain
b _0800E344
.align 2, 0
_0800E248: .4byte gUnknown_02002858
_0800E24C: .4byte gMain
_0800E250:
cmp r4, #2
beq _0800E2F4
ldr r4, _0800E258 @ =gMain
b _0800E344
.align 2, 0
_0800E258: .4byte gMain
_0800E25C:
ldr r0, _0800E2B0 @ =gUnknown_0202BED8
ldr r1, [r0]
movs r0, #1
rsbs r0, r0, #0
cmp r1, r0
beq _0800E292
ldrh r0, [r5, #0x1e]
adds r0, #1
strh r0, [r5, #0x1e]
lsls r0, r0, #0x10
asrs r0, r0, #0x10
cmp r0, #8
ble _0800E292
strh r4, [r5, #0x1e]
movs r0, #0x1c
ldrsh r2, [r5, r0]
movs r0, #0
bl sub_F8B0
ldrh r0, [r5, #0x1c]
adds r0, #1
strh r0, [r5, #0x1c]
lsls r0, r0, #0x10
asrs r0, r0, #0x10
cmp r0, #2
ble _0800E292
strh r4, [r5, #0x1c]
_0800E292:
ldr r0, _0800E2B4 @ =gUnknown_02002858
movs r2, #8
ldrsh r1, [r0, r2]
adds r5, r0, #0
ldr r4, _0800E2B8 @ =gMain
cmp r1, #0x78
ble _0800E344
movs r0, #0
strh r0, [r5, #8]
strh r0, [r5, #0x1e]
strh r0, [r5, #0x1c]
movs r0, #1
strb r0, [r5, #0xa]
b _0800E344
.align 2, 0
_0800E2B0: .4byte gUnknown_0202BED8
_0800E2B4: .4byte gUnknown_02002858
_0800E2B8: .4byte gMain
_0800E2BC:
ldr r2, _0800E2EC @ =gUnknown_02002882
ldrh r0, [r2]
adds r0, #8
strh r0, [r2]
lsls r0, r0, #0x10
asrs r0, r0, #0x10
cmp r0, #0xef
ble _0800E2D4
movs r0, #0
strh r0, [r5, #8]
movs r0, #2
strb r0, [r5, #0xa]
_0800E2D4:
ldr r1, _0800E2F0 @ =gMain
ldrh r2, [r2]
movs r3, #0xbd
lsls r3, r3, #2
adds r0, r1, r3
strh r2, [r0]
subs r3, #4
adds r0, r1, r3
strh r2, [r0]
adds r4, r1, #0
b _0800E344
.align 2, 0
_0800E2EC: .4byte gUnknown_02002882
_0800E2F0: .4byte gMain
_0800E2F4:
ldr r0, _0800E378 @ =gUnknown_0201B170
ldr r1, [r0]
movs r0, #1
rsbs r0, r0, #0
cmp r1, r0
beq _0800E32C
ldrh r0, [r5, #0x1e]
adds r0, #1
movs r4, #0
strh r0, [r5, #0x1e]
lsls r0, r0, #0x10
asrs r0, r0, #0x10
cmp r0, #8
ble _0800E32C
strh r4, [r5, #0x1e]
movs r0, #0x1c
ldrsh r2, [r5, r0]
movs r0, #1
bl sub_F8B0
ldrh r0, [r5, #0x1c]
adds r0, #1
strh r0, [r5, #0x1c]
lsls r0, r0, #0x10
asrs r0, r0, #0x10
cmp r0, #2
ble _0800E32C
strh r4, [r5, #0x1c]
_0800E32C:
ldr r0, _0800E37C @ =gUnknown_02002858
movs r2, #8
ldrsh r1, [r0, r2]
adds r5, r0, #0
ldr r4, _0800E380 @ =gMain
cmp r1, #0x78
ble _0800E344
movs r0, #0
strh r0, [r5, #8]
ldrb r0, [r4, #3]
adds r0, #1
strb r0, [r4, #3]
_0800E344:
ldrh r0, [r5, #8]
adds r0, #1
strh r0, [r5, #8]
ldr r1, _0800E384 @ =0x040000D4
ldr r0, _0800E388 @ =gUnknown_03005C00
str r0, [r1]
movs r0, #0xc0
lsls r0, r0, #0x13
str r0, [r1, #4]
ldr r0, _0800E38C @ =0x80000800
str r0, [r1, #8]
ldr r0, [r1, #8]
ldrh r1, [r4, #0x18]
movs r0, #0xb
ands r0, r1
cmp r0, #0
beq _0800E372
movs r0, #0x66
bl m4aSongNumStart
ldrb r0, [r4, #3]
adds r0, #1
strb r0, [r4, #3]
_0800E372:
pop {r4, r5}
pop {r0}
bx r0
.align 2, 0
_0800E378: .4byte gUnknown_0201B170
_0800E37C: .4byte gUnknown_02002858
_0800E380: .4byte gMain
_0800E384: .4byte 0x040000D4
_0800E388: .4byte gUnknown_03005C00
_0800E38C: .4byte 0x80000800
thumb_func_start sub_E390
sub_E390: @ 0x0800E390
push {lr}
bl sub_02B4
bl m4aMPlayAllStop
bl sub_0D10
movs r0, #8
bl SetMainGameState
pop {r0}
bx r0
thumb_func_start sub_E3A8
sub_E3A8: @ 0x0800E3A8
push {r4, r5, r6, r7, lr}

View File

@ -137,7 +137,6 @@ extern void sub_D9F8(void);
//extern ? sub_DD4C();
//extern ? sub_DD70();
extern void sub_DEB4(void);
//extern ? sub_DF68();
//extern ? sub_E0C4();
//extern ? sub_E0EC();
//extern ? sub_E230();

View File

@ -28,7 +28,7 @@ struct unkStruct_2002858
{
u32 unk0;
u32 unk4;
u8 fill8[2];
s16 unk8;
u8 unkA;
u8 unkB;
s32 unkC;
@ -42,7 +42,7 @@ struct unkStruct_2002858
s16 unk1E;
s16 unk20;
s16 unk22;
u8 unk24;
s8 unk24;
u8 unk25;
u8 unk26;
};
@ -900,3 +900,191 @@ void sub_DD70(void)
sub_024C();
gMain.subState++;
}
void sub_DEB4(void)
{
int i, j, k;
for (i = 0; i < 2; i++)
{
for (j = 0; j < NUM_HIGH_SCORES; j++)
{
for (k = 0; k < 6; k++)
{
gUnknown_0202C610[i][j].data.raw[k] = gMain_saveData.highScores[i][j].data.raw[k];
}
}
}
gUnknown_02002858.unk8 = 0;
gUnknown_02002858.unk1E = 0;
gUnknown_02002858.unk1C = 0;
gUnknown_02002858.unkB = 0;
gUnknown_02002882 = 0;
gUnknown_02002880 = -1;
gUnknown_02002858.unk24 = 0;
gUnknown_02002858.unkA = 0;
gMain.unk2E8[3].unk0 = gUnknown_02002882;
gMain.unk2E8[2].unk0 = gUnknown_02002882;
}
void sub_DF68(void)
{
switch (gUnknown_02002858.unkA)
{
case 0:
if (++gUnknown_02002858.unk1E > 8)
{
gUnknown_02002858.unk1E = 0;
sub_F8B0(0, 0, gUnknown_02002858.unk1C);
if (++gUnknown_02002858.unk1C > 2)
gUnknown_02002858.unk1C = 0;
}
if (gUnknown_02002858.unk8 > 600)
{
gUnknown_02002858.unk8 = 0;
gUnknown_02002858.unk1E = 0;
gUnknown_02002858.unk1C = 0;
gUnknown_02002858.unkA = 1;
}
break;
case 1:
gUnknown_02002882 += 8;
if (gUnknown_02002882 >= 240)
{
gUnknown_02002858.unk8 = 0;
gUnknown_02002858.unkA = 2;
}
gMain.unk2E8[3].unk0 = gUnknown_02002882;
gMain.unk2E8[2].unk0 = gUnknown_02002882;
break;
case 2:
if (++gUnknown_02002858.unk1E > 8)
{
gUnknown_02002858.unk1E = 0;
sub_F8B0(1, 0, gUnknown_02002858.unk1C);
if (++gUnknown_02002858.unk1C > 2)
gUnknown_02002858.unk1C = 0;
}
if (gUnknown_02002858.unk8 > 600)
{
gUnknown_02002858.unk8 = 0;
gUnknown_02002858.unk24 = 0;
gMain.subState++;
}
break;
}
gUnknown_02002858.unk8++;
DmaCopy16(3, gUnknown_03005C00, 0x6000000, 0x1000);
if (gMain.newKeys & (START_BUTTON | A_BUTTON | B_BUTTON))
{
m4aSongNumStart(0x66);
gUnknown_02002858.unk24 = 1;
gMain.subState++;
}
}
void sub_E0C4(void)
{
sub_02B4();
m4aMPlayAllStop();
sub_0D10();
SetMainGameState(gUnknown_02002858.unk24);
}
void sub_E0EC(void)
{
ResetSomeGraphicsRelatedStuff();
REG_DISPCNT = DISPCNT_OBJ_ON | DISPCNT_FORCED_BLANK;
REG_BG2CNT = 0x4006;
REG_DISPCNT |= DISPCNT_BG2_ON;
REG_BG3CNT = 0x420f;
REG_DISPCNT |= DISPCNT_BG3_ON;
gMain.unk16 = REG_DISPCNT;
DmaCopy16(3, gUnknown_0809DBE0, (void*) PLTT, 0x200);
DmaCopy16(3, gUnknown_080957A0, (void*) BG_VRAM + 0x4000, 0x4800);
DmaCopy16(3, gUnknown_0809AFC0, (void *)BG_VRAM + 0xC000, 0x2C00);
DmaCopy16(3, gUnknown_080947A0, gUnknown_03005C00, 0x1000);
DmaCopy16(3, gUnknown_08099FC0, (void *)BG_SCREEN_ADDR(2), 0x1000);
DmaCopy16(3, gUnknown_0809DDE0, (void *)OBJ_PLTT, 0x20);
DmaCopy16(3, gUnknown_0809DFE0, (void *)OBJ_VRAM0, 0x4420);
sub_DEB4();
sub_EE64();
DmaCopy16(3, gUnknown_03005C00,0x6000000, 0x1000);
m4aSongNumStart(0x9);
sub_0CBC();
sub_024C();
gMain.subState++;
}
void sub_E230(void)
{
switch (gUnknown_02002858.unkA)
{
case 0:
if (gUnknown_0202BED8 != -1)
{
if (++gUnknown_02002858.unk1E > 8)
{
gUnknown_02002858.unk1E = 0;
sub_F8B0(0, gUnknown_0202BED8, gUnknown_02002858.unk1C);
if (++gUnknown_02002858.unk1C > 2)
gUnknown_02002858.unk1C = 0;
}
}
if (gUnknown_02002858.unk8 > 120)
{
gUnknown_02002858.unk8 = 0;
gUnknown_02002858.unk1E = 0;
gUnknown_02002858.unk1C = 0;
gUnknown_02002858.unkA = 1;
}
break;
case 1:
gUnknown_02002882 += 8;
if (gUnknown_02002882 >= 240)
{
gUnknown_02002858.unk8 = 0;
gUnknown_02002858.unkA = 2;
}
gMain.unk2E8[3].unk0 = gUnknown_02002882;
gMain.unk2E8[2].unk0 = gUnknown_02002882;
break;
case 2:
if (gUnknown_0201B170 != -1)
{
if (++gUnknown_02002858.unk1E > 8)
{
gUnknown_02002858.unk1E = 0;
sub_F8B0(1, gUnknown_0201B170, gUnknown_02002858.unk1C);
if (++gUnknown_02002858.unk1C > 2)
gUnknown_02002858.unk1C = 0;
}
}
if (gUnknown_02002858.unk8 > 120)
{
gUnknown_02002858.unk8 = 0;
gMain.subState++;
}
break;
}
gUnknown_02002858.unk8++;
DmaCopy16(3, gUnknown_03005C00, 0x6000000, 0x1000);
if (gMain.newKeys & (START_BUTTON | A_BUTTON | B_BUTTON))
{
m4aSongNumStart(0x66);
gMain.subState++;
}
}
void sub_E390(void)
{
sub_02B4();
m4aMPlayAllStop();
sub_0D10();
SetMainGameState(8);
}