diff options
-rw-r--r-- | asm/pokenav.s | 499 | ||||
-rw-r--r-- | src/pokenav_before.c | 365 |
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); + } +} |