summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--asm/pokenav.s499
-rw-r--r--src/pokenav_before.c365
2 files changed, 365 insertions, 499 deletions
diff --git a/asm/pokenav.s b/asm/pokenav.s
index 359dccaf6..84ca7e1d5 100644
--- a/asm/pokenav.s
+++ b/asm/pokenav.s
@@ -6,505 +6,6 @@
.text
- thumb_func_start sub_80EC268
-sub_80EC268: @ 80EC268
- push {r4-r6,lr}
- ldr r4, _080EC290 @ =0x02000000
- movs r0, 0xC1
- lsls r0, 2
- adds r6, r4, r0
- ldrh r0, [r6]
- cmp r0, 0x3
- bne _080EC27A
- b _080EC3BE
-_080EC27A:
- cmp r0, 0x3
- bgt _080EC294
- cmp r0, 0x1
- bne _080EC284
- b _080EC3A2
-_080EC284:
- cmp r0, 0x1
- ble _080EC28A
- b _080EC3B4
-_080EC28A:
- cmp r0, 0
- beq _080EC2AE
- b _080EC492
- .align 2, 0
-_080EC290: .4byte 0x02000000
-_080EC294:
- cmp r0, 0x6
- bne _080EC29A
- b _080EC414
-_080EC29A:
- cmp r0, 0x6
- bgt _080EC2A6
- cmp r0, 0x4
- bne _080EC2A4
- b _080EC3DC
-_080EC2A4:
- b _080EC492
-_080EC2A6:
- cmp r0, 0xFF
- bne _080EC2AC
- b _080EC44C
-_080EC2AC:
- b _080EC492
-_080EC2AE:
- bl sub_80EEC10
- lsls r0, 24
- cmp r0, 0
- beq _080EC2D4
- movs r0, 0x5
- bl PlaySE
- ldr r1, _080EC2D0 @ =0x00006dad
- adds r0, r4, r1
- ldrb r1, [r0]
- movs r0, 0
- bl sub_80EF428
- bl sub_80EED9C
- b _080EC492
- .align 2, 0
-_080EC2D0: .4byte 0x00006dad
-_080EC2D4:
- ldr r0, _080EC310 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r2, 0x1
- adds r0, r2, 0
- ands r0, r1
- cmp r0, 0
- beq _080EC394
- ldr r2, _080EC314 @ =0x00006dad
- adds r0, r4, r2
- ldrb r1, [r0]
- adds r2, 0x2F
- adds r0, r4, r2
- strb r1, [r0]
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- subs r2, 0x2A
- adds r1, r4, r2
- adds r0, r1
- ldrb r0, [r0]
- subs r0, 0x1
- cmp r0, 0x4
- bls _080EC304
- b _080EC492
-_080EC304:
- lsls r0, 2
- ldr r1, _080EC318 @ =_080EC31C
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080EC310: .4byte gMain
-_080EC314: .4byte 0x00006dad
-_080EC318: .4byte _080EC31C
- .align 2, 0
-_080EC31C:
- .4byte _080EC330
- .4byte _080EC344
- .4byte _080EC380
- .4byte _080EC36C
- .4byte _080EC358
-_080EC330:
- movs r0, 0x5
- bl PlaySE
- ldr r0, _080EC340 @ =sub_80EC4A0
- bl sub_80EBDBC
- b _080EC492
- .align 2, 0
-_080EC340: .4byte sub_80EC4A0
-_080EC344:
- movs r0, 0x5
- bl PlaySE
- ldr r0, _080EC354 @ =sub_80EC81C
- bl sub_80EBDBC
- b _080EC492
- .align 2, 0
-_080EC354: .4byte sub_80EC81C
-_080EC358:
- ldr r0, _080EC368 @ =0x02000000
- movs r1, 0xC1
- lsls r1, 2
- adds r0, r1
- movs r1, 0x1
- strh r1, [r0]
- b _080EC492
- .align 2, 0
-_080EC368: .4byte 0x02000000
-_080EC36C:
- ldr r0, _080EC37C @ =0x02000000
- movs r2, 0xC1
- lsls r2, 2
- adds r0, r2
- movs r1, 0x2
- strh r1, [r0]
- b _080EC492
- .align 2, 0
-_080EC37C: .4byte 0x02000000
-_080EC380:
- ldr r0, _080EC390 @ =0x02000000
- movs r1, 0xC1
- lsls r1, 2
- adds r0, r1
- movs r1, 0x6
- strh r1, [r0]
- b _080EC492
- .align 2, 0
-_080EC390: .4byte 0x02000000
-_080EC394:
- movs r0, 0x2
- ands r0, r1
- cmp r0, 0
- bne _080EC39E
- b _080EC492
-_080EC39E:
- strh r2, [r6]
- b _080EC492
-_080EC3A2:
- bl sub_80F208C
- ldr r0, _080EC3B0 @ =sub_80EE96C
- bl sub_80EBDBC
- b _080EC492
- .align 2, 0
-_080EC3B0: .4byte sub_80EE96C
-_080EC3B4:
- bl sub_80F6208
- ldrh r0, [r6]
- adds r0, 0x1
- strh r0, [r6]
-_080EC3BE:
- bl sub_80F6250
- lsls r0, 24
- cmp r0, 0
- bne _080EC492
- ldr r1, _080EC3D8 @ =0x02000000
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _080EC492
- .align 2, 0
-_080EC3D8: .4byte 0x02000000
-_080EC3DC:
- bl sub_8055870
- cmp r0, 0
- bne _080EC492
- ldr r1, _080EC400 @ =0x00008fe8
- adds r0, r4, r1
- ldrb r0, [r0]
- lsls r0, 24
- asrs r0, 24
- cmp r0, 0
- beq _080EC408
- movs r0, 0x5
- bl PlaySE
- ldr r0, _080EC404 @ =sub_80EDB88
- bl sub_80EBDBC
- b _080EC492
- .align 2, 0
-_080EC400: .4byte 0x00008fe8
-_080EC404: .4byte sub_80EDB88
-_080EC408:
- movs r0, 0x20
- bl PlaySE
- movs r0, 0
- movs r1, 0x5
- b _080EC442
-_080EC414:
- bl sub_80F6C20
- ldr r2, _080EC430 @ =0x0000d158
- adds r0, r4, r2
- ldrh r0, [r0]
- cmp r0, 0
- beq _080EC438
- movs r0, 0x5
- bl PlaySE
- ldr r0, _080EC434 @ =sub_80EE3D8
- bl sub_80EBDBC
- b _080EC492
- .align 2, 0
-_080EC430: .4byte 0x0000d158
-_080EC434: .4byte sub_80EE3D8
-_080EC438:
- movs r0, 0x20
- bl PlaySE
- movs r0, 0
- movs r1, 0x6
-_080EC442:
- bl sub_80EF428
- movs r0, 0xFF
- strh r0, [r6]
- b _080EC492
-_080EC44C:
- bl sub_80EEC10
- lsls r0, 24
- lsrs r5, r0, 24
- cmp r5, 0
- beq _080EC478
- movs r0, 0x5
- bl PlaySE
- ldr r1, _080EC474 @ =0x00006dad
- adds r0, r4, r1
- ldrb r1, [r0]
- movs r0, 0
- bl sub_80EF428
- movs r0, 0
- strh r0, [r6]
- bl sub_80EED9C
- b _080EC492
- .align 2, 0
-_080EC474: .4byte 0x00006dad
-_080EC478:
- ldr r0, _080EC498 @ =gMain
- ldrh r1, [r0, 0x2E]
- movs r0, 0x3
- ands r0, r1
- cmp r0, 0
- beq _080EC492
- ldr r2, _080EC49C @ =0x00006dad
- adds r0, r4, r2
- ldrb r1, [r0]
- movs r0, 0
- bl sub_80EF428
- strh r5, [r6]
-_080EC492:
- pop {r4-r6}
- pop {r0}
- bx r0
- .align 2, 0
-_080EC498: .4byte gMain
-_080EC49C: .4byte 0x00006dad
- thumb_func_end sub_80EC268
-
- thumb_func_start sub_80EC4A0
-sub_80EC4A0: @ 80EC4A0
- push {r4,lr}
- sub sp, 0x4
- ldr r1, _080EC4C0 @ =0x02000000
- movs r2, 0xC1
- lsls r2, 2
- adds r0, r1, r2
- ldrh r0, [r0]
- adds r4, r1, 0
- cmp r0, 0xE
- bls _080EC4B6
- b _080EC66A
-_080EC4B6:
- lsls r0, 2
- ldr r1, _080EC4C4 @ =_080EC4C8
- adds r0, r1
- ldr r0, [r0]
- mov pc, r0
- .align 2, 0
-_080EC4C0: .4byte 0x02000000
-_080EC4C4: .4byte _080EC4C8
- .align 2, 0
-_080EC4C8:
- .4byte _080EC504
- .4byte _080EC510
- .4byte _080EC544
- .4byte _080EC578
- .4byte _080EC594
- .4byte _080EC5A8
- .4byte _080EC5AE
- .4byte _080EC5C0
- .4byte _080EC5D0
- .4byte _080EC5E4
- .4byte _080EC5F8
- .4byte _080EC614
- .4byte _080EC61E
- .4byte _080EC63E
- .4byte _080EC658
-_080EC504:
- bl sub_80F1E84
- movs r0, 0
- bl sub_80F2D04
- b _080EC644
-_080EC510:
- bl sub_80F1F10
- lsls r0, 24
- cmp r0, 0
- beq _080EC51C
- b _080EC66A
-_080EC51C:
- ldr r0, _080EC53C @ =gSaveBlock2
- ldrb r1, [r0, 0x15]
- movs r0, 0x8
- ands r0, r1
- movs r1, 0x8
- cmp r0, 0
- beq _080EC52C
- movs r1, 0x7
-_080EC52C:
- adds r0, r1, 0
- bl sub_80EEFBC
- ldr r1, _080EC540 @ =0x02000000
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- b _080EC64C
- .align 2, 0
-_080EC53C: .4byte gSaveBlock2
-_080EC540: .4byte 0x02000000
-_080EC544:
- bl sub_80EEF34
- lsls r0, 24
- lsrs r2, r0, 24
- cmp r2, 0
- beq _080EC552
- b _080EC66A
-_080EC552:
- ldr r4, _080EC574 @ =0x02000000
- movs r1, 0xC2
- lsls r1, 2
- adds r0, r4, r1
- ldr r0, [r0]
- movs r1, 0x1
- negs r1, r1
- str r2, [sp]
- movs r2, 0
- movs r3, 0x10
- bl BeginNormalPaletteFade
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r4, r2
- b _080EC64C
- .align 2, 0
-_080EC574: .4byte 0x02000000
-_080EC578:
- ldr r0, _080EC590 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080EC66A
- movs r0, 0
- bl SetVBlankCallback
- bl sub_80EED0C
- b _080EC644
- .align 2, 0
-_080EC590: .4byte gPaletteFade
-_080EC594:
- bl sub_80F2620
- ldr r1, _080EC5A4 @ =0x02000000
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- b _080EC64C
- .align 2, 0
-_080EC5A4: .4byte 0x02000000
-_080EC5A8:
- bl sub_80EF814
- b _080EC644
-_080EC5AE:
- bl sub_80EF840
- ldr r1, _080EC5CC @ =0x02000000
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080EC5C0:
- bl sub_80EF874
- lsls r0, 24
- cmp r0, 0
- bne _080EC66A
- b _080EC644
- .align 2, 0
-_080EC5CC: .4byte 0x02000000
-_080EC5D0:
- movs r0, 0x4
- bl sub_80F2C80
- ldr r1, _080EC5F4 @ =0x02000000
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
-_080EC5E4:
- movs r0, 0x4
- bl sub_80F2CBC
- lsls r0, 24
- cmp r0, 0
- bne _080EC66A
- b _080EC644
- .align 2, 0
-_080EC5F4: .4byte 0x02000000
-_080EC5F8:
- bl sub_80F2DD8
- ldr r0, _080EC60C @ =sub_80EBD30
- bl SetVBlankCallback
- ldr r1, _080EC610 @ =0x02000000
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r2
- b _080EC64C
- .align 2, 0
-_080EC60C: .4byte sub_80EBD30
-_080EC610: .4byte 0x02000000
-_080EC614:
- bl sub_8055870
- cmp r0, 0
- bne _080EC66A
- b _080EC644
-_080EC61E:
- movs r1, 0xC2
- lsls r1, 2
- adds r0, r4, r1
- ldr r0, [r0]
- movs r1, 0x1
- negs r1, r1
- movs r2, 0
- str r2, [sp]
- movs r2, 0x10
- movs r3, 0
- bl BeginNormalPaletteFade
- movs r2, 0xC1
- lsls r2, 2
- adds r1, r4, r2
- b _080EC64C
-_080EC63E:
- movs r0, 0x1
- bl sub_80EED2C
-_080EC644:
- ldr r1, _080EC654 @ =0x02000000
- movs r0, 0xC1
- lsls r0, 2
- adds r1, r0
-_080EC64C:
- ldrh r0, [r1]
- adds r0, 0x1
- strh r0, [r1]
- b _080EC66A
- .align 2, 0
-_080EC654: .4byte 0x02000000
-_080EC658:
- ldr r0, _080EC674 @ =gPaletteFade
- ldrb r1, [r0, 0x7]
- movs r0, 0x80
- ands r0, r1
- cmp r0, 0
- bne _080EC66A
- ldr r0, _080EC678 @ =sub_80EC67C
- bl sub_80EBDBC
-_080EC66A:
- add sp, 0x4
- pop {r4}
- pop {r0}
- bx r0
- .align 2, 0
-_080EC674: .4byte gPaletteFade
-_080EC678: .4byte sub_80EC67C
- thumb_func_end sub_80EC4A0
-
thumb_func_start sub_80EC67C
sub_80EC67C: @ 80EC67C
push {r4,r5,lr}
diff --git a/src/pokenav_before.c b/src/pokenav_before.c
index d0efd2bbd..4545da2c3 100644
--- a/src/pokenav_before.c
+++ b/src/pokenav_before.c
@@ -608,4 +608,369 @@ void sub_80EC268() {
ewram0.var304++;
return;
}
+#else
+__attribute__((naked))
+void sub_80EC268() {
+ asm_unified("push {r4-r6,lr}\n\
+ ldr r4, _080EC290 @ =0x02000000\n\
+ movs r0, 0xC1\n\
+ lsls r0, 2\n\
+ adds r6, r4, r0\n\
+ ldrh r0, [r6]\n\
+ cmp r0, 0x3\n\
+ bne _080EC27A\n\
+ b _080EC3BE\n\
+_080EC27A:\n\
+ cmp r0, 0x3\n\
+ bgt _080EC294\n\
+ cmp r0, 0x1\n\
+ bne _080EC284\n\
+ b _080EC3A2\n\
+_080EC284:\n\
+ cmp r0, 0x1\n\
+ ble _080EC28A\n\
+ b _080EC3B4\n\
+_080EC28A:\n\
+ cmp r0, 0\n\
+ beq _080EC2AE\n\
+ b _080EC492\n\
+ .align 2, 0\n\
+_080EC290: .4byte 0x02000000\n\
+_080EC294:\n\
+ cmp r0, 0x6\n\
+ bne _080EC29A\n\
+ b _080EC414\n\
+_080EC29A:\n\
+ cmp r0, 0x6\n\
+ bgt _080EC2A6\n\
+ cmp r0, 0x4\n\
+ bne _080EC2A4\n\
+ b _080EC3DC\n\
+_080EC2A4:\n\
+ b _080EC492\n\
+_080EC2A6:\n\
+ cmp r0, 0xFF\n\
+ bne _080EC2AC\n\
+ b _080EC44C\n\
+_080EC2AC:\n\
+ b _080EC492\n\
+_080EC2AE:\n\
+ bl sub_80EEC10\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ beq _080EC2D4\n\
+ movs r0, 0x5\n\
+ bl PlaySE\n\
+ ldr r1, _080EC2D0 @ =0x00006dad\n\
+ adds r0, r4, r1\n\
+ ldrb r1, [r0]\n\
+ movs r0, 0\n\
+ bl sub_80EF428\n\
+ bl sub_80EED9C\n\
+ b _080EC492\n\
+ .align 2, 0\n\
+_080EC2D0: .4byte 0x00006dad\n\
+_080EC2D4:\n\
+ ldr r0, _080EC310 @ =gMain\n\
+ ldrh r1, [r0, 0x2E]\n\
+ movs r2, 0x1\n\
+ adds r0, r2, 0\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _080EC394\n\
+ ldr r2, _080EC314 @ =0x00006dad\n\
+ adds r0, r4, r2\n\
+ ldrb r1, [r0]\n\
+ adds r2, 0x2F\n\
+ adds r0, r4, r2\n\
+ strb r1, [r0]\n\
+ ldrb r0, [r0]\n\
+ lsls r0, 24\n\
+ asrs r0, 24\n\
+ subs r2, 0x2A\n\
+ adds r1, r4, r2\n\
+ adds r0, r1\n\
+ ldrb r0, [r0]\n\
+ subs r0, 0x1\n\
+ cmp r0, 0x4\n\
+ bls _080EC304\n\
+ b _080EC492\n\
+_080EC304:\n\
+ lsls r0, 2\n\
+ ldr r1, _080EC318 @ =_080EC31C\n\
+ adds r0, r1\n\
+ ldr r0, [r0]\n\
+ mov pc, r0\n\
+ .align 2, 0\n\
+_080EC310: .4byte gMain\n\
+_080EC314: .4byte 0x00006dad\n\
+_080EC318: .4byte _080EC31C\n\
+ .align 2, 0\n\
+_080EC31C:\n\
+ .4byte _080EC330\n\
+ .4byte _080EC344\n\
+ .4byte _080EC380\n\
+ .4byte _080EC36C\n\
+ .4byte _080EC358\n\
+_080EC330:\n\
+ movs r0, 0x5\n\
+ bl PlaySE\n\
+ ldr r0, _080EC340 @ =sub_80EC4A0\n\
+ bl sub_80EBDBC\n\
+ b _080EC492\n\
+ .align 2, 0\n\
+_080EC340: .4byte sub_80EC4A0\n\
+_080EC344:\n\
+ movs r0, 0x5\n\
+ bl PlaySE\n\
+ ldr r0, _080EC354 @ =sub_80EC81C\n\
+ bl sub_80EBDBC\n\
+ b _080EC492\n\
+ .align 2, 0\n\
+_080EC354: .4byte sub_80EC81C\n\
+_080EC358:\n\
+ ldr r0, _080EC368 @ =0x02000000\n\
+ movs r1, 0xC1\n\
+ lsls r1, 2\n\
+ adds r0, r1\n\
+ movs r1, 0x1\n\
+ strh r1, [r0]\n\
+ b _080EC492\n\
+ .align 2, 0\n\
+_080EC368: .4byte 0x02000000\n\
+_080EC36C:\n\
+ ldr r0, _080EC37C @ =0x02000000\n\
+ movs r2, 0xC1\n\
+ lsls r2, 2\n\
+ adds r0, r2\n\
+ movs r1, 0x2\n\
+ strh r1, [r0]\n\
+ b _080EC492\n\
+ .align 2, 0\n\
+_080EC37C: .4byte 0x02000000\n\
+_080EC380:\n\
+ ldr r0, _080EC390 @ =0x02000000\n\
+ movs r1, 0xC1\n\
+ lsls r1, 2\n\
+ adds r0, r1\n\
+ movs r1, 0x6\n\
+ strh r1, [r0]\n\
+ b _080EC492\n\
+ .align 2, 0\n\
+_080EC390: .4byte 0x02000000\n\
+_080EC394:\n\
+ movs r0, 0x2\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ bne _080EC39E\n\
+ b _080EC492\n\
+_080EC39E:\n\
+ strh r2, [r6]\n\
+ b _080EC492\n\
+_080EC3A2:\n\
+ bl sub_80F208C\n\
+ ldr r0, _080EC3B0 @ =sub_80EE96C\n\
+ bl sub_80EBDBC\n\
+ b _080EC492\n\
+ .align 2, 0\n\
+_080EC3B0: .4byte sub_80EE96C\n\
+_080EC3B4:\n\
+ bl sub_80F6208\n\
+ ldrh r0, [r6]\n\
+ adds r0, 0x1\n\
+ strh r0, [r6]\n\
+_080EC3BE:\n\
+ bl sub_80F6250\n\
+ lsls r0, 24\n\
+ cmp r0, 0\n\
+ bne _080EC492\n\
+ ldr r1, _080EC3D8 @ =0x02000000\n\
+ movs r2, 0xC1\n\
+ lsls r2, 2\n\
+ adds r1, r2\n\
+ ldrh r0, [r1]\n\
+ adds r0, 0x1\n\
+ strh r0, [r1]\n\
+ b _080EC492\n\
+ .align 2, 0\n\
+_080EC3D8: .4byte 0x02000000\n\
+_080EC3DC:\n\
+ bl sub_8055870\n\
+ cmp r0, 0\n\
+ bne _080EC492\n\
+ ldr r1, _080EC400 @ =0x00008fe8\n\
+ adds r0, r4, r1\n\
+ ldrb r0, [r0]\n\
+ lsls r0, 24\n\
+ asrs r0, 24\n\
+ cmp r0, 0\n\
+ beq _080EC408\n\
+ movs r0, 0x5\n\
+ bl PlaySE\n\
+ ldr r0, _080EC404 @ =sub_80EDB88\n\
+ bl sub_80EBDBC\n\
+ b _080EC492\n\
+ .align 2, 0\n\
+_080EC400: .4byte 0x00008fe8\n\
+_080EC404: .4byte sub_80EDB88\n\
+_080EC408:\n\
+ movs r0, 0x20\n\
+ bl PlaySE\n\
+ movs r0, 0\n\
+ movs r1, 0x5\n\
+ b _080EC442\n\
+_080EC414:\n\
+ bl sub_80F6C20\n\
+ ldr r2, _080EC430 @ =0x0000d158\n\
+ adds r0, r4, r2\n\
+ ldrh r0, [r0]\n\
+ cmp r0, 0\n\
+ beq _080EC438\n\
+ movs r0, 0x5\n\
+ bl PlaySE\n\
+ ldr r0, _080EC434 @ =sub_80EE3D8\n\
+ bl sub_80EBDBC\n\
+ b _080EC492\n\
+ .align 2, 0\n\
+_080EC430: .4byte 0x0000d158\n\
+_080EC434: .4byte sub_80EE3D8\n\
+_080EC438:\n\
+ movs r0, 0x20\n\
+ bl PlaySE\n\
+ movs r0, 0\n\
+ movs r1, 0x6\n\
+_080EC442:\n\
+ bl sub_80EF428\n\
+ movs r0, 0xFF\n\
+ strh r0, [r6]\n\
+ b _080EC492\n\
+_080EC44C:\n\
+ bl sub_80EEC10\n\
+ lsls r0, 24\n\
+ lsrs r5, r0, 24\n\
+ cmp r5, 0\n\
+ beq _080EC478\n\
+ movs r0, 0x5\n\
+ bl PlaySE\n\
+ ldr r1, _080EC474 @ =0x00006dad\n\
+ adds r0, r4, r1\n\
+ ldrb r1, [r0]\n\
+ movs r0, 0\n\
+ bl sub_80EF428\n\
+ movs r0, 0\n\
+ strh r0, [r6]\n\
+ bl sub_80EED9C\n\
+ b _080EC492\n\
+ .align 2, 0\n\
+_080EC474: .4byte 0x00006dad\n\
+_080EC478:\n\
+ ldr r0, _080EC498 @ =gMain\n\
+ ldrh r1, [r0, 0x2E]\n\
+ movs r0, 0x3\n\
+ ands r0, r1\n\
+ cmp r0, 0\n\
+ beq _080EC492\n\
+ ldr r2, _080EC49C @ =0x00006dad\n\
+ adds r0, r4, r2\n\
+ ldrb r1, [r0]\n\
+ movs r0, 0\n\
+ bl sub_80EF428\n\
+ strh r5, [r6]\n\
+_080EC492:\n\
+ pop {r4-r6}\n\
+ pop {r0}\n\
+ bx r0\n\
+ .align 2, 0\n\
+_080EC498: .4byte gMain\n\
+_080EC49C: .4byte 0x00006dad\n\
+ ");
+}
#endif
+
+void sub_80F1E84();
+bool8 sub_80F1F10();
+void sub_80EEFBC(u32);
+bool8 sub_80EEF34();
+void sub_80EED0C();
+void sub_80F2620();
+void sub_80EF814();
+void sub_80EF840();
+bool8 sub_80EF874();
+void sub_80F2DD8();
+void sub_80EC67C();
+
+void sub_80EC4A0() {
+ u32 var1;
+ u32 var2;
+ switch (ewram0.var304) {
+ case 0:
+ sub_80F1E84();
+ sub_80F2D04(0);
+ ewram0.var304++;
+ break;
+ case 1:
+ if (!sub_80F1F10()) {
+ if (gSaveBlock2.regionMapZoom) {
+ var1 = 0x7;
+ }
+ else var1 = 0x8;
+ sub_80EEFBC(var1);
+ ewram0.var304++;
+ }
+ break;
+ case 2:
+ if (!(var2 = sub_80EEF34())) {
+ BeginNormalPaletteFade(ewram0.var308, -1, 0x0, 0x10, var2);
+ ewram0.var304++;
+ }
+ break;
+ case 3:
+ if (gPaletteFade.active) return;
+ SetVBlankCallback(NULL);
+ sub_80EED0C();
+ ewram0.var304++;
+ break;
+ case 4:
+ sub_80F2620();
+ ewram0.var304++;
+ break;
+ case 5:
+ sub_80EF814();
+ ewram0.var304++;
+ break;
+ case 6:
+ sub_80EF840();
+ ewram0.var304++;
+ case 7:
+ if (sub_80EF874()) return;
+ ewram0.var304++;
+ break;
+ case 8:
+ sub_80F2C80(0x4);
+ ewram0.var304++;
+ case 9:
+ if (sub_80F2CBC(0x4)) return;
+ ewram0.var304++;
+ break;
+ case 0xA:
+ sub_80F2DD8();
+ SetVBlankCallback(&sub_80EBD30);
+ ewram0.var304++;
+ break;
+ case 0xB:
+ if (sub_8055870()) return;
+ ewram0.var304++;
+ break;
+ case 0xC:
+ BeginNormalPaletteFade(ewram0.var308, -1, 0x10, 0, 0);
+ ewram0.var304++;
+ break;
+ case 0xD:
+ sub_80EED2C(0x1);
+ ewram0.var304++;
+ break;
+ case 0xE:
+ if (gPaletteFade.active) return;
+ sub_80EBDBC(&sub_80EC67C);
+ }
+}