sub_2F79C

This commit is contained in:
Marcus Huderle 2025-08-23 09:13:29 -05:00
parent b39d533616
commit a6dec68d04
4 changed files with 204 additions and 664 deletions

View File

@ -6,666 +6,6 @@
.text
thumb_func_start sub_2F79C
sub_2F79C: @ 0x0802F79C
push {r4, r5, r6, r7, lr}
mov r7, r8
push {r7}
movs r1, #0
ldr r0, _0802F7D0 @ =gCurrentPinballGame
mov r8, r0
_0802F7A8:
mov r2, r8
ldr r0, [r2]
lsls r2, r1, #0x10
asrs r1, r2, #0x10
ldr r3, _0802F7D4 @ =0x0000036A
adds r0, r0, r3
adds r0, r0, r1
ldrb r0, [r0]
lsls r0, r0, #0x18
asrs r0, r0, #0x18
adds r6, r2, #0
cmp r0, #5
bls _0802F7C4
b _0802FB26
_0802F7C4:
lsls r0, r0, #2
ldr r1, _0802F7D8 @ =_0802F7DC
adds r0, r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_0802F7D0: .4byte gCurrentPinballGame
_0802F7D4: .4byte 0x0000036A
_0802F7D8: .4byte _0802F7DC
_0802F7DC: @ jump table
.4byte _0802F7F4 @ case 0
.4byte _0802F87E @ case 1
.4byte _0802F944 @ case 2
.4byte _0802F9E4 @ case 3
.4byte _0802FA28 @ case 4
.4byte _0802FAA2 @ case 5
_0802F7F4:
ldr r1, _0802F828 @ =gUnknown_086AE4FC
mov r4, r8
ldr r2, [r4]
asrs r4, r6, #0x10
movs r5, #0xdb
lsls r5, r5, #2
adds r0, r2, r5
adds r3, r0, r4
movs r0, #0
ldrsb r0, [r3, r0]
lsls r0, r0, #2
adds r1, #2
adds r0, r0, r1
movs r1, #0
ldrsh r0, [r0, r1]
lsls r5, r4, #1
ldr r1, _0802F82C @ =0x0000036E
adds r2, r2, r1
adds r2, r2, r5
ldrh r1, [r2]
cmp r0, r1
ble _0802F830
adds r0, r1, #1
strh r0, [r2]
b _0802F858
.align 2, 0
_0802F828: .4byte gUnknown_086AE4FC
_0802F82C: .4byte 0x0000036E
_0802F830:
ldrb r0, [r3]
adds r0, #1
movs r2, #0
strb r0, [r3]
mov r3, r8
ldr r1, [r3]
ldr r3, _0802F870 @ =0x0000036E
adds r0, r1, r3
adds r0, r0, r5
movs r3, #0
strh r2, [r0]
movs r5, #0xdb
lsls r5, r5, #2
adds r1, r1, r5
adds r1, r1, r4
movs r0, #0
ldrsb r0, [r1, r0]
cmp r0, #3
ble _0802F858
strb r3, [r1]
_0802F858:
mov r1, r8
ldr r0, [r1]
asrs r1, r6, #0xf
ldr r2, _0802F874 @ =0x00000372
adds r0, r0, r2
adds r1, r0, r1
ldrh r0, [r1]
cmp r0, #0x97
bhi _0802F878
adds r0, #1
strh r0, [r1]
b _0802FB26
.align 2, 0
_0802F870: .4byte 0x0000036E
_0802F874: .4byte 0x00000372
_0802F878:
movs r0, #0
strh r0, [r1]
b _0802FB26
_0802F87E:
ldr r2, _0802F8B0 @ =gUnknown_086AE4FC
ldr r7, _0802F8B4 @ =gCurrentPinballGame
ldr r1, [r7]
asrs r4, r6, #0x10
movs r3, #0xdb
lsls r3, r3, #2
adds r0, r1, r3
adds r3, r0, r4
movs r0, #0
ldrsb r0, [r3, r0]
lsls r0, r0, #2
adds r2, #2
adds r0, r0, r2
movs r5, #0
ldrsh r0, [r0, r5]
lsls r5, r4, #1
ldr r2, _0802F8B8 @ =0x0000036E
adds r1, r1, r2
adds r1, r1, r5
ldrh r2, [r1]
cmp r0, r2
ble _0802F8BC
adds r0, r2, #1
strh r0, [r1]
b _0802F8EC
.align 2, 0
_0802F8B0: .4byte gUnknown_086AE4FC
_0802F8B4: .4byte gCurrentPinballGame
_0802F8B8: .4byte 0x0000036E
_0802F8BC:
ldrb r0, [r3]
adds r0, #1
movs r2, #0
strb r0, [r3]
ldr r1, [r7]
ldr r3, _0802F938 @ =0x0000036E
adds r0, r1, r3
adds r0, r0, r5
strh r2, [r0]
movs r5, #0xdb
lsls r5, r5, #2
adds r1, r1, r5
adds r1, r1, r4
movs r0, #0
ldrsb r0, [r1, r0]
cmp r0, #5
bne _0802F8EC
movs r0, 0xE6 @=SE_UNKNOWN_0xE6
bl m4aSongNumStart
ldr r1, [r7]
movs r0, #0xfa
lsls r0, r0, #3
str r0, [r1, #0x3c]
_0802F8EC:
ldr r0, _0802F93C @ =gCurrentPinballGame
ldr r3, [r0]
asrs r2, r6, #0x10
movs r4, #0xdb
lsls r4, r4, #2
adds r1, r3, r4
adds r5, r1, r2
movs r1, #0
ldrsb r1, [r5, r1]
mov r8, r0
cmp r1, #6
beq _0802F906
b _0802FB16
_0802F906:
ldr r1, _0802F940 @ =0x00000376
adds r0, r3, r1
ldrh r0, [r0]
cmp r0, #0
beq _0802F926
cmp r0, #1
bne _0802F926
movs r0, #7
strb r0, [r5]
mov r3, r8
ldr r0, [r3]
subs r4, #2
adds r0, r0, r4
adds r0, r0, r2
movs r1, #2
strb r1, [r0]
_0802F926:
mov r5, r8
ldr r0, [r5]
asrs r1, r6, #0xf
ldr r2, _0802F938 @ =0x0000036E
adds r0, r0, r2
adds r0, r0, r1
movs r1, #0
strh r1, [r0]
b _0802FB16
.align 2, 0
_0802F938: .4byte 0x0000036E
_0802F93C: .4byte gCurrentPinballGame
_0802F940: .4byte 0x00000376
_0802F944:
ldr r1, _0802F978 @ =gUnknown_086AE4FC
mov r5, r8
ldr r2, [r5]
asrs r5, r6, #0x10
movs r7, #0xdb
lsls r7, r7, #2
adds r0, r2, r7
adds r3, r0, r5
movs r0, #0
ldrsb r0, [r3, r0]
lsls r0, r0, #2
adds r1, #2
adds r0, r0, r1
movs r1, #0
ldrsh r0, [r0, r1]
lsls r4, r5, #1
ldr r1, _0802F97C @ =0x0000036E
adds r2, r2, r1
adds r2, r2, r4
ldrh r1, [r2]
cmp r0, r1
ble _0802F980
adds r0, r1, #1
strh r0, [r2]
b _0802F9CA
.align 2, 0
_0802F978: .4byte gUnknown_086AE4FC
_0802F97C: .4byte 0x0000036E
_0802F980:
ldrb r0, [r3]
adds r0, #1
movs r2, #0
strb r0, [r3]
mov r3, r8
ldr r1, [r3]
ldr r3, _0802F9D8 @ =0x0000036E
adds r0, r1, r3
adds r0, r0, r4
movs r4, #0
strh r2, [r0]
movs r0, #0xdb
lsls r0, r0, #2
adds r1, r1, r0
adds r1, r1, r5
movs r0, #0
ldrsb r0, [r1, r0]
cmp r0, #8
bne _0802F9AC
movs r0, 0xE7 @=SE_UNKNOWN_0xE7
bl m4aSongNumStart
_0802F9AC:
mov r1, r8
ldr r0, [r1]
adds r0, r0, r7
adds r1, r0, r5
movs r0, #0
ldrsb r0, [r1, r0]
cmp r0, #8
ble _0802F9CA
strb r4, [r1]
mov r2, r8
ldr r0, [r2]
ldr r3, _0802F9DC @ =0x0000036A
adds r0, r0, r3
adds r0, r0, r5
strb r4, [r0]
_0802F9CA:
mov r4, r8
ldr r0, [r4]
asrs r1, r6, #0xf
ldr r5, _0802F9E0 @ =0x00000372
adds r0, r0, r5
b _0802FB20
.align 2, 0
_0802F9D8: .4byte 0x0000036E
_0802F9DC: .4byte 0x0000036A
_0802F9E0: .4byte 0x00000372
_0802F9E4:
mov r0, r8
ldr r1, [r0]
asrs r2, r6, #0x10
movs r3, #0xdb
lsls r3, r3, #2
adds r1, r1, r3
adds r1, r1, r2
movs r4, #0
movs r0, #9
strb r0, [r1]
mov r5, r8
ldr r1, [r5]
lsls r3, r2, #1
ldr r5, _0802FA1C @ =0x0000036E
adds r0, r1, r5
adds r0, r0, r3
strh r4, [r0]
ldr r0, _0802FA20 @ =0x0000036A
adds r1, r1, r0
adds r1, r1, r2
movs r0, #4
strb r0, [r1]
mov r1, r8
ldr r0, [r1]
ldr r2, _0802FA24 @ =0x00000372
adds r0, r0, r2
adds r0, r0, r3
b _0802FB22
.align 2, 0
_0802FA1C: .4byte 0x0000036E
_0802FA20: .4byte 0x0000036A
_0802FA24: .4byte 0x00000372
_0802FA28:
ldr r1, _0802FA90 @ =gUnknown_086AE4FC
mov r3, r8
ldr r2, [r3]
asrs r5, r6, #0x10
movs r4, #0xdb
lsls r4, r4, #2
adds r0, r2, r4
adds r3, r0, r5
movs r0, #0
ldrsb r0, [r3, r0]
lsls r0, r0, #2
adds r1, #2
adds r0, r0, r1
movs r1, #0
ldrsh r0, [r0, r1]
lsls r4, r5, #1
ldr r1, _0802FA94 @ =0x0000036E
adds r2, r2, r1
adds r2, r2, r4
ldrh r1, [r2]
cmp r0, r1
bgt _0802FACE
ldrb r0, [r3]
adds r0, #1
movs r1, #0
strb r0, [r3]
mov r3, r8
ldr r2, [r3]
ldr r3, _0802FA94 @ =0x0000036E
adds r0, r2, r3
adds r0, r0, r4
movs r3, #0
strh r1, [r0]
movs r4, #0xdb
lsls r4, r4, #2
adds r0, r2, r4
adds r1, r0, r5
movs r0, #0
ldrsb r0, [r1, r0]
cmp r0, #0x11
ble _0802FB16
movs r0, #0x13
ldrsb r0, [r2, r0]
cmp r0, #6
bne _0802FA9C
strb r3, [r1]
mov r1, r8
ldr r0, [r1]
ldr r2, _0802FA98 @ =0x0000036A
adds r0, r0, r2
adds r0, r0, r5
b _0802FB14
.align 2, 0
_0802FA90: .4byte gUnknown_086AE4FC
_0802FA94: .4byte 0x0000036E
_0802FA98: .4byte 0x0000036A
_0802FA9C:
movs r0, #9
strb r0, [r1]
b _0802FB16
_0802FAA2:
ldr r1, _0802FAD4 @ =gUnknown_086AE4FC
mov r5, r8
ldr r2, [r5]
asrs r4, r6, #0x10
movs r7, #0xdb
lsls r7, r7, #2
adds r0, r2, r7
adds r3, r0, r4
movs r0, #0
ldrsb r0, [r3, r0]
lsls r0, r0, #2
adds r1, #2
adds r0, r0, r1
movs r1, #0
ldrsh r0, [r0, r1]
lsls r5, r4, #1
ldr r1, _0802FAD8 @ =0x0000036E
adds r2, r2, r1
adds r2, r2, r5
ldrh r1, [r2]
cmp r0, r1
ble _0802FADC
_0802FACE:
adds r0, r1, #1
strh r0, [r2]
b _0802FB16
.align 2, 0
_0802FAD4: .4byte gUnknown_086AE4FC
_0802FAD8: .4byte 0x0000036E
_0802FADC:
ldrb r0, [r3]
adds r0, #1
movs r1, #0
strb r0, [r3]
mov r3, r8
ldr r2, [r3]
ldr r3, _0802FC24 @ =0x0000036E
adds r0, r2, r3
adds r0, r0, r5
movs r3, #0
strh r1, [r0]
movs r5, #0xdb
lsls r5, r5, #2
adds r0, r2, r5
adds r0, r0, r4
ldrb r0, [r0]
lsls r0, r0, #0x18
asrs r0, r0, #0x18
cmp r0, #0x11
ble _0802FB16
ldr r1, _0802FC28 @ =0x0000036A
adds r0, r2, r1
adds r0, r0, r4
strb r3, [r0]
mov r2, r8
ldr r0, [r2]
adds r0, r0, r7
adds r0, r0, r4
_0802FB14:
strb r3, [r0]
_0802FB16:
mov r3, r8
ldr r0, [r3]
asrs r1, r6, #0xf
ldr r4, _0802FC2C @ =0x00000372
adds r0, r0, r4
_0802FB20:
adds r0, r0, r1
_0802FB22:
movs r1, #0x14
strh r1, [r0]
_0802FB26:
movs r5, #0x80
lsls r5, r5, #9
adds r0, r6, r5
lsrs r1, r0, #0x10
asrs r0, r0, #0x10
cmp r0, #1
bgt _0802FB36
b _0802F7A8
_0802FB36:
mov r0, r8
ldr r1, [r0]
adds r0, r1, #0
adds r0, #0x25
ldrb r0, [r0]
lsls r0, r0, #0x18
asrs r0, r0, #0x18
cmp r0, #3
beq _0802FB56
ldr r2, _0802FC30 @ =0x00000376
adds r1, r1, r2
ldrh r0, [r1]
cmp r0, #0
beq _0802FB56
subs r0, #1
strh r0, [r1]
_0802FB56:
mov r3, r8
ldr r2, [r3]
ldr r4, _0802FC34 @ =0x00001328
adds r1, r2, r4
ldrh r0, [r1]
cmp r0, #0
beq _0802FB78
subs r0, #1
strh r0, [r1]
lsls r0, r0, #0x10
cmp r0, #0
bne _0802FB78
ldr r5, _0802FC38 @ =0x00001330
adds r1, r2, r5
ldr r3, _0802FC3C @ =0x00001334
adds r0, r2, r3
str r0, [r1]
_0802FB78:
mov r4, r8
ldr r0, [r4]
movs r6, #0xda
lsls r6, r6, #2
adds r0, r0, r6
ldrh r0, [r0]
cmp r0, #0
beq _0802FBCE
cmp r0, #0x11
bne _0802FB9E
movs r0, 0xE8 @=SE_UNKNOWN_0xE8
bl m4aSongNumStart
ldr r1, [r4]
movs r0, #0xa
str r0, [r1, #0x3c]
movs r0, #0xd
bl sub_11B0
_0802FB9E:
ldr r5, _0802FC40 @ =gUnknown_08137CD6
mov r0, r8
ldr r4, [r0]
adds r4, r4, r6
ldrh r0, [r4]
movs r1, #3
bl __udivsi3
lsls r0, r0, #0x10
lsrs r0, r0, #0xf
adds r0, r0, r5
movs r1, #0
ldrsh r2, [r0, r1]
ldr r3, _0802FC44 @ =0x0400004C
lsls r0, r2, #0xc
lsls r1, r2, #8
orrs r0, r1
lsls r1, r2, #4
orrs r0, r1
orrs r0, r2
strh r0, [r3]
ldrh r0, [r4]
subs r0, #1
strh r0, [r4]
_0802FBCE:
mov r3, r8
ldr r1, [r3]
movs r0, #0x13
ldrsb r0, [r1, r0]
cmp r0, #2
ble _0802FC48
cmp r0, #6
beq _0802FCB8
movs r1, #0
movs r3, #0
_0802FBE2:
mov r2, r8
ldr r0, [r2]
lsls r1, r1, #0x10
asrs r2, r1, #0x10
ldr r4, _0802FC28 @ =0x0000036A
adds r0, r0, r4
adds r1, r0, r2
movs r0, #0
ldrsb r0, [r1, r0]
cmp r0, #0
beq _0802FC14
strb r3, [r1]
mov r5, r8
ldr r0, [r5]
movs r1, #0xdb
lsls r1, r1, #2
adds r0, r0, r1
adds r0, r0, r2
strb r3, [r0]
ldr r0, [r5]
lsls r1, r2, #1
adds r4, #4
adds r0, r0, r4
adds r0, r0, r1
strh r3, [r0]
_0802FC14:
adds r0, r2, #1
lsls r0, r0, #0x10
lsrs r1, r0, #0x10
asrs r0, r0, #0x10
cmp r0, #1
ble _0802FBE2
b _0802FCB8
.align 2, 0
_0802FC24: .4byte 0x0000036E
_0802FC28: .4byte 0x0000036A
_0802FC2C: .4byte 0x00000372
_0802FC30: .4byte 0x00000376
_0802FC34: .4byte 0x00001328
_0802FC38: .4byte 0x00001330
_0802FC3C: .4byte 0x00001334
_0802FC40: .4byte gUnknown_08137CD6
_0802FC44: .4byte 0x0400004C
_0802FC48:
ldr r5, _0802FC7C @ =0x0000072E
adds r0, r1, r5
ldrb r0, [r0]
lsls r0, r0, #0x18
asrs r0, r0, #0x18
cmp r0, #2
ble _0802FC8C
ldr r2, _0802FC80 @ =0x00000281
adds r0, r1, r2
ldrb r0, [r0]
lsls r0, r0, #0x18
asrs r0, r0, #0x18
cmp r0, #0
ble _0802FCB8
ldr r4, _0802FC84 @ =0x0000036A
adds r2, r1, r4
movs r0, #0
ldrsb r0, [r2, r0]
cmp r0, #2
bgt _0802FCB8
movs r1, #3
strb r1, [r2]
ldr r0, [r3]
ldr r5, _0802FC88 @ =0x0000036B
b _0802FCB4
.align 2, 0
_0802FC7C: .4byte 0x0000072E
_0802FC80: .4byte 0x00000281
_0802FC84: .4byte 0x0000036A
_0802FC88: .4byte 0x0000036B
_0802FC8C:
ldr r0, _0802FCC4 @ =0x0000036A
adds r2, r1, r0
movs r0, #0
ldrsb r0, [r2, r0]
cmp r0, #2
ble _0802FCB8
movs r1, #0
strb r1, [r2]
mov r2, r8
ldr r0, [r2]
movs r3, #0xdb
lsls r3, r3, #2
adds r0, r0, r3
strb r1, [r0]
ldr r0, [r2]
ldr r4, _0802FCC8 @ =0x0000036B
adds r0, r0, r4
strb r1, [r0]
ldr r0, [r2]
ldr r5, _0802FCCC @ =0x0000036D
_0802FCB4:
adds r0, r0, r5
strb r1, [r0]
_0802FCB8:
pop {r3}
mov r8, r3
pop {r4, r5, r6, r7}
pop {r0}
bx r0
.align 2, 0
_0802FCC4: .4byte 0x0000036A
_0802FCC8: .4byte 0x0000036B
_0802FCCC: .4byte 0x0000036D
thumb_func_start sub_2FCD0
sub_2FCD0: @ 0x0802FCD0
push {r4, r5, r6, r7, lr}

Binary file not shown.

View File

@ -416,11 +416,12 @@ struct PinballGame
/*0x35D*/ u8 filler35D[0x1];
/*0x35E*/ u16 unk35E[4];
/*0x366*/ s8 unk366;
/*0x367*/ u8 filler367[0x3];
/*0x36A*/ u8 unk36A[2];
/*0x36C*/ u8 unk36C[2];
/*0x367*/ u8 filler367[0x1];
/*0x368*/ u16 unk368;
/*0x36A*/ s8 unk36A[2];
/*0x36C*/ s8 unk36C[2];
/*0x36E*/ u16 unk36E[2];
/*0x372*/ u8 filler372[0x4];
/*0x372*/ u16 unk372[2];
/*0x376*/ u16 unk376;
/*0x378*/ s8 unk378;
/*0x379*/ s8 unk379;

View File

@ -17,6 +17,8 @@ extern const u8 gUnknown_08512C4C[][0x380];
extern const u16 gUnknown_086B3CA4[][3][3];
extern const u16 gUnknown_086B3B7E[][7][3];
extern const u8 gUnknown_084ED6CC[][0x200];
extern const s16 gUnknown_086AE4FC[][2];
extern const s16 gUnknown_08137CD6[];
extern struct SongHeader gUnknown_086A11A4;
@ -514,3 +516,200 @@ void sub_2F504(void)
gOamBuffer[oamSimple->oamId].y = oamSimple->yOffset + group->baseY;
}
}
void sub_2F79C(void)
{
s16 i;
u32 mosaicVal;
for (i = 0; i < 2; i++)
{
switch (gCurrentPinballGame->unk36A[i])
{
case 0:
if (gUnknown_086AE4FC[gCurrentPinballGame->unk36C[i]][1] > gCurrentPinballGame->unk36E[i])
{
gCurrentPinballGame->unk36E[i]++;
}
else
{
gCurrentPinballGame->unk36C[i]++;
gCurrentPinballGame->unk36E[i] = 0;
if (gCurrentPinballGame->unk36C[i] > 3)
gCurrentPinballGame->unk36C[i] = 0;
}
if (gCurrentPinballGame->unk372[i] < 152)
gCurrentPinballGame->unk372[i]++;
else
gCurrentPinballGame->unk372[i] = 0;
break;
case 1:
if (gUnknown_086AE4FC[gCurrentPinballGame->unk36C[i]][1] > gCurrentPinballGame->unk36E[i])
{
gCurrentPinballGame->unk36E[i]++;
}
else
{
gCurrentPinballGame->unk36C[i]++;
gCurrentPinballGame->unk36E[i] = 0;
if (gCurrentPinballGame->unk36C[i] == 5)
{
m4aSongNumStart(SE_UNKNOWN_0xE6);
gCurrentPinballGame->unk3C = 2000;
}
}
if (gCurrentPinballGame->unk36C[i] == 6)
{
if (gCurrentPinballGame->unk376)
{
if (gCurrentPinballGame->unk376 == 1)
{
gCurrentPinballGame->unk36C[i] = 7;
gCurrentPinballGame->unk36A[i] = 2;
}
}
gCurrentPinballGame->unk36E[i] = 0;
}
gCurrentPinballGame->unk372[i] = 20;
break;
case 2:
if (gUnknown_086AE4FC[gCurrentPinballGame->unk36C[i]][1] > gCurrentPinballGame->unk36E[i])
{
gCurrentPinballGame->unk36E[i]++;
}
else
{
gCurrentPinballGame->unk36C[i]++;
gCurrentPinballGame->unk36E[i] = 0;
if (gCurrentPinballGame->unk36C[i] == 8)
m4aSongNumStart(SE_UNKNOWN_0xE7);
if (gCurrentPinballGame->unk36C[i] > 8)
{
gCurrentPinballGame->unk36C[i] = 0;
gCurrentPinballGame->unk36A[i] = 0;
}
}
gCurrentPinballGame->unk372[i] = 20;
break;
case 3:
gCurrentPinballGame->unk36C[i] = 9;
gCurrentPinballGame->unk36E[i] = 0;
gCurrentPinballGame->unk36A[i] = 4;
gCurrentPinballGame->unk372[i] = 20;
break;
case 4:
if (gUnknown_086AE4FC[gCurrentPinballGame->unk36C[i]][1] > gCurrentPinballGame->unk36E[i])
{
gCurrentPinballGame->unk36E[i]++;
}
else
{
gCurrentPinballGame->unk36C[i]++;
gCurrentPinballGame->unk36E[i] = 0;
if (gCurrentPinballGame->unk36C[i] > 17)
{
if (gCurrentPinballGame->unk13 == 6)
{
gCurrentPinballGame->unk36C[i] = 0;
gCurrentPinballGame->unk36A[i] = 0;
}
else
{
gCurrentPinballGame->unk36C[i] = 9;
}
}
}
gCurrentPinballGame->unk372[i] = 20;
break;
case 5:
if (gUnknown_086AE4FC[gCurrentPinballGame->unk36C[i]][1] > gCurrentPinballGame->unk36E[i])
{
gCurrentPinballGame->unk36E[i]++;
}
else
{
gCurrentPinballGame->unk36C[i]++;
gCurrentPinballGame->unk36E[i] = 0;
if (gCurrentPinballGame->unk36C[i] > 17)
{
gCurrentPinballGame->unk36A[i] = 0;
gCurrentPinballGame->unk36C[i] = 0;
}
}
gCurrentPinballGame->unk372[i] = 20;
break;
}
}
if (gCurrentPinballGame->unk25 != 3)
{
if (gCurrentPinballGame->unk376)
gCurrentPinballGame->unk376--;
}
if (gCurrentPinballGame->unk1328)
{
gCurrentPinballGame->unk1328--;
if (gCurrentPinballGame->unk1328 == 0)
gCurrentPinballGame->unk1330 = gCurrentPinballGame->unk1334;
}
if (gCurrentPinballGame->unk368)
{
if (gCurrentPinballGame->unk368 == 17)
{
m4aSongNumStart(SE_UNKNOWN_0xE8);
gCurrentPinballGame->unk3C = 10;
sub_11B0(13);
}
mosaicVal = gUnknown_08137CD6[gCurrentPinballGame->unk368 / 3];
REG_MOSAIC = (mosaicVal << 12) | (mosaicVal << 8) | (mosaicVal << 4) | (mosaicVal << 0);
gCurrentPinballGame->unk368--;
}
if (gCurrentPinballGame->unk13 > 2)
{
if (gCurrentPinballGame->unk13 != 6)
{
for (i = 0; i < 2; i++)
{
if (gCurrentPinballGame->unk36A[i])
{
gCurrentPinballGame->unk36A[i] = 0;
gCurrentPinballGame->unk36C[i] = 0;
gCurrentPinballGame->unk36E[i] = 0;
}
}
}
}
else if (gCurrentPinballGame->unk72E > 2)
{
if (gCurrentPinballGame->evolvablePartySize > 0)
{
if (gCurrentPinballGame->unk36A[0] < 3)
{
gCurrentPinballGame->unk36A[0] = 3;
gCurrentPinballGame->unk36A[1] = 3;
}
}
}
else
{
if (gCurrentPinballGame->unk36A[0] > 2)
{
gCurrentPinballGame->unk36A[0] = 0;
gCurrentPinballGame->unk36C[0] = 0;
gCurrentPinballGame->unk36A[1] = 0;
gCurrentPinballGame->unk36C[1] = 0;
}
}
}