diff options
136 files changed, 81567 insertions, 85750 deletions
@@ -4,7 +4,7 @@ AS := $(DEVKITARM)/bin/arm-none-eabi-as ASFLAGS := -mcpu=arm7tdmi CC1 := tools/agbcc/bin/agbcc -override CFLAGS += -mthumb-interwork -Wimplicit -O2 -fhex-asm +override CFLAGS += -mthumb-interwork -Wimplicit -Wparentheses -Wunused -Werror -O2 -fhex-asm CPP := $(DEVKITARM)/bin/arm-none-eabi-cpp CPPFLAGS := -I tools/agbcc/include -iquote include -nostdinc -undef diff --git a/asm/battle_ai.s b/asm/battle_ai.s index 78e928ac7..5df4635b2 100644 --- a/asm/battle_ai.s +++ b/asm/battle_ai.s @@ -5,7 +5,7 @@ .syntax unified .text - + thumb_func_start BattleAICmd_if_status_in_party BattleAICmd_if_status_in_party: @ 8108964 push {r4-r7,lr} @@ -212,7 +212,7 @@ _08108AE8: .4byte gAIScriptPtr thumb_func_start BattleAICmd_unk_36 BattleAICmd_unk_36: @ 8108AEC push {lr} - ldr r2, _08108B3C @ =word_2024DB8 + ldr r2, _08108B3C @ =gBattleWeather ldrh r1, [r2] movs r0, 0x7 ands r0, r1 @@ -255,7 +255,7 @@ _08108B2E: pop {r0} bx r0 .align 2, 0 -_08108B3C: .4byte word_2024DB8 +_08108B3C: .4byte gBattleWeather _08108B40: .4byte 0x02016800 _08108B44: .4byte gAIScriptPtr thumb_func_end BattleAICmd_unk_36 diff --git a/asm/battle_anim.s b/asm/battle_anim.s new file mode 100644 index 000000000..b26392e61 --- /dev/null +++ b/asm/battle_anim.s @@ -0,0 +1,4729 @@ + .include "constants/gba_constants.inc" + .include "constants/species_constants.inc" + .include "asm/macros.inc" + + .syntax unified + + .text + + thumb_func_start sub_8075624 +sub_8075624: @ 8075624 + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + ldr r0, _080756B8 @ =gUnknown_0202F7B0 + movs r1, 0 + strb r1, [r0] + ldr r0, _080756BC @ =gUnknown_0202F7B1 + strb r1, [r0] + ldr r0, _080756C0 @ =gUnknown_0202F7B2 + strb r1, [r0] + ldr r0, _080756C4 @ =gUnknown_0202F7B3 + strb r1, [r0] + ldr r0, _080756C8 @ =gUnknown_0202F7B4 + movs r1, 0 + str r1, [r0] + ldr r0, _080756CC @ =gUnknown_0202F7B8 + str r1, [r0] + ldr r0, _080756D0 @ =gUnknown_0202F7BC + movs r2, 0 + strh r1, [r0] + ldr r0, _080756D4 @ =gUnknown_0202F7BE + strb r2, [r0] + ldr r4, _080756D8 @ =gUnknown_0202F7C2 + ldr r5, _080756DC @ =gUnknown_0202F7C4 + ldr r6, _080756E0 @ =gUnknown_0202F7C5 + ldr r7, _080756E4 @ =gUnknown_0202F7C6 + ldr r0, _080756E8 @ =gUnknown_0202F7C8 + mov r12, r0 + ldr r1, _080756EC @ =gUnknown_0202F7C9 + mov r8, r1 + ldr r0, _080756F0 @ =gUnknown_0202F7D2 + mov r9, r0 + ldr r1, _080756F4 @ =0x0000ffff + adds r3, r1, 0 + ldr r1, _080756F8 @ =gUnknown_03004B10 + movs r2, 0x7 +_0807566E: + ldrh r0, [r1] + orrs r0, r3 + strh r0, [r1] + adds r1, 0x2 + subs r2, 0x1 + cmp r2, 0 + bge _0807566E + ldr r1, _080756FC @ =gUnknown_03004B00 + movs r2, 0 + adds r0, r1, 0 + adds r0, 0xE +_08075684: + strh r2, [r0] + subs r0, 0x2 + cmp r0, r1 + bge _08075684 + movs r1, 0 + movs r0, 0xFF + strb r0, [r4] + movs r0, 0x1 + negs r0, r0 + strb r0, [r4, 0x1] + strb r1, [r5] + strb r1, [r6] + movs r0, 0 + strh r1, [r7] + mov r1, r12 + strb r0, [r1] + mov r1, r8 + strb r0, [r1] + mov r1, r9 + strb r0, [r1] + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080756B8: .4byte gUnknown_0202F7B0 +_080756BC: .4byte gUnknown_0202F7B1 +_080756C0: .4byte gUnknown_0202F7B2 +_080756C4: .4byte gUnknown_0202F7B3 +_080756C8: .4byte gUnknown_0202F7B4 +_080756CC: .4byte gUnknown_0202F7B8 +_080756D0: .4byte gUnknown_0202F7BC +_080756D4: .4byte gUnknown_0202F7BE +_080756D8: .4byte gUnknown_0202F7C2 +_080756DC: .4byte gUnknown_0202F7C4 +_080756E0: .4byte gUnknown_0202F7C5 +_080756E4: .4byte gUnknown_0202F7C6 +_080756E8: .4byte gUnknown_0202F7C8 +_080756EC: .4byte gUnknown_0202F7C9 +_080756F0: .4byte gUnknown_0202F7D2 +_080756F4: .4byte 0x0000ffff +_080756F8: .4byte gUnknown_03004B10 +_080756FC: .4byte gUnknown_03004B00 + thumb_func_end sub_8075624 + + thumb_func_start move_anim_start_t1 +move_anim_start_t1: @ 8075700 + push {lr} + adds r1, r0, 0 + lsls r1, 16 + lsrs r1, 16 + ldr r2, _08075724 @ =gUnknown_0202F7C8 + ldr r0, _08075728 @ =gUnknown_02024C07 + ldrb r0, [r0] + strb r0, [r2] + ldr r2, _0807572C @ =gUnknown_0202F7C9 + ldr r0, _08075730 @ =gUnknown_02024C08 + ldrb r0, [r0] + strb r0, [r2] + ldr r0, _08075734 @ =gBattleAnims_Moves + movs r2, 0x1 + bl move_something + pop {r0} + bx r0 + .align 2, 0 +_08075724: .4byte gUnknown_0202F7C8 +_08075728: .4byte gUnknown_02024C07 +_0807572C: .4byte gUnknown_0202F7C9 +_08075730: .4byte gUnknown_02024C08 +_08075734: .4byte gBattleAnims_Moves + thumb_func_end move_anim_start_t1 + + thumb_func_start move_something +move_something: @ 8075738 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x4 + str r0, [sp] + lsls r1, 16 + lsrs r1, 16 + mov r8, r1 + lsls r2, 24 + lsrs r2, 24 + mov r9, r2 + bl sub_8076BE0 + lsls r0, 24 + cmp r0, 0 + bne _080757D8 + bl sub_8079E24 + movs r0, 0 + bl sub_8043EB4 + movs r4, 0 + mov r0, r8 + lsls r0, 2 + mov r10, r0 + ldr r6, _0807578C @ =gUnknown_02024A6A + movs r7, 0x64 + ldr r5, _08075790 @ =gUnknown_0202F7CA +_08075774: + lsls r0, r4, 24 + lsrs r0, 24 + bl battle_side_get_owner + lsls r0, 24 + cmp r0, 0 + beq _08075798 + ldrh r0, [r6] + muls r0, r7 + ldr r1, _08075794 @ =gEnemyParty + b _0807579E + .align 2, 0 +_0807578C: .4byte gUnknown_02024A6A +_08075790: .4byte gUnknown_0202F7CA +_08075794: .4byte gEnemyParty +_08075798: + ldrh r0, [r6] + muls r0, r7 + ldr r1, _080757C0 @ =gPlayerParty +_0807579E: + adds r0, r1 + movs r1, 0xB + bl GetMonData + strh r0, [r5] + adds r6, 0x2 + adds r5, 0x2 + adds r4, 0x1 + cmp r4, 0x3 + ble _08075774 + ldr r3, _080757C4 @ =gUnknown_0202F7C6 + ldr r5, _080757C8 @ =gUnknown_0202F7C2 + ldr r1, _080757CC @ =gUnknown_0202F7B1 + mov r12, r1 + ldr r7, _080757D0 @ =gUnknown_0202F7AC + ldr r6, _080757D4 @ =sub_80759D0 + b _080757FC + .align 2, 0 +_080757C0: .4byte gPlayerParty +_080757C4: .4byte gUnknown_0202F7C6 +_080757C8: .4byte gUnknown_0202F7C2 +_080757CC: .4byte gUnknown_0202F7B1 +_080757D0: .4byte gUnknown_0202F7AC +_080757D4: .4byte sub_80759D0 +_080757D8: + ldr r3, _08075808 @ =gUnknown_0202F7C6 + ldr r5, _0807580C @ =gUnknown_0202F7C2 + mov r0, r8 + lsls r0, 2 + mov r10, r0 + ldr r1, _08075810 @ =gUnknown_0202F7B1 + mov r12, r1 + ldr r7, _08075814 @ =gUnknown_0202F7AC + ldr r6, _08075818 @ =sub_80759D0 + ldr r2, _0807581C @ =0x02019348 + ldr r1, _08075820 @ =gUnknown_0202F7CA + movs r4, 0x3 +_080757F0: + ldrh r0, [r2] + strh r0, [r1] + adds r1, 0x2 + subs r4, 0x1 + cmp r4, 0 + bge _080757F0 +_080757FC: + mov r0, r9 + cmp r0, 0 + bne _08075824 + strh r0, [r3] + b _08075828 + .align 2, 0 +_08075808: .4byte gUnknown_0202F7C6 +_0807580C: .4byte gUnknown_0202F7C2 +_08075810: .4byte gUnknown_0202F7B1 +_08075814: .4byte gUnknown_0202F7AC +_08075818: .4byte sub_80759D0 +_0807581C: .4byte 0x02019348 +_08075820: .4byte gUnknown_0202F7CA +_08075824: + mov r1, r8 + strh r1, [r3] +_08075828: + ldr r1, _0807587C @ =gUnknown_03004B00 + movs r2, 0 + adds r0, r1, 0 + adds r0, 0xE +_08075830: + strh r2, [r0] + subs r0, 0x2 + cmp r0, r1 + bge _08075830 + movs r0, 0xFF + strb r0, [r5] + movs r0, 0x1 + negs r0, r0 + strb r0, [r5, 0x1] + ldr r0, [sp] + add r0, r10 + ldr r0, [r0] + ldr r1, _08075880 @ =gUnknown_0202F7A4 + str r0, [r1] + movs r0, 0x1 + mov r1, r12 + strb r0, [r1] + movs r0, 0 + ldr r1, _08075884 @ =gUnknown_0202F7B0 + strb r0, [r1] + str r6, [r7] + ldr r0, _08075888 @ =0x0000ffff + adds r2, r0, 0 + ldr r1, _0807588C @ =gUnknown_03004B10 + movs r4, 0x7 +_08075862: + ldrh r0, [r1] + orrs r0, r2 + strh r0, [r1] + adds r1, 0x2 + subs r4, 0x1 + cmp r4, 0 + bge _08075862 + mov r1, r9 + cmp r1, 0 + beq _080758AE + movs r4, 0 + ldr r2, _08075890 @ =gUnknown_081C7160 + b _08075896 + .align 2, 0 +_0807587C: .4byte gUnknown_03004B00 +_08075880: .4byte gUnknown_0202F7A4 +_08075884: .4byte gUnknown_0202F7B0 +_08075888: .4byte 0x0000ffff +_0807588C: .4byte gUnknown_03004B10 +_08075890: .4byte gUnknown_081C7160 +_08075894: + adds r4, 0x1 +_08075896: + lsls r0, r4, 1 + adds r0, r2 + ldrh r0, [r0] + ldr r1, _080758D0 @ =0x0000ffff + cmp r0, r1 + beq _080758AE + cmp r8, r0 + bne _08075894 + ldr r0, _080758D4 @ =gMPlay_BGM + movs r2, 0x80 + bl m4aMPlayVolumeControl +_080758AE: + ldr r0, _080758D8 @ =gUnknown_030042C4 + movs r1, 0 + strh r1, [r0] + ldr r0, _080758DC @ =gUnknown_03004240 + strh r1, [r0] + ldr r0, _080758E0 @ =gUnknown_03004200 + strh r1, [r0] + ldr r0, _080758E4 @ =gUnknown_03004244 + strh r1, [r0] + add sp, 0x4 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080758D0: .4byte 0x0000ffff +_080758D4: .4byte gMPlay_BGM +_080758D8: .4byte gUnknown_030042C4 +_080758DC: .4byte gUnknown_03004240 +_080758E0: .4byte gUnknown_03004200 +_080758E4: .4byte gUnknown_03004244 + thumb_func_end move_something + + thumb_func_start move_anim_8072740 +move_anim_8072740: @ 80758E8 + push {r4,lr} + adds r4, r0, 0 + bl FreeSpriteOamMatrix + adds r0, r4, 0 + bl DestroySprite + ldr r1, _08075904 @ =gUnknown_0202F7B2 + ldrb r0, [r1] + subs r0, 0x1 + strb r0, [r1] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08075904: .4byte gUnknown_0202F7B2 + thumb_func_end move_anim_8072740 + + thumb_func_start move_anim_task_del +move_anim_task_del: @ 8075908 + push {lr} + lsls r0, 24 + lsrs r0, 24 + bl DestroyTask + ldr r1, _08075920 @ =gUnknown_0202F7B2 + ldrb r0, [r1] + subs r0, 0x1 + strb r0, [r1] + pop {r0} + bx r0 + .align 2, 0 +_08075920: .4byte gUnknown_0202F7B2 + thumb_func_end move_anim_task_del + + thumb_func_start move_anim_related_task_del +move_anim_related_task_del: @ 8075924 + push {lr} + lsls r0, 24 + lsrs r0, 24 + bl DestroyTask + ldr r1, _0807593C @ =gUnknown_0202F7B3 + ldrb r0, [r1] + subs r0, 0x1 + strb r0, [r1] + pop {r0} + bx r0 + .align 2, 0 +_0807593C: .4byte gUnknown_0202F7B3 + thumb_func_end move_anim_related_task_del + + thumb_func_start sub_8075940 +sub_8075940: @ 8075940 + push {r4,lr} + lsls r0, 16 + lsrs r3, r0, 16 + movs r2, 0 + ldr r4, _08075958 @ =0x0000ffff + ldr r1, _0807595C @ =gUnknown_03004B10 +_0807594C: + ldrh r0, [r1] + cmp r0, r4 + bne _08075960 + strh r3, [r1] + b _08075968 + .align 2, 0 +_08075958: .4byte 0x0000ffff +_0807595C: .4byte gUnknown_03004B10 +_08075960: + adds r1, 0x2 + adds r2, 0x1 + cmp r2, 0x7 + ble _0807594C +_08075968: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8075940 + + thumb_func_start sub_8075970 +sub_8075970: @ 8075970 + push {r4,lr} + lsls r0, 16 + lsrs r3, r0, 16 + movs r2, 0 + ldr r0, _0807598C @ =0x0000ffff + adds r4, r0, 0 + ldr r1, _08075990 @ =gUnknown_03004B10 +_0807597E: + ldrh r0, [r1] + cmp r0, r3 + bne _08075994 + orrs r0, r4 + strh r0, [r1] + b _0807599C + .align 2, 0 +_0807598C: .4byte 0x0000ffff +_08075990: .4byte gUnknown_03004B10 +_08075994: + adds r1, 0x2 + adds r2, 0x1 + cmp r2, 0x7 + ble _0807597E +_0807599C: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8075970 + + thumb_func_start move_anim_waiter +move_anim_waiter: @ 80759A4 + push {lr} + ldr r2, _080759BC @ =gUnknown_0202F7B0 + ldrb r1, [r2] + movs r0, 0 + ldrsb r0, [r2, r0] + cmp r0, 0 + bgt _080759C8 + ldr r0, _080759C0 @ =gUnknown_0202F7AC + ldr r1, _080759C4 @ =sub_80759D0 + str r1, [r0] + movs r0, 0 + b _080759CA + .align 2, 0 +_080759BC: .4byte gUnknown_0202F7B0 +_080759C0: .4byte gUnknown_0202F7AC +_080759C4: .4byte sub_80759D0 +_080759C8: + subs r0, r1, 0x1 +_080759CA: + strb r0, [r2] + pop {r0} + bx r0 + thumb_func_end move_anim_waiter + + thumb_func_start sub_80759D0 +sub_80759D0: @ 80759D0 + push {r4,lr} + ldr r4, _08075A00 @ =gUnknown_0837F4B8 +_080759D4: + ldr r0, _08075A04 @ =gUnknown_0202F7A4 + ldr r0, [r0] + ldrb r0, [r0] + lsls r0, 2 + adds r0, r4 + ldr r0, [r0] + bl _call_via_r0 + ldr r0, _08075A08 @ =gUnknown_0202F7B0 + ldrb r0, [r0] + lsls r0, 24 + asrs r0, 24 + cmp r0, 0 + bne _080759F8 + ldr r0, _08075A0C @ =gUnknown_0202F7B1 + ldrb r0, [r0] + cmp r0, 0 + bne _080759D4 +_080759F8: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08075A00: .4byte gUnknown_0837F4B8 +_08075A04: .4byte gUnknown_0202F7A4 +_08075A08: .4byte gUnknown_0202F7B0 +_08075A0C: .4byte gUnknown_0202F7B1 + thumb_func_end sub_80759D0 + + thumb_func_start ma00_load_graphics +ma00_load_graphics: @ 8075A10 + push {r4-r6,lr} + ldr r6, _08075A5C @ =gUnknown_0202F7A4 + ldr r0, [r6] + adds r1, r0, 0x1 + str r1, [r6] + ldrb r4, [r0, 0x1] + ldrb r0, [r1, 0x1] + lsls r0, 8 + orrs r4, r0 + lsls r5, r4, 3 + ldr r0, _08075A60 @ =gBattleAnimPicTable - (10000 * 8) + adds r0, r5, r0 + bl LoadCompressedObjectPic + ldr r0, _08075A64 @ =gBattleAnimPaletteTable - (10000 * 8) + adds r5, r0 + adds r0, r5, 0 + bl LoadCompressedObjectPalette + ldr r0, [r6] + adds r0, 0x2 + str r0, [r6] + ldr r0, _08075A68 @ =0xffffd8f0 + adds r4, r0 + lsls r4, 16 + lsrs r4, 16 + adds r0, r4, 0 + bl sub_8075940 + ldr r1, _08075A6C @ =gUnknown_0202F7B0 + movs r0, 0x1 + strb r0, [r1] + ldr r1, _08075A70 @ =gUnknown_0202F7AC + ldr r0, _08075A74 @ =move_anim_waiter + str r0, [r1] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_08075A5C: .4byte gUnknown_0202F7A4 +_08075A60: .4byte gBattleAnimPicTable - (10000 * 8) +_08075A64: .4byte gBattleAnimPaletteTable - (10000 * 8) +_08075A68: .4byte 0xffffd8f0 +_08075A6C: .4byte gUnknown_0202F7B0 +_08075A70: .4byte gUnknown_0202F7AC +_08075A74: .4byte move_anim_waiter + thumb_func_end ma00_load_graphics + + thumb_func_start ma01_080728D0 +ma01_080728D0: @ 8075A78 + push {r4-r6,lr} + ldr r6, _08075AB8 @ =gUnknown_0202F7A4 + ldr r0, [r6] + adds r1, r0, 0x1 + str r1, [r6] + ldrb r4, [r0, 0x1] + ldrb r0, [r1, 0x1] + lsls r0, 8 + orrs r4, r0 + ldr r1, _08075ABC @ =gBattleAnimPicTable + ldr r0, _08075AC0 @ =0xffffd8f0 + adds r4, r0 + lsls r0, r4, 3 + adds r0, r1 + ldrh r5, [r0, 0x6] + adds r0, r5, 0 + bl FreeSpriteTilesByTag + adds r0, r5, 0 + bl FreeSpritePaletteByTag + ldr r0, [r6] + adds r0, 0x2 + str r0, [r6] + lsls r4, 16 + lsrs r4, 16 + adds r0, r4, 0 + bl sub_8075970 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_08075AB8: .4byte gUnknown_0202F7A4 +_08075ABC: .4byte gBattleAnimPicTable +_08075AC0: .4byte 0xffffd8f0 + thumb_func_end ma01_080728D0 + + thumb_func_start ma02_instanciate_template +ma02_instanciate_template: @ 8075AC4 + push {r4-r7,lr} + ldr r5, _08075B2C @ =gUnknown_0202F7A4 + ldr r1, [r5] + adds r3, r1, 0x1 + str r3, [r5] + ldrb r2, [r1, 0x1] + ldrb r0, [r3, 0x1] + lsls r0, 8 + adds r2, r0 + ldrb r0, [r3, 0x2] + lsls r0, 16 + adds r2, r0 + ldrb r0, [r3, 0x3] + lsls r0, 24 + adds r7, r2, r0 + adds r0, r1, 0x5 + str r0, [r5] + ldrb r4, [r1, 0x5] + adds r0, r1, 0x6 + str r0, [r5] + ldrb r0, [r1, 0x6] + adds r1, 0x7 + str r1, [r5] + cmp r0, 0 + beq _08075B14 + adds r6, r5, 0 + ldr r5, _08075B30 @ =gUnknown_03004B00 + adds r3, r0, 0 +_08075AFC: + ldr r2, [r6] + ldrb r1, [r2] + ldrb r0, [r2, 0x1] + lsls r0, 8 + orrs r1, r0 + strh r1, [r5] + adds r2, 0x2 + str r2, [r6] + adds r5, 0x2 + subs r3, 0x1 + cmp r3, 0 + bne _08075AFC +_08075B14: + movs r0, 0x80 + ands r0, r4 + cmp r0, 0 + beq _08075B44 + movs r0, 0x80 + eors r4, r0 + cmp r4, 0x3F + bls _08075B34 + adds r0, r4, 0 + subs r0, 0x40 + b _08075B36 + .align 2, 0 +_08075B2C: .4byte gUnknown_0202F7A4 +_08075B30: .4byte gUnknown_03004B00 +_08075B34: + negs r0, r4 +_08075B36: + lsls r0, 24 + lsrs r4, r0, 24 + ldr r0, _08075B40 @ =gUnknown_0202F7C9 + b _08075B56 + .align 2, 0 +_08075B40: .4byte gUnknown_0202F7C9 +_08075B44: + cmp r4, 0x3F + bls _08075B4E + adds r0, r4, 0 + subs r0, 0x40 + b _08075B50 +_08075B4E: + negs r0, r4 +_08075B50: + lsls r0, 24 + lsrs r4, r0, 24 + ldr r0, _08075BAC @ =gUnknown_0202F7C8 +_08075B56: + ldrb r0, [r0] + bl sub_8079E90 + lsls r0, 24 + lsrs r0, 24 + lsls r1, r4, 24 + asrs r1, 24 + adds r0, r1 + lsls r0, 16 + lsrs r6, r0, 16 + lsls r0, r6, 16 + asrs r0, 16 + cmp r0, 0x2 + bgt _08075B74 + movs r6, 0x3 +_08075B74: + ldr r5, _08075BB0 @ =gUnknown_0202F7C9 + ldrb r0, [r5] + movs r1, 0x2 + bl sub_8077ABC + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldrb r0, [r5] + movs r1, 0x3 + bl sub_8077ABC + adds r2, r0, 0 + lsls r2, 24 + lsrs r2, 24 + lsls r3, r6, 24 + lsrs r3, 24 + adds r0, r7, 0 + adds r1, r4, 0 + bl CreateSpriteAndAnimate + ldr r1, _08075BB4 @ =gUnknown_0202F7B2 + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08075BAC: .4byte gUnknown_0202F7C8 +_08075BB0: .4byte gUnknown_0202F7C9 +_08075BB4: .4byte gUnknown_0202F7B2 + thumb_func_end ma02_instanciate_template + + thumb_func_start sub_8075BB8 +sub_8075BB8: @ 8075BB8 + push {r4-r7,lr} + ldr r4, _08075C28 @ =gUnknown_0202F7A4 + ldr r1, [r4] + adds r3, r1, 0x1 + str r3, [r4] + ldrb r2, [r1, 0x1] + ldrb r0, [r3, 0x1] + lsls r0, 8 + adds r2, r0 + ldrb r0, [r3, 0x2] + lsls r0, 16 + adds r2, r0 + ldrb r0, [r3, 0x3] + lsls r0, 24 + adds r6, r2, r0 + adds r0, r1, 0x5 + str r0, [r4] + ldrb r7, [r1, 0x5] + adds r0, r1, 0x6 + str r0, [r4] + ldrb r0, [r1, 0x6] + adds r1, 0x7 + str r1, [r4] + cmp r0, 0 + beq _08075C08 + adds r5, r4, 0 + ldr r4, _08075C2C @ =gUnknown_03004B00 + adds r3, r0, 0 +_08075BF0: + ldr r2, [r5] + ldrb r1, [r2] + ldrb r0, [r2, 0x1] + lsls r0, 8 + orrs r1, r0 + strh r1, [r4] + adds r2, 0x2 + str r2, [r5] + adds r4, 0x2 + subs r3, 0x1 + cmp r3, 0 + bne _08075BF0 +_08075C08: + adds r0, r6, 0 + adds r1, r7, 0 + bl CreateTask + lsls r0, 24 + lsrs r0, 24 + bl _call_via_r6 + ldr r1, _08075C30 @ =gUnknown_0202F7B2 + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08075C28: .4byte gUnknown_0202F7A4 +_08075C2C: .4byte gUnknown_03004B00 +_08075C30: .4byte gUnknown_0202F7B2 + thumb_func_end sub_8075BB8 + + thumb_func_start ma04_wait_countdown +ma04_wait_countdown: @ 8075C34 + push {r4,lr} + ldr r1, _08075C64 @ =gUnknown_0202F7A4 + ldr r0, [r1] + adds r2, r0, 0x1 + str r2, [r1] + ldr r3, _08075C68 @ =gUnknown_0202F7B0 + ldrb r0, [r0, 0x1] + strb r0, [r3] + lsls r0, 24 + cmp r0, 0 + bne _08075C52 + movs r4, 0x1 + negs r4, r4 + adds r0, r4, 0 + strb r0, [r3] +_08075C52: + adds r0, r2, 0x1 + str r0, [r1] + ldr r1, _08075C6C @ =gUnknown_0202F7AC + ldr r0, _08075C70 @ =move_anim_waiter + str r0, [r1] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08075C64: .4byte gUnknown_0202F7A4 +_08075C68: .4byte gUnknown_0202F7B0 +_08075C6C: .4byte gUnknown_0202F7AC +_08075C70: .4byte move_anim_waiter + thumb_func_end ma04_wait_countdown + + thumb_func_start sub_8075C74 +sub_8075C74: @ 8075C74 + push {lr} + ldr r0, _08075C8C @ =gUnknown_0202F7B2 + ldrb r2, [r0] + cmp r2, 0 + bne _08075C98 + ldr r0, _08075C90 @ =gUnknown_0202F7A4 + ldr r1, [r0] + adds r1, 0x1 + str r1, [r0] + ldr r0, _08075C94 @ =gUnknown_0202F7B0 + strb r2, [r0] + b _08075C9E + .align 2, 0 +_08075C8C: .4byte gUnknown_0202F7B2 +_08075C90: .4byte gUnknown_0202F7A4 +_08075C94: .4byte gUnknown_0202F7B0 +_08075C98: + ldr r1, _08075CA4 @ =gUnknown_0202F7B0 + movs r0, 0x1 + strb r0, [r1] +_08075C9E: + pop {r0} + bx r0 + .align 2, 0 +_08075CA4: .4byte gUnknown_0202F7B0 + thumb_func_end sub_8075C74 + + thumb_func_start nullsub_53 +nullsub_53: @ 8075CA8 + bx lr + thumb_func_end nullsub_53 + + thumb_func_start nullsub_88 +nullsub_88: @ 8075CAC + bx lr + thumb_func_end nullsub_88 + + thumb_func_start sub_8075CB0 +sub_8075CB0: @ 8075CB0 + push {r4-r7,lr} + mov r7, r8 + push {r7} + movs r0, 0 + mov r8, r0 + ldr r0, _08075CE0 @ =gUnknown_0202F7B2 + ldrb r0, [r0] + cmp r0, 0 + bne _08075CD8 + ldr r0, _08075CE4 @ =gUnknown_0202F7B3 + ldrb r0, [r0] + cmp r0, 0 + bne _08075CD8 + ldr r1, _08075CE8 @ =gUnknown_0202F7C2 + ldrb r0, [r1] + cmp r0, 0xFF + bne _08075CD8 + ldrb r0, [r1, 0x1] + cmp r0, 0xFF + beq _08075CF0 +_08075CD8: + ldr r1, _08075CEC @ =gUnknown_03004AF0 + movs r0, 0 + strh r0, [r1] + b _08075D0A + .align 2, 0 +_08075CE0: .4byte gUnknown_0202F7B2 +_08075CE4: .4byte gUnknown_0202F7B3 +_08075CE8: .4byte gUnknown_0202F7C2 +_08075CEC: .4byte gUnknown_03004AF0 +_08075CF0: + bl IsSEPlaying + lsls r0, 24 + cmp r0, 0 + beq _08075D28 + ldr r1, _08075D14 @ =gUnknown_03004AF0 + ldrh r0, [r1] + adds r0, 0x1 + strh r0, [r1] + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x5A + bhi _08075D1C +_08075D0A: + ldr r1, _08075D18 @ =gUnknown_0202F7B0 + movs r0, 0x1 + strb r0, [r1] + b _08075D8E + .align 2, 0 +_08075D14: .4byte gUnknown_03004AF0 +_08075D18: .4byte gUnknown_0202F7B0 +_08075D1C: + ldr r0, _08075D98 @ =gMPlay_SE1 + bl m4aMPlayStop + ldr r0, _08075D9C @ =gMPlay_SE2 + bl m4aMPlayStop +_08075D28: + ldr r1, _08075DA0 @ =gUnknown_03004AF0 + movs r0, 0 + strh r0, [r1] + movs r5, 0 + ldr r7, _08075DA4 @ =0x0000ffff + ldr r6, _08075DA8 @ =gBattleAnimPicTable + ldr r4, _08075DAC @ =gUnknown_03004B10 +_08075D36: + ldrh r0, [r4] + cmp r0, r7 + beq _08075D5A + lsls r0, 3 + adds r0, r6 + ldrh r0, [r0, 0x6] + bl FreeSpriteTilesByTag + ldrh r0, [r4] + lsls r0, 3 + adds r0, r6 + ldrh r0, [r0, 0x6] + bl FreeSpritePaletteByTag + ldrh r1, [r4] + adds r0, r7, 0 + orrs r0, r1 + strh r0, [r4] +_08075D5A: + adds r4, 0x2 + adds r5, 0x1 + cmp r5, 0x7 + ble _08075D36 + mov r1, r8 + cmp r1, 0 + bne _08075D8E + ldr r0, _08075DB0 @ =gMPlay_BGM + ldr r1, _08075DA4 @ =0x0000ffff + movs r2, 0x80 + lsls r2, 1 + bl m4aMPlayVolumeControl + bl sub_8076BE0 + lsls r0, 24 + cmp r0, 0 + bne _08075D88 + bl sub_8079E24 + movs r0, 0x1 + bl sub_8043EB4 +_08075D88: + ldr r0, _08075DB4 @ =gUnknown_0202F7B1 + mov r1, r8 + strb r1, [r0] +_08075D8E: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08075D98: .4byte gMPlay_SE1 +_08075D9C: .4byte gMPlay_SE2 +_08075DA0: .4byte gUnknown_03004AF0 +_08075DA4: .4byte 0x0000ffff +_08075DA8: .4byte gBattleAnimPicTable +_08075DAC: .4byte gUnknown_03004B10 +_08075DB0: .4byte gMPlay_BGM +_08075DB4: .4byte gUnknown_0202F7B1 + thumb_func_end sub_8075CB0 + + thumb_func_start ma09_play_sound +ma09_play_sound: @ 8075DB8 + push {r4,lr} + ldr r4, _08075DDC @ =gUnknown_0202F7A4 + ldr r0, [r4] + adds r1, r0, 0x1 + str r1, [r4] + ldrb r0, [r0, 0x1] + ldrb r1, [r1, 0x1] + lsls r1, 8 + orrs r0, r1 + bl PlaySE + ldr r0, [r4] + adds r0, 0x2 + str r0, [r4] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08075DDC: .4byte gUnknown_0202F7A4 + thumb_func_end ma09_play_sound + + thumb_func_start sub_8075DE0 +sub_8075DE0: @ 8075DE0 + push {r4-r7,lr} + ldr r0, _08075DF4 @ =gUnknown_0202F7A4 + ldr r2, [r0] + adds r1, r2, 0x1 + str r1, [r0] + ldrb r6, [r2, 0x1] + cmp r6, 0 + bne _08075DF8 + movs r6, 0x2 + b _08075E02 + .align 2, 0 +_08075DF4: .4byte gUnknown_0202F7A4 +_08075DF8: + cmp r6, 0x1 + bne _08075DFE + movs r6, 0x3 +_08075DFE: + cmp r6, 0 + beq _08075E06 +_08075E02: + cmp r6, 0x2 + bne _08075E10 +_08075E06: + ldr r0, _08075E0C @ =gUnknown_0202F7C8 + b _08075E12 + .align 2, 0 +_08075E0C: .4byte gUnknown_0202F7C8 +_08075E10: + ldr r0, _08075E44 @ =gUnknown_0202F7C9 +_08075E12: + ldrb r5, [r0] + adds r0, r5, 0 + bl b_side_obj__get_some_boolean + lsls r0, 24 + cmp r0, 0 + beq _08075ECE + adds r0, r5, 0 + bl battle_get_per_side_status + lsls r0, 24 + movs r1, 0xFF + lsls r1, 24 + adds r0, r1 + lsrs r0, 24 + cmp r0, 0x1 + bls _08075E3E + bl sub_8076BE0 + lsls r0, 24 + cmp r0, 0 + beq _08075E48 +_08075E3E: + movs r7, 0 + b _08075E4A + .align 2, 0 +_08075E44: .4byte gUnknown_0202F7C9 +_08075E48: + movs r7, 0x1 +_08075E4A: + adds r0, r5, 0 + adds r1, r7, 0 + bl sub_8076034 + ldr r0, _08075E98 @ =gUnknown_02024BE0 + adds r0, r5, r0 + ldrb r4, [r0] + ldr r0, _08075E9C @ =task_pA_ma0A_obj_to_bg_pal + movs r1, 0xA + bl CreateTask + lsls r0, 24 + lsrs r3, r0, 24 + ldr r1, _08075EA0 @ =gTasks + lsls r0, r3, 2 + adds r0, r3 + lsls r0, 3 + adds r2, r0, r1 + strh r4, [r2, 0x8] + ldr r1, _08075EA4 @ =gSprites + lsls r0, r4, 4 + adds r0, r4 + lsls r0, 2 + adds r0, r1 + ldrh r1, [r0, 0x24] + ldrh r4, [r0, 0x20] + adds r1, r4 + strh r1, [r2, 0xA] + ldrh r1, [r0, 0x26] + ldrh r0, [r0, 0x22] + adds r1, r0 + strh r1, [r2, 0xC] + cmp r7, 0 + bne _08075EB0 + ldr r0, _08075EA8 @ =gUnknown_030042C0 + ldrh r0, [r0] + strh r0, [r2, 0xE] + ldr r0, _08075EAC @ =gUnknown_030041B4 + b _08075EB8 + .align 2, 0 +_08075E98: .4byte gUnknown_02024BE0 +_08075E9C: .4byte task_pA_ma0A_obj_to_bg_pal +_08075EA0: .4byte gTasks +_08075EA4: .4byte gSprites +_08075EA8: .4byte gUnknown_030042C0 +_08075EAC: .4byte gUnknown_030041B4 +_08075EB0: + ldr r0, _08075F04 @ =gUnknown_03004288 + ldrh r0, [r0] + strh r0, [r2, 0xE] + ldr r0, _08075F08 @ =gUnknown_03004280 +_08075EB8: + ldrh r0, [r0] + strh r0, [r2, 0x10] + ldr r0, _08075F0C @ =gTasks + lsls r1, r3, 2 + adds r1, r3 + lsls r1, 3 + adds r1, r0 + strh r7, [r1, 0x12] + strh r5, [r1, 0x14] + ldr r0, _08075F10 @ =gUnknown_0202F7C2 + strb r3, [r0] +_08075ECE: + movs r0, 0x2 + eors r5, r0 + cmp r6, 0x1 + bls _08075F9A + adds r0, r5, 0 + bl b_side_obj__get_some_boolean + lsls r0, 24 + cmp r0, 0 + beq _08075F9A + adds r0, r5, 0 + bl battle_get_per_side_status + lsls r0, 24 + movs r1, 0xFF + lsls r1, 24 + adds r0, r1 + lsrs r0, 24 + cmp r0, 0x1 + bls _08075F00 + bl sub_8076BE0 + lsls r0, 24 + cmp r0, 0 + beq _08075F14 +_08075F00: + movs r7, 0 + b _08075F16 + .align 2, 0 +_08075F04: .4byte gUnknown_03004288 +_08075F08: .4byte gUnknown_03004280 +_08075F0C: .4byte gTasks +_08075F10: .4byte gUnknown_0202F7C2 +_08075F14: + movs r7, 0x1 +_08075F16: + adds r0, r5, 0 + adds r1, r7, 0 + bl sub_8076034 + ldr r0, _08075F64 @ =gUnknown_02024BE0 + adds r0, r5, r0 + ldrb r4, [r0] + ldr r0, _08075F68 @ =task_pA_ma0A_obj_to_bg_pal + movs r1, 0xA + bl CreateTask + lsls r0, 24 + lsrs r3, r0, 24 + ldr r1, _08075F6C @ =gTasks + lsls r0, r3, 2 + adds r0, r3 + lsls r0, 3 + adds r2, r0, r1 + strh r4, [r2, 0x8] + ldr r1, _08075F70 @ =gSprites + lsls r0, r4, 4 + adds r0, r4 + lsls r0, 2 + adds r0, r1 + ldrh r1, [r0, 0x24] + ldrh r4, [r0, 0x20] + adds r1, r4 + strh r1, [r2, 0xA] + ldrh r1, [r0, 0x26] + ldrh r0, [r0, 0x22] + adds r1, r0 + strh r1, [r2, 0xC] + cmp r7, 0 + bne _08075F7C + ldr r0, _08075F74 @ =gUnknown_030042C0 + ldrh r0, [r0] + strh r0, [r2, 0xE] + ldr r0, _08075F78 @ =gUnknown_030041B4 + b _08075F84 + .align 2, 0 +_08075F64: .4byte gUnknown_02024BE0 +_08075F68: .4byte task_pA_ma0A_obj_to_bg_pal +_08075F6C: .4byte gTasks +_08075F70: .4byte gSprites +_08075F74: .4byte gUnknown_030042C0 +_08075F78: .4byte gUnknown_030041B4 +_08075F7C: + ldr r0, _08075FA8 @ =gUnknown_03004288 + ldrh r0, [r0] + strh r0, [r2, 0xE] + ldr r0, _08075FAC @ =gUnknown_03004280 +_08075F84: + ldrh r0, [r0] + strh r0, [r2, 0x10] + ldr r0, _08075FB0 @ =gTasks + lsls r1, r3, 2 + adds r1, r3 + lsls r1, 3 + adds r1, r0 + strh r7, [r1, 0x12] + strh r5, [r1, 0x14] + ldr r0, _08075FB4 @ =gUnknown_0202F7C2 + strb r3, [r0, 0x1] +_08075F9A: + ldr r1, _08075FB8 @ =gUnknown_0202F7A4 + ldr r0, [r1] + adds r0, 0x1 + str r0, [r1] + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08075FA8: .4byte gUnknown_03004288 +_08075FAC: .4byte gUnknown_03004280 +_08075FB0: .4byte gTasks +_08075FB4: .4byte gUnknown_0202F7C2 +_08075FB8: .4byte gUnknown_0202F7A4 + thumb_func_end sub_8075DE0 + + thumb_func_start b_side_obj__get_some_boolean +b_side_obj__get_some_boolean: @ 8075FBC + push {r4,r5,lr} + lsls r0, 24 + lsrs r4, r0, 24 + adds r5, r4, 0 + bl sub_8076BE0 + lsls r0, 24 + cmp r0, 0 + beq _08075FDC + ldr r0, _08075FD8 @ =gUnknown_0202F7C8 + ldrb r0, [r0] + cmp r4, r0 + beq _0807601C + b _0807602C + .align 2, 0 +_08075FD8: .4byte gUnknown_0202F7C8 +_08075FDC: + adds r0, r4, 0 + bl sub_8078874 + lsls r0, 24 + cmp r0, 0 + beq _0807602C + bl sub_8076BE0 + lsls r0, 24 + cmp r0, 0 + bne _0807601C + lsls r0, r5, 2 + ldr r1, _08076020 @ =0x02017800 + adds r0, r1 + ldrb r1, [r0] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _0807601C + ldr r2, _08076024 @ =gSprites + ldr r0, _08076028 @ =gUnknown_02024BE0 + adds r0, r5, r0 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + adds r0, 0x3E + ldrb r0, [r0] + lsls r0, 29 + cmp r0, 0 + blt _0807602C +_0807601C: + movs r0, 0x1 + b _0807602E + .align 2, 0 +_08076020: .4byte 0x02017800 +_08076024: .4byte gSprites +_08076028: .4byte gUnknown_02024BE0 +_0807602C: + movs r0, 0 +_0807602E: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end b_side_obj__get_some_boolean + + thumb_func_start sub_8076034 +sub_8076034: @ 8076034 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x28 + lsls r0, 24 + lsrs r0, 24 + mov r9, r0 + lsls r1, 24 + cmp r1, 0 + beq _0807604E + b _08076220 +_0807604E: + add r4, sp, 0x10 + adds r0, r4, 0 + bl sub_8078914 + ldr r2, [sp, 0x10] + movs r3, 0x80 + lsls r3, 6 + add r6, sp, 0x1C + add r0, sp, 0x20 + mov r10, r0 + mov r1, r9 + lsls r1, 5 + str r1, [sp, 0x24] + movs r5, 0 + ldr r1, _08076194 @ =0x040000d4 + movs r4, 0x80 + lsls r4, 5 + mov r12, r6 + ldr r7, _08076198 @ =0x85000400 + movs r0, 0x85 + lsls r0, 24 + mov r8, r0 +_0807607A: + str r5, [sp, 0x1C] + mov r0, r12 + str r0, [r1] + str r2, [r1, 0x4] + str r7, [r1, 0x8] + ldr r0, [r1, 0x8] + adds r2, r4 + subs r3, r4 + cmp r3, r4 + bhi _0807607A + str r5, [sp, 0x1C] + str r6, [r1] + str r2, [r1, 0x4] + lsrs r0, r3, 2 + mov r2, r8 + orrs r0, r2 + str r0, [r1, 0x8] + ldr r0, [r1, 0x8] + add r0, sp, 0xC + movs r1, 0 + strb r1, [r0] + strb r1, [r0] + ldr r1, [sp, 0x14] + movs r0, 0xFF + mov r3, r10 + strh r0, [r3] + ldr r0, _08076194 @ =0x040000d4 + str r3, [r0] + str r1, [r0, 0x4] + ldr r1, _0807619C @ =0x81000800 + str r1, [r0, 0x8] + ldr r0, [r0, 0x8] + ldr r2, _080761A0 @ =REG_BG1CNT + ldrb r1, [r2] + movs r0, 0x4 + negs r0, r0 + ands r0, r1 + movs r1, 0x2 + orrs r0, r1 + strb r0, [r2] + ldrb r1, [r2, 0x1] + movs r0, 0x3F + ands r0, r1 + movs r1, 0x40 + orrs r0, r1 + strb r0, [r2, 0x1] + ldrb r1, [r2, 0x1] + movs r0, 0x21 + negs r0, r0 + ands r0, r1 + strb r0, [r2, 0x1] + ldr r0, _080761A4 @ =gUnknown_02024BE0 + add r0, r9 + ldrb r4, [r0] + ldr r5, _080761A8 @ =gUnknown_030042C0 + ldr r0, _080761AC @ =gSprites + lsls r1, r4, 4 + adds r1, r4 + lsls r1, 2 + adds r1, r0 + ldrh r0, [r1, 0x24] + ldrh r1, [r1, 0x20] + adds r0, r1 + negs r0, r0 + adds r0, 0x20 + strh r0, [r5] + bl sub_8076BE0 + lsls r0, 24 + cmp r0, 0 + beq _0807611C + ldr r0, _080761B0 @ =0x02019348 + ldrh r0, [r0] + bl sub_80AEB1C + lsls r0, 24 + cmp r0, 0 + beq _0807611C + ldrh r0, [r5] + subs r0, 0x1 + strh r0, [r5] +_0807611C: + ldr r3, _080761B4 @ =gUnknown_030041B4 + ldr r2, _080761AC @ =gSprites + lsls r1, r4, 4 + adds r1, r4 + lsls r1, 2 + adds r1, r2 + ldrh r0, [r1, 0x26] + ldrh r1, [r1, 0x22] + adds r0, r1 + negs r0, r0 + adds r0, 0x20 + strh r0, [r3] + ldr r0, _080761A4 @ =gUnknown_02024BE0 + add r0, r9 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + adds r0, 0x3E + ldrb r1, [r0] + movs r2, 0x4 + orrs r1, r2 + strb r1, [r0] + ldr r1, _080761B8 @ =REG_BG1HOFS + ldr r0, _080761A8 @ =gUnknown_030042C0 + ldrh r0, [r0] + strh r0, [r1] + adds r1, 0x2 + ldrh r0, [r3] + strh r0, [r1] + ldr r4, _080761BC @ =gPlttBufferUnfaded + 0x200 + ldr r0, [sp, 0x24] + adds r4, r0, r4 + mov r2, sp + ldrb r1, [r2, 0x18] + lsls r1, 4 + adds r0, r4, 0 + movs r2, 0x20 + bl LoadPalette + mov r3, sp + ldrb r0, [r3, 0x18] + lsls r0, 5 + movs r1, 0xA0 + lsls r1, 19 + adds r0, r1 + ldr r1, _08076194 @ =0x040000d4 + str r4, [r1] + str r0, [r1, 0x4] + ldr r0, _080761C0 @ =0x84000008 + str r0, [r1, 0x8] + ldr r0, [r1, 0x8] + bl sub_8076BE0 + lsls r0, 24 + cmp r0, 0 + beq _080761C4 + movs r2, 0 + b _080761CE + .align 2, 0 +_08076194: .4byte 0x040000d4 +_08076198: .4byte 0x85000400 +_0807619C: .4byte 0x81000800 +_080761A0: .4byte REG_BG1CNT +_080761A4: .4byte gUnknown_02024BE0 +_080761A8: .4byte gUnknown_030042C0 +_080761AC: .4byte gSprites +_080761B0: .4byte 0x02019348 +_080761B4: .4byte gUnknown_030041B4 +_080761B8: .4byte REG_BG1HOFS +_080761BC: .4byte gPlttBufferUnfaded + 0x200 +_080761C0: .4byte 0x84000008 +_080761C4: + mov r0, r9 + bl battle_get_per_side_status + lsls r0, 24 + lsrs r2, r0, 24 +_080761CE: + mov r0, sp + ldrb r3, [r0, 0x18] + ldr r0, [sp, 0x10] + lsls r0, 16 + lsrs r0, 16 + str r0, [sp] + ldr r4, [sp, 0x14] + movs r1, 0xFA + lsls r1, 24 + adds r0, r4, r1 + cmp r0, 0 + bge _080761EA + ldr r1, _08076218 @ =0xfa0007ff + adds r0, r4, r1 +_080761EA: + asrs r0, 11 + lsls r0, 24 + lsrs r0, 24 + str r0, [sp, 0x4] + ldr r0, _0807621C @ =REG_BG1CNT + ldr r0, [r0] + lsls r0, 28 + lsrs r0, 30 + str r0, [sp, 0x8] + movs r0, 0 + movs r1, 0 + bl sub_80E4EF8 + bl sub_8076BE0 + lsls r0, 24 + cmp r0, 0 + bne _08076210 + b _08076338 +_08076210: + bl sub_8076380 + b _08076338 + .align 2, 0 +_08076218: .4byte 0xfa0007ff +_0807621C: .4byte REG_BG1CNT +_08076220: + ldr r3, _08076348 @ =0x06006000 + movs r5, 0x80 + lsls r5, 6 + add r6, sp, 0x1C + ldr r2, _0807634C @ =gSprites + mov r10, r2 + mov r0, r9 + lsls r0, 5 + str r0, [sp, 0x24] + movs r4, 0 + ldr r1, _08076350 @ =0x040000d4 + movs r2, 0x80 + lsls r2, 5 + mov r12, r6 + ldr r7, _08076354 @ =0x85000400 + movs r0, 0x85 + lsls r0, 24 + mov r8, r0 +_08076244: + str r4, [sp, 0x1C] + mov r0, r12 + str r0, [r1] + str r3, [r1, 0x4] + str r7, [r1, 0x8] + ldr r0, [r1, 0x8] + adds r3, r2 + subs r5, r2 + cmp r5, r2 + bhi _08076244 + str r4, [sp, 0x1C] + str r6, [r1] + str r3, [r1, 0x4] + lsrs r0, r5, 2 + mov r2, r8 + orrs r0, r2 + str r0, [r1, 0x8] + ldr r0, [r1, 0x8] + add r0, sp, 0xC + movs r1, 0 + strb r1, [r0] + strb r1, [r0] + ldr r1, _08076358 @ =0x0600f000 + movs r0, 0 + str r0, [sp, 0x1C] + ldr r5, _08076350 @ =0x040000d4 + str r6, [r5] + str r1, [r5, 0x4] + ldr r0, _0807635C @ =0x85000200 + str r0, [r5, 0x8] + ldr r0, [r5, 0x8] + ldr r6, _08076360 @ =REG_BG2CNT + ldrb r1, [r6] + movs r0, 0x4 + negs r0, r0 + ands r0, r1 + movs r1, 0x2 + orrs r0, r1 + strb r0, [r6] + ldrb r1, [r6, 0x1] + movs r0, 0x3F + ands r0, r1 + movs r1, 0x40 + orrs r0, r1 + strb r0, [r6, 0x1] + ldrb r1, [r6, 0x1] + movs r0, 0x21 + negs r0, r0 + ands r0, r1 + strb r0, [r6, 0x1] + ldr r2, _08076364 @ =gUnknown_02024BE0 + add r2, r9 + ldrb r4, [r2] + lsls r1, r4, 4 + adds r1, r4 + lsls r1, 2 + add r1, r10 + ldrh r0, [r1, 0x24] + ldrh r3, [r1, 0x20] + adds r0, r3 + negs r0, r0 + adds r0, 0x20 + ldr r3, _08076368 @ =gUnknown_03004288 + strh r0, [r3] + ldrh r0, [r1, 0x26] + ldrh r1, [r1, 0x22] + adds r0, r1 + negs r0, r0 + adds r0, 0x20 + ldr r1, _0807636C @ =gUnknown_03004280 + strh r0, [r1] + ldrb r1, [r2] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + add r0, r10 + adds r0, 0x3E + ldrb r1, [r0] + movs r2, 0x4 + orrs r1, r2 + strb r1, [r0] + ldr r1, _08076370 @ =REG_BG2HOFS + ldrh r0, [r3] + strh r0, [r1] + adds r1, 0x2 + ldr r2, _0807636C @ =gUnknown_03004280 + ldrh r0, [r2] + strh r0, [r1] + ldr r3, [sp, 0x24] + ldr r0, _08076374 @ =gPlttBufferUnfaded + 0x200 + adds r4, r3, r0 + adds r0, r4, 0 + movs r1, 0x90 + movs r2, 0x20 + bl LoadPalette + ldr r0, _08076378 @ =0x05000120 + str r4, [r5] + str r0, [r5, 0x4] + ldr r0, _0807637C @ =0x84000008 + str r0, [r5, 0x8] + ldr r0, [r5, 0x8] + mov r0, r9 + bl battle_get_per_side_status + adds r2, r0, 0 + lsls r2, 24 + lsrs r2, 24 + movs r0, 0xC0 + lsls r0, 7 + str r0, [sp] + movs r0, 0x1E + str r0, [sp, 0x4] + ldr r0, [r6] + lsls r0, 28 + lsrs r0, 30 + str r0, [sp, 0x8] + movs r0, 0 + movs r1, 0 + movs r3, 0x9 + bl sub_80E4EF8 +_08076338: + add sp, 0x28 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08076348: .4byte 0x06006000 +_0807634C: .4byte gSprites +_08076350: .4byte 0x040000d4 +_08076354: .4byte 0x85000400 +_08076358: .4byte 0x0600f000 +_0807635C: .4byte 0x85000200 +_08076360: .4byte REG_BG2CNT +_08076364: .4byte gUnknown_02024BE0 +_08076368: .4byte gUnknown_03004288 +_0807636C: .4byte gUnknown_03004280 +_08076370: .4byte REG_BG2HOFS +_08076374: .4byte gPlttBufferUnfaded + 0x200 +_08076378: .4byte 0x05000120 +_0807637C: .4byte 0x84000008 + thumb_func_end sub_8076034 + + thumb_func_start sub_8076380 +sub_8076380: @ 8076380 + push {r4-r7,lr} + sub sp, 0xC + ldr r0, _080763F8 @ =0x02019348 + ldrh r0, [r0] + bl sub_80AEB1C + lsls r0, 24 + cmp r0, 0 + beq _080763EE + mov r0, sp + bl sub_8078914 + ldr r6, [sp, 0x4] + movs r5, 0 + movs r0, 0x7 + mov r12, r0 + movs r7, 0 +_080763A2: + movs r4, 0 + adds r3, r7, r6 + mov r1, r12 + lsls r0, r1, 1 + adds r2, r0, r6 +_080763AC: + ldrh r1, [r3] + ldrh r0, [r2] + strh r0, [r3] + strh r1, [r2] + adds r3, 0x2 + subs r2, 0x2 + adds r4, 0x1 + cmp r4, 0x3 + ble _080763AC + movs r0, 0x20 + add r12, r0 + adds r7, 0x40 + adds r5, 0x1 + cmp r5, 0x7 + ble _080763A2 + movs r5, 0 + movs r1, 0x80 + lsls r1, 3 + adds r3, r1, 0 +_080763D2: + adds r2, r5, 0x1 + lsls r0, r5, 6 + adds r1, r0, r6 + movs r4, 0x7 +_080763DA: + ldrh r0, [r1] + eors r0, r3 + strh r0, [r1] + adds r1, 0x2 + subs r4, 0x1 + cmp r4, 0 + bge _080763DA + adds r5, r2, 0 + cmp r5, 0x7 + ble _080763D2 +_080763EE: + add sp, 0xC + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080763F8: .4byte 0x02019348 + thumb_func_end sub_8076380 + + thumb_func_start sub_80763FC +sub_80763FC: @ 80763FC + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + mov r12, r1 + adds r7, r2, 0 + lsls r0, 16 + lsrs r6, r0, 16 + lsls r3, 24 + movs r0, 0x40 + mov r9, r0 + cmp r3, 0 + bne _0807641A + movs r1, 0x20 + mov r9, r1 +_0807641A: + lsls r0, r6, 28 + lsrs r6, r0, 16 + movs r0, 0 + cmp r0, r9 + bcs _08076452 + ldr r1, _08076460 @ =0x00000fff + mov r8, r1 +_08076428: + movs r3, 0 + adds r5, r0, 0x1 + lsls r4, r0, 5 +_0807642E: + adds r1, r4, r3 + lsls r1, 1 + add r1, r12 + ldrh r2, [r1] + mov r0, r8 + ands r0, r2 + orrs r0, r6 + adds r0, r7 + strh r0, [r1] + adds r0, r3, 0x1 + lsls r0, 24 + lsrs r3, r0, 24 + cmp r3, 0x1F + bls _0807642E + lsls r0, r5, 24 + lsrs r0, 24 + cmp r0, r9 + bcc _08076428 +_08076452: + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08076460: .4byte 0x00000fff + thumb_func_end sub_80763FC + + thumb_func_start sub_8076464 +sub_8076464: @ 8076464 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x14 + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + add r5, sp, 0x4 + adds r0, r5, 0 + bl sub_8078914 + cmp r4, 0 + beq _0807648C + bl sub_8076BE0 + lsls r0, 24 + cmp r0, 0 + beq _080764F0 +_0807648C: + ldr r2, [sp, 0x4] + movs r3, 0x80 + lsls r3, 6 + add r5, sp, 0x10 + ldr r0, _080764E0 @ =gUnknown_030042C0 + mov r9, r0 + ldr r0, _080764E4 @ =gUnknown_030041B4 + mov r10, r0 + movs r6, 0 + ldr r1, _080764E8 @ =0x040000d4 + movs r4, 0x80 + lsls r4, 5 + mov r12, r5 + ldr r7, _080764EC @ =0x85000400 + movs r0, 0x85 + lsls r0, 24 + mov r8, r0 +_080764AE: + str r6, [sp, 0x10] + mov r0, r12 + str r0, [r1] + str r2, [r1, 0x4] + str r7, [r1, 0x8] + ldr r0, [r1, 0x8] + adds r2, r4 + subs r3, r4 + cmp r3, r4 + bhi _080764AE + str r6, [sp, 0x10] + str r5, [r1] + str r2, [r1, 0x4] + lsrs r0, r3, 2 + mov r2, r8 + orrs r0, r2 + str r0, [r1, 0x8] + ldr r0, [r1, 0x8] + mov r0, sp + movs r1, 0 + strb r1, [r0] + strb r1, [r0] + ldr r1, [sp, 0x8] + b _08076540 + .align 2, 0 +_080764E0: .4byte gUnknown_030042C0 +_080764E4: .4byte gUnknown_030041B4 +_080764E8: .4byte 0x040000d4 +_080764EC: .4byte 0x85000400 +_080764F0: + ldr r2, _08076568 @ =0x06006000 + movs r3, 0x80 + lsls r3, 6 + add r5, sp, 0x10 + ldr r0, _0807656C @ =gUnknown_03004288 + mov r9, r0 + ldr r0, _08076570 @ =gUnknown_03004280 + mov r10, r0 + movs r6, 0 + ldr r1, _08076574 @ =0x040000d4 + movs r4, 0x80 + lsls r4, 5 + mov r12, r5 + ldr r7, _08076578 @ =0x85000400 + movs r0, 0x85 + lsls r0, 24 + mov r8, r0 +_08076512: + str r6, [sp, 0x10] + mov r0, r12 + str r0, [r1] + str r2, [r1, 0x4] + str r7, [r1, 0x8] + ldr r0, [r1, 0x8] + adds r2, r4 + subs r3, r4 + cmp r3, r4 + bhi _08076512 + str r6, [sp, 0x10] + str r5, [r1] + str r2, [r1, 0x4] + lsrs r0, r3, 2 + mov r2, r8 + orrs r0, r2 + str r0, [r1, 0x8] + ldr r0, [r1, 0x8] + mov r0, sp + movs r1, 0 + strb r1, [r0] + strb r1, [r0] + ldr r1, _0807657C @ =0x0600f000 +_08076540: + movs r2, 0 + str r2, [sp, 0x10] + ldr r0, _08076574 @ =0x040000d4 + str r5, [r0] + str r1, [r0, 0x4] + ldr r1, _08076580 @ =0x85000200 + str r1, [r0, 0x8] + ldr r0, [r0, 0x8] + mov r0, r9 + strh r2, [r0] + mov r0, r10 + strh r2, [r0] + add sp, 0x14 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08076568: .4byte 0x06006000 +_0807656C: .4byte gUnknown_03004288 +_08076570: .4byte gUnknown_03004280 +_08076574: .4byte 0x040000d4 +_08076578: .4byte 0x85000400 +_0807657C: .4byte 0x0600f000 +_08076580: .4byte 0x85000200 + thumb_func_end sub_8076464 + + thumb_func_start task_pA_ma0A_obj_to_bg_pal +task_pA_ma0A_obj_to_bg_pal: @ 8076584 + push {r4-r6,lr} + sub sp, 0xC + lsls r0, 24 + lsrs r0, 24 + ldr r2, _080765FC @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r5, r1, r2 + ldrb r4, [r5, 0x8] + ldrb r6, [r5, 0x14] + mov r0, sp + bl sub_8078914 + ldr r0, _08076600 @ =gSprites + lsls r1, r4, 4 + adds r1, r4 + lsls r1, 2 + adds r1, r0 + ldrh r2, [r1, 0x24] + ldrh r0, [r1, 0x20] + adds r2, r0 + ldrh r0, [r5, 0xA] + subs r0, r2 + lsls r0, 16 + lsrs r3, r0, 16 + ldrh r2, [r1, 0x26] + ldrh r1, [r1, 0x22] + adds r2, r1 + ldrh r0, [r5, 0xC] + subs r0, r2 + lsls r0, 16 + lsrs r2, r0, 16 + movs r1, 0x12 + ldrsh r0, [r5, r1] + cmp r0, 0 + bne _08076614 + ldr r1, _08076604 @ =gUnknown_030042C0 + lsls r0, r3, 16 + asrs r0, 16 + ldrh r3, [r5, 0xE] + adds r0, r3 + strh r0, [r1] + ldr r1, _08076608 @ =gUnknown_030041B4 + lsls r0, r2, 16 + asrs r0, 16 + ldrh r5, [r5, 0x10] + adds r0, r5 + strh r0, [r1] + lsls r2, r6, 5 + ldr r1, _0807660C @ =gPlttBufferFaded + 0x200 + adds r2, r1 + mov r0, sp + ldrb r0, [r0, 0x8] + lsls r0, 5 + ldr r3, _08076610 @ =0xfffffe00 + adds r1, r3 + adds r0, r1 + b _08076634 + .align 2, 0 +_080765FC: .4byte gTasks +_08076600: .4byte gSprites +_08076604: .4byte gUnknown_030042C0 +_08076608: .4byte gUnknown_030041B4 +_0807660C: .4byte gPlttBufferFaded + 0x200 +_08076610: .4byte 0xfffffe00 +_08076614: + ldr r1, _08076648 @ =gUnknown_03004288 + lsls r0, r3, 16 + asrs r0, 16 + ldrh r3, [r5, 0xE] + adds r0, r3 + strh r0, [r1] + ldr r1, _0807664C @ =gUnknown_03004280 + lsls r0, r2, 16 + asrs r0, 16 + ldrh r5, [r5, 0x10] + adds r0, r5 + strh r0, [r1] + lsls r2, r6, 5 + ldr r0, _08076650 @ =gPlttBufferFaded + 0x200 + adds r2, r0 + subs r0, 0xE0 +_08076634: + ldr r1, _08076654 @ =0x040000d4 + str r2, [r1] + str r0, [r1, 0x4] + ldr r0, _08076658 @ =0x84000008 + str r0, [r1, 0x8] + ldr r0, [r1, 0x8] + add sp, 0xC + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_08076648: .4byte gUnknown_03004288 +_0807664C: .4byte gUnknown_03004280 +_08076650: .4byte gPlttBufferFaded + 0x200 +_08076654: .4byte 0x040000d4 +_08076658: .4byte 0x84000008 + thumb_func_end task_pA_ma0A_obj_to_bg_pal + + thumb_func_start ma0B_0807324C +ma0B_0807324C: @ 807665C + push {r4,r5,lr} + ldr r0, _08076670 @ =gUnknown_0202F7A4 + ldr r2, [r0] + adds r1, r2, 0x1 + str r1, [r0] + ldrb r4, [r2, 0x1] + cmp r4, 0 + bne _08076674 + movs r4, 0x2 + b _0807667E + .align 2, 0 +_08076670: .4byte gUnknown_0202F7A4 +_08076674: + cmp r4, 0x1 + bne _0807667A + movs r4, 0x3 +_0807667A: + cmp r4, 0 + beq _08076682 +_0807667E: + cmp r4, 0x2 + bne _0807668C +_08076682: + ldr r0, _08076688 @ =gUnknown_0202F7C8 + b _0807668E + .align 2, 0 +_08076688: .4byte gUnknown_0202F7C8 +_0807668C: + ldr r0, _080766E4 @ =gUnknown_0202F7C9 +_0807668E: + ldrb r5, [r0] + ldr r3, _080766E8 @ =gUnknown_0202F7C2 + ldrb r0, [r3] + cmp r0, 0xFF + beq _080766B4 + ldr r2, _080766EC @ =gSprites + ldr r0, _080766F0 @ =gUnknown_02024BE0 + adds r0, r5, r0 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + adds r0, 0x3E + ldrb r2, [r0] + movs r1, 0x5 + negs r1, r1 + ands r1, r2 + strb r1, [r0] +_080766B4: + cmp r4, 0x1 + bls _080766F4 + ldrb r0, [r3, 0x1] + cmp r0, 0xFF + beq _080766F4 + ldr r3, _080766EC @ =gSprites + ldr r2, _080766F0 @ =gUnknown_02024BE0 + movs r1, 0x2 + adds r0, r5, 0 + eors r0, r1 + adds r0, r2 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r3 + adds r0, 0x3E + ldrb r2, [r0] + movs r1, 0x5 + negs r1, r1 + ands r1, r2 + strb r1, [r0] + b _080766F6 + .align 2, 0 +_080766E4: .4byte gUnknown_0202F7C9 +_080766E8: .4byte gUnknown_0202F7C2 +_080766EC: .4byte gSprites +_080766F0: .4byte gUnknown_02024BE0 +_080766F4: + movs r4, 0 +_080766F6: + ldr r0, _08076720 @ =sub_807672C + movs r1, 0x5 + bl CreateTask + lsls r0, 24 + lsrs r0, 24 + ldr r2, _08076724 @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + strh r4, [r1, 0x8] + strh r5, [r1, 0xC] + ldr r1, _08076728 @ =gUnknown_0202F7A4 + ldr r0, [r1] + adds r0, 0x1 + str r0, [r1] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08076720: .4byte sub_807672C +_08076724: .4byte gTasks +_08076728: .4byte gUnknown_0202F7A4 + thumb_func_end ma0B_0807324C + + thumb_func_start sub_807672C +sub_807672C: @ 807672C + push {r4-r6,lr} + lsls r0, 24 + lsrs r5, r0, 24 + ldr r1, _0807676C @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r1, r0, r1 + ldrh r0, [r1, 0xA] + adds r0, 0x1 + strh r0, [r1, 0xA] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + beq _080767B6 + ldrb r0, [r1, 0xC] + bl battle_get_per_side_status + lsls r0, 24 + movs r1, 0xFF + lsls r1, 24 + adds r0, r1 + lsrs r0, 24 + cmp r0, 0x1 + bls _08076768 + bl sub_8076BE0 + lsls r0, 24 + cmp r0, 0 + beq _08076770 +_08076768: + movs r4, 0 + b _08076772 + .align 2, 0 +_0807676C: .4byte gTasks +_08076770: + movs r4, 0x1 +_08076772: + ldr r6, _080767BC @ =gUnknown_0202F7C2 + ldrb r0, [r6] + cmp r0, 0xFF + beq _0807678A + adds r0, r4, 0 + bl sub_8076464 + ldrb r0, [r6] + bl DestroyTask + movs r0, 0xFF + strb r0, [r6] +_0807678A: + ldr r0, _080767C0 @ =gTasks + lsls r1, r5, 2 + adds r1, r5 + lsls r1, 3 + adds r1, r0 + movs r2, 0x8 + ldrsh r0, [r1, r2] + cmp r0, 0x1 + ble _080767B0 + movs r0, 0x1 + eors r4, r0 + adds r0, r4, 0 + bl sub_8076464 + ldrb r0, [r6, 0x1] + bl DestroyTask + movs r0, 0xFF + strb r0, [r6, 0x1] +_080767B0: + adds r0, r5, 0 + bl DestroyTask +_080767B6: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080767BC: .4byte gUnknown_0202F7C2 +_080767C0: .4byte gTasks + thumb_func_end sub_807672C + + thumb_func_start sub_80767C4 +sub_80767C4: @ 80767C4 + push {r4,r5,lr} + ldr r0, _080767D8 @ =gUnknown_0202F7A4 + ldr r2, [r0] + adds r1, r2, 0x1 + str r1, [r0] + ldrb r5, [r2, 0x1] + cmp r5, 0 + bne _080767DC + movs r5, 0x2 + b _080767E6 + .align 2, 0 +_080767D8: .4byte gUnknown_0202F7A4 +_080767DC: + cmp r5, 0x1 + bne _080767E2 + movs r5, 0x3 +_080767E2: + cmp r5, 0 + beq _080767EA +_080767E6: + cmp r5, 0x2 + bne _080767F4 +_080767EA: + ldr r0, _080767F0 @ =gUnknown_0202F7C8 + b _080767F6 + .align 2, 0 +_080767F0: .4byte gUnknown_0202F7C8 +_080767F4: + ldr r0, _08076828 @ =gUnknown_0202F7C9 +_080767F6: + ldrb r4, [r0] + adds r0, r4, 0 + bl b_side_obj__get_some_boolean + lsls r0, 24 + cmp r0, 0 + beq _08076850 + adds r0, r4, 0 + bl battle_get_per_side_status + lsls r0, 24 + movs r1, 0xFF + lsls r1, 24 + adds r0, r1 + lsrs r0, 24 + cmp r0, 0x1 + bls _08076822 + bl sub_8076BE0 + lsls r0, 24 + cmp r0, 0 + beq _0807682C +_08076822: + movs r1, 0 + b _0807682E + .align 2, 0 +_08076828: .4byte gUnknown_0202F7C9 +_0807682C: + movs r1, 0x1 +_0807682E: + adds r0, r4, 0 + bl sub_8076034 + ldr r2, _08076888 @ =gSprites + ldr r0, _0807688C @ =gUnknown_02024BE0 + adds r0, r4, r0 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + adds r0, 0x3E + ldrb r2, [r0] + movs r1, 0x5 + negs r1, r1 + ands r1, r2 + strb r1, [r0] +_08076850: + movs r0, 0x2 + eors r4, r0 + cmp r5, 0x1 + bls _080768B4 + adds r0, r4, 0 + bl b_side_obj__get_some_boolean + lsls r0, 24 + cmp r0, 0 + beq _080768B4 + adds r0, r4, 0 + bl battle_get_per_side_status + lsls r0, 24 + movs r1, 0xFF + lsls r1, 24 + adds r0, r1 + lsrs r0, 24 + cmp r0, 0x1 + bls _08076882 + bl sub_8076BE0 + lsls r0, 24 + cmp r0, 0 + beq _08076890 +_08076882: + movs r1, 0 + b _08076892 + .align 2, 0 +_08076888: .4byte gSprites +_0807688C: .4byte gUnknown_02024BE0 +_08076890: + movs r1, 0x1 +_08076892: + adds r0, r4, 0 + bl sub_8076034 + ldr r2, _080768C4 @ =gSprites + ldr r0, _080768C8 @ =gUnknown_02024BE0 + adds r0, r4, r0 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + adds r0, 0x3E + ldrb r2, [r0] + movs r1, 0x5 + negs r1, r1 + ands r1, r2 + strb r1, [r0] +_080768B4: + ldr r1, _080768CC @ =gUnknown_0202F7A4 + ldr r0, [r1] + adds r0, 0x1 + str r0, [r1] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080768C4: .4byte gSprites +_080768C8: .4byte gUnknown_02024BE0 +_080768CC: .4byte gUnknown_0202F7A4 + thumb_func_end sub_80767C4 + + thumb_func_start ma23_8073484 +ma23_8073484: @ 80768D0 + push {r4-r6,lr} + ldr r0, _080768E4 @ =gUnknown_0202F7A4 + ldr r2, [r0] + adds r1, r2, 0x1 + str r1, [r0] + ldrb r5, [r2, 0x1] + cmp r5, 0 + bne _080768E8 + movs r5, 0x2 + b _080768F2 + .align 2, 0 +_080768E4: .4byte gUnknown_0202F7A4 +_080768E8: + cmp r5, 0x1 + bne _080768EE + movs r5, 0x3 +_080768EE: + cmp r5, 0 + beq _080768F6 +_080768F2: + cmp r5, 0x2 + bne _08076900 +_080768F6: + ldr r0, _080768FC @ =gUnknown_0202F7C8 + b _08076902 + .align 2, 0 +_080768FC: .4byte gUnknown_0202F7C8 +_08076900: + ldr r0, _08076960 @ =gUnknown_0202F7C9 +_08076902: + ldrb r6, [r0] + adds r0, r6, 0 + bl b_side_obj__get_some_boolean + lsls r0, 24 + cmp r0, 0 + beq _0807692C + ldr r2, _08076964 @ =gSprites + ldr r0, _08076968 @ =gUnknown_02024BE0 + adds r0, r6, r0 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + adds r0, 0x3E + ldrb r2, [r0] + movs r1, 0x5 + negs r1, r1 + ands r1, r2 + strb r1, [r0] +_0807692C: + cmp r5, 0x1 + bls _0807696C + movs r0, 0x2 + adds r4, r6, 0 + eors r4, r0 + adds r0, r4, 0 + bl b_side_obj__get_some_boolean + lsls r0, 24 + cmp r0, 0 + beq _0807696C + ldr r2, _08076964 @ =gSprites + ldr r0, _08076968 @ =gUnknown_02024BE0 + adds r0, r4, r0 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + adds r0, 0x3E + ldrb r2, [r0] + movs r1, 0x5 + negs r1, r1 + ands r1, r2 + strb r1, [r0] + b _0807696E + .align 2, 0 +_08076960: .4byte gUnknown_0202F7C9 +_08076964: .4byte gSprites +_08076968: .4byte gUnknown_02024BE0 +_0807696C: + movs r5, 0 +_0807696E: + ldr r0, _08076998 @ =sub_80769A4 + movs r1, 0x5 + bl CreateTask + lsls r0, 24 + lsrs r0, 24 + ldr r2, _0807699C @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + strh r5, [r1, 0x8] + strh r6, [r1, 0xC] + ldr r1, _080769A0 @ =gUnknown_0202F7A4 + ldr r0, [r1] + adds r0, 0x1 + str r0, [r1] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_08076998: .4byte sub_80769A4 +_0807699C: .4byte gTasks +_080769A0: .4byte gUnknown_0202F7A4 + thumb_func_end ma23_8073484 + + thumb_func_start sub_80769A4 +sub_80769A4: @ 80769A4 + push {r4-r6,lr} + lsls r0, 24 + lsrs r6, r0, 24 + ldr r1, _080769E8 @ =gTasks + lsls r0, r6, 2 + adds r0, r6 + lsls r0, 3 + adds r1, r0, r1 + ldrh r0, [r1, 0xA] + adds r0, 0x1 + strh r0, [r1, 0xA] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + beq _08076A32 + ldrb r4, [r1, 0xC] + adds r0, r4, 0 + bl battle_get_per_side_status + lsls r0, 24 + movs r1, 0xFF + lsls r1, 24 + adds r0, r1 + lsrs r0, 24 + cmp r0, 0x1 + bls _080769E2 + bl sub_8076BE0 + lsls r0, 24 + cmp r0, 0 + beq _080769EC +_080769E2: + movs r5, 0 + b _080769EE + .align 2, 0 +_080769E8: .4byte gTasks +_080769EC: + movs r5, 0x1 +_080769EE: + adds r0, r4, 0 + bl b_side_obj__get_some_boolean + lsls r0, 24 + cmp r0, 0 + beq _08076A00 + adds r0, r5, 0 + bl sub_8076464 +_08076A00: + ldr r0, _08076A38 @ =gTasks + lsls r1, r6, 2 + adds r1, r6 + lsls r1, 3 + adds r1, r0 + movs r2, 0x8 + ldrsh r0, [r1, r2] + cmp r0, 0x1 + ble _08076A2C + movs r0, 0x2 + eors r4, r0 + adds r0, r4, 0 + bl b_side_obj__get_some_boolean + lsls r0, 24 + cmp r0, 0 + beq _08076A2C + movs r0, 0x1 + eors r5, r0 + adds r0, r5, 0 + bl sub_8076464 +_08076A2C: + adds r0, r6, 0 + bl DestroyTask +_08076A32: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_08076A38: .4byte gTasks + thumb_func_end sub_80769A4 + + thumb_func_start sub_8076A3C +sub_8076A3C: @ 8076A3C + push {r4,lr} + ldr r2, _08076A6C @ =gUnknown_0202F7A4 + ldr r0, [r2] + adds r1, r0, 0x1 + str r1, [r2] + ldrb r3, [r0, 0x1] + adds r0, r1, 0x1 + str r0, [r2] + ldrb r1, [r1, 0x1] + lsls r1, 8 + adds r0, 0x1 + str r0, [r2] + ldr r2, _08076A70 @ =REG_BLDCNT + movs r4, 0xFD + lsls r4, 6 + adds r0, r4, 0 + strh r0, [r2] + ldr r0, _08076A74 @ =REG_BLDALPHA + orrs r3, r1 + strh r3, [r0] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08076A6C: .4byte gUnknown_0202F7A4 +_08076A70: .4byte REG_BLDCNT +_08076A74: .4byte REG_BLDALPHA + thumb_func_end sub_8076A3C + + thumb_func_start sub_8076A78 +sub_8076A78: @ 8076A78 + ldr r2, _08076A98 @ =gUnknown_0202F7A4 + ldr r0, [r2] + adds r1, r0, 0x1 + str r1, [r2] + ldrb r3, [r0, 0x1] + adds r0, r1, 0x1 + str r0, [r2] + ldrb r1, [r1, 0x1] + lsls r1, 8 + adds r0, 0x1 + str r0, [r2] + ldr r0, _08076A9C @ =REG_BLDCNT + orrs r3, r1 + strh r3, [r0] + bx lr + .align 2, 0 +_08076A98: .4byte gUnknown_0202F7A4 +_08076A9C: .4byte REG_BLDCNT + thumb_func_end sub_8076A78 + + thumb_func_start sub_8076AA0 +sub_8076AA0: @ 8076AA0 + ldr r1, _08076AB4 @ =gUnknown_0202F7A4 + ldr r0, [r1] + adds r0, 0x1 + str r0, [r1] + ldr r0, _08076AB8 @ =REG_BLDCNT + movs r1, 0 + strh r1, [r0] + adds r0, 0x2 + strh r1, [r0] + bx lr + .align 2, 0 +_08076AB4: .4byte gUnknown_0202F7A4 +_08076AB8: .4byte REG_BLDCNT + thumb_func_end sub_8076AA0 + + thumb_func_start ma0E_call +ma0E_call: @ 8076ABC + push {r4,lr} + ldr r4, _08076AE8 @ =gUnknown_0202F7A4 + ldr r1, [r4] + adds r3, r1, 0x1 + str r3, [r4] + ldr r2, _08076AEC @ =gUnknown_0202F7A8 + adds r0, r1, 0x5 + str r0, [r2] + ldrb r1, [r1, 0x1] + ldrb r0, [r3, 0x1] + lsls r0, 8 + adds r1, r0 + ldrb r0, [r3, 0x2] + lsls r0, 16 + adds r1, r0 + ldrb r0, [r3, 0x3] + lsls r0, 24 + adds r1, r0 + str r1, [r4] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08076AE8: .4byte gUnknown_0202F7A4 +_08076AEC: .4byte gUnknown_0202F7A8 + thumb_func_end ma0E_call + + thumb_func_start sub_8076AF0 +sub_8076AF0: @ 8076AF0 + ldr r0, _08076AFC @ =gUnknown_0202F7A4 + ldr r1, _08076B00 @ =gUnknown_0202F7A8 + ldr r1, [r1] + str r1, [r0] + bx lr + .align 2, 0 +_08076AFC: .4byte gUnknown_0202F7A4 +_08076B00: .4byte gUnknown_0202F7A8 + thumb_func_end sub_8076AF0 + + thumb_func_start ma10_080736AC +ma10_080736AC: @ 8076B04 + push {r4,r5,lr} + ldr r5, _08076B30 @ =gUnknown_0202F7A4 + ldr r1, [r5] + adds r0, r1, 0x1 + str r0, [r5] + ldrb r2, [r1, 0x1] + adds r3, r0, 0x1 + str r3, [r5] + ldrb r4, [r0, 0x1] + ldrb r0, [r3, 0x1] + lsls r0, 8 + orrs r4, r0 + adds r1, 0x4 + str r1, [r5] + ldr r0, _08076B34 @ =gUnknown_03004B00 + lsls r2, 1 + adds r2, r0 + strh r4, [r2] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08076B30: .4byte gUnknown_0202F7A4 +_08076B34: .4byte gUnknown_03004B00 + thumb_func_end ma10_080736AC + + thumb_func_start ma11_if_else +ma11_if_else: @ 8076B38 + push {lr} + ldr r3, _08076B70 @ =gUnknown_0202F7A4 + ldr r2, [r3] + adds r0, r2, 0x1 + str r0, [r3] + ldr r0, _08076B74 @ =gUnknown_0202F7C4 + ldrb r1, [r0] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _08076B52 + adds r0, r2, 0x5 + str r0, [r3] +_08076B52: + ldr r2, [r3] + ldrb r1, [r2] + ldrb r0, [r2, 0x1] + lsls r0, 8 + adds r1, r0 + ldrb r0, [r2, 0x2] + lsls r0, 16 + adds r1, r0 + ldrb r0, [r2, 0x3] + lsls r0, 24 + adds r1, r0 + str r1, [r3] + pop {r0} + bx r0 + .align 2, 0 +_08076B70: .4byte gUnknown_0202F7A4 +_08076B74: .4byte gUnknown_0202F7C4 + thumb_func_end ma11_if_else + + thumb_func_start ma12_cond_if +ma12_cond_if: @ 8076B78 + push {r4,r5,lr} + ldr r5, _08076BA8 @ =gUnknown_0202F7A4 + ldr r4, [r5] + adds r2, r4, 0x1 + str r2, [r5] + ldrb r1, [r4, 0x1] + adds r3, r2, 0x1 + str r3, [r5] + ldr r0, _08076BAC @ =gUnknown_0202F7C4 + ldrb r0, [r0] + cmp r1, r0 + bne _08076BB0 + ldrb r1, [r2, 0x1] + ldrb r0, [r3, 0x1] + lsls r0, 8 + adds r1, r0 + ldrb r0, [r3, 0x2] + lsls r0, 16 + adds r1, r0 + ldrb r0, [r3, 0x3] + lsls r0, 24 + adds r1, r0 + str r1, [r5] + b _08076BB4 + .align 2, 0 +_08076BA8: .4byte gUnknown_0202F7A4 +_08076BAC: .4byte gUnknown_0202F7C4 +_08076BB0: + adds r0, r4, 0x6 + str r0, [r5] +_08076BB4: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end ma12_cond_if + + thumb_func_start sub_8076BBC +sub_8076BBC: @ 8076BBC + ldr r3, _08076BDC @ =gUnknown_0202F7A4 + ldr r0, [r3] + adds r2, r0, 0x1 + str r2, [r3] + ldrb r1, [r0, 0x1] + ldrb r0, [r2, 0x1] + lsls r0, 8 + adds r1, r0 + ldrb r0, [r2, 0x2] + lsls r0, 16 + adds r1, r0 + ldrb r0, [r2, 0x3] + lsls r0, 24 + adds r1, r0 + str r1, [r3] + bx lr + .align 2, 0 +_08076BDC: .4byte gUnknown_0202F7A4 + thumb_func_end sub_8076BBC + + thumb_func_start sub_8076BE0 +sub_8076BE0: @ 8076BE0 + push {lr} + ldr r0, _08076BF8 @ =gMain + ldr r1, _08076BFC @ =0x0000043d + adds r0, r1 + ldrb r1, [r0] + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _08076C00 + movs r0, 0 + b _08076C02 + .align 2, 0 +_08076BF8: .4byte gMain +_08076BFC: .4byte 0x0000043d +_08076C00: + movs r0, 0x1 +_08076C02: + pop {r1} + bx r1 + thumb_func_end sub_8076BE0 + + thumb_func_start ma14_load_background +ma14_load_background: @ 8076C08 + push {r4,lr} + ldr r1, _08076C3C @ =gUnknown_0202F7A4 + ldr r2, [r1] + adds r0, r2, 0x1 + str r0, [r1] + ldrb r4, [r2, 0x1] + adds r0, 0x1 + str r0, [r1] + ldr r0, _08076C40 @ =task_p5_load_battle_screen_elements + movs r1, 0x5 + bl CreateTask + lsls r0, 24 + lsrs r0, 24 + ldr r2, _08076C44 @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + strh r4, [r1, 0x8] + ldr r1, _08076C48 @ =gUnknown_0202F7C5 + movs r0, 0x1 + strb r0, [r1] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08076C3C: .4byte gUnknown_0202F7A4 +_08076C40: .4byte task_p5_load_battle_screen_elements +_08076C44: .4byte gTasks +_08076C48: .4byte gUnknown_0202F7C5 + thumb_func_end ma14_load_background + + thumb_func_start sub_8076C4C +sub_8076C4C: @ 8076C4C + push {r4-r7,lr} + mov r7, r8 + push {r7} + ldr r2, _08076C8C @ =gUnknown_0202F7A4 + ldr r1, [r2] + adds r0, r1, 0x1 + str r0, [r2] + ldrb r3, [r1, 0x1] + mov r8, r3 + ldrb r7, [r0, 0x1] + ldrb r6, [r0, 0x2] + adds r1, 0x4 + str r1, [r2] + ldr r0, _08076C90 @ =task_p5_load_battle_screen_elements + movs r1, 0x5 + bl CreateTask + lsls r0, 24 + lsrs r4, r0, 24 + adds r5, r4, 0 + bl sub_8076BE0 + lsls r0, 24 + cmp r0, 0 + beq _08076C98 + ldr r1, _08076C94 @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + strh r6, [r0, 0x8] + b _08076CCA + .align 2, 0 +_08076C8C: .4byte gUnknown_0202F7A4 +_08076C90: .4byte task_p5_load_battle_screen_elements +_08076C94: .4byte gTasks +_08076C98: + ldr r0, _08076CB4 @ =gUnknown_0202F7C9 + ldrb r0, [r0] + bl battle_side_get_owner + lsls r0, 24 + cmp r0, 0 + bne _08076CBC + ldr r1, _08076CB8 @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + strh r7, [r0, 0x8] + b _08076CCA + .align 2, 0 +_08076CB4: .4byte gUnknown_0202F7C9 +_08076CB8: .4byte gTasks +_08076CBC: + ldr r1, _08076CDC @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r0, r1 + mov r1, r8 + strh r1, [r0, 0x8] +_08076CCA: + ldr r1, _08076CE0 @ =gUnknown_0202F7C5 + movs r0, 0x1 + strb r0, [r1] + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08076CDC: .4byte gTasks +_08076CE0: .4byte gUnknown_0202F7C5 + thumb_func_end sub_8076C4C + + thumb_func_start task_p5_load_battle_screen_elements +task_p5_load_battle_screen_elements: @ 8076CE4 + push {r4-r7,lr} + sub sp, 0x4 + lsls r0, 24 + lsrs r5, r0, 24 + ldr r1, _08076D18 @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r4, r0, r1 + ldrh r6, [r4, 0x1C] + movs r0, 0x1C + ldrsh r3, [r4, r0] + adds r7, r1, 0 + cmp r3, 0 + bne _08076D1C + str r3, [sp] + movs r0, 0xE8 + movs r1, 0 + movs r2, 0 + movs r3, 0x10 + bl BeginHardwarePaletteFade + ldrh r0, [r4, 0x1C] + adds r0, 0x1 + strh r0, [r4, 0x1C] + b _08076DAC + .align 2, 0 +_08076D18: .4byte gTasks +_08076D1C: + ldr r2, _08076D38 @ =gPaletteFade + ldrb r1, [r2, 0x7] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + bne _08076DAC + cmp r3, 0x1 + bne _08076D40 + adds r0, r6, 0x1 + strh r0, [r4, 0x1C] + ldr r1, _08076D3C @ =gUnknown_0202F7C5 + movs r0, 0x2 + strb r0, [r1] + b _08076D84 + .align 2, 0 +_08076D38: .4byte gPaletteFade +_08076D3C: .4byte gUnknown_0202F7C5 +_08076D40: + cmp r3, 0x2 + bne _08076D84 + ldrh r0, [r4, 0x8] + lsls r2, r0, 16 + asrs r1, r2, 16 + movs r0, 0x1 + negs r0, r0 + cmp r1, r0 + bne _08076D58 + bl dp01t_11_3_message_for_player_only + b _08076D5E +_08076D58: + lsrs r0, r2, 16 + bl sub_8076DB8 +_08076D5E: + movs r0, 0x1 + str r0, [sp] + movs r0, 0xE8 + movs r1, 0 + movs r2, 0x10 + movs r3, 0 + bl BeginHardwarePaletteFade + ldr r1, _08076D80 @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r0, r1 + ldrh r1, [r0, 0x1C] + adds r1, 0x1 + strh r1, [r0, 0x1C] + b _08076DAC + .align 2, 0 +_08076D80: .4byte gTasks +_08076D84: + ldrb r1, [r2, 0x7] + movs r0, 0x80 + ands r0, r1 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0 + bne _08076DAC + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r0, r7 + movs r1, 0x1C + ldrsh r0, [r0, r1] + cmp r0, 0x3 + bne _08076DAC + adds r0, r5, 0 + bl DestroyTask + ldr r0, _08076DB4 @ =gUnknown_0202F7C5 + strb r4, [r0] +_08076DAC: + add sp, 0x4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08076DB4: .4byte gUnknown_0202F7C5 + thumb_func_end task_p5_load_battle_screen_elements + + thumb_func_start sub_8076DB8 +sub_8076DB8: @ 8076DB8 + push {r4-r7,lr} + lsls r0, 16 + lsrs r6, r0, 16 + bl sub_8076BE0 + lsls r0, 24 + cmp r0, 0 + beq _08076E70 + ldr r7, _08076E54 @ =gBattleAnimBackgroundTable + lsls r0, r6, 1 + adds r0, r6 + lsls r4, r0, 2 + adds r0, r7, 0 + adds r0, 0x8 + adds r0, r4, r0 + ldr r5, [r0] + bl sub_8076BE0 + lsls r0, 24 + ldr r1, _08076E58 @ =0x02018000 + cmp r0, 0 + beq _08076DE8 + ldr r0, _08076E5C @ =0xffffc800 + adds r1, r0 +_08076DE8: + adds r0, r5, 0 + bl sub_800D238 + bl sub_80789BC + lsls r0, 24 + lsrs r5, r0, 24 + bl sub_8076BE0 + lsls r0, 24 + ldr r1, _08076E58 @ =0x02018000 + cmp r0, 0 + beq _08076E06 + ldr r0, _08076E5C @ =0xffffc800 + adds r1, r0 +_08076E06: + movs r2, 0x80 + lsls r2, 1 + adds r0, r5, 0 + movs r3, 0 + bl sub_80763FC + bl sub_8076BE0 + lsls r0, 24 + ldr r2, _08076E58 @ =0x02018000 + cmp r0, 0 + beq _08076E22 + ldr r0, _08076E5C @ =0xffffc800 + adds r2, r0 +_08076E22: + ldr r1, _08076E60 @ =0x0600d000 + ldr r0, _08076E64 @ =0x040000d4 + str r2, [r0] + str r1, [r0, 0x4] + ldr r1, _08076E68 @ =0x84000200 + str r1, [r0, 0x8] + ldr r0, [r0, 0x8] + adds r0, r4, r7 + ldr r0, [r0] + ldr r1, _08076E6C @ =0x06002000 + bl LZDecompressVram + adds r0, r7, 0x4 + adds r0, r4, r0 + ldr r4, [r0] + bl sub_80789BC + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 20 + adds r0, r4, 0 + movs r2, 0x20 + bl LoadCompressedPalette + b _08076E9E + .align 2, 0 +_08076E54: .4byte gBattleAnimBackgroundTable +_08076E58: .4byte 0x02018000 +_08076E5C: .4byte 0xffffc800 +_08076E60: .4byte 0x0600d000 +_08076E64: .4byte 0x040000d4 +_08076E68: .4byte 0x84000200 +_08076E6C: .4byte 0x06002000 +_08076E70: + ldr r5, _08076EA4 @ =gBattleAnimBackgroundTable + lsls r4, r6, 1 + adds r4, r6 + lsls r4, 2 + adds r0, r5, 0 + adds r0, 0x8 + adds r0, r4, r0 + ldr r0, [r0] + ldr r1, _08076EA8 @ =0x0600d000 + bl LZDecompressVram + adds r0, r4, r5 + ldr r0, [r0] + ldr r1, _08076EAC @ =0x06008000 + bl LZDecompressVram + adds r5, 0x4 + adds r4, r5 + ldr r0, [r4] + movs r1, 0x20 + movs r2, 0x20 + bl LoadCompressedPalette +_08076E9E: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08076EA4: .4byte gBattleAnimBackgroundTable +_08076EA8: .4byte 0x0600d000 +_08076EAC: .4byte 0x06008000 + thumb_func_end sub_8076DB8 + + thumb_func_start dp01t_11_3_message_for_player_only +dp01t_11_3_message_for_player_only: @ 8076EB0 + push {lr} + bl sub_8076BE0 + lsls r0, 24 + cmp r0, 0 + beq _08076EC2 + bl sub_80AB2AC + b _08076EC6 +_08076EC2: + bl sub_800D7B8 +_08076EC6: + pop {r0} + bx r0 + thumb_func_end dp01t_11_3_message_for_player_only + + thumb_func_start ma15_load_battle_screen_elements +ma15_load_battle_screen_elements: @ 8076ECC + push {lr} + ldr r1, _08076EFC @ =gUnknown_0202F7A4 + ldr r0, [r1] + adds r0, 0x1 + str r0, [r1] + ldr r0, _08076F00 @ =task_p5_load_battle_screen_elements + movs r1, 0x5 + bl CreateTask + lsls r0, 24 + lsrs r0, 24 + ldr r2, _08076F04 @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + ldr r0, _08076F08 @ =0x0000ffff + strh r0, [r1, 0x8] + ldr r1, _08076F0C @ =gUnknown_0202F7C5 + movs r0, 0x1 + strb r0, [r1] + pop {r0} + bx r0 + .align 2, 0 +_08076EFC: .4byte gUnknown_0202F7A4 +_08076F00: .4byte task_p5_load_battle_screen_elements +_08076F04: .4byte gTasks +_08076F08: .4byte 0x0000ffff +_08076F0C: .4byte gUnknown_0202F7C5 + thumb_func_end ma15_load_battle_screen_elements + + thumb_func_start ma16_wait_for_battle_screen_elements_s2 +ma16_wait_for_battle_screen_elements_s2: @ 8076F10 + push {lr} + ldr r0, _08076F28 @ =gUnknown_0202F7C5 + ldrb r0, [r0] + cmp r0, 0x2 + bne _08076F34 + ldr r1, _08076F2C @ =gUnknown_0202F7A4 + ldr r0, [r1] + adds r0, 0x1 + str r0, [r1] + ldr r1, _08076F30 @ =gUnknown_0202F7B0 + movs r0, 0 + b _08076F38 + .align 2, 0 +_08076F28: .4byte gUnknown_0202F7C5 +_08076F2C: .4byte gUnknown_0202F7A4 +_08076F30: .4byte gUnknown_0202F7B0 +_08076F34: + ldr r1, _08076F40 @ =gUnknown_0202F7B0 + movs r0, 0x1 +_08076F38: + strb r0, [r1] + pop {r0} + bx r0 + .align 2, 0 +_08076F40: .4byte gUnknown_0202F7B0 + thumb_func_end ma16_wait_for_battle_screen_elements_s2 + + thumb_func_start sub_8076F44 +sub_8076F44: @ 8076F44 + push {lr} + ldr r0, _08076F5C @ =gUnknown_0202F7C5 + ldrb r2, [r0] + cmp r2, 0 + bne _08076F68 + ldr r0, _08076F60 @ =gUnknown_0202F7A4 + ldr r1, [r0] + adds r1, 0x1 + str r1, [r0] + ldr r0, _08076F64 @ =gUnknown_0202F7B0 + strb r2, [r0] + b _08076F6E + .align 2, 0 +_08076F5C: .4byte gUnknown_0202F7C5 +_08076F60: .4byte gUnknown_0202F7A4 +_08076F64: .4byte gUnknown_0202F7B0 +_08076F68: + ldr r1, _08076F74 @ =gUnknown_0202F7B0 + movs r0, 0x1 + strb r0, [r1] +_08076F6E: + pop {r0} + bx r0 + .align 2, 0 +_08076F74: .4byte gUnknown_0202F7B0 + thumb_func_end sub_8076F44 + + thumb_func_start ma18_load_background_probably +ma18_load_background_probably: @ 8076F78 + push {r4,lr} + ldr r4, _08076F94 @ =gUnknown_0202F7A4 + ldr r1, [r4] + adds r0, r1, 0x1 + str r0, [r4] + ldrb r0, [r1, 0x1] + bl sub_8076DB8 + ldr r0, [r4] + adds r0, 0x1 + str r0, [r4] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08076F94: .4byte gUnknown_0202F7A4 + thumb_func_end ma18_load_background_probably + + thumb_func_start sub_8076F98 +sub_8076F98: @ 8076F98 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + bl sub_8076BE0 + lsls r0, 24 + cmp r0, 0 + bne _08076FDC + ldr r0, _08076FD4 @ =gUnknown_0202F7C8 + ldrb r2, [r0] + lsls r0, r2, 1 + adds r0, r2 + lsls r0, 2 + ldr r1, _08076FD8 @ =0x02017810 + adds r0, r1 + ldrb r1, [r0] + movs r0, 0x10 + ands r0, r1 + cmp r0, 0 + beq _08076FDC + adds r0, r2, 0 + bl battle_side_get_owner + lsls r0, 24 + movs r4, 0xC0 + cmp r0, 0 + beq _0807706E + movs r4, 0x3F + b _0807706E + .align 2, 0 +_08076FD4: .4byte gUnknown_0202F7C8 +_08076FD8: .4byte 0x02017810 +_08076FDC: + bl sub_8076BE0 + lsls r0, 24 + cmp r0, 0 + beq _08077004 + ldr r0, _08076FFC @ =gUnknown_0202F7C8 + ldr r1, _08077000 @ =gUnknown_0202F7C9 + ldrb r0, [r0] + ldrb r1, [r1] + cmp r0, r1 + bne _08077068 + cmp r0, 0x2 + bne _08077068 + cmp r4, 0x3F + beq _0807707A + b _08077068 + .align 2, 0 +_08076FFC: .4byte gUnknown_0202F7C8 +_08077000: .4byte gUnknown_0202F7C9 +_08077004: + ldr r0, _0807702C @ =gUnknown_0202F7C8 + ldrb r0, [r0] + bl battle_side_get_owner + lsls r0, 24 + cmp r0, 0 + bne _08077042 + ldr r0, _08077030 @ =gUnknown_0202F7C9 + ldrb r0, [r0] + bl battle_side_get_owner + lsls r0, 24 + cmp r0, 0 + bne _0807706E + lsls r0, r4, 24 + asrs r1, r0, 24 + cmp r1, 0x3F + bne _08077034 + movs r4, 0xC0 + b _0807706E + .align 2, 0 +_0807702C: .4byte gUnknown_0202F7C8 +_08077030: .4byte gUnknown_0202F7C9 +_08077034: + movs r0, 0x40 + negs r0, r0 + cmp r1, r0 + beq _0807706E + negs r0, r1 + lsls r0, 24 + b _0807706C +_08077042: + ldr r0, _08077064 @ =gUnknown_0202F7C9 + ldrb r0, [r0] + bl battle_side_get_owner + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _08077068 + lsls r0, r4, 24 + asrs r0, 24 + movs r1, 0x40 + negs r1, r1 + cmp r0, r1 + bne _0807706E + movs r4, 0x3F + b _0807706E + .align 2, 0 +_08077064: .4byte gUnknown_0202F7C9 +_08077068: + lsls r0, r4, 24 + negs r0, r0 +_0807706C: + lsrs r4, r0, 24 +_0807706E: + lsls r0, r4, 24 + asrs r0, 24 + cmp r0, 0x3F + ble _0807707A + movs r4, 0x3F + b _08077088 +_0807707A: + lsls r0, r4, 24 + asrs r0, 24 + movs r1, 0x40 + negs r1, r1 + cmp r0, r1 + bge _08077088 + movs r4, 0xC0 +_08077088: + lsls r0, r4, 24 + asrs r0, 24 + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_8076F98 + + thumb_func_start sub_8077094 +sub_8077094: @ 8077094 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + bl sub_8076BE0 + lsls r0, 24 + cmp r0, 0 + bne _080770D8 + ldr r0, _080770D0 @ =gUnknown_0202F7C8 + ldrb r2, [r0] + lsls r0, r2, 1 + adds r0, r2 + lsls r0, 2 + ldr r1, _080770D4 @ =0x02017810 + adds r0, r1 + ldrb r1, [r0] + movs r0, 0x10 + ands r0, r1 + cmp r0, 0 + beq _080770D8 + adds r0, r2, 0 + bl battle_side_get_owner + lsls r0, 24 + movs r4, 0xC0 + cmp r0, 0 + beq _080770F6 + movs r4, 0x3F + b _080770F6 + .align 2, 0 +_080770D0: .4byte gUnknown_0202F7C8 +_080770D4: .4byte 0x02017810 +_080770D8: + ldr r0, _08077100 @ =gUnknown_0202F7C8 + ldrb r0, [r0] + bl battle_side_get_owner + lsls r0, 24 + cmp r0, 0 + bne _080770F0 + bl sub_8076BE0 + lsls r0, 24 + cmp r0, 0 + beq _080770F6 +_080770F0: + lsls r0, r4, 24 + negs r0, r0 + lsrs r4, r0, 24 +_080770F6: + lsls r0, r4, 24 + asrs r0, 24 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_08077100: .4byte gUnknown_0202F7C8 + thumb_func_end sub_8077094 + + thumb_func_start sub_8077104 +sub_8077104: @ 8077104 + push {lr} + lsls r0, 16 + lsrs r1, r0, 16 + asrs r2, r0, 16 + cmp r2, 0x3F + ble _08077114 + movs r1, 0x3F + b _0807711E +_08077114: + movs r0, 0x40 + negs r0, r0 + cmp r2, r0 + bge _0807711E + ldr r1, _08077128 @ =0x0000ffc0 +_0807711E: + lsls r0, r1, 16 + asrs r0, 16 + pop {r1} + bx r1 + .align 2, 0 +_08077128: .4byte 0x0000ffc0 + thumb_func_end sub_8077104 + + thumb_func_start sub_807712C +sub_807712C: @ 807712C + push {lr} + lsls r2, 16 + lsrs r2, 16 + adds r3, r2, 0 + lsls r0, 16 + asrs r0, 16 + lsls r1, 16 + asrs r1, 16 + cmp r0, r1 + bge _0807714A + lsls r0, r2, 16 + asrs r0, 16 + cmp r0, 0 + bge _0807715A + b _08077158 +_0807714A: + cmp r0, r1 + ble _08077160 + lsls r0, r3, 16 + asrs r0, 16 + cmp r0, 0 + bge _08077158 + negs r0, r0 +_08077158: + negs r0, r0 +_0807715A: + lsls r0, 16 + lsrs r0, 16 + b _08077162 +_08077160: + movs r0, 0 +_08077162: + lsls r0, 16 + asrs r0, 16 + pop {r1} + bx r1 + thumb_func_end sub_807712C + + thumb_func_start ma19_08073BC8 +ma19_08073BC8: @ 807716C + push {r4,r5,lr} + ldr r5, _080771A0 @ =gUnknown_0202F7A4 + ldr r0, [r5] + adds r1, r0, 0x1 + str r1, [r5] + ldrb r4, [r0, 0x1] + ldrb r0, [r1, 0x1] + lsls r0, 8 + orrs r4, r0 + movs r0, 0x2 + ldrsb r0, [r1, r0] + bl sub_8076F98 + adds r1, r0, 0 + lsls r1, 24 + asrs r1, 24 + adds r0, r4, 0 + bl PlaySE12WithPanning + ldr r0, [r5] + adds r0, 0x3 + str r0, [r5] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080771A0: .4byte gUnknown_0202F7A4 + thumb_func_end ma19_08073BC8 + + thumb_func_start ma1A_8073C00 +ma1A_8073C00: @ 80771A4 + push {r4,lr} + ldr r4, _080771CC @ =gUnknown_0202F7A4 + ldr r1, [r4] + adds r0, r1, 0x1 + str r0, [r4] + movs r0, 0x1 + ldrsb r0, [r1, r0] + bl sub_8076F98 + lsls r0, 24 + asrs r0, 24 + bl SE12PanpotControl + ldr r0, [r4] + adds r0, 0x1 + str r0, [r4] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080771CC: .4byte gUnknown_0202F7A4 + thumb_func_end ma1A_8073C00 + + thumb_func_start ma1B_8073C2C +ma1B_8073C2C: @ 80771D0 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + ldr r0, _08077280 @ =gUnknown_0202F7A4 + mov r10, r0 + ldr r0, [r0] + adds r1, r0, 0x1 + mov r2, r10 + str r1, [r2] + ldrb r0, [r0, 0x1] + mov r9, r0 + ldrb r0, [r1, 0x1] + lsls r0, 8 + mov r2, r9 + orrs r2, r0 + mov r9, r2 + ldrb r4, [r1, 0x3] + ldrb r6, [r1, 0x4] + ldrb r7, [r1, 0x5] + movs r0, 0x2 + ldrsb r0, [r1, r0] + bl sub_8076F98 + adds r5, r0, 0 + lsls r5, 24 + lsrs r5, 24 + lsls r4, 24 + asrs r4, 24 + adds r0, r4, 0 + bl sub_8076F98 + mov r8, r0 + lsls r5, 24 + asrs r5, 24 + mov r0, r8 + lsls r0, 24 + asrs r0, 24 + mov r8, r0 + lsls r6, 24 + asrs r6, 24 + adds r0, r5, 0 + mov r1, r8 + adds r2, r6, 0 + bl sub_807712C + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldr r0, _08077284 @ =c3_08073CEC + movs r1, 0x1 + bl CreateTask + lsls r0, 24 + lsrs r0, 24 + ldr r2, _08077288 @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + strh r5, [r1, 0x8] + mov r2, r8 + strh r2, [r1, 0xA] + lsls r4, 24 + asrs r4, 24 + strh r4, [r1, 0xC] + strh r7, [r1, 0xE] + strh r5, [r1, 0x10] + mov r0, r9 + adds r1, r5, 0 + bl PlaySE12WithPanning + ldr r1, _0807728C @ =gUnknown_0202F7B3 + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] + mov r1, r10 + ldr r0, [r1] + adds r0, 0x6 + str r0, [r1] + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08077280: .4byte gUnknown_0202F7A4 +_08077284: .4byte c3_08073CEC +_08077288: .4byte gTasks +_0807728C: .4byte gUnknown_0202F7B3 + thumb_func_end ma1B_8073C2C + + thumb_func_start c3_08073CEC +c3_08073CEC: @ 8077290 + push {r4-r7,lr} + lsls r0, 24 + lsrs r5, r0, 24 + movs r7, 0 + ldr r1, _080772D4 @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r2, r0, r1 + ldrh r0, [r2, 0x18] + adds r1, r0, 0x1 + strh r1, [r2, 0x18] + lsls r0, 16 + asrs r0, 16 + movs r3, 0xE + ldrsh r1, [r2, r3] + cmp r0, r1 + blt _08077314 + strh r7, [r2, 0x18] + ldrh r6, [r2, 0x8] + ldrh r3, [r2, 0xA] + movs r4, 0x10 + ldrsh r0, [r2, r4] + movs r4, 0xC + ldrsh r1, [r2, r4] + adds r0, r1 + lsls r0, 16 + lsrs r4, r0, 16 + strh r4, [r2, 0x10] + cmp r1, 0 + bne _080772D8 + lsls r2, r3, 16 + b _080772FC + .align 2, 0 +_080772D4: .4byte gTasks +_080772D8: + lsls r1, r6, 16 + lsls r0, r3, 16 + asrs r3, r0, 16 + adds r2, r0, 0 + cmp r1, r2 + bge _080772EE + lsls r0, r4, 16 + asrs r0, 16 + cmp r0, r3 + blt _080772F8 + b _080772FC +_080772EE: + lsls r0, r4, 16 + asrs r0, 16 + cmp r0, r3 + bgt _080772F8 + movs r7, 0x1 +_080772F8: + cmp r7, 0 + beq _0807730C +_080772FC: + lsrs r4, r2, 16 + adds r0, r5, 0 + bl DestroyTask + ldr r1, _0807731C @ =gUnknown_0202F7B3 + ldrb r0, [r1] + subs r0, 0x1 + strb r0, [r1] +_0807730C: + lsls r0, r4, 24 + asrs r0, 24 + bl SE12PanpotControl +_08077314: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0807731C: .4byte gUnknown_0202F7B3 + thumb_func_end c3_08073CEC + + thumb_func_start sub_8077320 +sub_8077320: @ 8077320 + push {r4-r6,lr} + mov r6, r10 + mov r5, r9 + mov r4, r8 + push {r4-r6} + ldr r0, _080773A4 @ =gUnknown_0202F7A4 + mov r9, r0 + ldr r0, [r0] + adds r1, r0, 0x1 + mov r2, r9 + str r1, [r2] + ldrb r0, [r0, 0x1] + mov r8, r0 + ldrb r0, [r1, 0x1] + lsls r0, 8 + mov r2, r8 + orrs r2, r0 + mov r8, r2 + ldrb r4, [r1, 0x2] + ldrb r5, [r1, 0x3] + ldrb r6, [r1, 0x4] + ldrb r1, [r1, 0x5] + mov r10, r1 + ldr r0, _080773A8 @ =c3_08073CEC + movs r1, 0x1 + bl CreateTask + lsls r0, 24 + lsrs r0, 24 + ldr r2, _080773AC @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + lsls r4, 24 + asrs r4, 24 + strh r4, [r1, 0x8] + lsls r5, 24 + asrs r5, 24 + strh r5, [r1, 0xA] + lsls r6, 24 + asrs r6, 24 + strh r6, [r1, 0xC] + mov r0, r10 + strh r0, [r1, 0xE] + strh r4, [r1, 0x10] + mov r0, r8 + adds r1, r4, 0 + bl PlaySE12WithPanning + ldr r1, _080773B0 @ =gUnknown_0202F7B3 + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] + mov r1, r9 + ldr r0, [r1] + adds r0, 0x6 + str r0, [r1] + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080773A4: .4byte gUnknown_0202F7A4 +_080773A8: .4byte c3_08073CEC +_080773AC: .4byte gTasks +_080773B0: .4byte gUnknown_0202F7B3 + thumb_func_end sub_8077320 + + thumb_func_start sub_80773B4 +sub_80773B4: @ 80773B4 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + ldr r0, _08077464 @ =gUnknown_0202F7A4 + mov r10, r0 + ldr r0, [r0] + adds r1, r0, 0x1 + mov r2, r10 + str r1, [r2] + ldrb r0, [r0, 0x1] + mov r9, r0 + ldrb r0, [r1, 0x1] + lsls r0, 8 + mov r2, r9 + orrs r2, r0 + mov r9, r2 + ldrb r4, [r1, 0x3] + ldrb r0, [r1, 0x4] + mov r8, r0 + ldrb r7, [r1, 0x5] + movs r0, 0x2 + ldrsb r0, [r1, r0] + bl sub_8077094 + adds r6, r0, 0 + lsls r6, 24 + lsrs r6, 24 + lsls r4, 24 + asrs r4, 24 + adds r0, r4, 0 + bl sub_8077094 + adds r5, r0, 0 + lsls r5, 24 + lsrs r5, 24 + mov r1, r8 + lsls r1, 24 + asrs r1, 24 + mov r8, r1 + mov r0, r8 + bl sub_8077094 + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldr r0, _08077468 @ =c3_08073CEC + movs r1, 0x1 + bl CreateTask + lsls r0, 24 + lsrs r0, 24 + ldr r2, _0807746C @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + lsls r6, 24 + asrs r6, 24 + strh r6, [r1, 0x8] + lsls r5, 24 + asrs r5, 24 + strh r5, [r1, 0xA] + lsls r4, 24 + asrs r4, 24 + strh r4, [r1, 0xC] + strh r7, [r1, 0xE] + strh r6, [r1, 0x10] + mov r0, r9 + adds r1, r6, 0 + bl PlaySE12WithPanning + ldr r1, _08077470 @ =gUnknown_0202F7B3 + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] + mov r2, r10 + ldr r0, [r2] + adds r0, 0x6 + str r0, [r2] + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08077464: .4byte gUnknown_0202F7A4 +_08077468: .4byte c3_08073CEC +_0807746C: .4byte gTasks +_08077470: .4byte gUnknown_0202F7B3 + thumb_func_end sub_80773B4 + + thumb_func_start ma1C_8073ED0 +ma1C_8073ED0: @ 8077474 + push {r4-r6,lr} + mov r6, r9 + mov r5, r8 + push {r5,r6} + ldr r6, _080774EC @ =gUnknown_0202F7A4 + ldr r0, [r6] + adds r1, r0, 0x1 + str r1, [r6] + ldrb r5, [r0, 0x1] + ldrb r0, [r1, 0x1] + lsls r0, 8 + orrs r5, r0 + ldrb r0, [r1, 0x3] + mov r8, r0 + ldrb r2, [r1, 0x4] + mov r9, r2 + movs r0, 0x2 + ldrsb r0, [r1, r0] + bl sub_8076F98 + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldr r0, _080774F0 @ =sub_80774FC + movs r1, 0x1 + bl CreateTask + lsls r0, 24 + lsrs r0, 24 + ldr r2, _080774F4 @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + strh r5, [r1, 0x8] + lsls r4, 24 + asrs r4, 24 + strh r4, [r1, 0xA] + mov r2, r8 + strh r2, [r1, 0xC] + mov r2, r9 + strh r2, [r1, 0xE] + mov r2, r8 + strh r2, [r1, 0x18] + ldr r1, [r1] + bl _call_via_r1 + ldr r1, _080774F8 @ =gUnknown_0202F7B3 + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] + ldr r0, [r6] + adds r0, 0x5 + str r0, [r6] + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080774EC: .4byte gUnknown_0202F7A4 +_080774F0: .4byte sub_80774FC +_080774F4: .4byte gTasks +_080774F8: .4byte gUnknown_0202F7B3 + thumb_func_end ma1C_8073ED0 + + thumb_func_start sub_80774FC +sub_80774FC: @ 80774FC + push {r4,r5,lr} + lsls r0, 24 + lsrs r5, r0, 24 + ldr r1, _08077550 @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r2, r0, r1 + ldrh r0, [r2, 0x18] + adds r1, r0, 0x1 + strh r1, [r2, 0x18] + lsls r0, 16 + asrs r0, 16 + movs r3, 0xC + ldrsh r1, [r2, r3] + cmp r0, r1 + blt _0807754A + movs r0, 0 + strh r0, [r2, 0x18] + ldrh r0, [r2, 0x8] + ldrb r1, [r2, 0xA] + ldrh r4, [r2, 0xE] + subs r4, 0x1 + strh r4, [r2, 0xE] + lsls r4, 24 + lsrs r4, 24 + lsls r1, 24 + asrs r1, 24 + bl PlaySE12WithPanning + cmp r4, 0 + bne _0807754A + adds r0, r5, 0 + bl DestroyTask + ldr r1, _08077554 @ =gUnknown_0202F7B3 + ldrb r0, [r1] + subs r0, 0x1 + strb r0, [r1] +_0807754A: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08077550: .4byte gTasks +_08077554: .4byte gUnknown_0202F7B3 + thumb_func_end sub_80774FC + + thumb_func_start ma1D_08073FB4 +ma1D_08073FB4: @ 8077558 + push {r4-r6,lr} + mov r6, r8 + push {r6} + ldr r6, _080775BC @ =gUnknown_0202F7A4 + ldr r0, [r6] + adds r1, r0, 0x1 + str r1, [r6] + ldrb r5, [r0, 0x1] + ldrb r0, [r1, 0x1] + lsls r0, 8 + orrs r5, r0 + ldrb r0, [r1, 0x3] + mov r8, r0 + movs r0, 0x2 + ldrsb r0, [r1, r0] + bl sub_8076F98 + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldr r0, _080775C0 @ =sub_80775CC + movs r1, 0x1 + bl CreateTask + lsls r0, 24 + lsrs r0, 24 + ldr r2, _080775C4 @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + strh r5, [r1, 0x8] + lsls r4, 24 + asrs r4, 24 + strh r4, [r1, 0xA] + mov r0, r8 + strh r0, [r1, 0xC] + ldr r1, _080775C8 @ =gUnknown_0202F7B3 + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] + ldr r0, [r6] + adds r0, 0x4 + str r0, [r6] + pop {r3} + mov r8, r3 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080775BC: .4byte gUnknown_0202F7A4 +_080775C0: .4byte sub_80775CC +_080775C4: .4byte gTasks +_080775C8: .4byte gUnknown_0202F7B3 + thumb_func_end ma1D_08073FB4 + + thumb_func_start sub_80775CC +sub_80775CC: @ 80775CC + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + ldr r1, _08077608 @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r2, r0, r1 + ldrh r0, [r2, 0xC] + subs r1, r0, 0x1 + strh r1, [r2, 0xC] + lsls r0, 16 + cmp r0, 0 + bgt _08077600 + ldrh r0, [r2, 0x8] + movs r1, 0xA + ldrsb r1, [r2, r1] + bl PlaySE12WithPanning + adds r0, r4, 0 + bl DestroyTask + ldr r1, _0807760C @ =gUnknown_0202F7B3 + ldrb r0, [r1] + subs r0, 0x1 + strb r0, [r1] +_08077600: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08077608: .4byte gTasks +_0807760C: .4byte gUnknown_0202F7B3 + thumb_func_end sub_80775CC + + thumb_func_start sub_8077610 +sub_8077610: @ 8077610 + push {r4-r6,lr} + ldr r4, _08077678 @ =gUnknown_0202F7A4 + ldr r1, [r4] + adds r3, r1, 0x1 + str r3, [r4] + ldrb r2, [r1, 0x1] + ldrb r0, [r3, 0x1] + lsls r0, 8 + adds r2, r0 + ldrb r0, [r3, 0x2] + lsls r0, 16 + adds r2, r0 + ldrb r0, [r3, 0x3] + lsls r0, 24 + adds r6, r2, r0 + adds r0, r1, 0x5 + str r0, [r4] + ldrb r0, [r1, 0x5] + adds r1, 0x6 + str r1, [r4] + cmp r0, 0 + beq _0807765A + adds r5, r4, 0 + ldr r4, _0807767C @ =gUnknown_03004B00 + adds r3, r0, 0 +_08077642: + ldr r2, [r5] + ldrb r1, [r2] + ldrb r0, [r2, 0x1] + lsls r0, 8 + orrs r1, r0 + strh r1, [r4] + adds r2, 0x2 + str r2, [r5] + adds r4, 0x2 + subs r3, 0x1 + cmp r3, 0 + bne _08077642 +_0807765A: + adds r0, r6, 0 + movs r1, 0x1 + bl CreateTask + lsls r0, 24 + lsrs r0, 24 + bl _call_via_r6 + ldr r1, _08077680 @ =gUnknown_0202F7B3 + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_08077678: .4byte gUnknown_0202F7A4 +_0807767C: .4byte gUnknown_03004B00 +_08077680: .4byte gUnknown_0202F7B3 + thumb_func_end sub_8077610 + + thumb_func_start ma20_wait_for_something +ma20_wait_for_something: @ 8077684 + push {r4,r5,lr} + ldr r0, _080776BC @ =gUnknown_0202F7B3 + ldrb r5, [r0] + cmp r5, 0 + bne _080776CC + bl IsSEPlaying + lsls r0, 24 + lsrs r1, r0, 24 + cmp r1, 0 + beq _080776E4 + ldr r4, _080776C0 @ =gUnknown_03004AF0 + ldrh r0, [r4] + adds r0, 0x1 + strh r0, [r4] + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x5A + bls _080776D2 + ldr r0, _080776C4 @ =gMPlay_SE1 + bl m4aMPlayStop + ldr r0, _080776C8 @ =gMPlay_SE2 + bl m4aMPlayStop + strh r5, [r4] + b _080776F6 + .align 2, 0 +_080776BC: .4byte gUnknown_0202F7B3 +_080776C0: .4byte gUnknown_03004AF0 +_080776C4: .4byte gMPlay_SE1 +_080776C8: .4byte gMPlay_SE2 +_080776CC: + ldr r1, _080776DC @ =gUnknown_03004AF0 + movs r0, 0 + strh r0, [r1] +_080776D2: + ldr r1, _080776E0 @ =gUnknown_0202F7B0 + movs r0, 0x1 + strb r0, [r1] + b _080776F6 + .align 2, 0 +_080776DC: .4byte gUnknown_03004AF0 +_080776E0: .4byte gUnknown_0202F7B0 +_080776E4: + ldr r0, _080776FC @ =gUnknown_03004AF0 + movs r2, 0 + strh r1, [r0] + ldr r1, _08077700 @ =gUnknown_0202F7A4 + ldr r0, [r1] + adds r0, 0x1 + str r0, [r1] + ldr r0, _08077704 @ =gUnknown_0202F7B0 + strb r2, [r0] +_080776F6: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080776FC: .4byte gUnknown_03004AF0 +_08077700: .4byte gUnknown_0202F7A4 +_08077704: .4byte gUnknown_0202F7B0 + thumb_func_end ma20_wait_for_something + + thumb_func_start ma21_08074164 +ma21_08074164: @ 8077708 + push {r4-r6,lr} + ldr r5, _08077748 @ =gUnknown_0202F7A4 + ldr r4, [r5] + adds r3, r4, 0x1 + str r3, [r5] + ldrb r2, [r4, 0x1] + ldrb r1, [r3, 0x1] + ldrb r0, [r3, 0x2] + lsls r0, 8 + orrs r1, r0 + ldr r0, _0807774C @ =gUnknown_03004B00 + lsls r2, 1 + adds r2, r0 + lsls r1, 16 + asrs r1, 16 + movs r6, 0 + ldrsh r0, [r2, r6] + cmp r1, r0 + bne _08077750 + ldrb r1, [r3, 0x3] + ldrb r0, [r3, 0x4] + lsls r0, 8 + adds r1, r0 + ldrb r0, [r3, 0x5] + lsls r0, 16 + adds r1, r0 + ldrb r0, [r3, 0x6] + lsls r0, 24 + adds r1, r0 + str r1, [r5] + b _08077756 + .align 2, 0 +_08077748: .4byte gUnknown_0202F7A4 +_0807774C: .4byte gUnknown_03004B00 +_08077750: + adds r0, r4, 0 + adds r0, 0x8 + str r0, [r5] +_08077756: + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end ma21_08074164 + + thumb_func_start sub_807775C +sub_807775C: @ 807775C + push {r4,lr} + ldr r4, _0807778C @ =gUnknown_0202F7A4 + ldr r0, [r4] + adds r0, 0x1 + str r0, [r4] + bl sub_8076BE0 + lsls r0, 24 + cmp r0, 0 + beq _08077790 + ldr r2, [r4] + ldrb r1, [r2] + ldrb r0, [r2, 0x1] + lsls r0, 8 + adds r1, r0 + ldrb r0, [r2, 0x2] + lsls r0, 16 + adds r1, r0 + ldrb r0, [r2, 0x3] + lsls r0, 24 + adds r1, r0 + str r1, [r4] + b _08077796 + .align 2, 0 +_0807778C: .4byte gUnknown_0202F7A4 +_08077790: + ldr r0, [r4] + adds r0, 0x4 + str r0, [r4] +_08077796: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_807775C + + thumb_func_start sub_807779C +sub_807779C: @ 807779C + push {r4,lr} + ldr r0, _080777B0 @ =gUnknown_0202F7A4 + ldr r1, [r0] + ldrb r2, [r1, 0x1] + adds r1, 0x2 + str r1, [r0] + cmp r2, 0 + beq _080777B8 + ldr r0, _080777B4 @ =gUnknown_0202F7C9 + b _080777BA + .align 2, 0 +_080777B0: .4byte gUnknown_0202F7A4 +_080777B4: .4byte gUnknown_0202F7C9 +_080777B8: + ldr r0, _080777FC @ =gUnknown_0202F7C8 +_080777BA: + ldrb r0, [r0] + bl battle_get_per_side_status + lsls r0, 24 + lsrs r4, r0, 24 + bl sub_8076BE0 + lsls r0, 24 + cmp r0, 0 + bne _080777F4 + cmp r4, 0 + beq _080777D6 + cmp r4, 0x3 + bne _080777F4 +_080777D6: + ldr r3, _08077800 @ =REG_BG1CNT + ldrb r2, [r3] + movs r1, 0x4 + negs r1, r1 + adds r0, r1, 0 + ands r0, r2 + movs r2, 0x1 + orrs r0, r2 + strb r0, [r3] + ldr r2, _08077804 @ =REG_BG2CNT + ldrb r0, [r2] + ands r1, r0 + movs r0, 0x2 + orrs r1, r0 + strb r1, [r2] +_080777F4: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080777FC: .4byte gUnknown_0202F7C8 +_08077800: .4byte REG_BG1CNT +_08077804: .4byte REG_BG2CNT + thumb_func_end sub_807779C + + thumb_func_start sub_8077808 +sub_8077808: @ 8077808 + push {lr} + ldr r0, _08077840 @ =gUnknown_0202F7A4 + ldr r1, [r0] + adds r1, 0x1 + str r1, [r0] + bl sub_8076BE0 + lsls r0, 24 + cmp r0, 0 + bne _0807783A + ldr r3, _08077844 @ =REG_BG1CNT + ldrb r2, [r3] + movs r1, 0x4 + negs r1, r1 + adds r0, r1, 0 + ands r0, r2 + movs r2, 0x1 + orrs r0, r2 + strb r0, [r3] + ldr r2, _08077848 @ =REG_BG2CNT + ldrb r0, [r2] + ands r1, r0 + movs r0, 0x2 + orrs r1, r0 + strb r1, [r2] +_0807783A: + pop {r0} + bx r0 + .align 2, 0 +_08077840: .4byte gUnknown_0202F7A4 +_08077844: .4byte REG_BG1CNT +_08077848: .4byte REG_BG2CNT + thumb_func_end sub_8077808 + + thumb_func_start sub_807784C +sub_807784C: @ 807784C + push {r4-r7,lr} + ldr r1, _0807787C @ =gUnknown_0202F7A4 + ldr r0, [r1] + ldrb r6, [r0, 0x1] + adds r0, 0x2 + str r0, [r1] + ldr r7, _08077880 @ =gUnknown_0202F7C8 + ldrb r0, [r7] + bl battle_side_get_owner + adds r4, r0, 0 + ldr r5, _08077884 @ =gUnknown_0202F7C9 + ldrb r0, [r5] + bl battle_side_get_owner + lsls r4, 24 + lsls r0, 24 + cmp r4, r0 + beq _080778C2 + cmp r6, 0 + beq _08077888 + ldrb r0, [r5] + b _0807788A + .align 2, 0 +_0807787C: .4byte gUnknown_0202F7A4 +_08077880: .4byte gUnknown_0202F7C8 +_08077884: .4byte gUnknown_0202F7C9 +_08077888: + ldrb r0, [r7] +_0807788A: + bl battle_get_per_side_status + lsls r0, 24 + lsrs r4, r0, 24 + bl sub_8076BE0 + lsls r0, 24 + cmp r0, 0 + bne _080778C2 + cmp r4, 0 + beq _080778A4 + cmp r4, 0x3 + bne _080778C2 +_080778A4: + ldr r3, _080778C8 @ =REG_BG1CNT + ldrb r2, [r3] + movs r1, 0x4 + negs r1, r1 + adds r0, r1, 0 + ands r0, r2 + movs r2, 0x1 + orrs r0, r2 + strb r0, [r3] + ldr r2, _080778CC @ =REG_BG2CNT + ldrb r0, [r2] + ands r1, r0 + movs r0, 0x2 + orrs r1, r0 + strb r1, [r2] +_080778C2: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080778C8: .4byte REG_BG1CNT +_080778CC: .4byte REG_BG2CNT + thumb_func_end sub_807784C + + thumb_func_start ma2B_make_side_invisible +ma2B_make_side_invisible: @ 80778D0 + push {r4,lr} + ldr r4, _08077904 @ =gUnknown_0202F7A4 + ldr r0, [r4] + ldrb r0, [r0, 0x1] + bl obj_id_for_side_relative_to_move + lsls r0, 24 + lsrs r2, r0, 24 + cmp r2, 0xFF + beq _080778F8 + ldr r1, _08077908 @ =gSprites + lsls r0, r2, 4 + adds r0, r2 + lsls r0, 2 + adds r0, r1 + adds r0, 0x3E + ldrb r1, [r0] + movs r2, 0x4 + orrs r1, r2 + strb r1, [r0] +_080778F8: + ldr r0, [r4] + adds r0, 0x2 + str r0, [r4] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08077904: .4byte gUnknown_0202F7A4 +_08077908: .4byte gSprites + thumb_func_end ma2B_make_side_invisible + + thumb_func_start ma2C_make_side_visible +ma2C_make_side_visible: @ 807790C + push {r4,lr} + ldr r4, _08077944 @ =gUnknown_0202F7A4 + ldr r0, [r4] + ldrb r0, [r0, 0x1] + bl obj_id_for_side_relative_to_move + lsls r0, 24 + lsrs r2, r0, 24 + cmp r2, 0xFF + beq _08077936 + ldr r1, _08077948 @ =gSprites + lsls r0, r2, 4 + adds r0, r2 + lsls r0, 2 + adds r0, r1 + adds r0, 0x3E + ldrb r2, [r0] + movs r1, 0x5 + negs r1, r1 + ands r1, r2 + strb r1, [r0] +_08077936: + ldr r0, [r4] + adds r0, 0x2 + str r0, [r4] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08077944: .4byte gUnknown_0202F7A4 +_08077948: .4byte gSprites + thumb_func_end ma2C_make_side_visible + + thumb_func_start sub_807794C +sub_807794C: @ 807794C + push {r4-r7,lr} + ldr r1, _08077998 @ =gUnknown_0202F7A4 + ldr r0, [r1] + ldrb r7, [r0, 0x1] + adds r0, 0x2 + str r0, [r1] + bl sub_8076BE0 + lsls r0, 24 + cmp r0, 0 + bne _080779F6 + bl battle_type_is_double + lsls r0, 24 + cmp r0, 0 + beq _080779F6 + ldr r6, _0807799C @ =gUnknown_0202F7C8 + ldrb r0, [r6] + bl battle_side_get_owner + adds r4, r0, 0 + ldr r5, _080779A0 @ =gUnknown_0202F7C9 + ldrb r0, [r5] + bl battle_side_get_owner + lsls r4, 24 + lsls r0, 24 + cmp r4, r0 + bne _080779F6 + cmp r7, 0 + bne _080779A4 + ldrb r0, [r6] + bl battle_get_per_side_status_permutated + lsls r0, 24 + lsrs r4, r0, 24 + movs r0, 0 + b _080779B0 + .align 2, 0 +_08077998: .4byte gUnknown_0202F7A4 +_0807799C: .4byte gUnknown_0202F7C8 +_080779A0: .4byte gUnknown_0202F7C9 +_080779A4: + ldrb r0, [r5] + bl battle_get_per_side_status_permutated + lsls r0, 24 + lsrs r4, r0, 24 + movs r0, 0x1 +_080779B0: + bl obj_id_for_side_relative_to_move + lsls r0, 24 + lsrs r2, r0, 24 + cmp r2, 0xFF + beq _080779F6 + ldr r1, _080779EC @ =gSprites + lsls r0, r2, 4 + adds r0, r2 + lsls r0, 2 + adds r2, r0, r1 + adds r3, r2, 0 + adds r3, 0x3E + ldrb r1, [r3] + movs r0, 0x5 + negs r0, r0 + ands r0, r1 + strb r0, [r3] + cmp r4, 0x2 + bne _080779E0 + ldrb r0, [r2, 0x5] + movs r1, 0xC + orrs r0, r1 + strb r0, [r2, 0x5] +_080779E0: + cmp r4, 0x1 + bne _080779F0 + movs r0, 0 + bl sub_8076464 + b _080779F6 + .align 2, 0 +_080779EC: .4byte gSprites +_080779F0: + movs r0, 0x1 + bl sub_8076464 +_080779F6: + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_807794C + + thumb_func_start sub_80779FC +sub_80779FC: @ 80779FC + push {r4-r7,lr} + ldr r1, _08077A48 @ =gUnknown_0202F7A4 + ldr r0, [r1] + ldrb r7, [r0, 0x1] + adds r0, 0x2 + str r0, [r1] + bl sub_8076BE0 + lsls r0, 24 + cmp r0, 0 + bne _08077A88 + bl battle_type_is_double + lsls r0, 24 + cmp r0, 0 + beq _08077A88 + ldr r6, _08077A4C @ =gUnknown_0202F7C8 + ldrb r0, [r6] + bl battle_side_get_owner + adds r4, r0, 0 + ldr r5, _08077A50 @ =gUnknown_0202F7C9 + ldrb r0, [r5] + bl battle_side_get_owner + lsls r4, 24 + lsls r0, 24 + cmp r4, r0 + bne _08077A88 + cmp r7, 0 + bne _08077A54 + ldrb r0, [r6] + bl battle_get_per_side_status_permutated + lsls r0, 24 + lsrs r4, r0, 24 + movs r0, 0 + b _08077A60 + .align 2, 0 +_08077A48: .4byte gUnknown_0202F7A4 +_08077A4C: .4byte gUnknown_0202F7C8 +_08077A50: .4byte gUnknown_0202F7C9 +_08077A54: + ldrb r0, [r5] + bl battle_get_per_side_status_permutated + lsls r0, 24 + lsrs r4, r0, 24 + movs r0, 0x1 +_08077A60: + bl obj_id_for_side_relative_to_move + lsls r0, 24 + lsrs r2, r0, 24 + cmp r2, 0xFF + beq _08077A88 + cmp r4, 0x2 + bne _08077A88 + ldr r1, _08077A90 @ =gSprites + lsls r0, r2, 4 + adds r0, r2 + lsls r0, 2 + adds r0, r1 + ldrb r2, [r0, 0x5] + movs r1, 0xD + negs r1, r1 + ands r1, r2 + movs r2, 0x8 + orrs r1, r2 + strb r1, [r0, 0x5] +_08077A88: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08077A90: .4byte gSprites + thumb_func_end sub_80779FC + + thumb_func_start ma2F_stop_music +ma2F_stop_music: @ 8077A94 + push {lr} + ldr r0, _08077AB0 @ =gMPlay_SE1 + bl m4aMPlayStop + ldr r0, _08077AB4 @ =gMPlay_SE2 + bl m4aMPlayStop + ldr r1, _08077AB8 @ =gUnknown_0202F7A4 + ldr r0, [r1] + adds r0, 0x1 + str r0, [r1] + pop {r0} + bx r0 + .align 2, 0 +_08077AB0: .4byte gMPlay_SE1 +_08077AB4: .4byte gMPlay_SE2 +_08077AB8: .4byte gUnknown_0202F7A4 + thumb_func_end ma2F_stop_music + + .align 2, 0 @ Don't pad with nop. diff --git a/asm/battle_anim_813F0F4.s b/asm/battle_anim_813F0F4.s new file mode 100644 index 000000000..5c2c3e8f3 --- /dev/null +++ b/asm/battle_anim_813F0F4.s @@ -0,0 +1,5740 @@ + .include "constants/gba_constants.inc" + .include "constants/species_constants.inc" + .include "asm/macros.inc" + + .syntax unified + + .text + + thumb_func_start unref_sub_813F0F4 +unref_sub_813F0F4: @ 813F0F4 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x1C + lsls r0, 24 + lsrs r0, 24 + str r0, [sp, 0x10] + ldr r0, _0813F2AC @ =gUnknown_0202F7C8 + ldrb r3, [r0] + ldr r0, _0813F2B0 @ =gUnknown_030042C4 + movs r1, 0 + strh r1, [r0] + ldr r0, _0813F2B4 @ =gUnknown_03004240 + strh r1, [r0] + ldr r1, _0813F2B8 @ =REG_WININ + ldr r2, _0813F2BC @ =0x00003f3f + adds r0, r2, 0 + strh r0, [r1] + adds r1, 0x2 + ldr r4, _0813F2C0 @ =0x00003f3d + adds r0, r4, 0 + strh r0, [r1] + movs r2, 0x80 + lsls r2, 19 + ldrh r0, [r2] + movs r4, 0x80 + lsls r4, 8 + adds r1, r4, 0 + orrs r0, r1 + strh r0, [r2] + ldr r1, _0813F2C4 @ =REG_BLDCNT + ldr r2, _0813F2C8 @ =0x00003f42 + adds r0, r2, 0 + strh r0, [r1] + adds r1, 0x2 + movs r4, 0x80 + lsls r4, 5 + adds r0, r4, 0 + strh r0, [r1] + ldr r2, _0813F2CC @ =REG_BG1CNT + ldrb r1, [r2] + movs r0, 0x4 + negs r0, r0 + ands r0, r1 + strb r0, [r2] + ldrb r1, [r2, 0x1] + movs r0, 0x3F + ands r0, r1 + strb r0, [r2, 0x1] + ldrb r0, [r2, 0x1] + movs r1, 0x20 + orrs r0, r1 + strb r0, [r2, 0x1] + ldrb r1, [r2] + movs r0, 0xD + negs r0, r0 + mov r9, r0 + ands r0, r1 + movs r1, 0x4 + mov r8, r1 + mov r4, r8 + orrs r0, r4 + strb r0, [r2] + ldr r0, _0813F2D0 @ =gUnknown_03004340 + adds r3, r0 + ldrb r0, [r3] + ldr r1, _0813F2D4 @ =gSprites + mov r10, r1 + lsls r4, r0, 4 + adds r4, r0 + lsls r4, 2 + add r4, r10 + ldrb r7, [r4, 0x6] + ldrh r6, [r4, 0x38] + lsls r6, 24 + lsrs r6, 24 + ldr r0, _0813F2D8 @ =SpriteCallbackDummy + bl object_new_hidden_with_callback + lsls r0, 24 + lsrs r0, 24 + str r0, [sp, 0x14] + ldr r0, _0813F2D8 @ =SpriteCallbackDummy + bl object_new_hidden_with_callback + lsls r0, 24 + lsrs r0, 24 + str r0, [sp, 0x18] + ldrb r1, [r4, 0x5] + mov r0, r9 + ands r0, r1 + mov r2, r8 + orrs r0, r2 + strb r0, [r4, 0x5] + lsls r5, r7, 4 + adds r5, r7 + lsls r5, 2 + add r5, r10 + ldrb r1, [r5, 0x5] + mov r0, r9 + ands r0, r1 + orrs r0, r2 + strb r0, [r5, 0x5] + lsls r1, r6, 4 + adds r1, r6 + lsls r1, 2 + add r1, r10 + ldrb r2, [r1, 0x5] + mov r0, r9 + ands r0, r2 + mov r2, r8 + orrs r0, r2 + strb r0, [r1, 0x5] + ldr r0, [sp, 0x14] + lsls r6, r0, 4 + adds r6, r0 + lsls r6, 2 + mov r1, r10 + adds r7, r6, r1 + adds r0, r7, 0 + adds r1, r4, 0 + movs r2, 0x44 + bl memcpy + ldr r2, [sp, 0x18] + lsls r4, r2, 4 + adds r4, r2 + lsls r4, 2 + adds r0, r4, 0 + add r0, r10 + mov r8, r0 + adds r1, r5, 0 + movs r2, 0x44 + bl memcpy + ldrb r1, [r7, 0x1] + mov r0, r9 + ands r0, r1 + movs r1, 0x8 + orrs r0, r1 + strb r0, [r7, 0x1] + mov r2, r8 + ldrb r0, [r2, 0x1] + mov r2, r9 + ands r2, r0 + orrs r2, r1 + mov r0, r8 + strb r2, [r0, 0x1] + movs r1, 0x1C + add r10, r1 + add r6, r10 + ldr r2, _0813F2D8 @ =SpriteCallbackDummy + str r2, [r6] + add r4, r10 + str r2, [r4] + mov r0, sp + bl sub_8078914 + ldr r1, [sp, 0x4] + movs r0, 0 + str r0, [sp, 0xC] + ldr r2, _0813F2DC @ =0x040000d4 + add r0, sp, 0xC + str r0, [r2] + str r1, [r2, 0x4] + ldr r0, _0813F2E0 @ =0x85000400 + str r0, [r2, 0x8] + ldr r0, [r2, 0x8] + ldr r0, _0813F2E4 @ =gUnknown_08D2EE48 + bl LZDecompressVram + ldr r0, _0813F2E8 @ =gUnknown_08D2EDFC + ldr r1, [sp] + bl LZDecompressVram + ldr r0, _0813F2EC @ =gUnknown_08D2E150 + mov r1, sp + ldrb r1, [r1, 0x8] + lsls r1, 4 + movs r2, 0x20 + bl LoadCompressedPalette + ldr r1, _0813F2F0 @ =gUnknown_030042C0 + ldrh r0, [r7, 0x20] + negs r0, r0 + adds r0, 0x20 + strh r0, [r1] + ldr r1, _0813F2F4 @ =gUnknown_030041B4 + ldrh r0, [r7, 0x22] + negs r0, r0 + subs r0, 0x20 + strh r0, [r1] + ldr r1, _0813F2F8 @ =gTasks + ldr r4, [sp, 0x10] + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + movs r1, 0xA0 + lsls r1, 2 + strh r1, [r0, 0xA] + mov r1, sp + ldrh r1, [r1, 0x14] + strh r1, [r0, 0x8] + mov r2, sp + ldrh r2, [r2, 0x18] + strh r2, [r0, 0xC] + ldr r1, _0813F2FC @ =sub_813F300 + str r1, [r0] + add sp, 0x1C + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0813F2AC: .4byte gUnknown_0202F7C8 +_0813F2B0: .4byte gUnknown_030042C4 +_0813F2B4: .4byte gUnknown_03004240 +_0813F2B8: .4byte REG_WININ +_0813F2BC: .4byte 0x00003f3f +_0813F2C0: .4byte 0x00003f3d +_0813F2C4: .4byte REG_BLDCNT +_0813F2C8: .4byte 0x00003f42 +_0813F2CC: .4byte REG_BG1CNT +_0813F2D0: .4byte gUnknown_03004340 +_0813F2D4: .4byte gSprites +_0813F2D8: .4byte SpriteCallbackDummy +_0813F2DC: .4byte 0x040000d4 +_0813F2E0: .4byte 0x85000400 +_0813F2E4: .4byte gUnknown_08D2EE48 +_0813F2E8: .4byte gUnknown_08D2EDFC +_0813F2EC: .4byte gUnknown_08D2E150 +_0813F2F0: .4byte gUnknown_030042C0 +_0813F2F4: .4byte gUnknown_030041B4 +_0813F2F8: .4byte gTasks +_0813F2FC: .4byte sub_813F300 + thumb_func_end unref_sub_813F0F4 + + thumb_func_start sub_813F300 +sub_813F300: @ 813F300 + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + sub sp, 0x10 + lsls r0, 24 + lsrs r7, r0, 24 + ldr r0, _0813F34C @ =gUnknown_0202F7C8 + ldrb r0, [r0] + mov r9, r0 + ldr r1, _0813F350 @ =gTasks + lsls r0, r7, 2 + adds r0, r7 + lsls r0, 3 + adds r4, r0, r1 + ldrh r1, [r4, 0xA] + ldrh r0, [r4, 0x22] + adds r1, r0 + movs r3, 0 + strh r1, [r4, 0x22] + ldr r2, _0813F354 @ =gUnknown_030041B4 + lsls r0, r1, 16 + lsrs r0, 24 + ldrh r5, [r2] + adds r0, r5 + strh r0, [r2] + movs r0, 0xFF + ands r1, r0 + strh r1, [r4, 0x22] + movs r1, 0x26 + ldrsh r0, [r4, r1] + cmp r0, 0x1 + beq _0813F394 + cmp r0, 0x1 + bgt _0813F358 + cmp r0, 0 + beq _0813F35E + b _0813F4B2 + .align 2, 0 +_0813F34C: .4byte gUnknown_0202F7C8 +_0813F350: .4byte gTasks +_0813F354: .4byte gUnknown_030041B4 +_0813F358: + cmp r0, 0x2 + beq _0813F3AC + b _0813F4B2 +_0813F35E: + ldrh r0, [r4, 0x1E] + adds r1, r0, 0x1 + strh r1, [r4, 0x1E] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + bgt _0813F36E + b _0813F4B2 +_0813F36E: + strh r3, [r4, 0x1E] + ldrh r1, [r4, 0x20] + adds r1, 0x1 + strh r1, [r4, 0x20] + ldr r2, _0813F390 @ =REG_BLDALPHA + movs r0, 0x10 + subs r0, r1 + lsls r0, 8 + orrs r1, r0 + strh r1, [r2] + movs r2, 0x20 + ldrsh r0, [r4, r2] + cmp r0, 0x8 + beq _0813F38C + b _0813F4B2 +_0813F38C: + b _0813F3A4 + .align 2, 0 +_0813F390: .4byte REG_BLDALPHA +_0813F394: + ldrh r0, [r4, 0x1C] + adds r0, 0x1 + strh r0, [r4, 0x1C] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1E + beq _0813F3A4 + b _0813F4B2 +_0813F3A4: + ldrh r0, [r4, 0x26] + adds r0, 0x1 + strh r0, [r4, 0x26] + b _0813F4B2 +_0813F3AC: + ldrh r0, [r4, 0x1E] + adds r1, r0, 0x1 + strh r1, [r4, 0x1E] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + ble _0813F4B2 + strh r3, [r4, 0x1E] + ldrh r1, [r4, 0x20] + subs r1, 0x1 + strh r1, [r4, 0x20] + ldr r6, _0813F4C0 @ =REG_BLDALPHA + movs r0, 0x10 + subs r0, r1 + lsls r0, 8 + orrs r1, r0 + strh r1, [r6] + movs r3, 0x20 + ldrsh r5, [r4, r3] + cmp r5, 0 + bne _0813F4B2 + movs r0, 0 + bl sub_8076464 + ldr r0, _0813F4C4 @ =gUnknown_030042C4 + strh r5, [r0] + ldr r0, _0813F4C8 @ =gUnknown_03004240 + strh r5, [r0] + ldr r0, _0813F4CC @ =REG_WININ + ldr r2, _0813F4D0 @ =0x00003f3f + adds r1, r2, 0 + strh r1, [r0] + adds r0, 0x2 + strh r1, [r0] + bl sub_8076BE0 + lsls r0, 24 + cmp r0, 0 + bne _0813F406 + ldr r2, _0813F4D4 @ =REG_BG1CNT + ldrb r1, [r2] + movs r0, 0xD + negs r0, r0 + ands r0, r1 + strb r0, [r2] +_0813F406: + movs r2, 0x80 + lsls r2, 19 + ldrh r0, [r2] + movs r3, 0x80 + lsls r3, 8 + adds r1, r3, 0 + eors r0, r1 + strh r0, [r2] + ldr r0, _0813F4D8 @ =REG_BLDCNT + strh r5, [r0] + strh r5, [r6] + movs r0, 0x8 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + ldr r1, _0813F4DC @ =gSprites + mov r8, r1 + add r0, r8 + bl DestroySprite + movs r2, 0xC + ldrsh r1, [r4, r2] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + add r0, r8 + bl DestroySprite + mov r0, sp + bl sub_8078914 + ldr r2, [sp, 0x4] + str r5, [sp, 0xC] + ldr r1, _0813F4E0 @ =0x040000d4 + add r0, sp, 0xC + str r0, [r1] + str r2, [r1, 0x4] + ldr r0, _0813F4E4 @ =0x85000200 + str r0, [r1, 0x8] + ldr r0, [r1, 0x8] + ldr r2, _0813F4D4 @ =REG_BG1CNT + ldrb r1, [r2, 0x1] + movs r0, 0x21 + negs r0, r0 + ands r0, r1 + strb r0, [r2, 0x1] + ldr r0, _0813F4E8 @ =gUnknown_03004340 + add r0, r9 + ldrb r0, [r0] + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + add r1, r8 + ldrb r6, [r1, 0x6] + ldrh r4, [r1, 0x38] + lsls r4, 24 + lsrs r4, 24 + ldrb r3, [r1, 0x5] + movs r2, 0xD + negs r2, r2 + adds r0, r2, 0 + ands r0, r3 + movs r5, 0x4 + orrs r0, r5 + strb r0, [r1, 0x5] + lsls r1, r6, 4 + adds r1, r6 + lsls r1, 2 + add r1, r8 + ldrb r3, [r1, 0x5] + adds r0, r2, 0 + ands r0, r3 + orrs r0, r5 + strb r0, [r1, 0x5] + lsls r0, r4, 4 + adds r0, r4 + lsls r0, 2 + add r0, r8 + ldrb r1, [r0, 0x5] + ands r2, r1 + orrs r2, r5 + strb r2, [r0, 0x5] + adds r0, r7, 0 + bl move_anim_task_del +_0813F4B2: + add sp, 0x10 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0813F4C0: .4byte REG_BLDALPHA +_0813F4C4: .4byte gUnknown_030042C4 +_0813F4C8: .4byte gUnknown_03004240 +_0813F4CC: .4byte REG_WININ +_0813F4D0: .4byte 0x00003f3f +_0813F4D4: .4byte REG_BG1CNT +_0813F4D8: .4byte REG_BLDCNT +_0813F4DC: .4byte gSprites +_0813F4E0: .4byte 0x040000d4 +_0813F4E4: .4byte 0x85000200 +_0813F4E8: .4byte gUnknown_03004340 + thumb_func_end sub_813F300 + + thumb_func_start sub_813F4EC +sub_813F4EC: @ 813F4EC + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0xC + lsls r0, 24 + lsrs r0, 24 + str r0, [sp] + ldr r1, _0813F5D0 @ =gUnknown_03004340 + ldr r0, _0813F5D4 @ =gUnknown_0202F7C8 + ldrb r0, [r0] + adds r0, r1 + ldrb r0, [r0] + ldr r7, _0813F5D8 @ =gSprites + lsls r6, r0, 4 + adds r6, r0 + lsls r6, 2 + adds r6, r7 + ldrb r0, [r6, 0x6] + str r0, [sp, 0x4] + ldrh r4, [r6, 0x38] + lsls r4, 24 + lsrs r4, 24 + ldr r0, _0813F5DC @ =0x0000d709 + bl AllocSpritePalette + mov r8, r0 + mov r1, r8 + lsls r1, 24 + lsrs r1, 24 + mov r8, r1 + ldr r0, _0813F5E0 @ =0x0000d70a + bl AllocSpritePalette + mov r9, r0 + mov r2, r9 + lsls r2, 24 + lsrs r2, 24 + mov r9, r2 + ldrb r0, [r6, 0x5] + lsrs r0, 4 + lsls r0, 4 + movs r1, 0x80 + lsls r1, 1 + adds r3, r1, 0 + orrs r0, r3 + lsls r5, r4, 4 + adds r5, r4 + lsls r5, 2 + adds r5, r7 + ldrb r4, [r5, 0x5] + lsrs r4, 4 + lsls r4, 4 + orrs r4, r3 + lsls r0, 1 + ldr r2, _0813F5E4 @ =gPlttBufferUnfaded + mov r10, r2 + add r0, r10 + mov r1, r8 + lsls r1, 4 + mov r8, r1 + adds r1, r3, r1 + movs r2, 0x20 + str r3, [sp, 0x8] + bl LoadPalette + lsls r4, 1 + add r4, r10 + mov r2, r9 + lsls r2, 4 + mov r9, r2 + ldr r3, [sp, 0x8] + add r3, r9 + adds r0, r4, 0 + adds r1, r3, 0 + movs r2, 0x20 + bl LoadPalette + ldrb r1, [r6, 0x5] + movs r2, 0xF + adds r0, r2, 0 + ands r0, r1 + mov r3, r8 + orrs r0, r3 + strb r0, [r6, 0x5] + ldr r0, [sp, 0x4] + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r7 + ldrb r3, [r1, 0x5] + adds r0, r2, 0 + ands r0, r3 + mov r3, r8 + orrs r0, r3 + strb r0, [r1, 0x5] + ldrb r0, [r5, 0x5] + ands r2, r0 + mov r0, r9 + orrs r2, r0 + strb r2, [r5, 0x5] + ldr r0, [sp] + bl move_anim_task_del + add sp, 0xC + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0813F5D0: .4byte gUnknown_03004340 +_0813F5D4: .4byte gUnknown_0202F7C8 +_0813F5D8: .4byte gSprites +_0813F5DC: .4byte 0x0000d709 +_0813F5E0: .4byte 0x0000d70a +_0813F5E4: .4byte gPlttBufferUnfaded + thumb_func_end sub_813F4EC + + thumb_func_start sub_813F5E8 +sub_813F5E8: @ 813F5E8 + push {r4-r6,lr} + mov r6, r10 + mov r5, r9 + mov r4, r8 + push {r4-r6} + mov r8, r0 + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + ldr r1, _0813F684 @ =gUnknown_03004340 + ldr r0, _0813F688 @ =gUnknown_0202F7C8 + ldrb r0, [r0] + adds r0, r1 + ldrb r0, [r0] + ldr r1, _0813F68C @ =gSprites + mov r9, r1 + lsls r5, r0, 4 + adds r5, r0 + lsls r5, 2 + add r5, r9 + ldrb r0, [r5, 0x6] + mov r10, r0 + ldrh r6, [r5, 0x38] + lsls r6, 24 + lsrs r6, 24 + ldr r0, _0813F690 @ =0x0000d709 + bl FreeSpritePaletteByTag + ldr r0, _0813F694 @ =0x0000d70a + bl FreeSpritePaletteByTag + ldr r0, _0813F698 @ =0x0000d6ff + bl IndexOfSpritePaletteTag + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldr r0, _0813F69C @ =0x0000d704 + bl IndexOfSpritePaletteTag + lsls r0, 24 + lsls r4, 4 + ldrb r2, [r5, 0x5] + movs r3, 0xF + adds r1, r3, 0 + ands r1, r2 + orrs r1, r4 + strb r1, [r5, 0x5] + mov r1, r10 + lsls r2, r1, 4 + add r2, r10 + lsls r2, 2 + add r2, r9 + ldrb r5, [r2, 0x5] + adds r1, r3, 0 + ands r1, r5 + orrs r1, r4 + strb r1, [r2, 0x5] + lsls r1, r6, 4 + adds r1, r6 + lsls r1, 2 + add r1, r9 + lsrs r0, 20 + ldrb r2, [r1, 0x5] + ands r3, r2 + orrs r3, r0 + strb r3, [r1, 0x5] + mov r0, r8 + bl move_anim_task_del + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0813F684: .4byte gUnknown_03004340 +_0813F688: .4byte gUnknown_0202F7C8 +_0813F68C: .4byte gSprites +_0813F690: .4byte 0x0000d709 +_0813F694: .4byte 0x0000d70a +_0813F698: .4byte 0x0000d6ff +_0813F69C: .4byte 0x0000d704 + thumb_func_end sub_813F5E8 + + thumb_func_start sub_813F6A0 +sub_813F6A0: @ 813F6A0 + lsls r0, 24 + lsrs r0, 24 + ldr r2, _0813F6C0 @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + ldr r2, _0813F6C4 @ =gUnknown_03004B00 + ldrh r0, [r2] + strh r0, [r1, 0x1C] + ldrh r0, [r2, 0x2] + strh r0, [r1, 0x1E] + ldr r0, _0813F6C8 @ =sub_813F6CC + str r0, [r1] + bx lr + .align 2, 0 +_0813F6C0: .4byte gTasks +_0813F6C4: .4byte gUnknown_03004B00 +_0813F6C8: .4byte sub_813F6CC + thumb_func_end sub_813F6A0 + + thumb_func_start sub_813F6CC +sub_813F6CC: @ 813F6CC + push {r4-r6,lr} + lsls r0, 24 + lsrs r5, r0, 24 + ldr r1, _0813F718 @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r4, r0, r1 + ldrh r0, [r4, 0x8] + adds r0, 0x1 + movs r6, 0 + adds r1, r0, 0x1 + strh r1, [r4, 0x8] + lsls r0, 16 + asrs r0, 16 + movs r2, 0x1E + ldrsh r1, [r4, r2] + cmp r0, r1 + blt _0813F78C + strh r6, [r4, 0x8] + ldr r0, _0813F71C @ =0x0000d709 + bl IndexOfSpritePaletteTag + lsls r0, 24 + lsrs r2, r0, 24 + movs r3, 0x1C + ldrsh r0, [r4, r3] + movs r1, 0x2 + cmp r0, 0 + bne _0813F70A + movs r1, 0x6 +_0813F70A: + movs r3, 0xA + ldrsh r0, [r4, r3] + cmp r0, 0 + beq _0813F720 + cmp r0, 0x1 + beq _0813F75C + b _0813F78C + .align 2, 0 +_0813F718: .4byte gTasks +_0813F71C: .4byte 0x0000d709 +_0813F720: + ldrh r0, [r4, 0xC] + adds r0, 0x2 + strh r0, [r4, 0xC] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x10 + ble _0813F732 + movs r0, 0x10 + strh r0, [r4, 0xC] +_0813F732: + lsls r0, r2, 4 + movs r2, 0x80 + lsls r2, 1 + adds r0, r2 + orrs r0, r1 + ldrb r2, [r4, 0xC] + ldr r3, _0813F758 @ =0x00007f74 + movs r1, 0x1 + bl BlendPalette + movs r3, 0xC + ldrsh r0, [r4, r3] + cmp r0, 0x10 + bne _0813F78C + ldrh r0, [r4, 0xA] + adds r0, 0x1 + strh r0, [r4, 0xA] + b _0813F78C + .align 2, 0 +_0813F758: .4byte 0x00007f74 +_0813F75C: + ldrh r0, [r4, 0xC] + subs r0, 0x2 + strh r0, [r4, 0xC] + lsls r0, 16 + cmp r0, 0 + bge _0813F76A + strh r6, [r4, 0xC] +_0813F76A: + lsls r0, r2, 4 + movs r2, 0x80 + lsls r2, 1 + adds r0, r2 + orrs r0, r1 + ldrb r2, [r4, 0xC] + ldr r3, _0813F794 @ =0x00007f74 + movs r1, 0x1 + bl BlendPalette + movs r3, 0xC + ldrsh r0, [r4, r3] + cmp r0, 0 + bne _0813F78C + adds r0, r5, 0 + bl move_anim_task_del +_0813F78C: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0813F794: .4byte 0x00007f74 + thumb_func_end sub_813F6CC + + thumb_func_start sub_813F798 +sub_813F798: @ 813F798 + push {r4-r6,lr} + lsls r0, 24 + lsrs r6, r0, 24 + ldr r1, _0813F7C4 @ =gUnknown_02024BE0 + ldr r0, _0813F7C8 @ =gUnknown_0202F7C8 + ldrb r0, [r0] + adds r0, r1 + ldrb r5, [r0] + ldr r1, _0813F7CC @ =gTasks + lsls r0, r6, 2 + adds r0, r6 + lsls r0, 3 + adds r4, r0, r1 + movs r1, 0x8 + ldrsh r0, [r4, r1] + cmp r0, 0x1 + beq _0813F7E6 + cmp r0, 0x1 + bgt _0813F7D0 + cmp r0, 0 + beq _0813F7D6 + b _0813F838 + .align 2, 0 +_0813F7C4: .4byte gUnknown_02024BE0 +_0813F7C8: .4byte gUnknown_0202F7C8 +_0813F7CC: .4byte gTasks +_0813F7D0: + cmp r0, 0x2 + beq _0813F818 + b _0813F838 +_0813F7D6: + adds r0, r5, 0 + movs r1, 0 + bl sub_8078E70 + movs r0, 0x80 + lsls r0, 1 + strh r0, [r4, 0x1C] + b _0813F80A +_0813F7E6: + ldrh r0, [r4, 0x1C] + adds r0, 0x30 + strh r0, [r4, 0x1C] + movs r0, 0x1C + ldrsh r2, [r4, r0] + adds r0, r5, 0 + adds r1, r2, 0 + movs r3, 0 + bl obj_id_set_rotscale + adds r0, r5, 0 + bl sub_8079A64 + movs r0, 0x1C + ldrsh r1, [r4, r0] + ldr r0, _0813F814 @ =0x000002cf + cmp r1, r0 + ble _0813F838 +_0813F80A: + ldrh r0, [r4, 0x8] + adds r0, 0x1 + strh r0, [r4, 0x8] + b _0813F838 + .align 2, 0 +_0813F814: .4byte 0x000002cf +_0813F818: + adds r0, r5, 0 + bl sub_8078F40 + ldr r1, _0813F840 @ =gSprites + lsls r0, r5, 4 + adds r0, r5 + lsls r0, 2 + adds r0, r1 + adds r0, 0x3E + ldrb r1, [r0] + movs r2, 0x4 + orrs r1, r2 + strb r1, [r0] + adds r0, r6, 0 + bl move_anim_task_del +_0813F838: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0813F840: .4byte gSprites + thumb_func_end sub_813F798 + + thumb_func_start sub_813F844 +sub_813F844: @ 813F844 + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + sub sp, 0xC + lsls r0, 24 + lsrs r5, r0, 24 + ldr r1, _0813F87C @ =gUnknown_02024BE0 + ldr r4, _0813F880 @ =gUnknown_0202F7C8 + ldrb r0, [r4] + adds r1, r0, r1 + ldrb r1, [r1] + mov r9, r1 + bl battle_side_get_owner + lsls r0, 24 + cmp r0, 0 + bne _0813F88C + ldr r1, _0813F884 @ =gUnknown_02024A6A + ldrb r0, [r4] + lsls r0, 1 + adds r0, r1 + ldrh r1, [r0] + movs r0, 0x64 + muls r0, r1 + ldr r1, _0813F888 @ =gPlayerParty + b _0813F89C + .align 2, 0 +_0813F87C: .4byte gUnknown_02024BE0 +_0813F880: .4byte gUnknown_0202F7C8 +_0813F884: .4byte gUnknown_02024A6A +_0813F888: .4byte gPlayerParty +_0813F88C: + ldr r1, _0813F8CC @ =gUnknown_02024A6A + ldrb r0, [r4] + lsls r0, 1 + adds r0, r1 + ldrh r1, [r0] + movs r0, 0x64 + muls r0, r1 + ldr r1, _0813F8D0 @ =gEnemyParty +_0813F89C: + adds r0, r1 + movs r1, 0x26 + bl GetMonData + lsls r0, 16 + lsrs r0, 16 + bl ball_number_to_ball_processing_index + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + ldr r2, _0813F8D4 @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r6, r0, r2 + movs r0, 0x8 + ldrsh r7, [r6, r0] + cmp r7, 0 + beq _0813F8D8 + cmp r7, 0x1 + beq _0813F958 + b _0813F982 + .align 2, 0 +_0813F8CC: .4byte gUnknown_02024A6A +_0813F8D0: .4byte gEnemyParty +_0813F8D4: .4byte gTasks +_0813F8D8: + ldr r5, _0813F950 @ =gUnknown_0202F7C8 + ldrb r0, [r5] + movs r1, 0 + bl sub_8077ABC + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldrb r0, [r5] + movs r1, 0x1 + bl sub_8077ABC + adds r1, r0, 0 + lsls r1, 24 + ldr r2, _0813F954 @ =gSprites + mov r3, r9 + lsls r0, r3, 4 + add r0, r9 + lsls r0, 2 + adds r0, r2 + ldrb r2, [r0, 0x5] + lsls r2, 28 + lsrs r2, 30 + adds r0, 0x43 + ldrb r3, [r0] + movs r0, 0x80 + lsls r0, 22 + adds r1, r0 + lsrs r1, 24 + mov r0, r8 + str r0, [sp] + adds r0, r4, 0 + bl sub_814086C + lsls r0, 24 + lsrs r0, 24 + strh r0, [r6, 0x1C] + str r7, [sp] + str r7, [sp, 0x4] + str r7, [sp, 0x8] + movs r0, 0x1 + movs r1, 0 + movs r2, 0 + movs r3, 0 + bl sub_80791A8 + adds r2, r0, 0 + ldrb r1, [r5] + movs r0, 0 + mov r3, r8 + bl sub_8141314 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r6, 0x1E] + ldrh r0, [r6, 0x8] + adds r0, 0x1 + strh r0, [r6, 0x8] + b _0813F982 + .align 2, 0 +_0813F950: .4byte gUnknown_0202F7C8 +_0813F954: .4byte gSprites +_0813F958: + movs r1, 0x1C + ldrsh r0, [r6, r1] + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + ldrb r0, [r1, 0x4] + cmp r0, 0 + bne _0813F982 + movs r3, 0x1E + ldrsh r0, [r6, r3] + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + ldrb r0, [r1, 0x4] + cmp r0, 0 + bne _0813F982 + adds r0, r5, 0 + bl move_anim_task_del +_0813F982: + add sp, 0xC + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_813F844 + + thumb_func_start sub_813F990 +sub_813F990: @ 813F990 + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldr r0, _0813F9B4 @ =gUnknown_02024C04 + ldrh r0, [r0] + bl ball_number_to_ball_processing_index + lsls r0, 24 + lsrs r0, 24 + bl sub_80478DC + adds r0, r4, 0 + bl move_anim_task_del + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0813F9B4: .4byte gUnknown_02024C04 + thumb_func_end sub_813F990 + + thumb_func_start sub_813F9B8 +sub_813F9B8: @ 813F9B8 + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldr r0, _0813F9DC @ =gUnknown_02024C04 + ldrh r0, [r0] + bl ball_number_to_ball_processing_index + lsls r0, 24 + lsrs r0, 24 + bl sub_804794C + adds r0, r4, 0 + bl move_anim_task_del + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0813F9DC: .4byte gUnknown_02024C04 + thumb_func_end sub_813F9B8 + + thumb_func_start sub_813F9E0 +sub_813F9E0: @ 813F9E0 + push {lr} + lsls r0, 24 + lsrs r2, r0, 24 + ldr r0, _0813F9F4 @ =0x02017840 + ldrb r0, [r0, 0x8] + cmp r0, 0x5 + bne _0813FA00 + ldr r1, _0813F9F8 @ =gUnknown_03004B00 + ldr r0, _0813F9FC @ =0x0000ffff + b _0813FA04 + .align 2, 0 +_0813F9F4: .4byte 0x02017840 +_0813F9F8: .4byte gUnknown_03004B00 +_0813F9FC: .4byte 0x0000ffff +_0813FA00: + ldr r1, _0813FA10 @ =gUnknown_03004B00 + movs r0, 0 +_0813FA04: + strh r0, [r1, 0xE] + adds r0, r2, 0 + bl move_anim_task_del + pop {r0} + bx r0 + .align 2, 0 +_0813FA10: .4byte gUnknown_03004B00 + thumb_func_end sub_813F9E0 + + thumb_func_start ball_number_to_ball_processing_index +ball_number_to_ball_processing_index: @ 813FA14 + push {lr} + lsls r0, 16 + lsrs r0, 16 + subs r0, 0x1 + cmp r0, 0xB + bhi _0813FA8C + lsls r0, 2 + ldr r1, _0813FA2C @ =_0813FA30 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0813FA2C: .4byte _0813FA30 + .align 2, 0 +_0813FA30: + .4byte _0813FA60 + .4byte _0813FA64 + .4byte _0813FA68 + .4byte _0813FA8C + .4byte _0813FA6C + .4byte _0813FA70 + .4byte _0813FA74 + .4byte _0813FA78 + .4byte _0813FA7C + .4byte _0813FA80 + .4byte _0813FA84 + .4byte _0813FA88 +_0813FA60: + movs r0, 0x4 + b _0813FA8E +_0813FA64: + movs r0, 0x3 + b _0813FA8E +_0813FA68: + movs r0, 0x1 + b _0813FA8E +_0813FA6C: + movs r0, 0x2 + b _0813FA8E +_0813FA70: + movs r0, 0x5 + b _0813FA8E +_0813FA74: + movs r0, 0x6 + b _0813FA8E +_0813FA78: + movs r0, 0x7 + b _0813FA8E +_0813FA7C: + movs r0, 0x8 + b _0813FA8E +_0813FA80: + movs r0, 0x9 + b _0813FA8E +_0813FA84: + movs r0, 0xA + b _0813FA8E +_0813FA88: + movs r0, 0xB + b _0813FA8E +_0813FA8C: + movs r0, 0 +_0813FA8E: + pop {r1} + bx r1 + thumb_func_end ball_number_to_ball_processing_index + + thumb_func_start sub_813FA94 +sub_813FA94: @ 813FA94 + push {r4-r6,lr} + mov r6, r10 + mov r5, r9 + mov r4, r8 + push {r4-r6} + mov r10, r0 + lsls r0, 24 + lsrs r0, 24 + mov r10, r0 + ldr r0, _0813FB58 @ =gUnknown_02024C04 + ldrh r0, [r0] + bl ball_number_to_ball_processing_index + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 3 + ldr r1, _0813FB5C @ =gSpriteTemplate_820AAB4 + adds r0, r1 + movs r1, 0x20 + movs r2, 0x50 + movs r3, 0x1D + bl CreateSprite + adds r5, r0, 0 + lsls r5, 24 + lsrs r5, 24 + ldr r1, _0813FB60 @ =gSprites + mov r9, r1 + lsls r4, r5, 4 + adds r4, r5 + lsls r4, 2 + adds r6, r4, r1 + movs r0, 0x22 + strh r0, [r6, 0x2E] + ldr r2, _0813FB64 @ =gUnknown_0202F7C9 + mov r8, r2 + ldrb r0, [r2] + movs r1, 0 + bl sub_8077ABC + lsls r0, 24 + lsrs r0, 24 + strh r0, [r6, 0x30] + mov r1, r8 + ldrb r0, [r1] + movs r1, 0x1 + bl sub_8077ABC + lsls r0, 24 + lsrs r0, 24 + subs r0, 0x10 + strh r0, [r6, 0x32] + mov r0, r9 + adds r0, 0x1C + adds r4, r0 + ldr r0, _0813FB68 @ =sub_813FD90 + str r0, [r4] + ldr r3, _0813FB6C @ =0x02017840 + ldr r1, _0813FB70 @ =gUnknown_02024BE0 + mov r2, r8 + ldrb r0, [r2] + adds r0, r1 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + add r0, r9 + adds r0, 0x3E + ldrb r1, [r0] + lsls r1, 29 + lsrs r1, 31 + lsls r1, 1 + ldrb r2, [r3, 0x9] + movs r0, 0x3 + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r3, 0x9] + ldr r1, _0813FB74 @ =gTasks + mov r2, r10 + lsls r0, r2, 2 + add r0, r10 + lsls r0, 3 + adds r0, r1 + strh r5, [r0, 0x8] + ldr r1, _0813FB78 @ =sub_813FB7C + str r1, [r0] + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0813FB58: .4byte gUnknown_02024C04 +_0813FB5C: .4byte gSpriteTemplate_820AAB4 +_0813FB60: .4byte gSprites +_0813FB64: .4byte gUnknown_0202F7C9 +_0813FB68: .4byte sub_813FD90 +_0813FB6C: .4byte 0x02017840 +_0813FB70: .4byte gUnknown_02024BE0 +_0813FB74: .4byte gTasks +_0813FB78: .4byte sub_813FB7C + thumb_func_end sub_813FA94 + + thumb_func_start sub_813FB7C +sub_813FB7C: @ 813FB7C + push {lr} + lsls r0, 24 + lsrs r3, r0, 24 + ldr r1, _0813FBAC @ =gTasks + lsls r0, r3, 2 + adds r0, r3 + lsls r0, 3 + adds r0, r1 + ldrb r1, [r0, 0x8] + ldr r2, _0813FBB0 @ =gSprites + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrh r1, [r0, 0x2E] + ldr r0, _0813FBB4 @ =0x0000ffff + cmp r1, r0 + bne _0813FBA6 + adds r0, r3, 0 + bl move_anim_task_del +_0813FBA6: + pop {r0} + bx r0 + .align 2, 0 +_0813FBAC: .4byte gTasks +_0813FBB0: .4byte gSprites +_0813FBB4: .4byte 0x0000ffff + thumb_func_end sub_813FB7C + + thumb_func_start sub_813FBB8 +sub_813FBB8: @ 813FBB8 + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + lsls r0, 24 + lsrs r7, r0, 24 + ldr r0, _0813FBD8 @ =gUnknown_020239F8 + ldrh r1, [r0] + movs r0, 0x80 + lsls r0, 2 + ands r0, r1 + cmp r0, 0 + beq _0813FBDC + movs r6, 0x20 + movs r5, 0xB + b _0813FBE0 + .align 2, 0 +_0813FBD8: .4byte gUnknown_020239F8 +_0813FBDC: + movs r6, 0x17 + movs r5, 0x5 +_0813FBE0: + ldr r0, _0813FC9C @ =gUnknown_02024C04 + ldrh r0, [r0] + bl ball_number_to_ball_processing_index + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + movs r0, 0x1 + bl battle_get_side_with_given_state + lsls r0, 24 + lsrs r0, 24 + bl sub_8079E90 + adds r3, r0, 0 + adds r3, 0x1 + lsls r3, 24 + lsrs r3, 24 + lsls r0, r4, 1 + adds r0, r4 + lsls r0, 3 + ldr r1, _0813FCA0 @ =gSpriteTemplate_820AAB4 + adds r0, r1 + adds r1, r6, 0 + adds r1, 0x20 + movs r2, 0x50 + orrs r5, r2 + adds r2, r5, 0 + bl CreateSprite + adds r5, r0, 0 + lsls r5, 24 + lsrs r5, 24 + ldr r0, _0813FCA4 @ =gSprites + mov r9, r0 + lsls r4, r5, 4 + adds r4, r5 + lsls r4, 2 + adds r6, r4, r0 + movs r0, 0x22 + strh r0, [r6, 0x2E] + ldr r1, _0813FCA8 @ =gUnknown_0202F7C9 + mov r8, r1 + ldrb r0, [r1] + movs r1, 0 + bl sub_8077ABC + lsls r0, 24 + lsrs r0, 24 + strh r0, [r6, 0x30] + mov r1, r8 + ldrb r0, [r1] + movs r1, 0x1 + bl sub_8077ABC + lsls r0, 24 + lsrs r0, 24 + subs r0, 0x10 + strh r0, [r6, 0x32] + mov r0, r9 + adds r0, 0x1C + adds r4, r0 + ldr r0, _0813FCAC @ =SpriteCallbackDummy + str r0, [r4] + movs r0, 0 + bl battle_get_side_with_given_state + ldr r1, _0813FCB0 @ =gUnknown_02024BE0 + lsls r0, 24 + lsrs r0, 24 + adds r0, r1 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + add r0, r9 + movs r1, 0x1 + bl StartSpriteAnim + ldr r1, _0813FCB4 @ =gTasks + lsls r0, r7, 2 + adds r0, r7 + lsls r0, 3 + adds r0, r1 + strh r5, [r0, 0x8] + ldr r1, _0813FCB8 @ =sub_813FCBC + str r1, [r0] + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0813FC9C: .4byte gUnknown_02024C04 +_0813FCA0: .4byte gSpriteTemplate_820AAB4 +_0813FCA4: .4byte gSprites +_0813FCA8: .4byte gUnknown_0202F7C9 +_0813FCAC: .4byte SpriteCallbackDummy +_0813FCB0: .4byte gUnknown_02024BE0 +_0813FCB4: .4byte gTasks +_0813FCB8: .4byte sub_813FCBC + thumb_func_end sub_813FBB8 + + thumb_func_start sub_813FCBC +sub_813FCBC: @ 813FCBC + push {r4-r6,lr} + lsls r0, 24 + lsrs r5, r0, 24 + ldr r6, _0813FD1C @ =gSprites + movs r0, 0 + bl battle_get_side_with_given_state + ldr r1, _0813FD20 @ =gUnknown_02024BE0 + lsls r0, 24 + lsrs r0, 24 + adds r0, r1 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r6 + adds r0, 0x2B + ldrb r0, [r0] + cmp r0, 0x1 + bne _0813FD16 + movs r0, 0x3D + movs r1, 0 + bl PlaySE12WithPanning + ldr r0, _0813FD24 @ =gTasks + lsls r4, r5, 2 + adds r4, r5 + lsls r4, 3 + adds r4, r0 + movs r0, 0x8 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r1, r6, 0 + adds r1, 0x1C + adds r0, r1 + ldr r1, _0813FD28 @ =sub_813FD90 + str r1, [r0] + ldr r0, _0813FD2C @ =sub_813FD34 + movs r1, 0xA + bl CreateTask + ldr r0, _0813FD30 @ =sub_813FB7C + str r0, [r4] +_0813FD16: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0813FD1C: .4byte gSprites +_0813FD20: .4byte gUnknown_02024BE0 +_0813FD24: .4byte gTasks +_0813FD28: .4byte sub_813FD90 +_0813FD2C: .4byte sub_813FD34 +_0813FD30: .4byte sub_813FB7C + thumb_func_end sub_813FCBC + + thumb_func_start sub_813FD34 +sub_813FD34: @ 813FD34 + push {r4-r6,lr} + lsls r0, 24 + lsrs r5, r0, 24 + ldr r6, _0813FD88 @ =gSprites + movs r0, 0 + bl battle_get_side_with_given_state + ldr r4, _0813FD8C @ =gUnknown_02024BE0 + lsls r0, 24 + lsrs r0, 24 + adds r0, r4 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r6 + adds r0, 0x3F + ldrb r0, [r0] + lsls r0, 27 + cmp r0, 0 + bge _0813FD80 + movs r0, 0 + bl battle_get_side_with_given_state + lsls r0, 24 + lsrs r0, 24 + adds r0, r4 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r6 + movs r1, 0 + bl StartSpriteAnim + adds r0, r5, 0 + bl DestroyTask +_0813FD80: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0813FD88: .4byte gSprites +_0813FD8C: .4byte gUnknown_02024BE0 + thumb_func_end sub_813FD34 + + thumb_func_start sub_813FD90 +sub_813FD90: @ 813FD90 + push {r4,lr} + adds r4, r0, 0 + ldrh r1, [r4, 0x30] + ldrh r2, [r4, 0x32] + ldrh r0, [r4, 0x20] + strh r0, [r4, 0x30] + strh r1, [r4, 0x32] + ldrh r0, [r4, 0x22] + strh r0, [r4, 0x34] + strh r2, [r4, 0x36] + ldr r0, _0813FDB8 @ =0x0000ffd8 + strh r0, [r4, 0x38] + adds r0, r4, 0 + bl sub_80786EC + ldr r0, _0813FDBC @ =sub_813FDC0 + str r0, [r4, 0x1C] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0813FDB8: .4byte 0x0000ffd8 +_0813FDBC: .4byte sub_813FDC0 + thumb_func_end sub_813FD90 + + thumb_func_start sub_813FDC0 +sub_813FDC0: @ 813FDC0 + push {r4,r5,lr} + sub sp, 0x4 + adds r4, r0, 0 + bl sub_8078718 + lsls r0, 24 + cmp r0, 0 + beq _0813FE5A + ldr r0, _0813FDE0 @ =0x02017840 + ldrb r0, [r0, 0x8] + cmp r0, 0x5 + bne _0813FDE8 + ldr r0, _0813FDE4 @ =sub_81407B8 + str r0, [r4, 0x1C] + b _0813FE5A + .align 2, 0 +_0813FDE0: .4byte 0x02017840 +_0813FDE4: .4byte sub_81407B8 +_0813FDE8: + adds r0, r4, 0 + movs r1, 0x1 + bl StartSpriteAnim + ldrh r0, [r4, 0x24] + ldrh r1, [r4, 0x20] + adds r0, r1 + movs r1, 0 + strh r0, [r4, 0x20] + ldrh r0, [r4, 0x26] + ldrh r2, [r4, 0x22] + adds r0, r2 + strh r0, [r4, 0x22] + strh r1, [r4, 0x24] + strh r1, [r4, 0x26] + adds r1, r4, 0 + adds r1, 0x2E + movs r2, 0 + adds r0, r4, 0 + adds r0, 0x3C +_0813FE10: + strh r2, [r0] + subs r0, 0x2 + cmp r0, r1 + bge _0813FE10 + movs r0, 0 + strh r0, [r4, 0x38] + ldr r0, _0813FE64 @ =sub_813FE70 + str r0, [r4, 0x1C] + ldr r0, _0813FE68 @ =gUnknown_02024C04 + ldrh r0, [r0] + bl ball_number_to_ball_processing_index + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0xB + bgt _0813FE5A + cmp r5, 0 + blt _0813FE5A + ldrh r0, [r4, 0x20] + lsls r0, 24 + lsrs r0, 24 + ldrh r1, [r4, 0x22] + subs r1, 0x5 + lsls r1, 24 + lsrs r1, 24 + str r5, [sp] + movs r2, 0x1 + movs r3, 0x1C + bl sub_814086C + ldr r0, _0813FE6C @ =gUnknown_0202F7C9 + ldrb r1, [r0] + movs r0, 0 + movs r2, 0xE + adds r3, r5, 0 + bl sub_8141314 +_0813FE5A: + add sp, 0x4 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0813FE64: .4byte sub_813FE70 +_0813FE68: .4byte gUnknown_02024C04 +_0813FE6C: .4byte gUnknown_0202F7C9 + thumb_func_end sub_813FDC0 + + thumb_func_start sub_813FE70 +sub_813FE70: @ 813FE70 + push {r4,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x38] + adds r0, 0x1 + strh r0, [r4, 0x38] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0xA + bne _0813FEAC + ldr r0, _0813FEB4 @ =TaskDummy + movs r1, 0x32 + bl CreateTask + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x38] + ldr r0, _0813FEB8 @ =sub_813FEC8 + str r0, [r4, 0x1C] + ldr r2, _0813FEBC @ =gSprites + ldr r1, _0813FEC0 @ =gUnknown_02024BE0 + ldr r0, _0813FEC4 @ =gUnknown_0202F7C9 + ldrb r0, [r0] + adds r0, r1 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + movs r1, 0 + strh r1, [r0, 0x30] +_0813FEAC: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0813FEB4: .4byte TaskDummy +_0813FEB8: .4byte sub_813FEC8 +_0813FEBC: .4byte gSprites +_0813FEC0: .4byte gUnknown_02024BE0 +_0813FEC4: .4byte gUnknown_0202F7C9 + thumb_func_end sub_813FE70 + + thumb_func_start sub_813FEC8 +sub_813FEC8: @ 813FEC8 + push {r4-r7,lr} + adds r7, r0, 0 + ldr r1, _0813FF0C @ =gUnknown_02024BE0 + ldr r0, _0813FF10 @ =gUnknown_0202F7C9 + ldrb r0, [r0] + adds r0, r1 + ldrb r4, [r0] + ldrh r0, [r7, 0x38] + lsls r0, 24 + lsrs r6, r0, 24 + ldr r1, _0813FF14 @ =gTasks + lsls r0, r6, 2 + adds r0, r6 + lsls r0, 3 + adds r5, r0, r1 + ldrh r0, [r5, 0xA] + adds r0, 0x1 + strh r0, [r5, 0xA] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0xB + bne _0813FEFA + movs r0, 0x3C + bl PlaySE +_0813FEFA: + movs r1, 0x8 + ldrsh r0, [r5, r1] + cmp r0, 0x1 + beq _0813FF70 + cmp r0, 0x1 + bgt _0813FF18 + cmp r0, 0 + beq _0813FF1E + b _0813FFDC + .align 2, 0 +_0813FF0C: .4byte gUnknown_02024BE0 +_0813FF10: .4byte gUnknown_0202F7C9 +_0813FF14: .4byte gTasks +_0813FF18: + cmp r0, 0x2 + beq _0813FFB4 + b _0813FFDC +_0813FF1E: + adds r0, r4, 0 + movs r1, 0 + bl sub_8078E70 + movs r0, 0x80 + lsls r0, 1 + strh r0, [r5, 0x1C] + ldr r1, _0813FF60 @ =gUnknown_03005F0C + movs r0, 0x1C + str r0, [r1] + ldr r2, _0813FF64 @ =gUnknown_03005F14 + ldr r1, _0813FF68 @ =gSprites + lsls r0, r4, 4 + adds r0, r4 + lsls r0, 2 + adds r0, r1 + ldrh r1, [r0, 0x26] + ldrh r0, [r0, 0x22] + adds r1, r0 + ldrh r0, [r7, 0x26] + ldrh r7, [r7, 0x22] + adds r0, r7 + subs r1, r0 + strh r1, [r2] + ldr r4, _0813FF6C @ =gUnknown_03005F10 + ldrh r0, [r2] + lsls r0, 8 + movs r1, 0x1C + bl __udivsi3 + strh r0, [r4] + strh r0, [r5, 0xC] + b _0813FFCE + .align 2, 0 +_0813FF60: .4byte gUnknown_03005F0C +_0813FF64: .4byte gUnknown_03005F14 +_0813FF68: .4byte gSprites +_0813FF6C: .4byte gUnknown_03005F10 +_0813FF70: + ldrh r0, [r5, 0x1C] + adds r0, 0x20 + strh r0, [r5, 0x1C] + movs r0, 0x1C + ldrsh r2, [r5, r0] + adds r0, r4, 0 + adds r1, r2, 0 + movs r3, 0 + bl obj_id_set_rotscale + ldrh r0, [r5, 0xC] + ldrh r1, [r5, 0xE] + adds r0, r1 + strh r0, [r5, 0xE] + ldr r0, _0813FFAC @ =gSprites + lsls r1, r4, 4 + adds r1, r4 + lsls r1, 2 + adds r1, r0 + movs r2, 0xE + ldrsh r0, [r5, r2] + negs r0, r0 + asrs r0, 8 + strh r0, [r1, 0x26] + movs r0, 0x1C + ldrsh r1, [r5, r0] + ldr r0, _0813FFB0 @ =0x0000047f + cmp r1, r0 + ble _08140004 + b _0813FFCE + .align 2, 0 +_0813FFAC: .4byte gSprites +_0813FFB0: .4byte 0x0000047f +_0813FFB4: + adds r0, r4, 0 + bl sub_8078F40 + ldr r1, _0813FFD8 @ =gSprites + lsls r0, r4, 4 + adds r0, r4 + lsls r0, 2 + adds r0, r1 + adds r0, 0x3E + ldrb r1, [r0] + movs r2, 0x4 + orrs r1, r2 + strb r1, [r0] +_0813FFCE: + ldrh r0, [r5, 0x8] + adds r0, 0x1 + strh r0, [r5, 0x8] + b _08140004 + .align 2, 0 +_0813FFD8: .4byte gSprites +_0813FFDC: + ldr r0, _0814000C @ =gTasks + lsls r1, r6, 2 + adds r1, r6 + lsls r1, 3 + adds r1, r0 + movs r2, 0xA + ldrsh r0, [r1, r2] + cmp r0, 0xA + ble _08140004 + adds r0, r6, 0 + bl DestroyTask + adds r0, r7, 0 + movs r1, 0x2 + bl StartSpriteAnim + movs r0, 0 + strh r0, [r7, 0x38] + ldr r0, _08140010 @ =sub_8140014 + str r0, [r7, 0x1C] +_08140004: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0814000C: .4byte gTasks +_08140010: .4byte sub_8140014 + thumb_func_end sub_813FEC8 + + thumb_func_start sub_8140014 +sub_8140014: @ 8140014 + push {r4,lr} + adds r4, r0, 0 + adds r0, 0x3F + ldrb r1, [r0] + movs r0, 0x10 + ands r0, r1 + cmp r0, 0 + beq _0814004E + movs r1, 0 + strh r1, [r4, 0x34] + movs r0, 0x20 + strh r0, [r4, 0x36] + strh r1, [r4, 0x38] + movs r0, 0 + movs r1, 0x20 + bl Cos + ldrh r1, [r4, 0x22] + adds r0, r1 + strh r0, [r4, 0x22] + movs r0, 0x36 + ldrsh r1, [r4, r0] + movs r0, 0 + bl Cos + negs r0, r0 + strh r0, [r4, 0x26] + ldr r0, _08140054 @ =sub_8140058 + str r0, [r4, 0x1C] +_0814004E: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08140054: .4byte sub_8140058 + thumb_func_end sub_8140014 + + thumb_func_start sub_8140058 +sub_8140058: @ 8140058 + push {r4,r5,lr} + adds r4, r0, 0 + movs r5, 0 + ldrh r0, [r4, 0x34] + movs r1, 0xFF + ands r1, r0 + cmp r1, 0 + beq _0814006E + cmp r1, 0x1 + beq _081400E2 + b _0814010E +_0814006E: + movs r1, 0x38 + ldrsh r0, [r4, r1] + movs r2, 0x36 + ldrsh r1, [r4, r2] + bl Cos + negs r0, r0 + strh r0, [r4, 0x26] + ldrh r1, [r4, 0x38] + adds r1, 0x4 + ldrh r2, [r4, 0x34] + lsls r0, r2, 16 + asrs r0, 24 + adds r1, r0 + strh r1, [r4, 0x38] + lsls r1, 16 + asrs r1, 16 + cmp r1, 0x3F + ble _0814010E + ldrh r0, [r4, 0x36] + subs r0, 0xA + strh r0, [r4, 0x36] + ldr r1, _081400B8 @ =0x00000101 + adds r0, r2, r1 + strh r0, [r4, 0x34] + lsls r0, 16 + asrs r0, 24 + cmp r0, 0x4 + bne _081400AA + movs r5, 0x1 +_081400AA: + cmp r0, 0x2 + beq _081400CA + cmp r0, 0x2 + bgt _081400BC + cmp r0, 0x1 + beq _081400C2 + b _081400DA + .align 2, 0 +_081400B8: .4byte 0x00000101 +_081400BC: + cmp r0, 0x3 + beq _081400D2 + b _081400DA +_081400C2: + movs r0, 0x38 + bl PlaySE + b _0814010E +_081400CA: + movs r0, 0x39 + bl PlaySE + b _0814010E +_081400D2: + movs r0, 0x3A + bl PlaySE + b _0814010E +_081400DA: + movs r0, 0x3B + bl PlaySE + b _0814010E +_081400E2: + movs r2, 0x38 + ldrsh r0, [r4, r2] + movs r2, 0x36 + ldrsh r1, [r4, r2] + bl Cos + negs r0, r0 + strh r0, [r4, 0x26] + ldrh r1, [r4, 0x38] + subs r1, 0x4 + ldrh r2, [r4, 0x34] + lsls r0, r2, 16 + asrs r0, 24 + subs r1, r0 + strh r1, [r4, 0x38] + lsls r1, 16 + cmp r1, 0 + bgt _0814010E + strh r5, [r4, 0x38] + ldr r0, _08140138 @ =0xffffff00 + ands r0, r2 + strh r0, [r4, 0x34] +_0814010E: + cmp r5, 0 + beq _0814014E + movs r5, 0 + strh r5, [r4, 0x34] + movs r0, 0x40 + movs r1, 0x20 + bl Cos + ldrh r1, [r4, 0x22] + adds r0, r1 + strh r0, [r4, 0x22] + strh r5, [r4, 0x26] + ldr r0, _0814013C @ =0x02017840 + ldrb r0, [r0, 0x8] + cmp r0, 0 + bne _08140144 + strh r5, [r4, 0x38] + ldr r0, _08140140 @ =sub_8140410 + str r0, [r4, 0x1C] + b _0814014E + .align 2, 0 +_08140138: .4byte 0xffffff00 +_0814013C: .4byte 0x02017840 +_08140140: .4byte sub_8140410 +_08140144: + ldr r0, _08140154 @ =sub_8140158 + str r0, [r4, 0x1C] + movs r0, 0x1 + strh r0, [r4, 0x36] + strh r5, [r4, 0x38] +_0814014E: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08140154: .4byte sub_8140158 + thumb_func_end sub_8140058 + + thumb_func_start sub_8140158 +sub_8140158: @ 8140158 + push {r4,r5,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x34] + adds r0, 0x1 + movs r5, 0 + strh r0, [r4, 0x34] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1F + bne _08140190 + strh r5, [r4, 0x34] + adds r2, r4, 0 + adds r2, 0x2C + ldrb r0, [r2] + movs r1, 0x80 + orrs r0, r1 + strb r0, [r2] + adds r0, r4, 0 + movs r1, 0x1 + bl StartSpriteAffineAnim + ldr r0, _08140198 @ =0x02017840 + strh r5, [r0, 0xC] + ldr r0, _0814019C @ =sub_81401A0 + str r0, [r4, 0x1C] + movs r0, 0x17 + bl PlaySE +_08140190: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08140198: .4byte 0x02017840 +_0814019C: .4byte sub_81401A0 + thumb_func_end sub_8140158 + + thumb_func_start sub_81401A0 +sub_81401A0: @ 81401A0 + push {r4,r5,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x34] + movs r1, 0xFF + ands r1, r0 + cmp r1, 0x6 + bls _081401B0 + b _081403C4 +_081401B0: + lsls r0, r1, 2 + ldr r1, _081401BC @ =_081401C0 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_081401BC: .4byte _081401C0 + .align 2, 0 +_081401C0: + .4byte _081401DC + .4byte _08140226 + .4byte _0814026C + .4byte _081402C0 + .4byte _08140310 + .4byte _08140368 + .4byte _081403C4 +_081401DC: + ldr r0, _081401F8 @ =0x02017840 + ldrh r2, [r0, 0xC] + movs r3, 0xC + ldrsh r1, [r0, r3] + adds r5, r0, 0 + cmp r1, 0xFF + ble _081401FC + ldrh r0, [r4, 0x36] + ldrh r1, [r4, 0x24] + adds r0, r1 + strh r0, [r4, 0x24] + movs r0, 0xFF + ands r0, r2 + b _08140200 + .align 2, 0 +_081401F8: .4byte 0x02017840 +_081401FC: + adds r0, r2, 0 + adds r0, 0xB0 +_08140200: + strh r0, [r5, 0xC] + ldrh r0, [r4, 0x38] + adds r0, 0x1 + movs r3, 0 + strh r0, [r4, 0x38] + adds r2, r4, 0 + adds r2, 0x2C + ldrb r1, [r2] + movs r0, 0x7F + ands r0, r1 + strb r0, [r2] + ldrh r0, [r4, 0x38] + adds r0, 0x7 + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0xE + bhi _08140224 + b _0814040A +_08140224: + b _081402B4 +_08140226: + ldrh r0, [r4, 0x38] + adds r0, 0x1 + strh r0, [r4, 0x38] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + bne _081402CC + movs r0, 0 + strh r0, [r4, 0x38] + ldrh r0, [r4, 0x36] + negs r0, r0 + strh r0, [r4, 0x36] + ldrh r0, [r4, 0x34] + adds r0, 0x1 + strh r0, [r4, 0x34] + adds r2, r4, 0 + adds r2, 0x2C + ldrb r1, [r2] + movs r0, 0x7F + ands r0, r1 + strb r0, [r2] + movs r3, 0x36 + ldrsh r0, [r4, r3] + cmp r0, 0 + bge _08140262 + adds r0, r4, 0 + movs r1, 0x2 + bl ChangeSpriteAffineAnim + b _0814040A +_08140262: + adds r0, r4, 0 + movs r1, 0x1 + bl ChangeSpriteAffineAnim + b _0814040A +_0814026C: + ldr r0, _08140288 @ =0x02017840 + ldrh r2, [r0, 0xC] + movs r3, 0xC + ldrsh r1, [r0, r3] + adds r5, r0, 0 + cmp r1, 0xFF + ble _0814028C + ldrh r0, [r4, 0x36] + ldrh r1, [r4, 0x24] + adds r0, r1 + strh r0, [r4, 0x24] + movs r0, 0xFF + ands r0, r2 + b _08140290 + .align 2, 0 +_08140288: .4byte 0x02017840 +_0814028C: + adds r0, r2, 0 + adds r0, 0xB0 +_08140290: + strh r0, [r5, 0xC] + ldrh r0, [r4, 0x38] + adds r0, 0x1 + movs r3, 0 + strh r0, [r4, 0x38] + adds r2, r4, 0 + adds r2, 0x2C + ldrb r1, [r2] + movs r0, 0x7F + ands r0, r1 + strb r0, [r2] + ldrh r0, [r4, 0x38] + adds r0, 0xC + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x18 + bhi _081402B4 + b _0814040A +_081402B4: + strh r3, [r5, 0xC] + ldrh r0, [r4, 0x34] + adds r0, 0x1 + strh r0, [r4, 0x34] + strh r3, [r4, 0x38] + b _0814040A +_081402C0: + ldrh r0, [r4, 0x38] + adds r1, r0, 0x1 + strh r1, [r4, 0x38] + lsls r0, 16 + cmp r0, 0 + bge _081402DA +_081402CC: + adds r0, r4, 0 + adds r0, 0x2C + ldrb r1, [r0] + movs r2, 0x80 + orrs r1, r2 + strb r1, [r0] + b _0814040A +_081402DA: + movs r0, 0 + strh r0, [r4, 0x38] + ldrh r0, [r4, 0x36] + negs r0, r0 + strh r0, [r4, 0x36] + ldrh r0, [r4, 0x34] + adds r0, 0x1 + strh r0, [r4, 0x34] + adds r2, r4, 0 + adds r2, 0x2C + ldrb r1, [r2] + movs r0, 0x7F + ands r0, r1 + strb r0, [r2] + movs r3, 0x36 + ldrsh r0, [r4, r3] + cmp r0, 0 + bge _08140308 + adds r0, r4, 0 + movs r1, 0x2 + bl ChangeSpriteAffineAnim + b _08140310 +_08140308: + adds r0, r4, 0 + movs r1, 0x1 + bl ChangeSpriteAffineAnim +_08140310: + ldr r0, _0814032C @ =0x02017840 + ldrh r2, [r0, 0xC] + movs r3, 0xC + ldrsh r1, [r0, r3] + adds r5, r0, 0 + cmp r1, 0xFF + ble _08140330 + ldrh r0, [r4, 0x36] + ldrh r1, [r4, 0x24] + adds r0, r1 + strh r0, [r4, 0x24] + movs r0, 0xFF + ands r0, r2 + b _08140334 + .align 2, 0 +_0814032C: .4byte 0x02017840 +_08140330: + adds r0, r2, 0 + adds r0, 0xB0 +_08140334: + strh r0, [r5, 0xC] + ldrh r0, [r4, 0x38] + adds r0, 0x1 + movs r3, 0 + strh r0, [r4, 0x38] + adds r2, r4, 0 + adds r2, 0x2C + ldrb r1, [r2] + movs r0, 0x7F + ands r0, r1 + strb r0, [r2] + ldrh r0, [r4, 0x38] + adds r0, 0x4 + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x8 + bls _0814040A + strh r3, [r5, 0xC] + ldrh r0, [r4, 0x34] + adds r0, 0x1 + strh r0, [r4, 0x34] + strh r3, [r4, 0x38] + ldrh r0, [r4, 0x36] + negs r0, r0 + strh r0, [r4, 0x36] + b _0814040A +_08140368: + movs r3, 0x80 + lsls r3, 1 + adds r0, r3, 0 + ldrh r1, [r4, 0x34] + adds r0, r1 + strh r0, [r4, 0x34] + lsls r0, 16 + asrs r1, r0, 24 + ldr r0, _08140394 @ =0x02017840 + ldrb r0, [r0, 0x8] + cmp r1, r0 + bne _0814039C + adds r2, r4, 0 + adds r2, 0x2C + ldrb r0, [r2] + movs r1, 0x80 + orrs r0, r1 + strb r0, [r2] + ldr r0, _08140398 @ =sub_8140410 + str r0, [r4, 0x1C] + b _0814040A + .align 2, 0 +_08140394: .4byte 0x02017840 +_08140398: .4byte sub_8140410 +_0814039C: + cmp r0, 0x4 + bne _081403B0 + cmp r1, 0x3 + bne _081403B0 + ldr r0, _081403AC @ =sub_8140434 + str r0, [r4, 0x1C] + b _081403B6 + .align 2, 0 +_081403AC: .4byte sub_8140434 +_081403B0: + ldrh r0, [r4, 0x34] + adds r0, 0x1 + strh r0, [r4, 0x34] +_081403B6: + adds r2, r4, 0 + adds r2, 0x2C + ldrb r0, [r2] + movs r1, 0x80 + orrs r0, r1 + strb r0, [r2] + b _0814040A +_081403C4: + ldrh r0, [r4, 0x38] + adds r0, 0x1 + strh r0, [r4, 0x38] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1F + bne _0814040A + movs r0, 0 + strh r0, [r4, 0x38] + ldrh r1, [r4, 0x34] + ldr r0, _081403F8 @ =0xffffff00 + ands r0, r1 + strh r0, [r4, 0x34] + adds r0, r4, 0 + movs r1, 0x3 + bl StartSpriteAffineAnim + movs r3, 0x36 + ldrsh r0, [r4, r3] + cmp r0, 0 + bge _081403FC + adds r0, r4, 0 + movs r1, 0x2 + bl StartSpriteAffineAnim + b _08140404 + .align 2, 0 +_081403F8: .4byte 0xffffff00 +_081403FC: + adds r0, r4, 0 + movs r1, 0x1 + bl StartSpriteAffineAnim +_08140404: + movs r0, 0x17 + bl PlaySE +_0814040A: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_81401A0 + + thumb_func_start sub_8140410 +sub_8140410: @ 8140410 + push {lr} + adds r1, r0, 0 + ldrh r0, [r1, 0x38] + adds r0, 0x1 + strh r0, [r1, 0x38] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1F + bne _0814042A + movs r0, 0 + strh r0, [r1, 0x38] + ldr r0, _08140430 @ =sub_81405F4 + str r0, [r1, 0x1C] +_0814042A: + pop {r0} + bx r0 + .align 2, 0 +_08140430: .4byte sub_81405F4 + thumb_func_end sub_8140410 + + thumb_func_start sub_8140434 +sub_8140434: @ 8140434 + adds r3, r0, 0 + adds r3, 0x2C + ldrb r1, [r3] + movs r2, 0x40 + orrs r1, r2 + strb r1, [r3] + ldr r1, _08140450 @ =sub_8140454 + str r1, [r0, 0x1C] + movs r1, 0 + strh r1, [r0, 0x34] + strh r1, [r0, 0x36] + strh r1, [r0, 0x38] + bx lr + .align 2, 0 +_08140450: .4byte sub_8140454 + thumb_func_end sub_8140434 + + thumb_func_start sub_8140454 +sub_8140454: @ 8140454 + push {r4-r7,lr} + adds r6, r0, 0 + ldr r7, _08140484 @ =gUnknown_0202F7C9 + ldrh r0, [r6, 0x36] + adds r0, 0x1 + strh r0, [r6, 0x36] + lsls r0, 16 + asrs r1, r0, 16 + cmp r1, 0x28 + beq _081404CC + cmp r1, 0x5F + bne _08140490 + ldr r0, _08140488 @ =gUnknown_02024E6D + movs r1, 0 + strb r1, [r0] + movs r0, 0x1 + bl sub_8043EB4 + bl m4aMPlayAllStop + ldr r0, _0814048C @ =0x00000173 + bl PlaySE + b _081404CC + .align 2, 0 +_08140484: .4byte gUnknown_0202F7C9 +_08140488: .4byte gUnknown_02024E6D +_0814048C: .4byte 0x00000173 +_08140490: + ldr r0, _081404D4 @ =0x0000013b + cmp r1, r0 + bne _081404CC + ldr r5, _081404D8 @ =gSprites + ldr r4, _081404DC @ =gUnknown_02024BE0 + ldrb r0, [r7] + adds r0, r4 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r5 + ldrb r0, [r0, 0x3] + lsls r0, 26 + lsrs r0, 27 + bl FreeOamMatrix + ldrb r0, [r7] + adds r0, r4 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r5 + bl DestroySprite + movs r0, 0 + strh r0, [r6, 0x2E] + ldr r0, _081404E0 @ =sub_81404E4 + str r0, [r6, 0x1C] +_081404CC: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_081404D4: .4byte 0x0000013b +_081404D8: .4byte gSprites +_081404DC: .4byte gUnknown_02024BE0 +_081404E0: .4byte sub_81404E4 + thumb_func_end sub_8140454 + + thumb_func_start sub_81404E4 +sub_81404E4: @ 81404E4 + push {r4,lr} + sub sp, 0x4 + adds r4, r0, 0 + movs r1, 0x2E + ldrsh r0, [r4, r1] + cmp r0, 0x1 + beq _08140550 + cmp r0, 0x1 + bgt _081404FC + cmp r0, 0 + beq _08140502 + b _08140594 +_081404FC: + cmp r0, 0x2 + beq _08140580 + b _08140594 +_08140502: + strh r0, [r4, 0x30] + strh r0, [r4, 0x32] + ldrb r1, [r4, 0x1] + movs r0, 0xD + negs r0, r0 + ands r0, r1 + movs r1, 0x4 + orrs r0, r1 + strb r0, [r4, 0x1] + ldr r1, _08140548 @ =REG_BLDCNT + movs r2, 0xFD + lsls r2, 6 + adds r0, r2, 0 + strh r0, [r1] + adds r1, 0x2 + movs r0, 0x10 + strh r0, [r1] + ldr r0, [r4, 0x14] + ldrh r0, [r0, 0x2] + bl IndexOfSpritePaletteTag + lsls r0, 24 + lsrs r0, 24 + adds r0, 0x10 + movs r1, 0x1 + lsls r1, r0 + ldr r0, _0814054C @ =0x00007fff + str r0, [sp] + adds r0, r1, 0 + movs r1, 0 + movs r2, 0 + movs r3, 0x10 + bl BeginNormalPaletteFade + b _0814058C + .align 2, 0 +_08140548: .4byte REG_BLDCNT +_0814054C: .4byte 0x00007fff +_08140550: + ldrh r0, [r4, 0x30] + adds r1, r0, 0x1 + strh r1, [r4, 0x30] + lsls r0, 16 + cmp r0, 0 + ble _081405B2 + movs r0, 0 + strh r0, [r4, 0x30] + ldrh r1, [r4, 0x32] + adds r1, 0x1 + strh r1, [r4, 0x32] + ldr r3, _0814057C @ =REG_BLDALPHA + lsls r2, r1, 8 + movs r0, 0x10 + subs r0, r1 + orrs r2, r0 + strh r2, [r3] + movs r1, 0x32 + ldrsh r0, [r4, r1] + cmp r0, 0x10 + bne _081405B2 + b _0814058C + .align 2, 0 +_0814057C: .4byte REG_BLDALPHA +_08140580: + adds r2, r4, 0 + adds r2, 0x3E + ldrb r0, [r2] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r2] +_0814058C: + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + strh r0, [r4, 0x2E] + b _081405B2 +_08140594: + ldr r0, _081405BC @ =gPaletteFade + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + lsls r0, 24 + lsrs r1, r0, 24 + cmp r1, 0 + bne _081405B2 + ldr r0, _081405C0 @ =REG_BLDCNT + strh r1, [r0] + adds r0, 0x2 + strh r1, [r0] + strh r1, [r4, 0x2E] + ldr r0, _081405C4 @ =sub_81405C8 + str r0, [r4, 0x1C] +_081405B2: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_081405BC: .4byte gPaletteFade +_081405C0: .4byte REG_BLDCNT +_081405C4: .4byte sub_81405C8 + thumb_func_end sub_81404E4 + + thumb_func_start sub_81405C8 +sub_81405C8: @ 81405C8 + push {r4,lr} + adds r4, r0, 0 + ldrh r1, [r4, 0x2E] + movs r2, 0x2E + ldrsh r0, [r4, r2] + cmp r0, 0 + bne _081405E0 + ldr r0, _081405DC @ =0x0000ffff + strh r0, [r4, 0x2E] + b _081405EC + .align 2, 0 +_081405DC: .4byte 0x0000ffff +_081405E0: + adds r0, r4, 0 + bl FreeSpriteOamMatrix + adds r0, r4, 0 + bl DestroySprite +_081405EC: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_81405C8 + + thumb_func_start sub_81405F4 +sub_81405F4: @ 81405F4 + push {r4-r6,lr} + sub sp, 0x4 + adds r4, r0, 0 + movs r1, 0x1 + bl StartSpriteAnim + adds r0, r4, 0 + movs r1, 0 + bl StartSpriteAffineAnim + ldr r0, _081406A8 @ =sub_81406BC + str r0, [r4, 0x1C] + ldr r0, _081406AC @ =gUnknown_02024C04 + ldrh r0, [r0] + bl ball_number_to_ball_processing_index + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0xB + bgt _08140646 + cmp r5, 0 + blt _08140646 + ldrh r0, [r4, 0x20] + lsls r0, 24 + lsrs r0, 24 + ldrh r1, [r4, 0x22] + subs r1, 0x5 + lsls r1, 24 + lsrs r1, 24 + str r5, [sp] + movs r2, 0x1 + movs r3, 0x1C + bl sub_814086C + ldr r0, _081406B0 @ =gUnknown_0202F7C9 + ldrb r1, [r0] + movs r0, 0x1 + movs r2, 0xE + adds r3, r5, 0 + bl sub_8141314 +_08140646: + ldr r6, _081406B4 @ =gSprites + ldr r5, _081406B8 @ =gUnknown_02024BE0 + ldr r4, _081406B0 @ =gUnknown_0202F7C9 + ldrb r0, [r4] + adds r0, r5 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r6 + adds r0, 0x3E + ldrb r2, [r0] + movs r1, 0x5 + negs r1, r1 + ands r1, r2 + strb r1, [r0] + ldrb r0, [r4] + adds r0, r5 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r6 + movs r1, 0x1 + bl StartSpriteAffineAnim + ldrb r0, [r4] + adds r0, r5 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r6 + bl AnimateSprite + ldrb r0, [r4] + adds r0, r5 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r6 + movs r1, 0x80 + lsls r1, 5 + strh r1, [r0, 0x30] + add sp, 0x4 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_081406A8: .4byte sub_81406BC +_081406AC: .4byte gUnknown_02024C04 +_081406B0: .4byte gUnknown_0202F7C9 +_081406B4: .4byte gSprites +_081406B8: .4byte gUnknown_02024BE0 + thumb_func_end sub_81405F4 + + thumb_func_start sub_81406BC +sub_81406BC: @ 81406BC + push {r4-r7,lr} + adds r7, r0, 0 + movs r5, 0 + adds r0, 0x3F + ldrb r1, [r0] + movs r0, 0x10 + ands r0, r1 + cmp r0, 0 + beq _081406DA + adds r2, r7, 0 + adds r2, 0x3E + ldrb r0, [r2] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r2] +_081406DA: + ldr r4, _08140708 @ =gSprites + ldr r3, _0814070C @ =gUnknown_02024BE0 + ldr r2, _08140710 @ =gUnknown_0202F7C9 + ldrb r0, [r2] + adds r0, r3 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r1, r0, r4 + adds r0, r1, 0 + adds r0, 0x3F + ldrb r0, [r0] + lsls r0, 26 + cmp r0, 0 + bge _08140714 + adds r0, r1, 0 + movs r1, 0 + bl StartSpriteAffineAnim + movs r5, 0x1 + b _08140734 + .align 2, 0 +_08140708: .4byte gSprites +_0814070C: .4byte gUnknown_02024BE0 +_08140710: .4byte gUnknown_0202F7C9 +_08140714: + ldr r6, _0814079C @ =0xfffffee0 + adds r0, r6, 0 + ldrh r6, [r1, 0x30] + adds r0, r6 + strh r0, [r1, 0x30] + ldrb r0, [r2] + adds r0, r3 + ldrb r0, [r0] + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r4 + ldrh r0, [r1, 0x30] + lsls r0, 16 + asrs r0, 24 + strh r0, [r1, 0x26] +_08140734: + adds r0, r7, 0 + adds r0, 0x3F + ldrb r1, [r0] + movs r0, 0x10 + ands r0, r1 + cmp r0, 0 + beq _08140796 + cmp r5, 0 + beq _08140796 + ldr r4, _081407A0 @ =gSprites + ldr r3, _081407A4 @ =gUnknown_02024BE0 + ldr r2, _081407A8 @ =gUnknown_0202F7C9 + ldrb r0, [r2] + adds r0, r3 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r4 + movs r6, 0 + movs r5, 0 + strh r5, [r0, 0x26] + ldrb r0, [r2] + adds r0, r3 + ldrb r0, [r0] + lsls r2, r0, 4 + adds r2, r0 + lsls r2, 2 + adds r2, r4 + ldr r0, _081407AC @ =0x02017840 + ldrb r1, [r0, 0x9] + lsls r1, 30 + adds r2, 0x3E + lsrs r1, 31 + lsls r1, 2 + ldrb r3, [r2] + movs r0, 0x5 + negs r0, r0 + ands r0, r3 + orrs r0, r1 + strb r0, [r2] + strh r5, [r7, 0x2E] + ldr r0, _081407B0 @ =sub_81405C8 + str r0, [r7, 0x1C] + ldr r0, _081407B4 @ =gUnknown_02024E6D + strb r6, [r0] + movs r0, 0x1 + bl sub_8043EB4 +_08140796: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0814079C: .4byte 0xfffffee0 +_081407A0: .4byte gSprites +_081407A4: .4byte gUnknown_02024BE0 +_081407A8: .4byte gUnknown_0202F7C9 +_081407AC: .4byte 0x02017840 +_081407B0: .4byte sub_81405C8 +_081407B4: .4byte gUnknown_02024E6D + thumb_func_end sub_81406BC + + thumb_func_start sub_81407B8 +sub_81407B8: @ 81407B8 + push {r4,lr} + adds r2, r0, 0 + ldrh r0, [r2, 0x24] + ldrh r1, [r2, 0x20] + adds r0, r1 + movs r1, 0 + strh r0, [r2, 0x20] + ldrh r0, [r2, 0x26] + ldrh r3, [r2, 0x22] + adds r0, r3 + strh r0, [r2, 0x22] + strh r1, [r2, 0x26] + strh r1, [r2, 0x24] + ldr r4, _081407F0 @ =sub_81407F4 + movs r3, 0 + movs r1, 0x5 + adds r0, r2, 0 + adds r0, 0x38 +_081407DC: + strh r3, [r0] + subs r0, 0x2 + subs r1, 0x1 + cmp r1, 0 + bge _081407DC + str r4, [r2, 0x1C] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_081407F0: .4byte sub_81407F4 + thumb_func_end sub_81407B8 + + thumb_func_start sub_81407F4 +sub_81407F4: @ 81407F4 + push {r4,lr} + adds r4, r0, 0 + movs r0, 0x80 + lsls r0, 4 + adds r2, r0, 0 + ldrh r1, [r4, 0x2E] + adds r2, r1 + movs r0, 0xD0 + lsls r0, 3 + adds r3, r0, 0 + ldrh r1, [r4, 0x30] + adds r3, r1 + lsls r1, r3, 16 + asrs r1, 24 + ldrh r0, [r4, 0x24] + subs r0, r1 + strh r0, [r4, 0x24] + lsls r0, r2, 16 + asrs r0, 24 + ldrh r1, [r4, 0x26] + adds r0, r1 + strh r0, [r4, 0x26] + movs r0, 0xFF + ands r2, r0 + strh r2, [r4, 0x2E] + ands r3, r0 + strh r3, [r4, 0x30] + movs r2, 0x22 + ldrsh r0, [r4, r2] + movs r2, 0x26 + ldrsh r1, [r4, r2] + adds r0, r1 + cmp r0, 0xA0 + bgt _0814084A + movs r1, 0x20 + ldrsh r0, [r4, r1] + movs r2, 0x24 + ldrsh r1, [r4, r2] + adds r0, r1 + movs r1, 0x8 + negs r1, r1 + cmp r0, r1 + bge _0814085E +_0814084A: + movs r0, 0 + strh r0, [r4, 0x2E] + ldr r0, _08140864 @ =sub_81405C8 + str r0, [r4, 0x1C] + ldr r1, _08140868 @ =gUnknown_02024E6D + movs r0, 0 + strb r0, [r1] + movs r0, 0x1 + bl sub_8043EB4 +_0814085E: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08140864: .4byte sub_81405C8 +_08140868: .4byte gUnknown_02024E6D + thumb_func_end sub_81407F4 + + thumb_func_start sub_814086C +sub_814086C: @ 814086C + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + ldr r4, [sp, 0x20] + lsls r0, 24 + lsrs r0, 24 + mov r10, r0 + lsls r1, 24 + lsrs r1, 24 + mov r9, r1 + lsls r2, 24 + lsrs r2, 24 + mov r8, r2 + lsls r3, 24 + lsrs r7, r3, 24 + lsls r4, 24 + lsrs r4, 24 + adds r5, r4, 0 + ldr r0, _08140910 @ =gUnknown_0840B258 + lsls r6, r5, 3 + adds r4, r6, r0 + ldrh r0, [r4, 0x6] + bl GetSpriteTileStartByTag + lsls r0, 16 + ldr r1, _08140914 @ =0xffff0000 + cmp r0, r1 + bne _081408B6 + adds r0, r4, 0 + bl LoadCompressedObjectPic + ldr r0, _08140918 @ =gUnknown_0840B2B8 + adds r0, r6, r0 + bl LoadCompressedObjectPalette +_081408B6: + ldr r1, _0814091C @ =gUnknown_0840B384 + lsls r0, r5, 2 + adds r0, r1 + ldr r0, [r0] + movs r1, 0x5 + bl CreateTask + lsls r0, 24 + lsrs r4, r0, 24 + ldr r1, _08140920 @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + mov r1, r10 + strh r1, [r0, 0xA] + mov r1, r9 + strh r1, [r0, 0xC] + mov r1, r8 + strh r1, [r0, 0xE] + strh r7, [r0, 0x10] + strh r5, [r0, 0x26] + movs r0, 0xF + bl PlaySE + ldr r0, _08140924 @ =gMain + ldr r1, _08140928 @ =0x0000043d + adds r0, r1 + ldrb r1, [r0] + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _08140900 + ldr r1, _0814092C @ =0x02017840 + ldrb r0, [r1, 0xA] + adds r0, 0x1 + strb r0, [r1, 0xA] +_08140900: + adds r0, r4, 0 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_08140910: .4byte gUnknown_0840B258 +_08140914: .4byte 0xffff0000 +_08140918: .4byte gUnknown_0840B2B8 +_0814091C: .4byte gUnknown_0840B384 +_08140920: .4byte gTasks +_08140924: .4byte gMain +_08140928: .4byte 0x0000043d +_0814092C: .4byte 0x02017840 + thumb_func_end sub_814086C + + thumb_func_start sub_8140930 +sub_8140930: @ 8140930 + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + sub sp, 0x4 + lsls r0, 24 + lsrs r0, 24 + mov r9, r0 + ldr r1, _081409D0 @ =gTasks + lsls r0, 2 + add r0, r9 + lsls r0, 3 + adds r7, r0, r1 + ldrh r0, [r7, 0x26] + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + movs r1, 0x8 + ldrsh r0, [r7, r1] + cmp r0, 0xF + bgt _081409E4 + ldrb r1, [r7, 0xA] + ldrb r2, [r7, 0xC] + ldrb r6, [r7, 0xE] + ldrb r3, [r7, 0x10] + mov r4, r8 + lsls r0, r4, 1 + add r0, r8 + lsls r0, 3 + ldr r4, _081409D4 @ =gSpriteTemplate_840B3B4 + adds r0, r4 + bl CreateSprite + lsls r0, 24 + lsrs r0, 24 + lsls r4, r0, 4 + adds r4, r0 + lsls r4, 2 + ldr r5, _081409D8 @ =gSprites + adds r2, r4, r5 + ldr r0, _081409DC @ =gUnknown_0840B378 + add r0, r8 + ldrb r1, [r0] + adds r0, r2, 0 + str r2, [sp] + bl StartSpriteAnim + adds r5, 0x1C + adds r4, r5 + ldr r0, _081409E0 @ =sub_8140A08 + str r0, [r4] + movs r0, 0x3 + ands r6, r0 + lsls r6, 2 + ldr r2, [sp] + ldrb r1, [r2, 0x5] + movs r0, 0xD + negs r0, r0 + ands r0, r1 + orrs r0, r6 + strb r0, [r2, 0x5] + ldrb r0, [r7, 0x8] + cmp r0, 0x7 + bls _081409B6 + subs r0, 0x8 + lsls r0, 24 + lsrs r0, 24 +_081409B6: + lsls r0, 5 + strh r0, [r2, 0x2E] + movs r1, 0x8 + ldrsh r0, [r7, r1] + cmp r0, 0xF + bne _081409E4 + movs r0, 0x1 + strh r0, [r2, 0x3C] + mov r0, r9 + bl DestroyTask + b _081409F6 + .align 2, 0 +_081409D0: .4byte gTasks +_081409D4: .4byte gSpriteTemplate_840B3B4 +_081409D8: .4byte gSprites +_081409DC: .4byte gUnknown_0840B378 +_081409E0: .4byte sub_8140A08 +_081409E4: + ldr r0, _08140A04 @ =gTasks + mov r2, r9 + lsls r1, r2, 2 + add r1, r9 + lsls r1, 3 + adds r1, r0 + ldrh r0, [r1, 0x8] + adds r0, 0x1 + strh r0, [r1, 0x8] +_081409F6: + add sp, 0x4 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08140A04: .4byte gTasks + thumb_func_end sub_8140930 + + thumb_func_start sub_8140A08 +sub_8140A08: @ 8140A08 + push {lr} + adds r1, r0, 0 + ldrh r2, [r1, 0x30] + movs r3, 0x30 + ldrsh r0, [r1, r3] + cmp r0, 0 + bne _08140A20 + ldr r0, _08140A1C @ =sub_8140A28 + str r0, [r1, 0x1C] + b _08140A24 + .align 2, 0 +_08140A1C: .4byte sub_8140A28 +_08140A20: + subs r0, r2, 0x1 + strh r0, [r1, 0x30] +_08140A24: + pop {r0} + bx r0 + thumb_func_end sub_8140A08 + + thumb_func_start sub_8140A28 +sub_8140A28: @ 8140A28 + push {r4,lr} + adds r4, r0, 0 + movs r1, 0x2E + ldrsh r0, [r4, r1] + movs r2, 0x30 + ldrsh r1, [r4, r2] + bl Sin + strh r0, [r4, 0x24] + movs r1, 0x2E + ldrsh r0, [r4, r1] + movs r2, 0x30 + ldrsh r1, [r4, r2] + bl Cos + strh r0, [r4, 0x26] + ldrh r0, [r4, 0x30] + adds r0, 0x2 + strh r0, [r4, 0x30] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x32 + bne _08140A5C + adds r0, r4, 0 + bl sub_8141294 +_08140A5C: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8140A28 + + thumb_func_start sub_8140A64 +sub_8140A64: @ 8140A64 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x10 + lsls r0, 24 + lsrs r7, r0, 24 + ldr r1, _08140B24 @ =gTasks + lsls r0, r7, 2 + adds r0, r7 + lsls r0, 3 + adds r0, r1 + ldrh r1, [r0, 0x26] + lsls r1, 24 + lsrs r1, 24 + ldrb r2, [r0, 0xA] + str r2, [sp] + ldrb r3, [r0, 0xC] + str r3, [sp, 0x4] + ldrb r2, [r0, 0xE] + str r2, [sp, 0x8] + ldrb r0, [r0, 0x10] + str r0, [sp, 0xC] + movs r6, 0 + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 3 + mov r10, r0 + ldr r3, _08140B28 @ =gSprites + mov r8, r3 + ldr r0, _08140B2C @ =gUnknown_0840B378 + adds r1, r0 + mov r9, r1 +_08140AA8: + ldr r0, _08140B30 @ =gSpriteTemplate_840B3B4 + add r0, r10 + ldr r1, [sp] + ldr r2, [sp, 0x4] + ldr r3, [sp, 0xC] + bl CreateSprite + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 4 + adds r1, r0 + lsls r5, r1, 2 + mov r0, r8 + adds r4, r5, r0 + mov r2, r9 + ldrb r1, [r2] + adds r0, r4, 0 + bl StartSpriteAnim + ldr r3, _08140B34 @ =gSprites + 0x1C + adds r1, r5, r3 + ldr r0, _08140B38 @ =sub_8140ECC + str r0, [r1] + movs r0, 0x3 + ldr r2, [sp, 0x8] + ands r2, r0 + lsls r2, 2 + ldrb r0, [r4, 0x5] + movs r3, 0xD + negs r3, r3 + adds r1, r3, 0 + ands r0, r1 + orrs r0, r2 + strb r0, [r4, 0x5] + lsls r0, r6, 5 + strh r0, [r4, 0x2E] + movs r0, 0xA + strh r0, [r4, 0x36] + movs r0, 0x2 + strh r0, [r4, 0x38] + movs r2, 0x1 + strh r2, [r4, 0x3A] + adds r0, r6, 0x1 + lsls r0, 24 + lsrs r6, r0, 24 + cmp r6, 0x7 + bls _08140AA8 + ldr r0, _08140B28 @ =gSprites + adds r0, r5, r0 + strh r2, [r0, 0x3C] + adds r0, r7, 0 + bl DestroyTask + add sp, 0x10 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08140B24: .4byte gTasks +_08140B28: .4byte gSprites +_08140B2C: .4byte gUnknown_0840B378 +_08140B30: .4byte gSpriteTemplate_840B3B4 +_08140B34: .4byte gSprites + 0x1C +_08140B38: .4byte sub_8140ECC + thumb_func_end sub_8140A64 + + thumb_func_start sub_8140B3C +sub_8140B3C: @ 8140B3C + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x10 + lsls r0, 24 + lsrs r7, r0, 24 + ldr r1, _08140BFC @ =gTasks + lsls r0, r7, 2 + adds r0, r7 + lsls r0, 3 + adds r0, r1 + ldrh r1, [r0, 0x26] + lsls r1, 24 + lsrs r1, 24 + ldrb r2, [r0, 0xA] + str r2, [sp] + ldrb r3, [r0, 0xC] + str r3, [sp, 0x4] + ldrb r2, [r0, 0xE] + str r2, [sp, 0x8] + ldrb r0, [r0, 0x10] + str r0, [sp, 0xC] + movs r6, 0 + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 3 + mov r10, r0 + ldr r3, _08140C00 @ =gSprites + mov r8, r3 + ldr r0, _08140C04 @ =gUnknown_0840B378 + adds r1, r0 + mov r9, r1 +_08140B80: + ldr r0, _08140C08 @ =gSpriteTemplate_840B3B4 + add r0, r10 + ldr r1, [sp] + ldr r2, [sp, 0x4] + ldr r3, [sp, 0xC] + bl CreateSprite + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 4 + adds r1, r0 + lsls r5, r1, 2 + mov r0, r8 + adds r4, r5, r0 + mov r2, r9 + ldrb r1, [r2] + adds r0, r4, 0 + bl StartSpriteAnim + ldr r3, _08140C0C @ =gSprites + 0x1C + adds r1, r5, r3 + ldr r0, _08140C10 @ =sub_8140ECC + str r0, [r1] + movs r0, 0x3 + ldr r2, [sp, 0x8] + ands r2, r0 + lsls r2, 2 + ldrb r0, [r4, 0x5] + movs r3, 0xD + negs r3, r3 + adds r1, r3, 0 + ands r0, r1 + orrs r0, r2 + strb r0, [r4, 0x5] + lsls r0, r6, 5 + strh r0, [r4, 0x2E] + movs r0, 0xA + strh r0, [r4, 0x36] + movs r1, 0x1 + strh r1, [r4, 0x38] + movs r0, 0x2 + strh r0, [r4, 0x3A] + adds r0, r6, 0x1 + lsls r0, 24 + lsrs r6, r0, 24 + cmp r6, 0x7 + bls _08140B80 + ldr r0, _08140C00 @ =gSprites + adds r0, r5, r0 + strh r1, [r0, 0x3C] + adds r0, r7, 0 + bl DestroyTask + add sp, 0x10 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08140BFC: .4byte gTasks +_08140C00: .4byte gSprites +_08140C04: .4byte gUnknown_0840B378 +_08140C08: .4byte gSpriteTemplate_840B3B4 +_08140C0C: .4byte gSprites + 0x1C +_08140C10: .4byte sub_8140ECC + thumb_func_end sub_8140B3C + + thumb_func_start sub_8140C14 +sub_8140C14: @ 8140C14 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x10 + lsls r0, 24 + lsrs r7, r0, 24 + ldr r1, _08140CD0 @ =gTasks + lsls r0, r7, 2 + adds r0, r7 + lsls r0, 3 + adds r0, r1 + ldrh r1, [r0, 0x26] + lsls r1, 24 + lsrs r1, 24 + ldrb r2, [r0, 0xA] + str r2, [sp] + ldrb r3, [r0, 0xC] + str r3, [sp, 0x4] + ldrb r2, [r0, 0xE] + str r2, [sp, 0x8] + ldrb r0, [r0, 0x10] + str r0, [sp, 0xC] + movs r6, 0 + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 3 + mov r10, r0 + ldr r3, _08140CD4 @ =gSprites + mov r8, r3 + ldr r0, _08140CD8 @ =gUnknown_0840B378 + adds r1, r0 + mov r9, r1 +_08140C58: + ldr r0, _08140CDC @ =gSpriteTemplate_840B3B4 + add r0, r10 + ldr r1, [sp] + ldr r2, [sp, 0x4] + ldr r3, [sp, 0xC] + bl CreateSprite + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 4 + adds r1, r0 + lsls r5, r1, 2 + mov r0, r8 + adds r4, r5, r0 + mov r2, r9 + ldrb r1, [r2] + adds r0, r4, 0 + bl StartSpriteAnim + ldr r3, _08140CE0 @ =gSprites + 0x1C + adds r1, r5, r3 + ldr r0, _08140CE4 @ =sub_8140ECC + str r0, [r1] + movs r0, 0x3 + ldr r2, [sp, 0x8] + ands r2, r0 + lsls r2, 2 + ldrb r0, [r4, 0x5] + movs r3, 0xD + negs r3, r3 + adds r1, r3, 0 + ands r0, r1 + orrs r0, r2 + strb r0, [r4, 0x5] + lsls r0, r6, 5 + strh r0, [r4, 0x2E] + movs r0, 0x4 + strh r0, [r4, 0x36] + movs r2, 0x1 + strh r2, [r4, 0x38] + strh r2, [r4, 0x3A] + adds r0, r6, 0x1 + lsls r0, 24 + lsrs r6, r0, 24 + cmp r6, 0x7 + bls _08140C58 + ldr r0, _08140CD4 @ =gSprites + adds r0, r5, r0 + strh r2, [r0, 0x3C] + adds r0, r7, 0 + bl DestroyTask + add sp, 0x10 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08140CD0: .4byte gTasks +_08140CD4: .4byte gSprites +_08140CD8: .4byte gUnknown_0840B378 +_08140CDC: .4byte gSpriteTemplate_840B3B4 +_08140CE0: .4byte gSprites + 0x1C +_08140CE4: .4byte sub_8140ECC + thumb_func_end sub_8140C14 + + thumb_func_start sub_8140CE8 +sub_8140CE8: @ 8140CE8 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x10 + lsls r0, 24 + lsrs r7, r0, 24 + ldr r1, _08140DAC @ =gTasks + lsls r0, r7, 2 + adds r0, r7 + lsls r0, 3 + adds r0, r1 + ldrh r1, [r0, 0x26] + lsls r1, 24 + lsrs r1, 24 + ldrb r2, [r0, 0xA] + str r2, [sp] + ldrb r3, [r0, 0xC] + str r3, [sp, 0x4] + ldrb r2, [r0, 0xE] + str r2, [sp, 0x8] + ldrb r0, [r0, 0x10] + str r0, [sp, 0xC] + movs r6, 0 + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 3 + mov r10, r0 + ldr r3, _08140DB0 @ =gSprites + mov r8, r3 + ldr r0, _08140DB4 @ =gUnknown_0840B378 + adds r1, r0 + mov r9, r1 +_08140D2C: + ldr r0, _08140DB8 @ =gSpriteTemplate_840B3B4 + add r0, r10 + ldr r1, [sp] + ldr r2, [sp, 0x4] + ldr r3, [sp, 0xC] + bl CreateSprite + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 4 + adds r1, r0 + lsls r5, r1, 2 + mov r0, r8 + adds r4, r5, r0 + mov r2, r9 + ldrb r1, [r2] + adds r0, r4, 0 + bl StartSpriteAnim + ldr r3, _08140DBC @ =gSprites + 0x1C + adds r1, r5, r3 + ldr r0, _08140DC0 @ =sub_8140ECC + str r0, [r1] + movs r0, 0x3 + ldr r2, [sp, 0x8] + ands r2, r0 + lsls r2, 2 + ldrb r0, [r4, 0x5] + movs r3, 0xD + negs r3, r3 + adds r1, r3, 0 + ands r0, r1 + orrs r0, r2 + strb r0, [r4, 0x5] + lsls r0, r6, 1 + adds r0, r6 + lsls r0, 3 + adds r0, r6 + strh r0, [r4, 0x2E] + movs r0, 0x5 + strh r0, [r4, 0x36] + movs r2, 0x1 + strh r2, [r4, 0x38] + strh r2, [r4, 0x3A] + adds r0, r6, 0x1 + lsls r0, 24 + lsrs r6, r0, 24 + cmp r6, 0x9 + bls _08140D2C + ldr r0, _08140DB0 @ =gSprites + adds r0, r5, r0 + strh r2, [r0, 0x3C] + adds r0, r7, 0 + bl DestroyTask + add sp, 0x10 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08140DAC: .4byte gTasks +_08140DB0: .4byte gSprites +_08140DB4: .4byte gUnknown_0840B378 +_08140DB8: .4byte gSpriteTemplate_840B3B4 +_08140DBC: .4byte gSprites + 0x1C +_08140DC0: .4byte sub_8140ECC + thumb_func_end sub_8140CE8 + + thumb_func_start sub_8140DC4 +sub_8140DC4: @ 8140DC4 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x14 + lsls r0, 24 + lsrs r7, r0, 24 + ldr r1, _08140DF0 @ =gTasks + lsls r2, r7, 2 + adds r0, r2, r7 + lsls r0, 3 + adds r3, r0, r1 + ldrh r1, [r3, 0x16] + movs r4, 0x16 + ldrsh r0, [r3, r4] + cmp r0, 0 + beq _08140DF4 + subs r0, r1, 0x1 + strh r0, [r3, 0x16] + b _08140EA4 + .align 2, 0 +_08140DF0: .4byte gTasks +_08140DF4: + ldrh r0, [r3, 0x26] + lsls r0, 24 + lsrs r0, 24 + ldrb r1, [r3, 0xA] + str r1, [sp] + ldrb r4, [r3, 0xC] + str r4, [sp, 0x4] + ldrb r1, [r3, 0xE] + str r1, [sp, 0x8] + ldrb r3, [r3, 0x10] + str r3, [sp, 0xC] + movs r6, 0 + str r2, [sp, 0x10] + lsls r1, r0, 1 + adds r1, r0 + lsls r1, 3 + mov r10, r1 + ldr r3, _08140EB4 @ =gSprites + mov r8, r3 + ldr r1, _08140EB8 @ =gUnknown_0840B378 + adds r0, r1 + mov r9, r0 +_08140E20: + ldr r0, _08140EBC @ =gSpriteTemplate_840B3B4 + add r0, r10 + ldr r1, [sp] + ldr r2, [sp, 0x4] + ldr r3, [sp, 0xC] + bl CreateSprite + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 4 + adds r1, r0 + lsls r5, r1, 2 + mov r0, r8 + adds r4, r5, r0 + mov r3, r9 + ldrb r1, [r3] + adds r0, r4, 0 + bl StartSpriteAnim + ldr r0, _08140EC0 @ =gSprites + 0x1C + adds r1, r5, r0 + ldr r0, _08140EC4 @ =sub_8140ECC + str r0, [r1] + movs r0, 0x3 + ldr r2, [sp, 0x8] + ands r2, r0 + lsls r2, 2 + ldrb r0, [r4, 0x5] + movs r3, 0xD + negs r3, r3 + adds r1, r3, 0 + ands r0, r1 + orrs r0, r2 + strb r0, [r4, 0x5] + lsls r0, r6, 5 + strh r0, [r4, 0x2E] + movs r2, 0x8 + strh r2, [r4, 0x36] + movs r0, 0x2 + strh r0, [r4, 0x38] + strh r0, [r4, 0x3A] + adds r0, r6, 0x1 + lsls r0, 24 + lsrs r6, r0, 24 + cmp r6, 0x7 + bls _08140E20 + ldr r0, _08140EC8 @ =gTasks + ldr r4, [sp, 0x10] + adds r1, r4, r7 + lsls r1, 3 + adds r1, r0 + strh r2, [r1, 0x16] + ldrh r0, [r1, 0x8] + adds r0, 0x1 + strh r0, [r1, 0x8] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x2 + bne _08140EA4 + ldr r0, _08140EB4 @ =gSprites + adds r0, r5, r0 + movs r1, 0x1 + strh r1, [r0, 0x3C] + adds r0, r7, 0 + bl DestroyTask +_08140EA4: + add sp, 0x14 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08140EB4: .4byte gSprites +_08140EB8: .4byte gUnknown_0840B378 +_08140EBC: .4byte gSpriteTemplate_840B3B4 +_08140EC0: .4byte gSprites + 0x1C +_08140EC4: .4byte sub_8140ECC +_08140EC8: .4byte gTasks + thumb_func_end sub_8140DC4 + + thumb_func_start sub_8140ECC +sub_8140ECC: @ 8140ECC + push {r4,lr} + adds r4, r0, 0 + movs r1, 0x2E + ldrsh r0, [r4, r1] + movs r2, 0x30 + ldrsh r1, [r4, r2] + bl Sin + strh r0, [r4, 0x24] + movs r1, 0x2E + ldrsh r0, [r4, r1] + movs r2, 0x32 + ldrsh r1, [r4, r2] + bl Cos + strh r0, [r4, 0x26] + ldrh r0, [r4, 0x36] + ldrh r1, [r4, 0x2E] + adds r0, r1 + movs r1, 0xFF + ands r0, r1 + strh r0, [r4, 0x2E] + ldrh r0, [r4, 0x38] + ldrh r2, [r4, 0x30] + adds r0, r2 + strh r0, [r4, 0x30] + ldrh r0, [r4, 0x3A] + ldrh r1, [r4, 0x32] + adds r0, r1 + strh r0, [r4, 0x32] + ldrh r0, [r4, 0x34] + adds r0, 0x1 + strh r0, [r4, 0x34] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x33 + bne _08140F1C + adds r0, r4, 0 + bl sub_8141294 +_08140F1C: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8140ECC + + thumb_func_start sub_8140F24 +sub_8140F24: @ 8140F24 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x10 + lsls r0, 24 + lsrs r7, r0, 24 + ldr r1, _08140FE0 @ =gTasks + lsls r0, r7, 2 + adds r0, r7 + lsls r0, 3 + adds r0, r1 + ldrh r1, [r0, 0x26] + lsls r1, 24 + lsrs r1, 24 + ldrb r2, [r0, 0xA] + str r2, [sp] + ldrb r3, [r0, 0xC] + str r3, [sp, 0x4] + ldrb r2, [r0, 0xE] + str r2, [sp, 0x8] + ldrb r0, [r0, 0x10] + str r0, [sp, 0xC] + movs r6, 0 + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 3 + mov r10, r0 + ldr r3, _08140FE4 @ =gSprites + mov r8, r3 + ldr r0, _08140FE8 @ =gUnknown_0840B378 + adds r1, r0 + mov r9, r1 +_08140F68: + ldr r0, _08140FEC @ =gSpriteTemplate_840B3B4 + add r0, r10 + ldr r1, [sp] + ldr r2, [sp, 0x4] + ldr r3, [sp, 0xC] + bl CreateSprite + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 4 + adds r1, r0 + lsls r5, r1, 2 + mov r0, r8 + adds r4, r5, r0 + mov r2, r9 + ldrb r1, [r2] + adds r0, r4, 0 + bl StartSpriteAnim + ldr r3, _08140FF0 @ =gSprites + 0x1C + adds r1, r5, r3 + ldr r0, _08140FF4 @ =sub_8140FF8 + str r0, [r1] + movs r0, 0x3 + ldr r2, [sp, 0x8] + ands r2, r0 + lsls r2, 2 + ldrb r0, [r4, 0x5] + movs r3, 0xD + negs r3, r3 + adds r1, r3, 0 + ands r0, r1 + orrs r0, r2 + strb r0, [r4, 0x5] + lsls r0, r6, 2 + adds r0, r6 + lsls r0, 2 + adds r0, r6 + strh r0, [r4, 0x2E] + adds r0, r6, 0x1 + lsls r0, 24 + lsrs r6, r0, 24 + cmp r6, 0xB + bls _08140F68 + ldr r0, _08140FE4 @ =gSprites + adds r0, r5, r0 + movs r1, 0x1 + strh r1, [r0, 0x3C] + adds r0, r7, 0 + bl DestroyTask + add sp, 0x10 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08140FE0: .4byte gTasks +_08140FE4: .4byte gSprites +_08140FE8: .4byte gUnknown_0840B378 +_08140FEC: .4byte gSpriteTemplate_840B3B4 +_08140FF0: .4byte gSprites + 0x1C +_08140FF4: .4byte sub_8140FF8 + thumb_func_end sub_8140F24 + + thumb_func_start sub_8140FF8 +sub_8140FF8: @ 8140FF8 + push {r4,r5,lr} + adds r5, r0, 0 + movs r1, 0x2E + ldrsh r0, [r5, r1] + movs r2, 0x30 + ldrsh r1, [r5, r2] + bl Sin + strh r0, [r5, 0x24] + movs r0, 0x2E + ldrsh r4, [r5, r0] + movs r2, 0x32 + ldrsh r1, [r5, r2] + adds r0, r4, 0 + bl Sin + adds r1, r0, 0 + lsls r1, 16 + asrs r1, 16 + adds r0, r4, 0 + bl Cos + strh r0, [r5, 0x26] + ldrh r0, [r5, 0x2E] + adds r0, 0x6 + movs r1, 0xFF + ands r0, r1 + strh r0, [r5, 0x2E] + ldrh r0, [r5, 0x30] + adds r0, 0x1 + strh r0, [r5, 0x30] + ldrh r0, [r5, 0x32] + adds r0, 0x1 + strh r0, [r5, 0x32] + ldrh r0, [r5, 0x34] + adds r0, 0x1 + strh r0, [r5, 0x34] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x33 + bne _08141050 + adds r0, r5, 0 + bl sub_8141294 +_08141050: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_8140FF8 + + thumb_func_start sub_8141058 +sub_8141058: @ 8141058 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x18 + lsls r0, 24 + lsrs r0, 24 + str r0, [sp] + ldr r1, _08141104 @ =gTasks + lsls r0, 2 + ldr r2, [sp] + adds r0, r2 + lsls r0, 3 + adds r0, r1 + ldrh r1, [r0, 0x26] + lsls r1, 24 + lsrs r1, 24 + ldrb r3, [r0, 0xA] + str r3, [sp, 0x4] + ldrb r2, [r0, 0xC] + str r2, [sp, 0x8] + ldrb r3, [r0, 0xE] + str r3, [sp, 0xC] + ldrb r0, [r0, 0x10] + str r0, [sp, 0x10] + movs r0, 0 + mov r8, r0 + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 3 + str r0, [sp, 0x14] + ldr r0, _08141108 @ =gUnknown_0840B378 + adds r1, r0 + mov r10, r1 +_0814109E: + movs r7, 0 + movs r1, 0x1 + add r1, r8 + mov r9, r1 +_081410A6: + ldr r0, _0814110C @ =gSpriteTemplate_840B3B4 + ldr r2, [sp, 0x14] + adds r0, r2, r0 + ldr r1, [sp, 0x4] + ldr r2, [sp, 0x8] + ldr r3, [sp, 0x10] + bl CreateSprite + lsls r0, 24 + lsrs r6, r0, 24 + lsls r4, r6, 4 + adds r4, r6 + lsls r4, 2 + ldr r3, _08141110 @ =gSprites + adds r5, r4, r3 + mov r0, r10 + ldrb r1, [r0] + adds r0, r5, 0 + bl StartSpriteAnim + ldr r1, _08141114 @ =gSprites + 0x1C + adds r4, r1 + ldr r0, _08141118 @ =sub_8140ECC + str r0, [r4] + movs r0, 0x3 + ldr r1, [sp, 0xC] + ands r1, r0 + lsls r1, 2 + ldrb r0, [r5, 0x5] + movs r3, 0xD + negs r3, r3 + adds r2, r3, 0 + ands r0, r2 + orrs r0, r1 + strb r0, [r5, 0x5] + lsls r0, r7, 5 + strh r0, [r5, 0x2E] + movs r0, 0x8 + strh r0, [r5, 0x36] + mov r0, r8 + cmp r0, 0 + bne _0814111C + movs r0, 0x2 + strh r0, [r5, 0x38] + movs r0, 0x1 + b _08141122 + .align 2, 0 +_08141104: .4byte gTasks +_08141108: .4byte gUnknown_0840B378 +_0814110C: .4byte gSpriteTemplate_840B3B4 +_08141110: .4byte gSprites +_08141114: .4byte gSprites + 0x1C +_08141118: .4byte sub_8140ECC +_0814111C: + movs r0, 0x1 + strh r0, [r5, 0x38] + movs r0, 0x2 +_08141122: + strh r0, [r5, 0x3A] + adds r0, r7, 0x1 + lsls r0, 24 + lsrs r7, r0, 24 + cmp r7, 0x7 + bls _081410A6 + mov r1, r9 + lsls r0, r1, 24 + lsrs r0, 24 + mov r8, r0 + cmp r0, 0x1 + bls _0814109E + ldr r0, _08141160 @ =gSprites + lsls r1, r6, 4 + adds r1, r6 + lsls r1, 2 + adds r1, r0 + movs r0, 0x1 + strh r0, [r1, 0x3C] + ldr r0, [sp] + bl DestroyTask + add sp, 0x18 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08141160: .4byte gSprites + thumb_func_end sub_8141058 + + thumb_func_start sub_8141164 +sub_8141164: @ 8141164 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x10 + lsls r0, 24 + lsrs r7, r0, 24 + ldr r1, _08141218 @ =gTasks + lsls r0, r7, 2 + adds r0, r7 + lsls r0, 3 + adds r0, r1 + ldrh r1, [r0, 0x26] + lsls r1, 24 + lsrs r1, 24 + ldrb r2, [r0, 0xA] + str r2, [sp] + ldrb r3, [r0, 0xC] + str r3, [sp, 0x4] + ldrb r2, [r0, 0xE] + str r2, [sp, 0x8] + ldrb r0, [r0, 0x10] + str r0, [sp, 0xC] + movs r6, 0 + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 3 + mov r10, r0 + ldr r3, _0814121C @ =gSprites + mov r8, r3 + ldr r0, _08141220 @ =gUnknown_0840B378 + adds r1, r0 + mov r9, r1 +_081411A8: + ldr r0, _08141224 @ =gSpriteTemplate_840B3B4 + add r0, r10 + ldr r1, [sp] + ldr r2, [sp, 0x4] + ldr r3, [sp, 0xC] + bl CreateSprite + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 4 + adds r1, r0 + lsls r5, r1, 2 + mov r0, r8 + adds r4, r5, r0 + mov r2, r9 + ldrb r1, [r2] + adds r0, r4, 0 + bl StartSpriteAnim + ldr r3, _08141228 @ =gSprites + 0x1C + adds r1, r5, r3 + ldr r0, _0814122C @ =sub_8141230 + str r0, [r1] + movs r0, 0x3 + ldr r2, [sp, 0x8] + ands r2, r0 + lsls r2, 2 + ldrb r0, [r4, 0x5] + movs r3, 0xD + negs r3, r3 + adds r1, r3, 0 + ands r0, r1 + orrs r0, r2 + strb r0, [r4, 0x5] + lsls r0, r6, 5 + strh r0, [r4, 0x2E] + adds r0, r6, 0x1 + lsls r0, 24 + lsrs r6, r0, 24 + cmp r6, 0x7 + bls _081411A8 + ldr r0, _0814121C @ =gSprites + adds r0, r5, r0 + movs r1, 0x1 + strh r1, [r0, 0x3C] + adds r0, r7, 0 + bl DestroyTask + add sp, 0x10 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08141218: .4byte gTasks +_0814121C: .4byte gSprites +_08141220: .4byte gUnknown_0840B378 +_08141224: .4byte gSpriteTemplate_840B3B4 +_08141228: .4byte gSprites + 0x1C +_0814122C: .4byte sub_8141230 + thumb_func_end sub_8141164 + + thumb_func_start sub_8141230 +sub_8141230: @ 8141230 + push {r4,r5,lr} + adds r5, r0, 0 + movs r1, 0x2E + ldrsh r0, [r5, r1] + movs r2, 0x30 + ldrsh r1, [r5, r2] + bl Sin + strh r0, [r5, 0x24] + movs r0, 0x2E + ldrsh r4, [r5, r0] + ldrh r1, [r5, 0x2E] + movs r0, 0x3F + ands r0, r1 + movs r2, 0x32 + ldrsh r1, [r5, r2] + bl Sin + adds r1, r0, 0 + lsls r1, 16 + asrs r1, 16 + adds r0, r4, 0 + bl Cos + strh r0, [r5, 0x26] + ldrh r0, [r5, 0x2E] + adds r0, 0xA + movs r1, 0xFF + ands r0, r1 + strh r0, [r5, 0x2E] + ldrh r0, [r5, 0x30] + adds r0, 0x1 + strh r0, [r5, 0x30] + ldrh r0, [r5, 0x32] + adds r0, 0x1 + strh r0, [r5, 0x32] + ldrh r0, [r5, 0x34] + adds r0, 0x1 + strh r0, [r5, 0x34] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x33 + bne _0814128C + adds r0, r5, 0 + bl sub_8141294 +_0814128C: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_8141230 + + thumb_func_start sub_8141294 +sub_8141294: @ 8141294 + push {r4-r7,lr} + adds r5, r0, 0 + ldr r0, _081412B8 @ =gMain + ldr r1, _081412BC @ =0x0000043d + adds r0, r1 + ldrb r1, [r0] + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + bne _081412C0 + movs r1, 0x3C + ldrsh r0, [r5, r1] + cmp r0, 0x1 + bne _081412F2 + adds r0, r5, 0 + bl DestroySpriteAndFreeResources + b _0814130E + .align 2, 0 +_081412B8: .4byte gMain +_081412BC: .4byte 0x0000043d +_081412C0: + movs r1, 0x3C + ldrsh r0, [r5, r1] + cmp r0, 0x1 + bne _08141308 + ldr r1, _081412FC @ =0x02017840 + ldrb r0, [r1, 0xA] + subs r0, 0x1 + strb r0, [r1, 0xA] + lsls r0, 24 + cmp r0, 0 + bne _081412F2 + movs r7, 0 + ldr r6, _08141300 @ =gUnknown_0840B258 + ldr r4, _08141304 @ =gUnknown_0840B2B8 +_081412DC: + ldrh r0, [r6, 0x6] + bl FreeSpriteTilesByTag + ldrh r0, [r4, 0x4] + bl FreeSpritePaletteByTag + adds r6, 0x8 + adds r4, 0x8 + adds r7, 0x1 + cmp r7, 0xB + ble _081412DC +_081412F2: + adds r0, r5, 0 + bl DestroySprite + b _0814130E + .align 2, 0 +_081412FC: .4byte 0x02017840 +_08141300: .4byte gUnknown_0840B258 +_08141304: .4byte gUnknown_0840B2B8 +_08141308: + adds r0, r5, 0 + bl DestroySprite +_0814130E: + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_8141294 + + thumb_func_start sub_8141314 +sub_8141314: @ 8141314 + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + sub sp, 0x4 + adds r4, r0, 0 + mov r9, r2 + lsls r4, 24 + lsrs r4, 24 + lsls r1, 24 + lsrs r6, r1, 24 + lsls r3, 24 + lsrs r7, r3, 24 + ldr r0, _08141378 @ =sub_81413DC + movs r1, 0x5 + bl CreateTask + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + ldr r1, _0814137C @ =gTasks + lsls r0, 2 + add r0, r8 + lsls r0, 3 + adds r5, r0, r1 + strh r7, [r5, 0x26] + strh r6, [r5, 0xE] + mov r0, r9 + strh r0, [r5, 0x1C] + mov r1, r9 + lsrs r0, r1, 16 + strh r0, [r5, 0x1E] + cmp r4, 0 + bne _08141384 + lsls r0, r6, 20 + movs r2, 0x80 + lsls r2, 17 + adds r0, r2 + lsrs r0, 16 + ldr r2, _08141380 @ =gUnknown_0840B4D4 + lsls r1, r7, 1 + adds r1, r2 + ldrh r3, [r1] + movs r1, 0x10 + movs r2, 0 + bl BlendPalette + movs r0, 0x1 + strh r0, [r5, 0xA] + b _081413AA + .align 2, 0 +_08141378: .4byte sub_81413DC +_0814137C: .4byte gTasks +_08141380: .4byte gUnknown_0840B4D4 +_08141384: + lsls r0, r6, 20 + movs r1, 0x80 + lsls r1, 17 + adds r0, r1 + lsrs r0, 16 + ldr r2, _081413CC @ =gUnknown_0840B4D4 + lsls r1, r7, 1 + adds r1, r2 + ldrh r3, [r1] + movs r1, 0x10 + movs r2, 0x10 + bl BlendPalette + movs r0, 0x10 + strh r0, [r5, 0x8] + ldr r0, _081413D0 @ =0x0000ffff + strh r0, [r5, 0xA] + ldr r0, _081413D4 @ =sub_814146C + str r0, [r5] +_081413AA: + ldr r0, _081413D8 @ =0x00007fff + str r0, [sp] + mov r0, r9 + movs r1, 0 + movs r2, 0 + movs r3, 0x10 + bl BeginNormalPaletteFade + mov r0, r8 + add sp, 0x4 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_081413CC: .4byte gUnknown_0840B4D4 +_081413D0: .4byte 0x0000ffff +_081413D4: .4byte sub_814146C +_081413D8: .4byte 0x00007fff + thumb_func_end sub_8141314 + + thumb_func_start sub_81413DC +sub_81413DC: @ 81413DC + push {r4,r5,lr} + sub sp, 0x4 + lsls r0, 24 + lsrs r0, 24 + adds r5, r0, 0 + ldr r1, _0814142C @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r4, r0, r1 + ldrh r0, [r4, 0x26] + lsls r0, 24 + lsrs r1, r0, 24 + movs r2, 0xC + ldrsh r0, [r4, r2] + cmp r0, 0x10 + bgt _08141434 + movs r2, 0xE + ldrsh r0, [r4, r2] + lsls r0, 20 + movs r2, 0x80 + lsls r2, 17 + adds r0, r2 + lsrs r0, 16 + ldrb r2, [r4, 0x8] + ldr r3, _08141430 @ =gUnknown_0840B4D4 + lsls r1, 1 + adds r1, r3 + ldrh r3, [r1] + movs r1, 0x10 + bl BlendPalette + ldrh r0, [r4, 0xA] + ldrh r1, [r4, 0x8] + adds r0, r1 + strh r0, [r4, 0x8] + ldrh r0, [r4, 0xC] + adds r0, 0x1 + strh r0, [r4, 0xC] + b _0814145C + .align 2, 0 +_0814142C: .4byte gTasks +_08141430: .4byte gUnknown_0840B4D4 +_08141434: + ldr r0, _08141464 @ =gPaletteFade + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + bne _0814145C + ldrh r0, [r4, 0x1C] + ldrh r1, [r4, 0x1E] + lsls r1, 16 + orrs r0, r1 + ldr r1, _08141468 @ =0x00007fff + str r1, [sp] + movs r1, 0 + movs r2, 0x10 + movs r3, 0 + bl BeginNormalPaletteFade + adds r0, r5, 0 + bl DestroyTask +_0814145C: + add sp, 0x4 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08141464: .4byte gPaletteFade +_08141468: .4byte 0x00007fff + thumb_func_end sub_81413DC + + thumb_func_start sub_814146C +sub_814146C: @ 814146C + push {r4,lr} + sub sp, 0x4 + lsls r0, 24 + lsrs r2, r0, 24 + ldr r0, _081414AC @ =gPaletteFade + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + bne _081414A4 + ldr r0, _081414B0 @ =gTasks + lsls r4, r2, 2 + adds r4, r2 + lsls r4, 3 + adds r4, r0 + ldrh r0, [r4, 0x1C] + ldrh r1, [r4, 0x1E] + lsls r1, 16 + orrs r0, r1 + ldr r1, _081414B4 @ =0x00007fff + str r1, [sp] + movs r1, 0 + movs r2, 0x10 + movs r3, 0 + bl BeginNormalPaletteFade + ldr r0, _081414B8 @ =sub_81414BC + str r0, [r4] +_081414A4: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_081414AC: .4byte gPaletteFade +_081414B0: .4byte gTasks +_081414B4: .4byte 0x00007fff +_081414B8: .4byte sub_81414BC + thumb_func_end sub_814146C + + thumb_func_start sub_81414BC +sub_81414BC: @ 81414BC + push {r4,lr} + lsls r0, 24 + lsrs r2, r0, 24 + ldr r1, _08141508 @ =gTasks + lsls r0, r2, 2 + adds r0, r2 + lsls r0, 3 + adds r4, r0, r1 + ldrh r0, [r4, 0x26] + lsls r0, 24 + lsrs r1, r0, 24 + movs r3, 0xC + ldrsh r0, [r4, r3] + cmp r0, 0x10 + bgt _08141510 + movs r2, 0xE + ldrsh r0, [r4, r2] + lsls r0, 20 + movs r3, 0x80 + lsls r3, 17 + adds r0, r3 + lsrs r0, 16 + ldrb r2, [r4, 0x8] + ldr r3, _0814150C @ =gUnknown_0840B4D4 + lsls r1, 1 + adds r1, r3 + ldrh r3, [r1] + movs r1, 0x10 + bl BlendPalette + ldrh r0, [r4, 0xA] + ldrh r1, [r4, 0x8] + adds r0, r1 + strh r0, [r4, 0x8] + ldrh r0, [r4, 0xC] + adds r0, 0x1 + strh r0, [r4, 0xC] + b _08141516 + .align 2, 0 +_08141508: .4byte gTasks +_0814150C: .4byte gUnknown_0840B4D4 +_08141510: + adds r0, r2, 0 + bl DestroyTask +_08141516: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_81414BC + + thumb_func_start sub_814151C +sub_814151C: @ 814151C + push {r4-r7,lr} + mov r7, r8 + push {r7} + lsls r0, 24 + lsrs r7, r0, 24 + movs r0, 0 + mov r8, r0 + ldr r0, _08141550 @ =gUnknown_02024BE0 + ldr r3, _08141554 @ =gUnknown_0202F7C8 + ldrb r2, [r3] + adds r0, r2, r0 + ldrb r6, [r0] + ldr r1, _08141558 @ =gTasks + lsls r0, r7, 2 + adds r0, r7 + lsls r0, 3 + adds r5, r0, r1 + movs r1, 0x1C + ldrsh r0, [r5, r1] + cmp r0, 0x1 + beq _081415F4 + cmp r0, 0x1 + bgt _0814155C + cmp r0, 0 + beq _08141562 + b _081416B6 + .align 2, 0 +_08141550: .4byte gUnknown_02024BE0 +_08141554: .4byte gUnknown_0202F7C8 +_08141558: .4byte gTasks +_0814155C: + cmp r0, 0x2 + beq _08141606 + b _081416B6 +_08141562: + ldr r0, _0814159C @ =gUnknown_03004B00 + ldrh r0, [r0] + strh r0, [r5, 0x1E] + movs r2, 0xA0 + lsls r2, 3 + adds r0, r2, 0 + ldrh r4, [r5, 0x8] + adds r0, r4 + strh r0, [r5, 0x8] + ldrb r0, [r3] + bl battle_side_get_owner + lsls r0, 24 + cmp r0, 0 + beq _081415A4 + ldr r2, _081415A0 @ =gSprites + lsls r3, r6, 4 + adds r1, r3, r6 + lsls r1, 2 + adds r1, r2 + ldrh r0, [r5, 0x8] + lsls r0, 16 + asrs r0, 24 + ldrh r4, [r1, 0x24] + adds r0, r4 + strh r0, [r1, 0x24] + adds r4, r3, 0 + b _081415BC + .align 2, 0 +_0814159C: .4byte gUnknown_03004B00 +_081415A0: .4byte gSprites +_081415A4: + ldr r3, _081415EC @ =gSprites + lsls r4, r6, 4 + adds r2, r4, r6 + lsls r2, 2 + adds r2, r3 + ldrh r1, [r5, 0x8] + lsls r1, 16 + asrs r1, 24 + ldrh r0, [r2, 0x24] + subs r0, r1 + strh r0, [r2, 0x24] + adds r2, r3, 0 +_081415BC: + ldr r1, _081415F0 @ =gTasks + lsls r0, r7, 2 + adds r0, r7 + lsls r0, 3 + adds r3, r0, r1 + ldrb r0, [r3, 0x8] + strh r0, [r3, 0x8] + adds r0, r4, r6 + lsls r0, 2 + adds r0, r2 + movs r2, 0x20 + ldrsh r1, [r0, r2] + movs r4, 0x24 + ldrsh r0, [r0, r4] + adds r1, r0 + adds r1, 0x20 + movs r0, 0x98 + lsls r0, 1 + cmp r1, r0 + bls _081416B6 + ldrh r0, [r3, 0x1C] + adds r0, 0x1 + strh r0, [r3, 0x1C] + b _081416B6 + .align 2, 0 +_081415EC: .4byte gSprites +_081415F0: .4byte gTasks +_081415F4: + ldrb r1, [r5, 0x1E] + adds r0, r2, 0 + adds r2, r6, 0 + bl refresh_graphics_maybe + ldrh r0, [r5, 0x1C] + adds r0, 0x1 + strh r0, [r5, 0x1C] + b _081416B6 +_08141606: + movs r1, 0xA0 + lsls r1, 3 + adds r0, r1, 0 + ldrh r2, [r5, 0x8] + adds r0, r2 + strh r0, [r5, 0x8] + ldrb r0, [r3] + bl battle_side_get_owner + lsls r0, 24 + cmp r0, 0 + beq _0814163C + ldr r0, _08141638 @ =gSprites + lsls r3, r6, 4 + adds r2, r3, r6 + lsls r2, 2 + adds r2, r0 + ldrh r1, [r5, 0x8] + lsls r1, 16 + asrs r1, 24 + ldrh r0, [r2, 0x24] + subs r0, r1 + strh r0, [r2, 0x24] + adds r4, r3, 0 + b _08141654 + .align 2, 0 +_08141638: .4byte gSprites +_0814163C: + ldr r0, _08141688 @ =gSprites + lsls r2, r6, 4 + adds r1, r2, r6 + lsls r1, 2 + adds r1, r0 + ldrh r0, [r5, 0x8] + lsls r0, 16 + asrs r0, 24 + ldrh r3, [r1, 0x24] + adds r0, r3 + strh r0, [r1, 0x24] + adds r4, r2, 0 +_08141654: + ldr r1, _0814168C @ =gTasks + lsls r0, r7, 2 + adds r0, r7 + lsls r0, 3 + adds r0, r1 + ldrb r1, [r0, 0x8] + strh r1, [r0, 0x8] + ldr r0, _08141690 @ =gUnknown_0202F7C8 + ldrb r0, [r0] + bl battle_side_get_owner + lsls r0, 24 + lsrs r2, r0, 24 + cmp r2, 0 + beq _08141694 + ldr r0, _08141688 @ =gSprites + adds r1, r4, r6 + lsls r1, 2 + adds r1, r0 + movs r4, 0x24 + ldrsh r0, [r1, r4] + cmp r0, 0 + bgt _081416AA + movs r0, 0 + strh r0, [r1, 0x24] + b _081416B0 + .align 2, 0 +_08141688: .4byte gSprites +_0814168C: .4byte gTasks +_08141690: .4byte gUnknown_0202F7C8 +_08141694: + ldr r0, _081416C0 @ =gSprites + adds r1, r4, r6 + lsls r1, 2 + adds r1, r0 + movs r3, 0x24 + ldrsh r0, [r1, r3] + cmp r0, 0 + blt _081416AA + strh r2, [r1, 0x24] + movs r4, 0x1 + mov r8, r4 +_081416AA: + mov r0, r8 + cmp r0, 0 + beq _081416B6 +_081416B0: + adds r0, r7, 0 + bl move_anim_task_del +_081416B6: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_081416C0: .4byte gSprites + thumb_func_end sub_814151C + + thumb_func_start sub_81416C4 +sub_81416C4: @ 81416C4 + push {r4,r5,lr} + sub sp, 0x4 + lsls r0, 24 + lsrs r5, r0, 24 + ldr r1, _081416E8 @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r4, r0, r1 + movs r1, 0x26 + ldrsh r0, [r4, r1] + cmp r0, 0x1 + beq _08141744 + cmp r0, 0x1 + bgt _081416EC + cmp r0, 0 + beq _081416F2 + b _081417B8 + .align 2, 0 +_081416E8: .4byte gTasks +_081416EC: + cmp r0, 0x2 + beq _0814177C + b _081417B8 +_081416F2: + ldr r0, _08141708 @ =gUnknown_0202F7C8 + ldrb r0, [r0] + bl battle_get_per_side_status_permutated + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _08141714 + ldr r1, _0814170C @ =REG_BLDCNT + ldr r2, _08141710 @ =0x00003f42 + b _08141718 + .align 2, 0 +_08141708: .4byte gUnknown_0202F7C8 +_0814170C: .4byte REG_BLDCNT +_08141710: .4byte 0x00003f42 +_08141714: + ldr r1, _08141734 @ =REG_BLDCNT + ldr r2, _08141738 @ =0x00003f44 +_08141718: + adds r0, r2, 0 + strh r0, [r1] + ldr r1, _0814173C @ =REG_BLDALPHA + movs r0, 0x10 + strh r0, [r1] + ldr r1, _08141740 @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r0, r1 + ldrh r1, [r0, 0x26] + adds r1, 0x1 + strh r1, [r0, 0x26] + b _081417B8 + .align 2, 0 +_08141734: .4byte REG_BLDCNT +_08141738: .4byte 0x00003f44 +_0814173C: .4byte REG_BLDALPHA +_08141740: .4byte gTasks +_08141744: + ldrh r0, [r4, 0xA] + adds r1, r0, 0x1 + strh r1, [r4, 0xA] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + ble _081417B8 + movs r0, 0 + strh r0, [r4, 0xA] + ldrh r1, [r4, 0x8] + adds r1, 0x1 + strh r1, [r4, 0x8] + ldr r3, _08141778 @ =REG_BLDALPHA + lsls r2, r1, 8 + movs r0, 0x10 + subs r0, r1 + orrs r2, r0 + strh r2, [r3] + movs r1, 0x8 + ldrsh r0, [r4, r1] + cmp r0, 0x10 + bne _081417B8 + ldrh r0, [r4, 0x26] + adds r0, 0x1 + strh r0, [r4, 0x26] + b _081417B8 + .align 2, 0 +_08141778: .4byte REG_BLDALPHA +_0814177C: + ldr r1, _081417C0 @ =gUnknown_02024BE0 + ldr r3, _081417C4 @ =gUnknown_0202F7C8 + ldrb r0, [r3] + adds r0, r1 + ldrb r1, [r0] + ldr r2, _081417C8 @ =gSprites + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrh r0, [r0, 0x4] + lsls r0, 22 + lsrs r0, 17 + ldr r1, _081417CC @ =0x06010000 + adds r0, r1 + movs r1, 0 + str r1, [sp] + ldr r1, _081417D0 @ =0x040000d4 + mov r2, sp + str r2, [r1] + str r0, [r1, 0x4] + ldr r0, _081417D4 @ =0x85000200 + str r0, [r1, 0x8] + ldr r0, [r1, 0x8] + ldrb r0, [r3] + bl sub_80324E0 + adds r0, r5, 0 + bl move_anim_task_del +_081417B8: + add sp, 0x4 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_081417C0: .4byte gUnknown_02024BE0 +_081417C4: .4byte gUnknown_0202F7C8 +_081417C8: .4byte gSprites +_081417CC: .4byte 0x06010000 +_081417D0: .4byte 0x040000d4 +_081417D4: .4byte 0x85000200 + thumb_func_end sub_81416C4 + + thumb_func_start sub_81417D8 +sub_81417D8: @ 81417D8 + push {lr} + lsls r0, 24 + lsrs r0, 24 + ldr r3, _081417FC @ =gUnknown_03004B00 + ldr r1, _08141800 @ =gUnknown_0202F7C8 + ldrb r1, [r1] + lsls r1, 2 + ldr r2, _08141804 @ =0x02017800 + adds r1, r2 + ldr r1, [r1] + lsls r1, 29 + lsrs r1, 31 + strh r1, [r3, 0xE] + bl move_anim_task_del + pop {r0} + bx r0 + .align 2, 0 +_081417FC: .4byte gUnknown_03004B00 +_08141800: .4byte gUnknown_0202F7C8 +_08141804: .4byte 0x02017800 + thumb_func_end sub_81417D8 + + thumb_func_start sub_8141808 +sub_8141808: @ 8141808 + push {lr} + lsls r0, 24 + lsrs r0, 24 + ldr r2, _08141820 @ =gUnknown_0202F7C9 + ldr r1, _08141824 @ =gUnknown_02024C0A + ldrb r1, [r1] + strb r1, [r2] + bl move_anim_task_del + pop {r0} + bx r0 + .align 2, 0 +_08141820: .4byte gUnknown_0202F7C9 +_08141824: .4byte gUnknown_02024C0A + thumb_func_end sub_8141808 + + thumb_func_start sub_8141828 +sub_8141828: @ 8141828 + push {r4-r7,lr} + mov r7, r8 + push {r7} + adds r4, r1, 0 + lsls r0, 24 + lsrs r6, r0, 24 + movs r0, 0 + mov r8, r0 + lsls r0, r6, 1 + adds r0, r6 + lsls r0, 2 + ldr r1, _081418E0 @ =0x02017810 + adds r0, r1 + ldrb r1, [r0] + movs r2, 0x80 + orrs r1, r2 + strb r1, [r0] + adds r0, r4, 0 + movs r1, 0x1 + bl GetMonData + adds r5, r0, 0 + adds r0, r4, 0 + movs r1, 0 + bl GetMonData + adds r4, r0, 0 + adds r0, r6, 0 + bl b_side_obj__get_some_boolean + lsls r0, 24 + cmp r0, 0 + beq _081418FC + lsrs r0, r5, 16 + ldr r7, _081418E4 @ =0x0000ffff + ands r5, r7 + eors r0, r5 + lsrs r1, r4, 16 + eors r0, r1 + ands r4, r7 + eors r0, r4 + cmp r0, 0x7 + bhi _08141882 + movs r0, 0x1 + mov r8, r0 +_08141882: + mov r0, r8 + cmp r0, 0 + beq _081418FC + ldr r0, _081418E8 @ =0x000027f9 + bl GetSpriteTileStartByTag + lsls r0, 16 + lsrs r0, 16 + cmp r0, r7 + bne _081418A2 + ldr r0, _081418EC @ =gBattleAnimPicTable + (233 * 8) + bl LoadCompressedObjectPic + ldr r0, _081418F0 @ =gBattleAnimPaletteTable + (233 * 8) + bl LoadCompressedObjectPalette +_081418A2: + ldr r5, _081418F4 @ =sub_814191C + adds r0, r5, 0 + movs r1, 0xA + bl CreateTask + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + adds r0, r5, 0 + movs r1, 0xA + bl CreateTask + lsls r0, 24 + lsrs r0, 24 + ldr r3, _081418F8 @ =gTasks + lsls r2, r4, 2 + adds r2, r4 + lsls r2, 3 + adds r2, r3 + movs r4, 0 + strh r6, [r2, 0x8] + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r3 + strh r6, [r1, 0x8] + strh r4, [r2, 0xA] + movs r0, 0x1 + strh r0, [r1, 0xA] + b _0814190E + .align 2, 0 +_081418E0: .4byte 0x02017810 +_081418E4: .4byte 0x0000ffff +_081418E8: .4byte 0x000027f9 +_081418EC: .4byte gBattleAnimPicTable + (233 * 8) +_081418F0: .4byte gBattleAnimPaletteTable + (233 * 8) +_081418F4: .4byte sub_814191C +_081418F8: .4byte gTasks +_081418FC: + lsls r0, r6, 1 + adds r0, r6 + lsls r0, 2 + ldr r1, _08141918 @ =0x02017810 + adds r0, r1 + ldrb r1, [r0, 0x1] + movs r2, 0x1 + orrs r1, r2 + strb r1, [r0, 0x1] +_0814190E: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08141918: .4byte 0x02017810 + thumb_func_end sub_8141828 + + thumb_func_start sub_814191C +sub_814191C: @ 814191C + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + lsls r0, 24 + lsrs r7, r0, 24 + ldr r1, _08141944 @ =gTasks + lsls r0, r7, 2 + adds r0, r7 + lsls r0, 3 + adds r4, r0, r1 + ldrh r1, [r4, 0x22] + movs r2, 0x22 + ldrsh r0, [r4, r2] + cmp r0, 0x3B + bgt _08141948 + adds r0, r1, 0x1 + strh r0, [r4, 0x22] + b _08141AB8 + .align 2, 0 +_08141944: .4byte gTasks +_08141948: + ldr r0, _08141998 @ =0x02017840 + ldrb r0, [r0, 0xA] + cmp r0, 0 + beq _08141952 + b _08141AB8 +_08141952: + ldrh r0, [r4, 0x1C] + adds r1, r0, 0x1 + strh r1, [r4, 0x1C] + lsls r0, 16 + movs r1, 0xC0 + lsls r1, 10 + ands r1, r0 + cmp r1, 0 + beq _08141966 + b _08141AB8 +_08141966: + ldrb r0, [r4, 0x8] + mov r8, r0 + movs r1, 0 + bl sub_8077ABC + lsls r0, 24 + lsrs r5, r0, 24 + mov r0, r8 + movs r1, 0x1 + bl sub_8077ABC + lsls r0, 24 + lsrs r2, r0, 24 + movs r1, 0x1E + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _081419A0 + ldr r0, _0814199C @ =gBattleAnimSpriteTemplate_84024E8 + adds r1, r5, 0 + movs r3, 0x5 + bl CreateSprite + lsls r0, 24 + lsrs r5, r0, 24 + b _08141A02 + .align 2, 0 +_08141998: .4byte 0x02017840 +_0814199C: .4byte gBattleAnimSpriteTemplate_84024E8 +_081419A0: + cmp r0, 0 + blt _081419D4 + cmp r0, 0x3 + bgt _081419D4 + ldr r0, _081419CC @ =gSpriteTemplate_8402500 + adds r1, r5, 0 + movs r3, 0x5 + bl CreateSprite + lsls r0, 24 + lsrs r5, r0, 24 + ldr r0, _081419D0 @ =gSprites + lsls r2, r5, 4 + adds r2, r5 + lsls r2, 2 + adds r2, r0 + ldrh r3, [r2, 0x4] + lsls r1, r3, 22 + lsrs r1, 22 + adds r1, 0x4 + b _081419F4 + .align 2, 0 +_081419CC: .4byte gSpriteTemplate_8402500 +_081419D0: .4byte gSprites +_081419D4: + ldr r0, _08141A2C @ =gSpriteTemplate_8402500 + adds r1, r5, 0 + movs r3, 0x5 + bl CreateSprite + lsls r0, 24 + lsrs r5, r0, 24 + ldr r0, _08141A30 @ =gSprites + lsls r2, r5, 4 + adds r2, r5 + lsls r2, 2 + adds r2, r0 + ldrh r3, [r2, 0x4] + lsls r1, r3, 22 + lsrs r1, 22 + adds r1, 0x5 +_081419F4: + ldr r4, _08141A34 @ =0x000003ff + adds r0, r4, 0 + ands r1, r0 + ldr r0, _08141A38 @ =0xfffffc00 + ands r0, r3 + orrs r0, r1 + strh r0, [r2, 0x4] +_08141A02: + ldr r2, _08141A3C @ =gTasks + lsls r1, r7, 2 + adds r0, r1, r7 + lsls r0, 3 + adds r6, r0, r2 + movs r2, 0xA + ldrsh r0, [r6, r2] + mov r9, r1 + cmp r0, 0 + bne _08141A44 + ldr r1, _08141A30 @ =gSprites + lsls r2, r5, 4 + adds r0, r2, r5 + lsls r0, 2 + adds r1, 0x1C + adds r0, r1 + ldr r1, _08141A40 @ =sub_8141B20 + str r1, [r0] + adds r4, r2, 0 + b _08141A8C + .align 2, 0 +_08141A2C: .4byte gSpriteTemplate_8402500 +_08141A30: .4byte gSprites +_08141A34: .4byte 0x000003ff +_08141A38: .4byte 0xfffffc00 +_08141A3C: .4byte gTasks +_08141A40: .4byte sub_8141B20 +_08141A44: + ldr r3, _08141AC4 @ =gSprites + lsls r4, r5, 4 + adds r1, r4, r5 + lsls r1, 2 + adds r0, r3, 0 + adds r0, 0x1C + adds r0, r1, r0 + ldr r2, _08141AC8 @ =sub_8141B74 + str r2, [r0] + adds r1, r3 + ldr r0, _08141ACC @ =0x0000ffe0 + strh r0, [r1, 0x24] + movs r0, 0x20 + strh r0, [r1, 0x26] + adds r1, 0x3E + ldrb r0, [r1] + movs r2, 0x4 + orrs r0, r2 + strb r0, [r1] + movs r1, 0x1E + ldrsh r0, [r6, r1] + cmp r0, 0 + bne _08141A8C + mov r0, r8 + bl battle_side_get_owner + lsls r0, 24 + movs r1, 0x3F + cmp r0, 0 + bne _08141A82 + movs r1, 0xC0 +_08141A82: + lsls r1, 24 + asrs r1, 24 + movs r0, 0x66 + bl PlaySE12WithPanning +_08141A8C: + ldr r1, _08141AC4 @ =gSprites + adds r0, r4, r5 + lsls r0, 2 + adds r0, r1 + strh r7, [r0, 0x2E] + ldr r1, _08141AD0 @ =gTasks + mov r2, r9 + adds r0, r2, r7 + lsls r0, 3 + adds r2, r0, r1 + ldrh r1, [r2, 0x1E] + adds r1, 0x1 + strh r1, [r2, 0x1E] + ldrh r0, [r2, 0x20] + adds r0, 0x1 + strh r0, [r2, 0x20] + lsls r1, 16 + asrs r1, 16 + cmp r1, 0x5 + bne _08141AB8 + ldr r0, _08141AD4 @ =sub_8141AD8 + str r0, [r2] +_08141AB8: + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08141AC4: .4byte gSprites +_08141AC8: .4byte sub_8141B74 +_08141ACC: .4byte 0x0000ffe0 +_08141AD0: .4byte gTasks +_08141AD4: .4byte sub_8141AD8 + thumb_func_end sub_814191C + + thumb_func_start sub_8141AD8 +sub_8141AD8: @ 8141AD8 + push {lr} + lsls r0, 24 + lsrs r0, 24 + adds r3, r0, 0 + ldr r1, _08141B18 @ =gTasks + lsls r0, r3, 2 + adds r0, r3 + lsls r0, 3 + adds r1, r0, r1 + movs r2, 0x20 + ldrsh r0, [r1, r2] + cmp r0, 0 + bne _08141B14 + movs r2, 0xA + ldrsh r0, [r1, r2] + cmp r0, 0x1 + bne _08141B0E + ldrb r1, [r1, 0x8] + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 2 + ldr r1, _08141B1C @ =0x02017810 + adds r0, r1 + ldrb r1, [r0, 0x1] + movs r2, 0x1 + orrs r1, r2 + strb r1, [r0, 0x1] +_08141B0E: + adds r0, r3, 0 + bl DestroyTask +_08141B14: + pop {r0} + bx r0 + .align 2, 0 +_08141B18: .4byte gTasks +_08141B1C: .4byte 0x02017810 + thumb_func_end sub_8141AD8 + + thumb_func_start sub_8141B20 +sub_8141B20: @ 8141B20 + push {r4,lr} + adds r4, r0, 0 + movs r1, 0x30 + ldrsh r0, [r4, r1] + movs r1, 0x18 + bl Sin + strh r0, [r4, 0x24] + movs r1, 0x30 + ldrsh r0, [r4, r1] + movs r1, 0x18 + bl Cos + strh r0, [r4, 0x26] + ldrh r0, [r4, 0x30] + adds r0, 0xC + strh r0, [r4, 0x30] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0xFF + ble _08141B6A + ldr r2, _08141B70 @ =gTasks + movs r0, 0x2E + ldrsh r1, [r4, r0] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r0, r2 + ldrh r1, [r0, 0x20] + subs r1, 0x1 + strh r1, [r0, 0x20] + adds r0, r4, 0 + bl FreeSpriteOamMatrix + adds r0, r4, 0 + bl DestroySprite +_08141B6A: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08141B70: .4byte gTasks + thumb_func_end sub_8141B20 + + thumb_func_start sub_8141B74 +sub_8141B74: @ 8141B74 + push {r4,lr} + adds r4, r0, 0 + ldrh r1, [r4, 0x30] + movs r2, 0x30 + ldrsh r0, [r4, r2] + cmp r0, 0x3 + bgt _08141B88 + adds r0, r1, 0x1 + strh r0, [r4, 0x30] + b _08141BCA +_08141B88: + adds r2, r4, 0 + adds r2, 0x3E + ldrb r1, [r2] + movs r0, 0x5 + negs r0, r0 + ands r0, r1 + strb r0, [r2] + ldrh r1, [r4, 0x24] + adds r1, 0x5 + strh r1, [r4, 0x24] + ldrh r0, [r4, 0x26] + subs r0, 0x5 + strh r0, [r4, 0x26] + lsls r1, 16 + asrs r1, 16 + cmp r1, 0x20 + ble _08141BCA + ldr r2, _08141BD0 @ =gTasks + movs r0, 0x2E + ldrsh r1, [r4, r0] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r0, r2 + ldrh r1, [r0, 0x20] + subs r1, 0x1 + strh r1, [r0, 0x20] + adds r0, r4, 0 + bl FreeSpriteOamMatrix + adds r0, r4, 0 + bl DestroySprite +_08141BCA: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08141BD0: .4byte gTasks + thumb_func_end sub_8141B74 + + thumb_func_start sub_8141BD4 +sub_8141BD4: @ 8141BD4 + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldr r0, _08141BFC @ =gBattleAnimPicTable + (269 * 8) + bl LoadCompressedObjectPic + ldr r0, _08141C00 @ =gBattleAnimPaletteTable + (269 * 8) + bl LoadCompressedObjectPalette + ldr r0, _08141C04 @ =0x0000281d + bl IndexOfSpritePaletteTag + adds r0, r4, 0 + bl move_anim_task_del + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08141BFC: .4byte gBattleAnimPicTable + (269 * 8) +_08141C00: .4byte gBattleAnimPaletteTable + (269 * 8) +_08141C04: .4byte 0x0000281d + thumb_func_end sub_8141BD4 + + thumb_func_start sub_8141C08 +sub_8141C08: @ 8141C08 + push {r4,r5,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldr r5, _08141C2C @ =0x0000281d + adds r0, r5, 0 + bl FreeSpriteTilesByTag + adds r0, r5, 0 + bl FreeSpritePaletteByTag + adds r0, r4, 0 + bl move_anim_task_del + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08141C2C: .4byte 0x0000281d + thumb_func_end sub_8141C08 + + thumb_func_start sub_8141C30 +sub_8141C30: @ 8141C30 + push {r4,r5,lr} + adds r4, r0, 0 + movs r1, 0 + bl sub_80787B0 + movs r0, 0x1E + strh r0, [r4, 0x2E] + movs r0, 0x1 + bl battle_get_side_with_given_state + lsls r0, 24 + lsrs r0, 24 + movs r1, 0 + bl sub_8077ABC + lsls r0, 24 + ldr r5, _08141CA4 @ =gUnknown_03004B00 + lsrs r0, 24 + ldrh r1, [r5, 0x4] + adds r0, r1 + strh r0, [r4, 0x32] + movs r0, 0x1 + bl battle_get_side_with_given_state + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x1 + bl sub_8077ABC + lsls r0, 24 + lsrs r0, 24 + ldrh r5, [r5, 0x6] + adds r0, r5 + strh r0, [r4, 0x36] + ldr r0, _08141CA8 @ =0x0000ffe0 + strh r0, [r4, 0x38] + adds r0, r4, 0 + bl sub_80786EC + ldr r1, _08141CAC @ =gUnknown_02024BE0 + ldr r0, _08141CB0 @ =gUnknown_0202F7C8 + ldrb r0, [r0] + adds r0, r1 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + ldr r1, _08141CB4 @ =gSprites + adds r0, r1 + movs r1, 0x1 + bl StartSpriteAnim + ldr r0, _08141CB8 @ =sub_8141CBC + str r0, [r4, 0x1C] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08141CA4: .4byte gUnknown_03004B00 +_08141CA8: .4byte 0x0000ffe0 +_08141CAC: .4byte gUnknown_02024BE0 +_08141CB0: .4byte gUnknown_0202F7C8 +_08141CB4: .4byte gSprites +_08141CB8: .4byte sub_8141CBC + thumb_func_end sub_8141C30 + + thumb_func_start sub_8141CBC +sub_8141CBC: @ 8141CBC + push {lr} + adds r3, r0, 0 + ldr r2, _08141CE4 @ =gSprites + ldr r1, _08141CE8 @ =gUnknown_02024BE0 + ldr r0, _08141CEC @ =gUnknown_0202F7C8 + ldrb r0, [r0] + adds r0, r1 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + adds r0, 0x2B + ldrb r0, [r0] + cmp r0, 0x1 + bne _08141CE0 + ldr r0, _08141CF0 @ =sub_8141CF4 + str r0, [r3, 0x1C] +_08141CE0: + pop {r0} + bx r0 + .align 2, 0 +_08141CE4: .4byte gSprites +_08141CE8: .4byte gUnknown_02024BE0 +_08141CEC: .4byte gUnknown_0202F7C8 +_08141CF0: .4byte sub_8141CF4 + thumb_func_end sub_8141CBC + + thumb_func_start sub_8141CF4 +sub_8141CF4: @ 8141CF4 + push {r4,lr} + adds r4, r0, 0 + bl sub_8078718 + lsls r0, 24 + cmp r0, 0 + beq _08141D16 + movs r0, 0 + strh r0, [r4, 0x2E] + adds r2, r4, 0 + adds r2, 0x3E + ldrb r0, [r2] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r2] + ldr r0, _08141D1C @ =sub_8141D20 + str r0, [r4, 0x1C] +_08141D16: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08141D1C: .4byte sub_8141D20 + thumb_func_end sub_8141CF4 + + thumb_func_start sub_8141D20 +sub_8141D20: @ 8141D20 + push {r4,r5,lr} + adds r4, r0, 0 + ldr r5, _08141D70 @ =gSprites + ldr r3, _08141D74 @ =gUnknown_02024BE0 + ldr r2, _08141D78 @ =gUnknown_0202F7C8 + ldrb r0, [r2] + adds r0, r3 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r5 + adds r0, 0x3F + ldrb r0, [r0] + lsls r0, 27 + cmp r0, 0 + bge _08141D68 + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + strh r0, [r4, 0x2E] + lsls r0, 16 + cmp r0, 0 + ble _08141D68 + ldrb r0, [r2] + adds r0, r3 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r5 + movs r1, 0 + bl StartSpriteAnim + adds r0, r4, 0 + bl move_anim_8072740 +_08141D68: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08141D70: .4byte gSprites +_08141D74: .4byte gUnknown_02024BE0 +_08141D78: .4byte gUnknown_0202F7C8 + thumb_func_end sub_8141D20 + + thumb_func_start sub_8141D7C +sub_8141D7C: @ 8141D7C + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + movs r0, 0 + bl battle_get_side_with_given_state + ldr r1, _08141DA4 @ =gUnknown_0202F7C8 + strb r0, [r1] + movs r0, 0x1 + bl battle_get_side_with_given_state + ldr r1, _08141DA8 @ =gUnknown_0202F7C9 + strb r0, [r1] + adds r0, r4, 0 + bl move_anim_task_del + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08141DA4: .4byte gUnknown_0202F7C8 +_08141DA8: .4byte gUnknown_0202F7C9 + thumb_func_end sub_8141D7C + + thumb_func_start sub_8141DAC +sub_8141DAC: @ 8141DAC + push {lr} + lsls r0, 24 + lsrs r2, r0, 24 + ldr r0, _08141DC0 @ =0x02017840 + ldrh r1, [r0] + cmp r1, 0x53 + bne _08141DC8 + ldr r1, _08141DC4 @ =gUnknown_03004B00 + movs r0, 0x1 + b _08141E00 + .align 2, 0 +_08141DC0: .4byte 0x02017840 +_08141DC4: .4byte gUnknown_03004B00 +_08141DC8: + cmp r1, 0xFA + bne _08141DD8 + ldr r1, _08141DD4 @ =gUnknown_03004B00 + movs r0, 0x2 + b _08141E00 + .align 2, 0 +_08141DD4: .4byte gUnknown_03004B00 +_08141DD8: + cmp r1, 0x80 + bne _08141DE8 + ldr r1, _08141DE4 @ =gUnknown_03004B00 + movs r0, 0x3 + b _08141E00 + .align 2, 0 +_08141DE4: .4byte gUnknown_03004B00 +_08141DE8: + movs r0, 0xA4 + lsls r0, 1 + cmp r1, r0 + bne _08141DFC + ldr r1, _08141DF8 @ =gUnknown_03004B00 + movs r0, 0x4 + b _08141E00 + .align 2, 0 +_08141DF8: .4byte gUnknown_03004B00 +_08141DFC: + ldr r1, _08141E0C @ =gUnknown_03004B00 + movs r0, 0 +_08141E00: + strh r0, [r1] + adds r0, r2, 0 + bl move_anim_task_del + pop {r0} + bx r0 + .align 2, 0 +_08141E0C: .4byte gUnknown_03004B00 + thumb_func_end sub_8141DAC + + thumb_func_start sub_8141E10 +sub_8141E10: @ 8141E10 + push {lr} + lsls r0, 24 + lsrs r0, 24 + ldr r2, _08141E2C @ =gUnknown_0202F7C8 + ldr r1, _08141E30 @ =0x02017840 + ldrh r1, [r1] + strb r1, [r2] + ldr r2, _08141E34 @ =gUnknown_0202F7C9 + lsrs r1, 8 + strb r1, [r2] + bl move_anim_task_del + pop {r0} + bx r0 + .align 2, 0 +_08141E2C: .4byte gUnknown_0202F7C8 +_08141E30: .4byte 0x02017840 +_08141E34: .4byte gUnknown_0202F7C9 + thumb_func_end sub_8141E10 + + .align 2, 0 @ Don't pad with nop. diff --git a/asm/berry_tag_screen.s b/asm/berry_tag_screen.s deleted file mode 100644 index 7f26885e6..000000000 --- a/asm/berry_tag_screen.s +++ /dev/null @@ -1,1115 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start sub_8146014 -sub_8146014: @ 8146014 - push {lr} - bl AnimateSprites - bl BuildOamBuffer - bl RunTasks - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_8146014 - - thumb_func_start sub_814602C -sub_814602C: @ 814602C - push {lr} - ldr r2, _0814604C @ =REG_BG0VOFS - ldr r0, _08146050 @ =gUnknown_030041B4 - ldrh r1, [r0] - strh r1, [r2] - ldr r0, _08146054 @ =REG_BG1VOFS - strh r1, [r0] - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - .align 2, 0 -_0814604C: .4byte REG_BG0VOFS -_08146050: .4byte gUnknown_030041B4 -_08146054: .4byte REG_BG1VOFS - thumb_func_end sub_814602C - - thumb_func_start sub_8146058 -sub_8146058: @ 8146058 - push {r4,lr} - sub sp, 0x4 - ldr r0, _08146074 @ =gMain - ldr r1, _08146078 @ =0x0000043c - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0xC - bls _0814606A - b _08146250 -_0814606A: - lsls r0, 2 - ldr r1, _0814607C @ =_08146080 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08146074: .4byte gMain -_08146078: .4byte 0x0000043c -_0814607C: .4byte _08146080 - .align 2, 0 -_08146080: - .4byte _081460B4 - .4byte _081460CC - .4byte _081460F0 - .4byte _081460F6 - .4byte _08146110 - .4byte _0814611C - .4byte _0814613C - .4byte _0814615C - .4byte _08146170 - .4byte _08146190 - .4byte _081461B4 - .4byte _08146204 - .4byte _08146224 -_081460B4: - bl sub_80F9438 - bl sub_80F9368 - bl sub_8146288 - ldr r1, _081460C8 @ =REG_BLDCNT - movs r0, 0 - strh r0, [r1] - b _0814620C - .align 2, 0 -_081460C8: .4byte REG_BLDCNT -_081460CC: - bl ResetPaletteFade - ldr r2, _081460E4 @ =gPaletteFade - ldrb r0, [r2, 0x8] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2, 0x8] - ldr r1, _081460E8 @ =gMain - ldr r0, _081460EC @ =0x0000043c - adds r1, r0 - b _08146212 - .align 2, 0 -_081460E4: .4byte gPaletteFade -_081460E8: .4byte gMain -_081460EC: .4byte 0x0000043c -_081460F0: - bl ResetSpriteData - b _0814620C -_081460F6: - ldr r0, _08146104 @ =gWindowConfig_81E6E18 - bl SetUpWindowConfig - ldr r1, _08146108 @ =gMain - ldr r0, _0814610C @ =0x0000043c - adds r1, r0 - b _08146212 - .align 2, 0 -_08146104: .4byte gWindowConfig_81E6E18 -_08146108: .4byte gMain -_0814610C: .4byte 0x0000043c -_08146110: - ldr r0, _08146118 @ =gWindowConfig_81E6E18 - bl MultistepInitMenuWindowBegin - b _0814620C - .align 2, 0 -_08146118: .4byte gWindowConfig_81E6E18 -_0814611C: - bl MultistepInitMenuWindowContinue - cmp r0, 0 - bne _08146126 - b _08146250 -_08146126: - ldr r0, _08146134 @ =0x02000000 - ldr r1, _08146138 @ =0x0001ffff - adds r0, r1 - movs r1, 0 - strb r1, [r0] - b _0814620C - .align 2, 0 -_08146134: .4byte 0x02000000 -_08146138: .4byte 0x0001ffff -_0814613C: - bl sub_81462B8 - lsls r0, 24 - cmp r0, 0 - bne _08146148 - b _08146250 -_08146148: - ldr r0, _08146154 @ =0x02000000 - ldr r1, _08146158 @ =0x0001ffff - adds r0, r1 - movs r1, 0 - strb r1, [r0] - b _0814620C - .align 2, 0 -_08146154: .4byte 0x02000000 -_08146158: .4byte 0x0001ffff -_0814615C: - bl sub_81464E4 - ldr r1, _08146168 @ =gMain - ldr r0, _0814616C @ =0x0000043c - adds r1, r0 - b _08146212 - .align 2, 0 -_08146168: .4byte gMain -_0814616C: .4byte 0x0000043c -_08146170: - ldr r0, _08146188 @ =gScriptItemId - ldrb r0, [r0] - adds r0, 0x7B - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x38 - movs r2, 0x40 - bl sub_80A7D8C - ldr r1, _0814618C @ =gUnknown_0203932C - strb r0, [r1] - b _0814620C - .align 2, 0 -_08146188: .4byte gScriptItemId -_0814618C: .4byte gUnknown_0203932C -_08146190: - ldr r0, _081461A8 @ =gScriptItemId - ldrb r0, [r0] - adds r0, 0x7B - lsls r0, 24 - lsrs r0, 24 - bl sub_8146600 - ldr r1, _081461AC @ =gMain - ldr r0, _081461B0 @ =0x0000043c - adds r1, r0 - b _08146212 - .align 2, 0 -_081461A8: .4byte gScriptItemId -_081461AC: .4byte gMain -_081461B0: .4byte 0x0000043c -_081461B4: - ldr r3, _081461EC @ =0x04000208 - ldrh r2, [r3] - movs r0, 0 - strh r0, [r3] - ldr r4, _081461F0 @ =0x04000200 - ldrh r0, [r4] - movs r1, 0x1 - orrs r0, r1 - strh r0, [r4] - strh r2, [r3] - ldr r2, _081461F4 @ =REG_DISPSTAT - ldrh r0, [r2] - movs r1, 0x8 - orrs r0, r1 - strh r0, [r2] - ldr r0, _081461F8 @ =sub_814602C - bl SetVBlankCallback - movs r1, 0x80 - lsls r1, 19 - movs r2, 0xFA - lsls r2, 5 - adds r0, r2, 0 - strh r0, [r1] - ldr r1, _081461FC @ =gMain - ldr r0, _08146200 @ =0x0000043c - adds r1, r0 - b _08146212 - .align 2, 0 -_081461EC: .4byte 0x04000208 -_081461F0: .4byte 0x04000200 -_081461F4: .4byte REG_DISPSTAT -_081461F8: .4byte sub_814602C -_081461FC: .4byte gMain -_08146200: .4byte 0x0000043c -_08146204: - bl sub_8055870 - cmp r0, 0x1 - beq _08146250 -_0814620C: - ldr r1, _0814621C @ =gMain - ldr r2, _08146220 @ =0x0000043c - adds r1, r2 -_08146212: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08146250 - .align 2, 0 -_0814621C: .4byte gMain -_08146220: .4byte 0x0000043c -_08146224: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r2, _08146248 @ =gPaletteFade - ldrb r1, [r2, 0x8] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2, 0x8] - ldr r0, _0814624C @ =sub_8146014 - bl SetMainCallback2 - movs r0, 0x1 - b _08146252 - .align 2, 0 -_08146248: .4byte gPaletteFade -_0814624C: .4byte sub_8146014 -_08146250: - movs r0, 0 -_08146252: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8146058 - - thumb_func_start sub_814625C -sub_814625C: @ 814625C - push {lr} -_0814625E: - bl sub_8146058 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08146278 - ldr r0, _08146274 @ =sub_8146480 - movs r1, 0 - bl CreateTask - b _08146284 - .align 2, 0 -_08146274: .4byte sub_8146480 -_08146278: - bl sub_80F9344 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0814625E -_08146284: - pop {r0} - bx r0 - thumb_func_end sub_814625C - - thumb_func_start sub_8146288 -sub_8146288: @ 8146288 - ldr r1, _081462A8 @ =REG_BG1CNT - ldr r2, _081462AC @ =0x00000502 - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x2 - adds r2, 0xFE - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x2 - ldr r2, _081462B0 @ =0x00000703 - adds r0, r2, 0 - strh r0, [r1] - ldr r1, _081462B4 @ =gUnknown_030041B4 - movs r0, 0 - strh r0, [r1] - bx lr - .align 2, 0 -_081462A8: .4byte REG_BG1CNT -_081462AC: .4byte 0x00000502 -_081462B0: .4byte 0x00000703 -_081462B4: .4byte gUnknown_030041B4 - thumb_func_end sub_8146288 - - thumb_func_start sub_81462B8 -sub_81462B8: @ 81462B8 - push {r4-r7,lr} - ldr r1, _081462D4 @ =0x02000000 - ldr r2, _081462D8 @ =0x0001ffff - adds r0, r1, r2 - ldrb r0, [r0] - mov r12, r1 - cmp r0, 0x6 - bls _081462CA - b _08146404 -_081462CA: - lsls r0, 2 - ldr r1, _081462DC @ =_081462E0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_081462D4: .4byte 0x02000000 -_081462D8: .4byte 0x0001ffff -_081462DC: .4byte _081462E0 - .align 2, 0 -_081462E0: - .4byte _081462FC - .4byte _0814630C - .4byte _0814632C - .4byte _08146340 - .4byte _081463A4 - .4byte _081463C4 - .4byte _081463E4 -_081462FC: - ldr r0, _08146308 @ =gBerryCheck_Gfx - movs r1, 0xC0 - lsls r1, 19 - bl LZDecompressVram - b _081463CA - .align 2, 0 -_08146308: .4byte gBerryCheck_Gfx -_0814630C: - ldr r0, _0814631C @ =gUnknown_08E788E4 - ldr r1, _08146320 @ =0x06002800 - bl LZDecompressVram - ldr r1, _08146324 @ =0x02000000 - ldr r2, _08146328 @ =0x0001ffff - adds r1, r2 - b _081463D0 - .align 2, 0 -_0814631C: .4byte gUnknown_08E788E4 -_08146320: .4byte 0x06002800 -_08146324: .4byte 0x02000000 -_08146328: .4byte 0x0001ffff -_0814632C: - ldr r0, _08146338 @ =gUnknown_08E78A84 - ldr r1, _0814633C @ =0x06003000 - bl LZDecompressVram - b _081463CA - .align 2, 0 -_08146338: .4byte gUnknown_08E78A84 -_0814633C: .4byte 0x06003000 -_08146340: - movs r1, 0 - ldr r7, _0814635C @ =gBGTilemapBuffers + 0x1000 - adds r2, r7, 0 - ldr r6, _08146360 @ =0x00004042 - ldr r5, _08146364 @ =gSaveBlock2 - ldr r4, _08146368 @ =0x00005042 - ldr r3, _0814636C @ =0x000003ff -_0814634E: - ldrb r0, [r5, 0x8] - cmp r0, 0 - bne _08146370 - lsls r0, r1, 1 - adds r0, r2 - strh r6, [r0] - b _08146376 - .align 2, 0 -_0814635C: .4byte gBGTilemapBuffers + 0x1000 -_08146360: .4byte 0x00004042 -_08146364: .4byte gSaveBlock2 -_08146368: .4byte 0x00005042 -_0814636C: .4byte 0x000003ff -_08146370: - lsls r0, r1, 1 - adds r0, r2 - strh r4, [r0] -_08146376: - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, r3 - bls _0814634E - ldr r1, _08146394 @ =0x06003800 - ldr r0, _08146398 @ =0x040000d4 - str r7, [r0] - str r1, [r0, 0x4] - ldr r1, _0814639C @ =0x80000400 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - ldr r1, _081463A0 @ =0x0001ffff - add r1, r12 - b _081463D0 - .align 2, 0 -_08146394: .4byte 0x06003800 -_08146398: .4byte 0x040000d4 -_0814639C: .4byte 0x80000400 -_081463A0: .4byte 0x0001ffff -_081463A4: - ldr r0, _081463B8 @ =gBerryCheck_Pal - movs r1, 0 - movs r2, 0xC0 - bl LoadCompressedPalette - ldr r1, _081463BC @ =0x02000000 - ldr r2, _081463C0 @ =0x0001ffff - adds r1, r2 - b _081463D0 - .align 2, 0 -_081463B8: .4byte gBerryCheck_Pal -_081463BC: .4byte 0x02000000 -_081463C0: .4byte 0x0001ffff -_081463C4: - ldr r0, _081463D8 @ =gUnknown_083C1F74 - bl LoadCompressedObjectPic -_081463CA: - ldr r1, _081463DC @ =0x02000000 - ldr r0, _081463E0 @ =0x0001ffff - adds r1, r0 -_081463D0: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08146404 - .align 2, 0 -_081463D8: .4byte gUnknown_083C1F74 -_081463DC: .4byte 0x02000000 -_081463E0: .4byte 0x0001ffff -_081463E4: - ldr r0, _081463F8 @ =gUnknown_083C1F7C - bl LoadCompressedObjectPalette - ldr r0, _081463FC @ =0x02000000 - ldr r1, _08146400 @ =0x0001ffff - adds r0, r1 - movs r1, 0 - strb r1, [r0] - movs r0, 0x1 - b _08146406 - .align 2, 0 -_081463F8: .4byte gUnknown_083C1F7C -_081463FC: .4byte 0x02000000 -_08146400: .4byte 0x0001ffff -_08146404: - movs r0, 0 -_08146406: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_81462B8 - - thumb_func_start sub_814640C -sub_814640C: @ 814640C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _08146438 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08146432 - ldr r0, _0814643C @ =sub_80A5B40 - bl SetMainCallback2 - bl sub_80A7DD4 - bl gpu_pal_allocator_reset__manage_upper_four - adds r0, r4, 0 - bl DestroyTask -_08146432: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08146438: .4byte gPaletteFade -_0814643C: .4byte sub_80A5B40 - thumb_func_end sub_814640C - - thumb_func_start sub_8146440 -sub_8146440: @ 8146440 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, _08146478 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0814647C @ =sub_814640C - str r1, [r0] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08146478: .4byte gTasks -_0814647C: .4byte sub_814640C - thumb_func_end sub_8146440 - - thumb_func_start sub_8146480 -sub_8146480: @ 8146480 - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r7, r4, 0 - ldr r0, _081464DC @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081464D6 - ldr r5, _081464E0 @ =gMain - ldrh r1, [r5, 0x30] - movs r6, 0xF0 - adds r0, r6, 0 - ands r0, r1 - cmp r0, 0x40 - bne _081464AC - movs r1, 0x1 - negs r1, r1 - adds r0, r4, 0 - bl sub_81466E8 -_081464AC: - ldrh r1, [r5, 0x30] - adds r0, r6, 0 - ands r0, r1 - cmp r0, 0x80 - bne _081464BE - adds r0, r4, 0 - movs r1, 0x1 - bl sub_81466E8 -_081464BE: - ldrh r1, [r5, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _081464D0 - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _081464D6 -_081464D0: - adds r0, r7, 0 - bl sub_8146440 -_081464D6: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081464DC: .4byte gPaletteFade -_081464E0: .4byte gMain - thumb_func_end sub_8146480 - - thumb_func_start sub_81464E4 -sub_81464E4: @ 81464E4 - push {r4-r7,lr} - ldr r4, _0814659C @ =gScriptItemId - ldrb r0, [r4] - adds r0, 0x7C - lsls r0, 24 - lsrs r0, 24 - bl GetBerryInfo - adds r5, r0, 0 - ldr r7, _081465A0 @ =gStringVar1 - ldrh r1, [r4] - subs r1, 0x84 - adds r0, r7, 0 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - adds r0, r7, 0 - movs r1, 0xC - movs r2, 0x4 - bl MenuPrint - adds r0, r5, 0 - movs r1, 0xE - movs r2, 0x4 - bl MenuPrint - ldr r0, [r5, 0xC] - movs r1, 0x4 - movs r2, 0xE - bl MenuPrint - ldr r0, [r5, 0x10] - movs r1, 0x4 - movs r2, 0x10 - bl MenuPrint - ldrh r1, [r5, 0x8] - lsls r0, r1, 5 - subs r0, r1 - lsls r0, 2 - adds r0, r1 - lsls r0, 3 - movs r1, 0xFE - bl __divsi3 - adds r4, r0, 0 - movs r1, 0xA - bl __umodsi3 - cmp r0, 0x4 - bls _0814654E - adds r4, 0xA -_0814654E: - adds r0, r4, 0 - movs r1, 0x64 - bl __umodsi3 - movs r1, 0xA - bl __udivsi3 - adds r6, r0, 0 - adds r0, r4, 0 - movs r1, 0x64 - bl __udivsi3 - adds r4, r0, 0 - ldr r0, _081465A4 @ =gOtherText_Size - movs r1, 0xB - movs r2, 0x7 - bl MenuPrint - ldrh r0, [r5, 0x8] - cmp r0, 0 - beq _081465B0 - adds r0, r7, 0 - adds r1, r4, 0 - movs r2, 0 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r0, _081465A8 @ =gStringVar2 - adds r1, r6, 0 - movs r2, 0 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r0, _081465AC @ =gContestStatsText_Unknown1 - movs r1, 0x10 - movs r2, 0x7 - bl MenuPrint - b _081465BA - .align 2, 0 -_0814659C: .4byte gScriptItemId -_081465A0: .4byte gStringVar1 -_081465A4: .4byte gOtherText_Size -_081465A8: .4byte gStringVar2 -_081465AC: .4byte gContestStatsText_Unknown1 -_081465B0: - ldr r0, _081465E0 @ =gOtherText_ThreeQuestions2 - movs r1, 0x10 - movs r2, 0x7 - bl MenuPrint -_081465BA: - ldr r0, _081465E4 @ =gOtherText_Firm - movs r1, 0xB - movs r2, 0x9 - bl MenuPrint - ldrb r0, [r5, 0x7] - cmp r0, 0 - beq _081465EC - ldr r0, _081465E8 @ =gUnknown_0841192C - ldrb r1, [r5, 0x7] - subs r1, 0x1 - lsls r1, 2 - adds r1, r0 - ldr r0, [r1] - movs r1, 0x10 - movs r2, 0x9 - bl MenuPrint - b _081465F6 - .align 2, 0 -_081465E0: .4byte gOtherText_ThreeQuestions2 -_081465E4: .4byte gOtherText_Firm -_081465E8: .4byte gUnknown_0841192C -_081465EC: - ldr r0, _081465FC @ =gOtherText_ThreeQuestions2 - movs r1, 0x10 - movs r2, 0x9 - bl MenuPrint -_081465F6: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081465FC: .4byte gOtherText_ThreeQuestions2 - thumb_func_end sub_81464E4 - - thumb_func_start sub_8146600 -sub_8146600: @ 8146600 - push {r4,r5,lr} - lsls r0, 24 - movs r1, 0x80 - lsls r1, 17 - adds r0, r1 - lsrs r0, 24 - bl GetBerryInfo - adds r4, r0, 0 - movs r2, 0 - ldr r5, _08146698 @ =gUnknown_0203932E - ldr r0, _0814669C @ =0x0000ffff - adds r3, r0, 0 -_0814661A: - lsls r0, r2, 1 - adds r0, r5 - ldrh r1, [r0] - orrs r1, r3 - strh r1, [r0] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x4 - bls _0814661A - ldrb r0, [r4, 0x15] - cmp r0, 0 - beq _08146642 - movs r0, 0x30 - bl sub_80A7E5C - ldr r1, _08146698 @ =gUnknown_0203932E - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1] -_08146642: - ldrb r0, [r4, 0x16] - cmp r0, 0 - beq _08146656 - movs r0, 0x58 - bl sub_80A7E5C - ldr r1, _08146698 @ =gUnknown_0203932E - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1, 0x2] -_08146656: - ldrb r0, [r4, 0x17] - cmp r0, 0 - beq _0814666A - movs r0, 0x80 - bl sub_80A7E5C - ldr r1, _08146698 @ =gUnknown_0203932E - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1, 0x4] -_0814666A: - ldrb r0, [r4, 0x18] - cmp r0, 0 - beq _0814667E - movs r0, 0xA8 - bl sub_80A7E5C - ldr r1, _08146698 @ =gUnknown_0203932E - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1, 0x6] -_0814667E: - ldrb r0, [r4, 0x19] - cmp r0, 0 - beq _08146692 - movs r0, 0xD0 - bl sub_80A7E5C - ldr r1, _08146698 @ =gUnknown_0203932E - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1, 0x8] -_08146692: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08146698: .4byte gUnknown_0203932E -_0814669C: .4byte 0x0000ffff - thumb_func_end sub_8146600 - - thumb_func_start sub_81466A0 -sub_81466A0: @ 81466A0 - push {r4-r7,lr} - movs r5, 0 - movs r7, 0x1 - negs r7, r7 - ldr r6, _081466DC @ =gUnknown_0203932E -_081466AA: - lsls r0, r5, 1 - adds r4, r0, r6 - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, r7 - beq _081466CA - adds r1, r0, 0 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _081466E0 @ =gSprites - adds r0, r1 - bl DestroySprite - ldr r0, _081466E4 @ =0x0000ffff - strh r0, [r4] -_081466CA: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x4 - bls _081466AA - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081466DC: .4byte gUnknown_0203932E -_081466E0: .4byte gSprites -_081466E4: .4byte 0x0000ffff - thumb_func_end sub_81466A0 - - thumb_func_start sub_81466E8 -sub_81466E8: @ 81466E8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r7, r0, 24 - lsls r1, 24 - lsrs r2, r1, 24 - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - ldr r1, _08146748 @ =gTasks + 0x8 - adds r6, r0, r1 - ldr r4, _0814674C @ =gUnknown_03005D10 - movs r0, 0xC - adds r0, r4 - mov r8, r0 - ldrb r1, [r0, 0x1] - ldrb r0, [r4, 0xC] - adds r1, r0 - cmp r1, 0 - bne _08146718 - lsls r0, r2, 24 - cmp r0, 0 - blt _0814678C -_08146718: - adds r0, r1, 0x1 - lsls r5, r2, 24 - mov r1, r8 - ldrb r1, [r1, 0x2] - cmp r0, r1 - bne _08146728 - cmp r5, 0 - bgt _0814678C -_08146728: - movs r0, 0x5 - bl PlaySE - mov r2, r8 - ldrb r3, [r2, 0x1] - ldrb r4, [r4, 0xC] - mov r12, r4 - adds r0, r3, r4 - asrs r2, r5, 24 - adds r1, r0, r2 - cmp r1, 0 - bge _08146750 - negs r0, r0 - strh r0, [r6, 0x2] - b _08146766 - .align 2, 0 -_08146748: .4byte gTasks + 0x8 -_0814674C: .4byte gUnknown_03005D10 -_08146750: - mov r4, r8 - ldrb r0, [r4, 0x2] - cmp r1, r0 - blt _08146764 - subs r0, r3 - mov r1, r12 - subs r0, r1 - subs r0, 0x1 - strh r0, [r6, 0x2] - b _08146766 -_08146764: - strh r2, [r6, 0x2] -_08146766: - ldr r0, _08146780 @ =gTasks - lsls r1, r7, 2 - adds r1, r7 - lsls r1, 3 - adds r1, r0 - ldr r0, _08146784 @ =sub_8146798 - str r0, [r1] - cmp r5, 0 - bge _08146788 - movs r2, 0x10 - negs r2, r2 - adds r0, r2, 0 - b _0814678A - .align 2, 0 -_08146780: .4byte gTasks -_08146784: .4byte sub_8146798 -_08146788: - movs r0, 0x10 -_0814678A: - strh r0, [r6] -_0814678C: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81466E8 - - thumb_func_start sub_8146798 -sub_8146798: @ 8146798 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _08146800 @ =gTasks + 0x8 - adds r0, r1 - ldr r2, _08146804 @ =gUnknown_030041B4 - ldrh r1, [r0] - ldrh r5, [r2] - adds r3, r1, r5 - movs r1, 0xFF - ands r3, r1 - strh r3, [r2] - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - ble _081467C2 - cmp r3, 0x90 - beq _081467CA -_081467C2: - cmp r0, 0 - bge _081467E0 - cmp r3, 0x70 - bne _081467E0 -_081467CA: - ldr r0, _08146808 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - movs r0, 0xA - ldrsb r0, [r1, r0] - bl sub_8146810 - bl sub_81468BC -_081467E0: - ldr r0, _08146804 @ =gUnknown_030041B4 - ldrh r2, [r0] - cmp r2, 0 - bne _081467FA - ldr r0, _08146808 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - strh r2, [r1, 0x8] - strh r2, [r1, 0xA] - ldr r0, _0814680C @ =sub_8146480 - str r0, [r1] -_081467FA: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08146800: .4byte gTasks + 0x8 -_08146804: .4byte gUnknown_030041B4 -_08146808: .4byte gTasks -_0814680C: .4byte sub_8146480 - thumb_func_end sub_8146798 - - thumb_func_start sub_8146810 -sub_8146810: @ 8146810 - push {r4-r6,lr} - lsls r0, 24 - lsrs r3, r0, 24 - adds r4, r3, 0 - lsls r0, r3, 24 - asrs r1, r0, 24 - cmp r1, 0 - ble _08146848 - ldr r0, _08146840 @ =gUnknown_03005D10 - adds r4, r0, 0 - adds r4, 0xC - ldrb r2, [r0, 0xC] - adds r1, r2, r1 - adds r6, r0, 0 - cmp r1, 0x7 - ble _08146844 - adds r0, r3, 0 - adds r0, 0xF9 - adds r0, r2, r0 - ldrb r1, [r4, 0x1] - adds r0, r1 - strb r0, [r4, 0x1] - movs r0, 0x7 - b _0814686E - .align 2, 0 -_08146840: .4byte gUnknown_03005D10 -_08146844: - adds r0, r2, r3 - b _0814686E -_08146848: - ldr r0, _08146868 @ =gUnknown_03005D10 - adds r5, r0, 0 - adds r5, 0xC - ldrb r2, [r0, 0xC] - adds r1, r2, r1 - adds r6, r0, 0 - cmp r1, 0 - bge _0814686C - adds r0, r2, r3 - ldrb r1, [r5, 0x1] - adds r0, r1 - movs r1, 0 - strb r0, [r5, 0x1] - strb r1, [r6, 0xC] - b _08146870 - .align 2, 0 -_08146868: .4byte gUnknown_03005D10 -_0814686C: - adds r0, r2, r4 -_0814686E: - strb r0, [r6, 0xC] -_08146870: - ldr r2, _081468AC @ =gScriptItemId - movs r0, 0x3 - lsls r0, 2 - adds r0, r6 - ldrb r1, [r0, 0x1] - ldrb r0, [r0] - adds r1, r0 - ldr r0, _081468B0 @ =gUnknown_03005D24 - ldr r0, [r0] - lsls r1, 2 - adds r1, r0 - ldrh r0, [r1] - strh r0, [r2] - ldr r0, _081468B4 @ =gUnknown_0203932C - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _081468B8 @ =gSprites - adds r0, r1 - bl DestroySprite - bl sub_81466A0 - bl sub_80A7DD4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_081468AC: .4byte gScriptItemId -_081468B0: .4byte gUnknown_03005D24 -_081468B4: .4byte gUnknown_0203932C -_081468B8: .4byte gSprites - thumb_func_end sub_8146810 - - thumb_func_start sub_81468BC -sub_81468BC: @ 81468BC - push {r4,lr} - movs r0, 0 - movs r1, 0x4 - movs r2, 0x1D - movs r3, 0x13 - bl MenuZeroFillWindowRect - bl sub_81464E4 - ldr r4, _081468F8 @ =gScriptItemId - ldrb r0, [r4] - adds r0, 0x7B - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x38 - movs r2, 0x40 - bl sub_80A7D8C - ldr r1, _081468FC @ =gUnknown_0203932C - strb r0, [r1] - ldrb r0, [r4] - adds r0, 0x7B - lsls r0, 24 - lsrs r0, 24 - bl sub_8146600 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081468F8: .4byte gScriptItemId -_081468FC: .4byte gUnknown_0203932C - thumb_func_end sub_81468BC - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/cable_club.s b/asm/cable_club.s index 8d11915cb..0518e721c 100644 --- a/asm/cable_club.s +++ b/asm/cable_club.s @@ -1602,8 +1602,8 @@ _08083954: .4byte sub_8083958 sub_8083958: @ 8083958 push {lr} bl call_map_music_set_to_zero - bl copy_player_party_from_sav1 - bl copy_bags_and_unk_data_to_save_blocks + bl LoadPlayerParty + bl SavePlayerData bl sub_810FEFC ldr r0, _08083990 @ =gSpecialVar_0x8004 ldrh r0, [r0] @@ -1643,8 +1643,8 @@ sub_80839A4: @ 80839A4 cmp r1, 0x5 bne _080839C0 _080839B8: - bl copy_player_party_from_sav1 - bl copy_bags_and_unk_data_to_save_blocks + bl LoadPlayerParty + bl SavePlayerData _080839C0: movs r0, 0x7F bl copy_saved_warp2_bank_and_enter_x_to_warp1 @@ -2066,49 +2066,4 @@ _08083CE8: .4byte gTasks _08083CEC: .4byte sub_8083CA4 thumb_func_end unref_sub_8083CC8 - thumb_func_start unref_sub_8083CF0 -unref_sub_8083CF0: @ 8083CF0 - push {r4-r7,lr} - ldr r0, _08083D38 @ =0x04000128 - ldr r4, [r0] - lsls r4, 26 - lsrs r4, 30 - ldr r0, _08083D3C @ =gUnknown_03004DA0 - movs r1, 0xFF - strb r1, [r0] - ldr r1, _08083D40 @ =gUnknown_0839B24A - bl StringAppend - movs r5, 0 - ldr r0, _08083D44 @ =word_3002910 - movs r6, 0x1 - eors r4, r6 - lsls r4, 1 - adds r7, r4, r0 - movs r4, 0 -_08083D14: - ldrh r0, [r7] - asrs r0, r5 - ands r0, r6 - cmp r0, 0 - beq _08083D28 - ldr r1, _08083D48 @ =gUnknown_0839B22C - adds r1, r4, r1 - ldr r0, _08083D3C @ =gUnknown_03004DA0 - bl StringAppend -_08083D28: - adds r4, 0x3 - adds r5, 0x1 - cmp r5, 0x9 - ble _08083D14 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08083D38: .4byte 0x04000128 -_08083D3C: .4byte gUnknown_03004DA0 -_08083D40: .4byte gUnknown_0839B24A -_08083D44: .4byte word_3002910 -_08083D48: .4byte gUnknown_0839B22C - thumb_func_end unref_sub_8083CF0 - .align 2, 0 @ Don't pad with nop. diff --git a/asm/calculate_base_damage.s b/asm/calculate_base_damage.s deleted file mode 100644 index 54f53f1a2..000000000 --- a/asm/calculate_base_damage.s +++ /dev/null @@ -1,1165 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start CalculateBaseDamage -CalculateBaseDamage: @ 803BA2C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x2C - adds r7, r0, 0 - str r1, [sp, 0x4] - str r2, [sp, 0x8] - ldr r0, [sp, 0x4C] - ldr r1, [sp, 0x50] - ldr r2, [sp, 0x54] - ldr r4, [sp, 0x58] - lsls r3, 16 - lsrs r3, 16 - str r3, [sp, 0xC] - lsls r0, 16 - lsrs r3, r0, 16 - lsls r1, 24 - lsrs r6, r1, 24 - lsls r2, 24 - lsrs r2, 24 - str r2, [sp, 0x10] - lsls r4, 24 - lsrs r4, 24 - movs r5, 0 - cmp r3, 0 - bne _0803BA80 - ldr r2, _0803BA78 @ =gBattleMovePower - ldr r1, _0803BA7C @ =gBattleMoves - ldr r3, [sp, 0x8] - lsls r0, r3, 1 - adds r0, r3 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x1] - strh r0, [r2] - b _0803BA84 - .align 2, 0 -_0803BA78: .4byte gBattleMovePower -_0803BA7C: .4byte gBattleMoves -_0803BA80: - ldr r0, _0803BA9C @ =gBattleMovePower - strh r3, [r0] -_0803BA84: - cmp r6, 0 - bne _0803BAA4 - ldr r1, _0803BAA0 @ =gBattleMoves - ldr r6, [sp, 0x8] - lsls r0, r6, 1 - adds r0, r6 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x2] - mov r9, r0 - b _0803BAAE - .align 2, 0 -_0803BA9C: .4byte gBattleMovePower -_0803BAA0: .4byte gBattleMoves -_0803BAA4: - movs r0, 0x3F - mov r9, r0 - mov r1, r9 - ands r1, r6 - mov r9, r1 -_0803BAAE: - ldrh r6, [r7, 0x2] - ldr r2, [sp, 0x4] - ldrh r2, [r2, 0x4] - str r2, [sp, 0x14] - ldrh r3, [r7, 0x8] - mov r8, r3 - ldr r0, [sp, 0x4] - ldrh r0, [r0, 0xA] - str r0, [sp, 0x18] - ldrh r0, [r7, 0x2E] - cmp r0, 0xAF - bne _0803BAE0 - ldr r1, _0803BADC @ =gEnigmaBerries - ldr r2, [sp, 0x10] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r3, [r0, 0x7] - mov r10, r3 - ldrb r0, [r0, 0x1A] - b _0803BAF6 - .align 2, 0 -_0803BADC: .4byte gEnigmaBerries -_0803BAE0: - ldrh r0, [r7, 0x2E] - bl ItemId_GetHoldEffect - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - ldrh r0, [r7, 0x2E] - bl ItemId_GetHoldEffectParam - lsls r0, 24 - lsrs r0, 24 -_0803BAF6: - str r0, [sp, 0x20] - ldr r1, [sp, 0x4] - ldrh r0, [r1, 0x2E] - cmp r0, 0xAF - bne _0803BB26 - ldr r1, _0803BB10 @ =gEnigmaBerries - lsls r0, r4, 3 - subs r0, r4 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x7] - str r0, [sp, 0x1C] - b _0803BB3C - .align 2, 0 -_0803BB10: .4byte gEnigmaBerries -_0803BB14: - ldr r0, [sp, 0x20] - adds r0, 0x64 - muls r0, r6 - movs r1, 0x64 - bl __divsi3 - lsls r0, 16 - lsrs r6, r0, 16 - b _0803BCDC -_0803BB26: - ldr r2, [sp, 0x4] - ldrh r0, [r2, 0x2E] - bl ItemId_GetHoldEffect - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x1C] - ldr r3, [sp, 0x4] - ldrh r0, [r3, 0x2E] - bl ItemId_GetHoldEffectParam -_0803BB3C: - adds r0, r7, 0 - adds r0, 0x20 - ldrb r1, [r0] - str r0, [sp, 0x24] - cmp r1, 0x25 - beq _0803BB4C - cmp r1, 0x4A - bne _0803BB50 -_0803BB4C: - lsls r0, r6, 17 - lsrs r6, r0, 16 -_0803BB50: - ldr r0, _0803BCB8 @ =gUnknown_020239F8 - ldrh r1, [r0] - ldr r0, _0803BCBC @ =0x00000902 - ands r0, r1 - cmp r0, 0 - beq _0803BB5E - b _0803BC78 -_0803BB5E: - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _0803BB98 - ldr r0, _0803BCC0 @ =gTrainerBattleOpponent - ldrh r1, [r0] - movs r0, 0x80 - lsls r0, 3 - cmp r1, r0 - beq _0803BB98 - ldr r0, _0803BCC4 @ =0x00000807 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0803BB98 - ldr r0, [sp, 0x10] - bl battle_side_get_owner - lsls r0, 24 - cmp r0, 0 - bne _0803BB98 - movs r0, 0x6E - muls r0, r6 - movs r1, 0x64 - bl __divsi3 - lsls r0, 16 - lsrs r6, r0, 16 -_0803BB98: - ldr r0, _0803BCB8 @ =gUnknown_020239F8 - ldrh r1, [r0] - ldr r0, _0803BCBC @ =0x00000902 - ands r0, r1 - cmp r0, 0 - bne _0803BC78 - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _0803BBE2 - ldr r0, _0803BCC0 @ =gTrainerBattleOpponent - ldrh r1, [r0] - movs r0, 0x80 - lsls r0, 3 - cmp r1, r0 - beq _0803BBE2 - ldr r0, _0803BCC8 @ =0x0000080b - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0803BBE2 - adds r0, r4, 0 - bl battle_side_get_owner - lsls r0, 24 - cmp r0, 0 - bne _0803BBE2 - movs r0, 0x6E - ldr r1, [sp, 0x14] - muls r0, r1 - movs r1, 0x64 - bl __divsi3 - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0x14] -_0803BBE2: - ldr r0, _0803BCB8 @ =gUnknown_020239F8 - ldrh r1, [r0] - ldr r0, _0803BCBC @ =0x00000902 - ands r0, r1 - cmp r0, 0 - bne _0803BC78 - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _0803BC2E - ldr r0, _0803BCC0 @ =gTrainerBattleOpponent - ldrh r1, [r0] - movs r0, 0x80 - lsls r0, 3 - cmp r1, r0 - beq _0803BC2E - ldr r0, _0803BCCC @ =0x0000080d - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0803BC2E - ldr r0, [sp, 0x10] - bl battle_side_get_owner - lsls r0, 24 - cmp r0, 0 - bne _0803BC2E - movs r0, 0x6E - mov r2, r8 - muls r2, r0 - adds r0, r2, 0 - movs r1, 0x64 - bl __divsi3 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 -_0803BC2E: - ldr r0, _0803BCB8 @ =gUnknown_020239F8 - ldrh r1, [r0] - ldr r0, _0803BCBC @ =0x00000902 - ands r0, r1 - cmp r0, 0 - bne _0803BC78 - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _0803BC78 - ldr r0, _0803BCC0 @ =gTrainerBattleOpponent - ldrh r1, [r0] - movs r0, 0x80 - lsls r0, 3 - cmp r1, r0 - beq _0803BC78 - ldr r0, _0803BCCC @ =0x0000080d - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0803BC78 - adds r0, r4, 0 - bl battle_side_get_owner - lsls r0, 24 - cmp r0, 0 - bne _0803BC78 - movs r0, 0x6E - ldr r3, [sp, 0x18] - muls r0, r3 - movs r1, 0x64 - bl __divsi3 - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0x18] -_0803BC78: - movs r2, 0 - ldr r4, _0803BCD0 @ =gHoldEffectToType - ldr r0, [sp, 0x4] - adds r0, 0x20 - str r0, [sp, 0x28] - adds r3, r4, 0 -_0803BC84: - lsls r1, r2, 1 - ldrb r0, [r3] - cmp r10, r0 - bne _0803BCD4 - adds r0, r4, 0x1 - adds r0, r1, r0 - ldrb r0, [r0] - cmp r9, r0 - bne _0803BCD4 - mov r1, r9 - cmp r1, 0x8 - bhi _0803BC9E - b _0803BB14 -_0803BC9E: - ldr r0, [sp, 0x20] - adds r0, 0x64 - mov r2, r8 - muls r2, r0 - adds r0, r2, 0 - movs r1, 0x64 - bl __divsi3 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - b _0803BCDC - .align 2, 0 -_0803BCB8: .4byte gUnknown_020239F8 -_0803BCBC: .4byte 0x00000902 -_0803BCC0: .4byte gTrainerBattleOpponent -_0803BCC4: .4byte 0x00000807 -_0803BCC8: .4byte 0x0000080b -_0803BCCC: .4byte 0x0000080d -_0803BCD0: .4byte gHoldEffectToType -_0803BCD4: - adds r3, 0x2 - adds r2, 0x1 - cmp r2, 0x10 - bls _0803BC84 -_0803BCDC: - mov r3, r10 - cmp r3, 0x1D - bne _0803BCF0 - movs r0, 0x96 - muls r0, r6 - movs r1, 0x64 - bl __divsi3 - lsls r0, 16 - lsrs r6, r0, 16 -_0803BCF0: - mov r0, r10 - cmp r0, 0x22 - bne _0803BD28 - ldr r0, _0803BFDC @ =gUnknown_020239F8 - ldrh r1, [r0] - movs r0, 0x80 - lsls r0, 1 - ands r0, r1 - cmp r0, 0 - bne _0803BD28 - ldr r1, _0803BFE0 @ =0xfffffe69 - adds r0, r1, 0 - ldrh r2, [r7] - adds r0, r2 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bhi _0803BD28 - movs r0, 0x96 - mov r3, r8 - muls r3, r0 - adds r0, r3, 0 - movs r1, 0x64 - bl __divsi3 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 -_0803BD28: - ldr r0, [sp, 0x1C] - cmp r0, 0x22 - bne _0803BD60 - ldr r0, _0803BFDC @ =gUnknown_020239F8 - ldrh r1, [r0] - movs r0, 0x80 - lsls r0, 1 - ands r0, r1 - cmp r0, 0 - bne _0803BD60 - ldr r1, _0803BFE0 @ =0xfffffe69 - adds r0, r1, 0 - ldr r2, [sp, 0x4] - ldrh r2, [r2] - adds r0, r2 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bhi _0803BD60 - movs r0, 0x96 - ldr r3, [sp, 0x18] - muls r0, r3 - movs r1, 0x64 - bl __divsi3 - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0x18] -_0803BD60: - mov r0, r10 - cmp r0, 0x23 - bne _0803BD76 - ldrh r1, [r7] - ldr r0, _0803BFE4 @ =0x00000175 - cmp r1, r0 - bne _0803BD76 - mov r1, r8 - lsls r0, r1, 17 - lsrs r0, 16 - mov r8, r0 -_0803BD76: - ldr r2, [sp, 0x1C] - cmp r2, 0x24 - bne _0803BD8E - ldr r3, [sp, 0x4] - ldrh r1, [r3] - ldr r0, _0803BFE4 @ =0x00000175 - cmp r1, r0 - bne _0803BD8E - ldr r1, [sp, 0x18] - lsls r0, r1, 17 - lsrs r0, 16 - str r0, [sp, 0x18] -_0803BD8E: - mov r2, r10 - cmp r2, 0x2D - bne _0803BDA2 - ldrh r0, [r7] - cmp r0, 0x19 - bne _0803BDA2 - mov r3, r8 - lsls r0, r3, 17 - lsrs r0, 16 - mov r8, r0 -_0803BDA2: - ldr r0, [sp, 0x1C] - cmp r0, 0x40 - bne _0803BDB8 - ldr r1, [sp, 0x4] - ldrh r0, [r1] - cmp r0, 0x84 - bne _0803BDB8 - ldr r2, [sp, 0x14] - lsls r0, r2, 17 - lsrs r0, 16 - str r0, [sp, 0x14] -_0803BDB8: - mov r3, r10 - cmp r3, 0x41 - bne _0803BDCE - ldrh r0, [r7] - subs r0, 0x68 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bhi _0803BDCE - lsls r0, r6, 17 - lsrs r6, r0, 16 -_0803BDCE: - ldr r1, [sp, 0x28] - ldrb r0, [r1] - cmp r0, 0x2F - bne _0803BDE6 - mov r2, r9 - cmp r2, 0xA - beq _0803BDE0 - cmp r2, 0xF - bne _0803BDE6 -_0803BDE0: - mov r3, r8 - lsrs r3, 1 - mov r8, r3 -_0803BDE6: - ldr r0, [sp, 0x24] - ldrb r4, [r0] - cmp r4, 0x37 - bne _0803BDFC - movs r0, 0x96 - muls r0, r6 - movs r1, 0x64 - bl __divsi3 - lsls r0, 16 - lsrs r6, r0, 16 -_0803BDFC: - cmp r4, 0x39 - bne _0803BE2A - movs r0, 0 - str r0, [sp] - movs r0, 0xE - movs r1, 0 - movs r2, 0x3A - movs r3, 0 - bl sub_8018324 - lsls r0, 24 - cmp r0, 0 - beq _0803BE2A - movs r0, 0x96 - mov r1, r8 - muls r1, r0 - adds r0, r1, 0 - movs r1, 0x64 - bl __divsi3 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 -_0803BE2A: - ldr r2, [sp, 0x24] - ldrb r0, [r2] - cmp r0, 0x3A - bne _0803BE5C - movs r0, 0 - str r0, [sp] - movs r0, 0xE - movs r1, 0 - movs r2, 0x39 - movs r3, 0 - bl sub_8018324 - lsls r0, 24 - cmp r0, 0 - beq _0803BE5C - movs r0, 0x96 - mov r3, r8 - muls r3, r0 - adds r0, r3, 0 - movs r1, 0x64 - bl __divsi3 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 -_0803BE5C: - ldr r1, [sp, 0x24] - ldrb r0, [r1] - cmp r0, 0x3E - bne _0803BE78 - ldr r0, [r7, 0x4C] - cmp r0, 0 - beq _0803BE78 - movs r0, 0x96 - muls r0, r6 - movs r1, 0x64 - bl __divsi3 - lsls r0, 16 - lsrs r6, r0, 16 -_0803BE78: - ldr r2, [sp, 0x28] - ldrb r0, [r2] - cmp r0, 0x3F - bne _0803BE9A - ldr r3, [sp, 0x4] - ldr r0, [r3, 0x4C] - cmp r0, 0 - beq _0803BE9A - movs r0, 0x96 - ldr r1, [sp, 0x14] - muls r0, r1 - movs r1, 0x64 - bl __divsi3 - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0x14] -_0803BE9A: - mov r2, r9 - cmp r2, 0xD - bne _0803BEBE - movs r0, 0 - str r0, [sp] - movs r0, 0xE - movs r1, 0 - movs r2, 0 - movs r3, 0xFD - bl sub_8018324 - lsls r0, 24 - cmp r0, 0 - beq _0803BEBE - ldr r1, _0803BFE8 @ =gBattleMovePower - ldrh r0, [r1] - lsrs r0, 1 - strh r0, [r1] -_0803BEBE: - mov r3, r9 - cmp r3, 0xA - bne _0803BEE2 - movs r0, 0 - str r0, [sp] - movs r0, 0xE - movs r1, 0 - movs r2, 0 - movs r3, 0xFE - bl sub_8018324 - lsls r0, 24 - cmp r0, 0 - beq _0803BEE2 - ldr r1, _0803BFE8 @ =gBattleMovePower - ldrh r0, [r1] - lsrs r0, 1 - strh r0, [r1] -_0803BEE2: - mov r0, r9 - cmp r0, 0xC - bne _0803BF12 - ldr r1, [sp, 0x24] - ldrb r0, [r1] - cmp r0, 0x41 - bne _0803BF12 - ldrh r0, [r7, 0x2C] - movs r1, 0x3 - bl __udivsi3 - ldrh r1, [r7, 0x28] - lsls r0, 16 - lsrs r0, 16 - cmp r1, r0 - bhi _0803BF12 - ldr r4, _0803BFE8 @ =gBattleMovePower - ldrh r1, [r4] - movs r0, 0x96 - muls r0, r1 - movs r1, 0x64 - bl __divsi3 - strh r0, [r4] -_0803BF12: - mov r2, r9 - cmp r2, 0xA - bne _0803BF42 - ldr r3, [sp, 0x24] - ldrb r0, [r3] - cmp r0, 0x42 - bne _0803BF42 - ldrh r0, [r7, 0x2C] - movs r1, 0x3 - bl __udivsi3 - ldrh r1, [r7, 0x28] - lsls r0, 16 - lsrs r0, 16 - cmp r1, r0 - bhi _0803BF42 - ldr r4, _0803BFE8 @ =gBattleMovePower - ldrh r1, [r4] - movs r0, 0x96 - muls r0, r1 - movs r1, 0x64 - bl __divsi3 - strh r0, [r4] -_0803BF42: - mov r0, r9 - cmp r0, 0xB - bne _0803BF72 - ldr r1, [sp, 0x24] - ldrb r0, [r1] - cmp r0, 0x43 - bne _0803BF72 - ldrh r0, [r7, 0x2C] - movs r1, 0x3 - bl __udivsi3 - ldrh r1, [r7, 0x28] - lsls r0, 16 - lsrs r0, 16 - cmp r1, r0 - bhi _0803BF72 - ldr r4, _0803BFE8 @ =gBattleMovePower - ldrh r1, [r4] - movs r0, 0x96 - muls r0, r1 - movs r1, 0x64 - bl __divsi3 - strh r0, [r4] -_0803BF72: - mov r2, r9 - cmp r2, 0x6 - bne _0803BFA2 - ldr r3, [sp, 0x24] - ldrb r0, [r3] - cmp r0, 0x44 - bne _0803BFA2 - ldrh r0, [r7, 0x2C] - movs r1, 0x3 - bl __udivsi3 - ldrh r1, [r7, 0x28] - lsls r0, 16 - lsrs r0, 16 - cmp r1, r0 - bhi _0803BFA2 - ldr r4, _0803BFE8 @ =gBattleMovePower - ldrh r1, [r4] - movs r0, 0x96 - muls r0, r1 - movs r1, 0x64 - bl __divsi3 - strh r0, [r4] -_0803BFA2: - ldr r2, _0803BFEC @ =gBattleMoves - ldr r0, _0803BFF0 @ =gUnknown_02024BE6 - ldrh r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0] - cmp r0, 0x7 - bne _0803BFBC - ldr r0, [sp, 0x14] - lsrs r0, 1 - str r0, [sp, 0x14] -_0803BFBC: - mov r1, r9 - cmp r1, 0x8 - bls _0803BFC4 - b _0803C122 -_0803BFC4: - ldr r0, _0803BFF4 @ =gCritMultiplier - ldrb r1, [r0] - adds r4, r0, 0 - cmp r1, 0x2 - bne _0803C000 - movs r0, 0x19 - ldrsb r0, [r7, r0] - cmp r0, 0x6 - ble _0803BFFC - ldr r2, _0803BFF8 @ =gStatStageRatios - b _0803C006 - .align 2, 0 -_0803BFDC: .4byte gUnknown_020239F8 -_0803BFE0: .4byte 0xfffffe69 -_0803BFE4: .4byte 0x00000175 -_0803BFE8: .4byte gBattleMovePower -_0803BFEC: .4byte gBattleMoves -_0803BFF0: .4byte gUnknown_02024BE6 -_0803BFF4: .4byte gCritMultiplier -_0803BFF8: .4byte gStatStageRatios -_0803BFFC: - adds r5, r6, 0 - b _0803C01E -_0803C000: - ldr r2, _0803C050 @ =gStatStageRatios - movs r0, 0x19 - ldrsb r0, [r7, r0] -_0803C006: - lsls r0, 1 - adds r1, r0, r2 - ldrb r1, [r1] - adds r5, r6, 0 - muls r5, r1 - adds r2, 0x1 - adds r0, r2 - ldrb r1, [r0] - adds r0, r5, 0 - bl __divsi3 - adds r5, r0, 0 -_0803C01E: - ldr r0, _0803C054 @ =gBattleMovePower - ldrh r0, [r0] - muls r5, r0 - adds r0, r7, 0 - adds r0, 0x2A - ldrb r0, [r0] - lsls r0, 1 - movs r1, 0x5 - bl __divsi3 - adds r0, 0x2 - muls r5, r0 - ldrb r0, [r4] - cmp r0, 0x2 - bne _0803C05C - ldr r2, [sp, 0x4] - movs r0, 0x1A - ldrsb r0, [r2, r0] - cmp r0, 0x5 - bgt _0803C058 - ldr r2, _0803C050 @ =gStatStageRatios - ldr r3, [sp, 0x4] - movs r0, 0x1A - ldrsb r0, [r3, r0] - b _0803C064 - .align 2, 0 -_0803C050: .4byte gStatStageRatios -_0803C054: .4byte gBattleMovePower -_0803C058: - ldr r3, [sp, 0x14] - b _0803C07E -_0803C05C: - ldr r2, _0803C0DC @ =gStatStageRatios - ldr r1, [sp, 0x4] - movs r0, 0x1A - ldrsb r0, [r1, r0] -_0803C064: - lsls r0, 1 - adds r1, r0, r2 - ldrb r1, [r1] - ldr r6, [sp, 0x14] - adds r3, r6, 0 - muls r3, r1 - adds r2, 0x1 - adds r0, r2 - ldrb r1, [r0] - adds r0, r3, 0 - bl __divsi3 - adds r3, r0, 0 -_0803C07E: - adds r0, r5, 0 - adds r1, r3, 0 - bl __divsi3 - adds r5, r0, 0 - movs r1, 0x32 - bl __divsi3 - adds r5, r0, 0 - ldr r0, [r7, 0x4C] - movs r1, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0803C0A8 - ldr r1, [sp, 0x24] - ldrb r0, [r1] - cmp r0, 0x3E - beq _0803C0A8 - lsrs r0, r5, 31 - adds r0, r5, r0 - asrs r5, r0, 1 -_0803C0A8: - movs r0, 0x1 - ldr r2, [sp, 0xC] - ands r0, r2 - cmp r0, 0 - beq _0803C0EA - ldrb r1, [r4] - cmp r1, 0x1 - bne _0803C0EA - ldr r0, _0803C0E0 @ =gUnknown_020239F8 - ldrh r0, [r0] - ands r1, r0 - cmp r1, 0 - beq _0803C0E4 - movs r0, 0x2 - bl sub_803C348 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _0803C0E4 - adds r0, r5, 0 - movs r1, 0x3 - bl __divsi3 - lsls r5, r0, 1 - b _0803C0EA - .align 2, 0 -_0803C0DC: .4byte gStatStageRatios -_0803C0E0: .4byte gUnknown_020239F8 -_0803C0E4: - lsrs r0, r5, 31 - adds r0, r5, r0 - asrs r5, r0, 1 -_0803C0EA: - ldr r0, _0803C148 @ =gUnknown_020239F8 - ldrh r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0803C11C - ldr r0, _0803C14C @ =gBattleMoves - ldr r3, [sp, 0x8] - lsls r1, r3, 1 - adds r1, r3 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0x6] - cmp r0, 0x8 - bne _0803C11C - movs r0, 0x2 - bl sub_803C348 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _0803C11C - lsrs r0, r5, 31 - adds r0, r5, r0 - asrs r5, r0, 1 -_0803C11C: - cmp r5, 0 - bne _0803C122 - movs r5, 0x1 -_0803C122: - mov r6, r9 - cmp r6, 0x9 - bne _0803C12A - movs r5, 0 -_0803C12A: - mov r0, r9 - cmp r0, 0x9 - bhi _0803C132 - b _0803C330 -_0803C132: - ldr r0, _0803C150 @ =gCritMultiplier - ldrb r1, [r0] - adds r4, r0, 0 - cmp r1, 0x2 - bne _0803C15C - movs r0, 0x1C - ldrsb r0, [r7, r0] - cmp r0, 0x6 - ble _0803C158 - ldr r2, _0803C154 @ =gStatStageRatios - b _0803C162 - .align 2, 0 -_0803C148: .4byte gUnknown_020239F8 -_0803C14C: .4byte gBattleMoves -_0803C150: .4byte gCritMultiplier -_0803C154: .4byte gStatStageRatios -_0803C158: - mov r5, r8 - b _0803C17A -_0803C15C: - ldr r2, _0803C1A8 @ =gStatStageRatios - movs r0, 0x1C - ldrsb r0, [r7, r0] -_0803C162: - lsls r0, 1 - adds r1, r0, r2 - ldrb r1, [r1] - mov r5, r8 - muls r5, r1 - adds r2, 0x1 - adds r0, r2 - ldrb r1, [r0] - adds r0, r5, 0 - bl __divsi3 - adds r5, r0, 0 -_0803C17A: - ldr r0, _0803C1AC @ =gBattleMovePower - ldrh r0, [r0] - muls r5, r0 - adds r0, r7, 0 - adds r0, 0x2A - ldrb r0, [r0] - lsls r0, 1 - movs r1, 0x5 - bl __divsi3 - adds r0, 0x2 - muls r5, r0 - ldrb r0, [r4] - cmp r0, 0x2 - bne _0803C1B4 - ldr r1, [sp, 0x4] - movs r0, 0x1D - ldrsb r0, [r1, r0] - cmp r0, 0x5 - bgt _0803C1B0 - ldr r2, _0803C1A8 @ =gStatStageRatios - b _0803C1BC - .align 2, 0 -_0803C1A8: .4byte gStatStageRatios -_0803C1AC: .4byte gBattleMovePower -_0803C1B0: - ldr r3, [sp, 0x18] - b _0803C1D6 -_0803C1B4: - ldr r2, _0803C21C @ =gStatStageRatios - ldr r1, [sp, 0x4] - movs r0, 0x1D - ldrsb r0, [r1, r0] -_0803C1BC: - lsls r0, 1 - adds r1, r0, r2 - ldrb r1, [r1] - ldr r6, [sp, 0x18] - adds r3, r6, 0 - muls r3, r1 - adds r2, 0x1 - adds r0, r2 - ldrb r1, [r0] - adds r0, r3, 0 - bl __divsi3 - adds r3, r0, 0 -_0803C1D6: - adds r0, r5, 0 - adds r1, r3, 0 - bl __divsi3 - adds r5, r0, 0 - movs r1, 0x32 - bl __divsi3 - adds r5, r0, 0 - movs r0, 0x2 - ldr r1, [sp, 0xC] - ands r0, r1 - cmp r0, 0 - beq _0803C22A - ldrb r1, [r4] - cmp r1, 0x1 - bne _0803C22A - ldr r0, _0803C220 @ =gUnknown_020239F8 - ldrh r0, [r0] - ands r1, r0 - cmp r1, 0 - beq _0803C224 - movs r0, 0x2 - bl sub_803C348 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _0803C224 - adds r0, r5, 0 - movs r1, 0x3 - bl __divsi3 - lsls r5, r0, 1 - b _0803C22A - .align 2, 0 -_0803C21C: .4byte gStatStageRatios -_0803C220: .4byte gUnknown_020239F8 -_0803C224: - lsrs r0, r5, 31 - adds r0, r5, r0 - asrs r5, r0, 1 -_0803C22A: - ldr r0, _0803C2A4 @ =gUnknown_020239F8 - ldrh r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0803C25C - ldr r0, _0803C2A8 @ =gBattleMoves - ldr r2, [sp, 0x8] - lsls r1, r2, 1 - adds r1, r2 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0x6] - cmp r0, 0x8 - bne _0803C25C - movs r0, 0x2 - bl sub_803C348 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _0803C25C - lsrs r0, r5, 31 - adds r0, r5, r0 - asrs r5, r0, 1 -_0803C25C: - movs r0, 0 - str r0, [sp] - movs r0, 0xE - movs r1, 0 - movs r2, 0xD - movs r3, 0 - bl sub_8018324 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - bne _0803C30C - str r0, [sp] - movs r0, 0xE - movs r1, 0 - movs r2, 0x4D - movs r3, 0 - bl sub_8018324 - lsls r0, 24 - cmp r0, 0 - bne _0803C30C - ldr r2, _0803C2AC @ =word_2024DB8 - ldrh r1, [r2] - movs r0, 0x1 - ands r0, r1 - adds r4, r2, 0 - cmp r0, 0 - beq _0803C2C4 - mov r3, r9 - cmp r3, 0xA - beq _0803C2B0 - cmp r3, 0xB - beq _0803C2B8 - b _0803C2C4 - .align 2, 0 -_0803C2A4: .4byte gUnknown_020239F8 -_0803C2A8: .4byte gBattleMoves -_0803C2AC: .4byte word_2024DB8 -_0803C2B0: - lsrs r0, r5, 31 - adds r0, r5, r0 - asrs r5, r0, 1 - b _0803C2C4 -_0803C2B8: - lsls r0, r5, 4 - subs r0, r5 - movs r1, 0xA - bl __divsi3 - adds r5, r0, 0 -_0803C2C4: - ldrh r1, [r4] - movs r0, 0x9F - ands r0, r1 - cmp r0, 0 - beq _0803C2DC - ldr r0, _0803C2F4 @ =gUnknown_02024BE6 - ldrh r0, [r0] - cmp r0, 0x4C - bne _0803C2DC - lsrs r0, r5, 31 - adds r0, r5, r0 - asrs r5, r0, 1 -_0803C2DC: - ldrh r1, [r4] - movs r0, 0x60 - ands r0, r1 - cmp r0, 0 - beq _0803C30C - mov r6, r9 - cmp r6, 0xA - beq _0803C2F8 - cmp r6, 0xB - beq _0803C306 - b _0803C30C - .align 2, 0 -_0803C2F4: .4byte gUnknown_02024BE6 -_0803C2F8: - lsls r0, r5, 4 - subs r0, r5 - movs r1, 0xA - bl __divsi3 - adds r5, r0, 0 - b _0803C30C -_0803C306: - lsrs r0, r5, 31 - adds r0, r5, r0 - asrs r5, r0, 1 -_0803C30C: - ldr r1, _0803C344 @ =0x02017100 - ldr r2, [sp, 0x10] - lsls r0, r2, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0803C330 - mov r3, r9 - cmp r3, 0xA - bne _0803C330 - lsls r0, r5, 4 - subs r0, r5 - movs r1, 0xA - bl __divsi3 - adds r5, r0, 0 -_0803C330: - adds r0, r5, 0x2 - add sp, 0x2C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0803C344: .4byte 0x02017100 - thumb_func_end CalculateBaseDamage - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/credits.s b/asm/credits.s new file mode 100644 index 000000000..1d4747034 --- /dev/null +++ b/asm/credits.s @@ -0,0 +1,4182 @@ + .include "constants/gba_constants.inc" + .include "constants/species_constants.inc" + .include "asm/macros.inc" + + .syntax unified + + .text + + thumb_func_start sub_8143948 +sub_8143948: @ 8143948 + push {lr} + bl LoadOam + bl ProcessSpriteCopyRequests + bl TransferPlttBuffer + pop {r0} + bx r0 + thumb_func_end sub_8143948 + + thumb_func_start sub_814395C +sub_814395C: @ 814395C + push {lr} + bl RunTasks + bl AnimateSprites + bl BuildOamBuffer + bl UpdatePaletteFade + ldr r0, _081439B8 @ =gMain + ldrh r1, [r0, 0x2C] + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _081439B2 + ldr r0, _081439BC @ =gUnknown_02039324 + ldrb r0, [r0] + cmp r0, 0 + beq _081439B2 + ldr r2, _081439C0 @ =gTasks + ldr r0, _081439C4 @ =gUnknown_02039322 + ldrh r1, [r0] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r0, r2 + ldr r1, [r0] + ldr r0, _081439C8 @ =sub_8143B68 + cmp r1, r0 + bne _081439B2 + bl sub_8143948 + bl RunTasks + bl AnimateSprites + bl BuildOamBuffer + bl UpdatePaletteFade + ldr r1, _081439CC @ =gUnknown_02039325 + movs r0, 0x1 + strb r0, [r1] +_081439B2: + pop {r0} + bx r0 + .align 2, 0 +_081439B8: .4byte gMain +_081439BC: .4byte gUnknown_02039324 +_081439C0: .4byte gTasks +_081439C4: .4byte gUnknown_02039322 +_081439C8: .4byte sub_8143B68 +_081439CC: .4byte gUnknown_02039325 + thumb_func_end sub_814395C + + thumb_func_start sub_81439D0 +sub_81439D0: @ 81439D0 + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + sub sp, 0x4 + bl sub_8144130 + movs r0, 0 + bl SetVBlankCallback + bl ResetPaletteFade + bl ResetTasks + ldr r0, _08143AF0 @ =sub_8143B38 + movs r1, 0 + bl CreateTask + lsls r0, 24 + lsrs r7, r0, 24 + ldr r1, _08143AF4 @ =gTasks + lsls r0, r7, 2 + adds r0, r7 + lsls r0, 3 + adds r0, r1 + movs r1, 0 + strh r1, [r0, 0x10] + strh r1, [r0, 0x16] + strh r1, [r0, 0x1E] + movs r1, 0x1 + strh r1, [r0, 0x22] +_08143A0E: + movs r0, 0 + adds r1, r7, 0 + bl sub_8144ECC + lsls r0, 24 + cmp r0, 0 + beq _08143A0E + ldr r6, _08143AF4 @ =gTasks + lsls r5, r7, 2 + adds r5, r7 + lsls r5, 3 + adds r5, r6 + movs r0, 0xA + ldrsh r1, [r5, r0] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r0, r6 + movs r1, 0 + mov r9, r1 + movs r2, 0 + mov r8, r2 + movs r1, 0x28 + strh r1, [r0, 0x8] + ldr r4, _08143AF8 @ =gWindowConfig_81E7208 + adds r0, r4, 0 + bl SetUpWindowConfig + adds r0, r4, 0 + bl InitMenuWindow + ldr r0, _08143AFC @ =gUnknown_0840B7BC + movs r1, 0x80 + movs r2, 0x40 + bl LoadPalette + ldr r0, _08143B00 @ =gUnknown_0840B7FC + ldr r1, _08143B04 @ =0x0600bee0 + movs r2, 0x20 + bl CpuSet + ldr r1, _08143B08 @ =REG_BG0VOFS + ldr r2, _08143B0C @ =0x0000fffc + adds r0, r2, 0 + strh r0, [r1] + ldr r0, _08143B10 @ =sub_81441B8 + movs r1, 0 + bl CreateTask + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r6 + strh r7, [r1, 0xA] + strh r0, [r5, 0x26] + movs r0, 0x1 + negs r0, r0 + mov r1, r8 + str r1, [sp] + movs r1, 0 + movs r2, 0x10 + movs r3, 0 + bl BeginNormalPaletteFade + ldr r3, _08143B14 @ =0x04000208 + ldrh r2, [r3] + mov r0, r8 + strh r0, [r3] + ldr r4, _08143B18 @ =0x04000200 + ldrh r0, [r4] + movs r1, 0x1 + orrs r0, r1 + strh r0, [r4] + strh r2, [r3] + ldr r2, _08143B1C @ =REG_DISPSTAT + ldrh r0, [r2] + movs r1, 0x8 + orrs r0, r1 + strh r0, [r2] + ldr r0, _08143B20 @ =sub_8143948 + bl SetVBlankCallback + ldr r0, _08143B24 @ =0x000001c7 + bl m4aSongNumStart + ldr r0, _08143B28 @ =sub_814395C + bl SetMainCallback2 + ldr r0, _08143B2C @ =gUnknown_02039325 + mov r1, r9 + strb r1, [r0] + ldr r4, _08143B30 @ =0x0201c000 + bl sub_81458DC + adds r0, r4, 0 + adds r0, 0x88 + mov r2, r8 + strh r2, [r0] + adds r0, 0x2 + strh r2, [r0] + adds r0, 0x2 + strh r2, [r0] + ldr r0, _08143B34 @ =gUnknown_02039322 + strh r7, [r0] + add sp, 0x4 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08143AF0: .4byte sub_8143B38 +_08143AF4: .4byte gTasks +_08143AF8: .4byte gWindowConfig_81E7208 +_08143AFC: .4byte gUnknown_0840B7BC +_08143B00: .4byte gUnknown_0840B7FC +_08143B04: .4byte 0x0600bee0 +_08143B08: .4byte REG_BG0VOFS +_08143B0C: .4byte 0x0000fffc +_08143B10: .4byte sub_81441B8 +_08143B14: .4byte 0x04000208 +_08143B18: .4byte 0x04000200 +_08143B1C: .4byte REG_DISPSTAT +_08143B20: .4byte sub_8143948 +_08143B24: .4byte 0x000001c7 +_08143B28: .4byte sub_814395C +_08143B2C: .4byte gUnknown_02039325 +_08143B30: .4byte 0x0201c000 +_08143B34: .4byte gUnknown_02039322 + thumb_func_end sub_81439D0 + + thumb_func_start sub_8143B38 +sub_8143B38: @ 8143B38 + push {lr} + lsls r0, 24 + lsrs r2, r0, 24 + ldr r0, _08143B5C @ =gPaletteFade + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + bne _08143B58 + ldr r0, _08143B60 @ =gTasks + lsls r1, r2, 2 + adds r1, r2 + lsls r1, 3 + adds r1, r0 + ldr r0, _08143B64 @ =sub_8143B68 + str r0, [r1] +_08143B58: + pop {r0} + bx r0 + .align 2, 0 +_08143B5C: .4byte gPaletteFade +_08143B60: .4byte gTasks +_08143B64: .4byte sub_8143B68 + thumb_func_end sub_8143B38 + + thumb_func_start sub_8143B68 +sub_8143B68: @ 8143B68 + push {r4,lr} + sub sp, 0x4 + lsls r0, 24 + lsrs r0, 24 + ldr r2, _08143B9C @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r4, r1, r2 + movs r0, 0x10 + ldrsh r1, [r4, r0] + cmp r1, 0 + beq _08143BA4 + movs r3, 0xA + ldrsh r1, [r4, r3] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r0, r2 + movs r1, 0x1E + strh r1, [r0, 0x8] + movs r0, 0x80 + lsls r0, 1 + strh r0, [r4, 0x20] + ldr r0, _08143BA0 @ =sub_8143EBC + b _08143BEE + .align 2, 0 +_08143B9C: .4byte gTasks +_08143BA0: .4byte sub_8143EBC +_08143BA4: + ldr r0, _08143BCC @ =gUnknown_02039320 + strh r1, [r0] + ldrh r2, [r4, 0x1E] + movs r3, 0x1E + ldrsh r0, [r4, r3] + cmp r0, 0x1 + bne _08143BD4 + strh r2, [r4, 0x22] + strh r1, [r4, 0x1E] + movs r0, 0x1 + negs r0, r0 + str r1, [sp] + movs r1, 0 + movs r2, 0 + movs r3, 0x10 + bl BeginNormalPaletteFade + ldr r0, _08143BD0 @ =sub_8143BFC + b _08143BEE + .align 2, 0 +_08143BCC: .4byte gUnknown_02039320 +_08143BD0: .4byte sub_8143BFC +_08143BD4: + cmp r0, 0x2 + bne _08143BF0 + strh r2, [r4, 0x22] + strh r1, [r4, 0x1E] + movs r0, 0x1 + negs r0, r0 + str r1, [sp] + movs r1, 0 + movs r2, 0 + movs r3, 0x10 + bl BeginNormalPaletteFade + ldr r0, _08143BF8 @ =sub_8143CC0 +_08143BEE: + str r0, [r4] +_08143BF0: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08143BF8: .4byte sub_8143CC0 + thumb_func_end sub_8143B68 + + thumb_func_start sub_8143BFC +sub_8143BFC: @ 8143BFC + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + ldr r0, _08143C34 @ =gPaletteFade + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + lsls r0, 24 + lsrs r1, r0, 24 + cmp r1, 0 + bne _08143C2C + movs r0, 0x80 + lsls r0, 19 + strh r1, [r0] + adds r0, r4, 0 + bl sub_81450AC + ldr r1, _08143C38 @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + ldr r1, _08143C3C @ =c2_080C9BFC + str r1, [r0] +_08143C2C: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08143C34: .4byte gPaletteFade +_08143C38: .4byte gTasks +_08143C3C: .4byte c2_080C9BFC + thumb_func_end sub_8143BFC + + thumb_func_start c2_080C9BFC +c2_080C9BFC: @ 8143C40 + push {r4,r5,lr} + sub sp, 0x4 + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + movs r0, 0 + bl SetVBlankCallback + ldr r1, _08143CA8 @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r5, r0, r1 + ldrb r0, [r5, 0x16] + adds r1, r4, 0 + bl sub_8144ECC + lsls r0, 24 + cmp r0, 0 + beq _08143CA0 + movs r0, 0x1 + negs r0, r0 + movs r4, 0 + str r4, [sp] + movs r1, 0 + movs r2, 0x10 + movs r3, 0 + bl BeginNormalPaletteFade + ldr r3, _08143CAC @ =0x04000208 + ldrh r2, [r3] + strh r4, [r3] + ldr r4, _08143CB0 @ =0x04000200 + ldrh r0, [r4] + movs r1, 0x1 + orrs r0, r1 + strh r0, [r4] + strh r2, [r3] + ldr r2, _08143CB4 @ =REG_DISPSTAT + ldrh r0, [r2] + movs r1, 0x8 + orrs r0, r1 + strh r0, [r2] + ldr r0, _08143CB8 @ =sub_8143948 + bl SetVBlankCallback + ldr r0, _08143CBC @ =sub_8143B38 + str r0, [r5] +_08143CA0: + add sp, 0x4 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08143CA8: .4byte gTasks +_08143CAC: .4byte 0x04000208 +_08143CB0: .4byte 0x04000200 +_08143CB4: .4byte REG_DISPSTAT +_08143CB8: .4byte sub_8143948 +_08143CBC: .4byte sub_8143B38 + thumb_func_end c2_080C9BFC + + thumb_func_start sub_8143CC0 +sub_8143CC0: @ 8143CC0 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + ldr r0, _08143CF8 @ =gPaletteFade + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + lsls r0, 24 + lsrs r1, r0, 24 + cmp r1, 0 + bne _08143CF0 + movs r0, 0x80 + lsls r0, 19 + strh r1, [r0] + adds r0, r4, 0 + bl sub_81450AC + ldr r1, _08143CFC @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + ldr r1, _08143D00 @ =sub_8143D04 + str r1, [r0] +_08143CF0: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08143CF8: .4byte gPaletteFade +_08143CFC: .4byte gTasks +_08143D00: .4byte sub_8143D04 + thumb_func_end sub_8143CC0 + + thumb_func_start sub_8143D04 +sub_8143D04: @ 8143D04 + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + sub sp, 0x4 + lsls r0, 24 + lsrs r6, r0, 24 + ldr r0, _08143DC8 @ =gMain + ldr r1, _08143DCC @ =0x0000043c + adds r1, r0 + mov r8, r1 + ldrb r7, [r1] + cmp r7, 0 + beq _08143D24 + cmp r7, 0x1 + beq _08143E0C +_08143D24: + bl ResetSpriteData + bl FreeAllSpritePalettes + ldr r1, _08143DD0 @ =gReservedSpritePaletteCount + movs r0, 0x8 + strb r0, [r1] + ldr r0, _08143DD4 @ =gBirchHelpGfx + movs r1, 0xC0 + lsls r1, 19 + bl LZ77UnCompVram + ldr r0, _08143DD8 @ =gBirchGrassTilemap + ldr r1, _08143DDC @ =0x06003800 + bl LZ77UnCompVram + ldr r0, _08143DE0 @ =gBirchBagGrassPal + 0x2 + movs r1, 0x1 + movs r2, 0x3E + bl LoadPalette + movs r1, 0 + ldr r4, _08143DE4 @ =0x0201e000 + movs r3, 0x11 + ldr r2, _08143DE8 @ =0x000007ff +_08143D56: + adds r0, r1, r4 + strb r3, [r0] + adds r0, r1, 0x1 + lsls r0, 16 + lsrs r1, r0, 16 + cmp r1, r2 + bls _08143D56 + movs r1, 0 + ldr r2, _08143DEC @ =0x0201f800 + ldr r6, _08143DF0 @ =gUnknown_0840CAA0 + ldr r0, _08143DF4 @ =0xfffff000 + adds r5, r2, r0 + movs r4, 0x22 + ldr r3, _08143DE8 @ =0x000007ff +_08143D72: + adds r0, r1, r5 + strb r4, [r0] + adds r0, r1, 0x1 + lsls r0, 16 + lsrs r1, r0, 16 + cmp r1, r3 + bls _08143D72 + movs r1, 0 + ldr r5, _08143DF8 @ =0x0201f000 + movs r4, 0x33 + ldr r3, _08143DE8 @ =0x000007ff +_08143D88: + adds r0, r1, r5 + strb r4, [r0] + adds r0, r1, 0x1 + lsls r0, 16 + lsrs r1, r0, 16 + cmp r1, r3 + bls _08143D88 + movs r0, 0 + strh r0, [r2] + ldr r1, _08143DFC @ =0x000053ff + adds r0, r1, 0 + strh r0, [r2, 0x2] + ldr r1, _08143E00 @ =0x0000529f + adds r0, r1, 0 + strh r0, [r2, 0x4] + ldr r1, _08143E04 @ =0x00007e94 + adds r0, r1, 0 + strh r0, [r2, 0x6] + adds r0, r6, 0 + bl LoadSpriteSheet + ldr r0, _08143E08 @ =gUnknown_0840CAB0 + bl LoadSpritePalette + ldr r1, _08143DC8 @ =gMain + ldr r2, _08143DCC @ =0x0000043c + adds r1, r2 + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] + b _08143E90 + .align 2, 0 +_08143DC8: .4byte gMain +_08143DCC: .4byte 0x0000043c +_08143DD0: .4byte gReservedSpritePaletteCount +_08143DD4: .4byte gBirchHelpGfx +_08143DD8: .4byte gBirchGrassTilemap +_08143DDC: .4byte 0x06003800 +_08143DE0: .4byte gBirchBagGrassPal + 0x2 +_08143DE4: .4byte 0x0201e000 +_08143DE8: .4byte 0x000007ff +_08143DEC: .4byte 0x0201f800 +_08143DF0: .4byte gUnknown_0840CAA0 +_08143DF4: .4byte 0xfffff000 +_08143DF8: .4byte 0x0201f000 +_08143DFC: .4byte 0x000053ff +_08143E00: .4byte 0x0000529f +_08143E04: .4byte 0x00007e94 +_08143E08: .4byte gUnknown_0840CAB0 +_08143E0C: + ldr r0, _08143EA0 @ =sub_8144514 + movs r1, 0 + bl CreateTask + ldr r2, _08143EA4 @ =gTasks + lsls r4, r6, 2 + adds r4, r6 + lsls r4, 3 + adds r4, r2 + lsls r0, 24 + lsrs r0, 24 + movs r1, 0 + mov r9, r1 + movs r5, 0 + strh r0, [r4, 0xE] + movs r0, 0xE + ldrsh r1, [r4, r0] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r0, r2 + strh r7, [r0, 0x8] + movs r0, 0xE + ldrsh r1, [r4, r0] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r0, r2 + strh r6, [r0, 0xA] + movs r0, 0xE + ldrsh r1, [r4, r0] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r0, r2 + ldrh r1, [r4, 0x16] + strh r1, [r0, 0xC] + movs r0, 0x1 + negs r0, r0 + str r5, [sp] + movs r1, 0 + movs r2, 0x10 + movs r3, 0 + bl BeginNormalPaletteFade + ldr r0, _08143EA8 @ =REG_BG3HOFS + strh r5, [r0] + ldr r1, _08143EAC @ =REG_BG3VOFS + movs r0, 0x20 + strh r0, [r1] + subs r1, 0x10 + ldr r2, _08143EB0 @ =0x00000703 + adds r0, r2, 0 + strh r0, [r1] + subs r1, 0xE + movs r2, 0xCA + lsls r2, 5 + adds r0, r2, 0 + strh r0, [r1] + mov r1, r9 + mov r0, r8 + strb r1, [r0] + ldr r0, _08143EB4 @ =gUnknown_0203935C + strh r5, [r0] + ldr r0, _08143EB8 @ =sub_8143B38 + str r0, [r4] +_08143E90: + add sp, 0x4 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08143EA0: .4byte sub_8144514 +_08143EA4: .4byte gTasks +_08143EA8: .4byte REG_BG3HOFS +_08143EAC: .4byte REG_BG3VOFS +_08143EB0: .4byte 0x00000703 +_08143EB4: .4byte gUnknown_0203935C +_08143EB8: .4byte sub_8143B38 + thumb_func_end sub_8143D04 + + thumb_func_start sub_8143EBC +sub_8143EBC: @ 8143EBC + push {r4,lr} + sub sp, 0x4 + lsls r0, 24 + lsrs r0, 24 + ldr r2, _08143EE0 @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r4, r1, r2 + ldrh r0, [r4, 0x20] + movs r2, 0x20 + ldrsh r1, [r4, r2] + cmp r1, 0 + beq _08143EE4 + subs r0, 0x1 + strh r0, [r4, 0x20] + b _08143EF8 + .align 2, 0 +_08143EE0: .4byte gTasks +_08143EE4: + movs r0, 0x1 + negs r0, r0 + str r1, [sp] + movs r1, 0xC + movs r2, 0 + movs r3, 0x10 + bl BeginNormalPaletteFade + ldr r0, _08143F00 @ =sub_8143F04 + str r0, [r4] +_08143EF8: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08143F00: .4byte sub_8143F04 + thumb_func_end sub_8143EBC + + thumb_func_start sub_8143F04 +sub_8143F04: @ 8143F04 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + ldr r0, _08143F30 @ =gPaletteFade + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + bne _08143F2A + adds r0, r4, 0 + bl sub_81450AC + ldr r0, _08143F34 @ =gTasks + lsls r1, r4, 2 + adds r1, r4 + lsls r1, 3 + adds r1, r0 + ldr r0, _08143F38 @ =sub_8143F3C + str r0, [r1] +_08143F2A: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08143F30: .4byte gPaletteFade +_08143F34: .4byte gTasks +_08143F38: .4byte sub_8143F3C + thumb_func_end sub_8143F04 + + thumb_func_start sub_8143F3C +sub_8143F3C: @ 8143F3C + push {r4,r5,lr} + sub sp, 0x4 + adds r5, r0, 0 + lsls r5, 24 + lsrs r5, 24 + bl sub_8144130 + bl ResetPaletteFade + movs r1, 0xE0 + lsls r1, 6 + movs r0, 0 + movs r2, 0 + bl sub_8145128 + bl ResetSpriteData + bl FreeAllSpritePalettes + movs r0, 0x1 + negs r0, r0 + movs r4, 0 + str r4, [sp] + movs r1, 0x8 + movs r2, 0x10 + movs r3, 0 + bl BeginNormalPaletteFade + ldr r1, _08143FC4 @ =REG_BG0CNT + movs r2, 0xE0 + lsls r2, 3 + adds r0, r2, 0 + strh r0, [r1] + ldr r3, _08143FC8 @ =0x04000208 + ldrh r2, [r3] + strh r4, [r3] + ldr r4, _08143FCC @ =0x04000200 + ldrh r0, [r4] + movs r1, 0x1 + orrs r0, r1 + strh r0, [r4] + strh r2, [r3] + ldr r2, _08143FD0 @ =REG_DISPSTAT + ldrh r0, [r2] + movs r1, 0x8 + orrs r0, r1 + strh r0, [r2] + movs r1, 0x80 + lsls r1, 19 + movs r2, 0xA0 + lsls r2, 1 + adds r0, r2, 0 + strh r0, [r1] + ldr r1, _08143FD4 @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r0, r1 + movs r1, 0x80 + lsls r1, 1 + strh r1, [r0, 0x8] + ldr r1, _08143FD8 @ =sub_8143FDC + str r1, [r0] + add sp, 0x4 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08143FC4: .4byte REG_BG0CNT +_08143FC8: .4byte 0x04000208 +_08143FCC: .4byte 0x04000200 +_08143FD0: .4byte REG_DISPSTAT +_08143FD4: .4byte gTasks +_08143FD8: .4byte sub_8143FDC + thumb_func_end sub_8143F3C + + thumb_func_start sub_8143FDC +sub_8143FDC: @ 8143FDC + push {r4,lr} + sub sp, 0x4 + lsls r0, 24 + lsrs r0, 24 + ldr r2, _08144000 @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r4, r1, r2 + ldrh r0, [r4, 0x8] + movs r2, 0x8 + ldrsh r1, [r4, r2] + cmp r1, 0 + beq _08144004 + subs r0, 0x1 + strh r0, [r4, 0x8] + b _08144018 + .align 2, 0 +_08144000: .4byte gTasks +_08144004: + movs r0, 0x1 + negs r0, r0 + str r1, [sp] + movs r1, 0x6 + movs r2, 0 + movs r3, 0x10 + bl BeginNormalPaletteFade + ldr r0, _08144020 @ =sub_8144024 + str r0, [r4] +_08144018: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08144020: .4byte sub_8144024 + thumb_func_end sub_8143FDC + + thumb_func_start sub_8144024 +sub_8144024: @ 8144024 + push {r4,r5,lr} + sub sp, 0x4 + lsls r0, 24 + lsrs r5, r0, 24 + ldr r0, _08144074 @ =gPaletteFade + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0 + bne _0814406A + movs r0, 0xE0 + lsls r0, 6 + movs r1, 0 + bl sub_81452D0 + movs r0, 0x1 + negs r0, r0 + str r4, [sp] + movs r1, 0 + movs r2, 0 + movs r3, 0 + bl BeginNormalPaletteFade + ldr r1, _08144078 @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r0, r1 + movs r1, 0xE1 + lsls r1, 5 + strh r1, [r0, 0x8] + ldr r1, _0814407C @ =sub_8144080 + str r1, [r0] +_0814406A: + add sp, 0x4 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08144074: .4byte gPaletteFade +_08144078: .4byte gTasks +_0814407C: .4byte sub_8144080 + thumb_func_end sub_8144024 + + thumb_func_start sub_8144080 +sub_8144080: @ 8144080 + push {r4,lr} + sub sp, 0x4 + lsls r0, 24 + lsrs r2, r0, 24 + ldr r0, _081440CC @ =gPaletteFade + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + bne _08144104 + ldr r1, _081440D0 @ =gTasks + lsls r0, r2, 2 + adds r0, r2 + lsls r0, 3 + adds r4, r0, r1 + movs r0, 0x8 + ldrsh r1, [r4, r0] + cmp r1, 0 + beq _081440AE + ldr r0, _081440D4 @ =gMain + ldrh r0, [r0, 0x2E] + cmp r0, 0 + beq _081440E0 +_081440AE: + movs r0, 0x4 + bl FadeOutBGM + movs r0, 0x1 + negs r0, r0 + ldr r1, _081440D8 @ =0x0000ffff + str r1, [sp] + movs r1, 0x8 + movs r2, 0 + movs r3, 0x10 + bl BeginNormalPaletteFade + ldr r0, _081440DC @ =sub_8144114 + str r0, [r4] + b _08144104 + .align 2, 0 +_081440CC: .4byte gPaletteFade +_081440D0: .4byte gTasks +_081440D4: .4byte gMain +_081440D8: .4byte 0x0000ffff +_081440DC: .4byte sub_8144114 +_081440E0: + ldr r0, _0814410C @ =0x00001be8 + cmp r1, r0 + bne _081440EC + movs r0, 0x8 + bl FadeOutBGM +_081440EC: + movs r0, 0x8 + ldrsh r1, [r4, r0] + ldr r0, _08144110 @ =0x00001ab8 + cmp r1, r0 + bne _081440FE + movs r0, 0xE4 + lsls r0, 1 + bl m4aSongNumStart +_081440FE: + ldrh r0, [r4, 0x8] + subs r0, 0x1 + strh r0, [r4, 0x8] +_08144104: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0814410C: .4byte 0x00001be8 +_08144110: .4byte 0x00001ab8 + thumb_func_end sub_8144080 + + thumb_func_start sub_8144114 +sub_8144114: @ 8144114 + push {lr} + ldr r0, _0814412C @ =gPaletteFade + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + bne _08144128 + movs r0, 0xFF + bl SoftReset +_08144128: + pop {r0} + bx r0 + .align 2, 0 +_0814412C: .4byte gPaletteFade + thumb_func_end sub_8144114 + + thumb_func_start sub_8144130 +sub_8144130: @ 8144130 + sub sp, 0x8 + movs r0, 0x80 + lsls r0, 19 + movs r1, 0 + strh r1, [r0] + adds r0, 0x1C + strh r1, [r0] + adds r0, 0x2 + strh r1, [r0] + subs r0, 0x6 + strh r1, [r0] + adds r0, 0x2 + strh r1, [r0] + subs r0, 0x6 + strh r1, [r0] + adds r0, 0x2 + strh r1, [r0] + subs r0, 0x6 + strh r1, [r0] + adds r0, 0x2 + strh r1, [r0] + adds r0, 0x3E + strh r1, [r0] + adds r0, 0x2 + strh r1, [r0] + adds r0, 0x2 + strh r1, [r0] + mov r0, sp + strh r1, [r0] + ldr r1, _081441A4 @ =0x040000d4 + str r0, [r1] + movs r0, 0xC0 + lsls r0, 19 + str r0, [r1, 0x4] + ldr r0, _081441A8 @ =0x8100c000 + str r0, [r1, 0x8] + ldr r0, [r1, 0x8] + movs r2, 0 + str r2, [sp, 0x4] + add r0, sp, 0x4 + str r0, [r1] + movs r0, 0xE0 + lsls r0, 19 + str r0, [r1, 0x4] + ldr r0, _081441AC @ =0x85000100 + str r0, [r1, 0x8] + ldr r0, [r1, 0x8] + mov r0, sp + strh r2, [r0] + str r0, [r1] + ldr r0, _081441B0 @ =0x05000002 + str r0, [r1, 0x4] + ldr r0, _081441B4 @ =0x810001ff + str r0, [r1, 0x8] + ldr r0, [r1, 0x8] + add sp, 0x8 + bx lr + .align 2, 0 +_081441A4: .4byte 0x040000d4 +_081441A8: .4byte 0x8100c000 +_081441AC: .4byte 0x85000100 +_081441B0: .4byte 0x05000002 +_081441B4: .4byte 0x810001ff + thumb_func_end sub_8144130 + + thumb_func_start sub_81441B8 +sub_81441B8: @ 81441B8 + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x4 + lsls r0, 24 + lsrs r5, r0, 24 + ldr r1, _081441E4 @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r0, r1 + movs r2, 0x8 + ldrsh r0, [r0, r2] + adds r6, r1, 0 + cmp r0, 0xA + bhi _08144218 + lsls r0, 2 + ldr r1, _081441E8 @ =_081441EC + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_081441E4: .4byte gTasks +_081441E8: .4byte _081441EC + .align 2, 0 +_081441EC: + .4byte _08144218 + .4byte _08144258 + .4byte _08144278 + .4byte _08144358 + .4byte _0814438C + .4byte _081443F8 + .4byte _08144218 + .4byte _08144218 + .4byte _08144218 + .4byte _08144218 + .4byte _08144428 +_08144218: + ldr r0, _08144250 @ =gPaletteFade + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + lsls r0, 24 + lsrs r2, r0, 24 + cmp r2, 0 + beq _0814422A + b _08144446 +_0814422A: + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r0, r6 + movs r1, 0x1 + strh r1, [r0, 0x8] + movs r1, 0x58 + strh r1, [r0, 0xE] + movs r3, 0xA + ldrsh r1, [r0, r3] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r0, r6 + strh r2, [r0, 0x24] + ldr r0, _08144254 @ =gUnknown_02039320 + strh r2, [r0] + b _08144446 + .align 2, 0 +_08144250: .4byte gPaletteFade +_08144254: .4byte gUnknown_02039320 +_08144258: + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r1, r0, r6 + ldrh r2, [r1, 0xE] + movs r3, 0xE + ldrsh r0, [r1, r3] + cmp r0, 0 + beq _08144270 + subs r0, r2, 0x1 + strh r0, [r1, 0xE] + b _08144446 +_08144270: + ldrh r0, [r1, 0x8] + adds r0, 0x1 + strh r0, [r1, 0x8] + b _08144446 +_08144278: + movs r2, 0x80 + lsls r2, 19 + ldrh r1, [r2] + ldr r0, _08144320 @ =0x0000feff + ands r0, r1 + strh r0, [r2] + lsls r2, r5, 2 + adds r0, r2, r5 + lsls r0, 3 + adds r3, r0, r6 + movs r0, 0xA + ldrsh r1, [r3, r0] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r4, r0, r6 + ldr r1, [r4] + ldr r0, _08144324 @ =sub_8143B68 + mov r8, r2 + cmp r1, r0 + bne _08144352 + movs r1, 0xC + ldrsh r0, [r3, r1] + cmp r0, 0x33 + bgt _0814434C + movs r4, 0 + ldr r7, _08144328 @ =gCreditsEntryPointerTable + adds r6, r3, 0 +_081442B0: + movs r2, 0xC + ldrsh r1, [r6, r2] + lsls r0, r1, 2 + adds r0, r1 + adds r0, r4 + lsls r0, 2 + adds r0, r7 + ldr r0, [r0] + ldr r0, [r0, 0x4] + lsls r2, r4, 25 + movs r3, 0x90 + lsls r3, 20 + adds r2, r3 + lsrs r2, 24 + movs r1, 0 + movs r3, 0xF0 + bl sub_8072BD8 + adds r0, r4, 0x1 + lsls r0, 16 + lsrs r4, r0, 16 + cmp r4, 0x4 + bls _081442B0 + ldr r3, _0814432C @ =gTasks + mov r0, r8 + adds r1, r0, r5 + lsls r1, 3 + adds r1, r3 + ldrh r0, [r1, 0xC] + adds r0, 0x1 + strh r0, [r1, 0xC] + ldrh r0, [r1, 0x8] + adds r0, 0x1 + strh r0, [r1, 0x8] + movs r0, 0xA + ldrsh r2, [r1, r0] + lsls r0, r2, 2 + adds r0, r2 + lsls r0, 3 + adds r0, r3 + movs r2, 0x1 + strh r2, [r0, 0x24] + movs r2, 0xA + ldrsh r1, [r1, r2] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r0, r3 + movs r3, 0x22 + ldrsh r0, [r0, r3] + cmp r0, 0x1 + bne _08144334 + movs r0, 0xC0 + lsls r0, 2 + ldr r1, _08144330 @ =0x0000328d + b _0814433A + .align 2, 0 +_08144320: .4byte 0x0000feff +_08144324: .4byte sub_8143B68 +_08144328: .4byte gCreditsEntryPointerTable +_0814432C: .4byte gTasks +_08144330: .4byte 0x0000328d +_08144334: + movs r0, 0xC0 + lsls r0, 2 + ldr r1, _08144348 @ =0x00001967 +_0814433A: + str r1, [sp] + movs r1, 0 + movs r2, 0x10 + movs r3, 0 + bl BeginNormalPaletteFade + b _08144446 + .align 2, 0 +_08144348: .4byte 0x00001967 +_0814434C: + movs r0, 0xA + strh r0, [r3, 0x8] + b _08144446 +_08144352: + movs r0, 0 + strh r0, [r4, 0x24] + b _08144446 +_08144358: + movs r2, 0x80 + lsls r2, 19 + ldrh r0, [r2] + movs r3, 0x80 + lsls r3, 1 + adds r1, r3, 0 + orrs r0, r1 + strh r0, [r2] + ldr r0, _08144388 @ =gPaletteFade + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + bne _08144446 + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r0, r6 + movs r1, 0x82 + strh r1, [r0, 0xE] + ldrh r1, [r0, 0x8] + adds r1, 0x1 + strh r1, [r0, 0x8] + b _08144446 + .align 2, 0 +_08144388: .4byte gPaletteFade +_0814438C: + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r4, r0, r6 + ldrh r1, [r4, 0xE] + movs r2, 0xE + ldrsh r0, [r4, r2] + cmp r0, 0 + beq _081443A4 + subs r0, r1, 0x1 + strh r0, [r4, 0xE] + b _08144446 +_081443A4: + ldrb r0, [r4, 0xC] + ldrb r1, [r4, 0xA] + bl sub_8144454 + lsls r0, 24 + cmp r0, 0 + beq _081443BA + ldrh r0, [r4, 0x8] + adds r0, 0x1 + strh r0, [r4, 0x8] + b _08144446 +_081443BA: + ldrh r0, [r4, 0x8] + adds r0, 0x1 + strh r0, [r4, 0x8] + movs r3, 0xA + ldrsh r1, [r4, r3] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r0, r6 + movs r1, 0x22 + ldrsh r0, [r0, r1] + cmp r0, 0x1 + bne _081443E0 + movs r0, 0xC0 + lsls r0, 2 + ldr r1, _081443DC @ =0x0000328d + b _081443E6 + .align 2, 0 +_081443DC: .4byte 0x0000328d +_081443E0: + movs r0, 0xC0 + lsls r0, 2 + ldr r1, _081443F4 @ =0x00001967 +_081443E6: + str r1, [sp] + movs r1, 0 + movs r2, 0 + movs r3, 0x10 + bl BeginNormalPaletteFade + b _08144446 + .align 2, 0 +_081443F4: .4byte 0x00001967 +_081443F8: + ldr r0, _08144420 @ =gPaletteFade + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + bne _08144446 + movs r0, 0 + movs r1, 0x9 + movs r2, 0x1D + movs r3, 0x13 + bl MenuZeroFillWindowRect + ldr r0, _08144424 @ =gTasks + lsls r1, r5, 2 + adds r1, r5 + lsls r1, 3 + adds r1, r0 + movs r0, 0x2 + strh r0, [r1, 0x8] + b _08144446 + .align 2, 0 +_08144420: .4byte gPaletteFade +_08144424: .4byte gTasks +_08144428: + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r0, r6 + movs r2, 0xA + ldrsh r1, [r0, r2] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r0, r6 + movs r1, 0x1 + strh r1, [r0, 0x10] + adds r0, r5, 0 + bl DestroyTask +_08144446: + add sp, 0x4 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_81441B8 + + thumb_func_start sub_8144454 +sub_8144454: @ 8144454 + push {r4-r6,lr} + lsls r0, 24 + lsrs r3, r0, 24 + adds r6, r3, 0 + lsls r1, 24 + lsrs r2, r1, 24 + adds r5, r2, 0 + ldr r4, _08144508 @ =gTasks + cmp r3, 0x6 + bne _08144474 + lsls r0, r2, 2 + adds r0, r2 + lsls r0, 3 + adds r0, r4 + movs r1, 0x2 + strh r1, [r0, 0x1E] +_08144474: + cmp r3, 0xC + bne _08144486 + lsls r0, r2, 2 + adds r0, r2 + lsls r0, 3 + adds r0, r4 + movs r1, 0x1 + strh r1, [r0, 0x16] + strh r1, [r0, 0x1E] +_08144486: + cmp r3, 0x12 + bne _08144496 + lsls r0, r2, 2 + adds r0, r2 + lsls r0, 3 + adds r0, r4 + movs r1, 0x2 + strh r1, [r0, 0x1E] +_08144496: + cmp r3, 0x18 + bne _081444AA + lsls r0, r2, 2 + adds r0, r2 + lsls r0, 3 + adds r0, r4 + movs r1, 0x2 + strh r1, [r0, 0x16] + movs r1, 0x1 + strh r1, [r0, 0x1E] +_081444AA: + cmp r3, 0x1E + bne _081444BA + lsls r0, r2, 2 + adds r0, r2 + lsls r0, 3 + adds r0, r4 + movs r1, 0x2 + strh r1, [r0, 0x1E] +_081444BA: + cmp r3, 0x23 + bne _081444CE + lsls r0, r2, 2 + adds r0, r2 + lsls r0, 3 + adds r0, r4 + movs r1, 0x3 + strh r1, [r0, 0x16] + movs r1, 0x1 + strh r1, [r0, 0x1E] +_081444CE: + cmp r3, 0x28 + bne _081444DE + lsls r0, r2, 2 + adds r0, r2 + lsls r0, 3 + adds r0, r4 + movs r1, 0x2 + strh r1, [r0, 0x1E] +_081444DE: + cmp r6, 0x2E + bne _081444F2 + lsls r0, r2, 2 + adds r0, r2 + lsls r0, 3 + adds r0, r4 + movs r1, 0x4 + strh r1, [r0, 0x16] + movs r1, 0x1 + strh r1, [r0, 0x1E] +_081444F2: + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r0, r4 + movs r1, 0x1E + ldrsh r0, [r0, r1] + cmp r0, 0 + bne _0814450C + movs r0, 0 + b _0814450E + .align 2, 0 +_08144508: .4byte gTasks +_0814450C: + movs r0, 0x1 +_0814450E: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_8144454 + + thumb_func_start sub_8144514 +sub_8144514: @ 8144514 + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + ldr r6, _08144548 @ =0x0201c000 + ldr r3, _0814454C @ =gTasks + lsls r0, 2 + add r0, r8 + lsls r0, 3 + adds r2, r0, r3 + movs r1, 0x8 + ldrsh r0, [r2, r1] + cmp r0, 0x1 + beq _08144550 + cmp r0, 0x1 + bgt _0814453C + b _08144658 +_0814453C: + cmp r0, 0x2 + beq _08144584 + cmp r0, 0x3 + bne _08144546 + b _08144644 +_08144546: + b _08144658 + .align 2, 0 +_08144548: .4byte 0x0201c000 +_0814454C: .4byte gTasks +_08144550: + adds r0, r6, 0 + adds r0, 0x8A + ldrh r0, [r0] + cmp r0, 0 + bne _0814456E + movs r4, 0xA + ldrsh r0, [r2, r4] + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r3 + movs r4, 0x24 + ldrsh r0, [r1, r4] + cmp r0, 0 + beq _08144658 +_0814456E: + movs r0, 0xA + ldrsh r1, [r2, r0] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r0, r3 + movs r1, 0 + strh r1, [r0, 0x24] + ldrh r0, [r2, 0x8] + adds r0, 0x1 + b _08144656 +_08144584: + adds r0, r6, 0 + adds r0, 0x88 + ldrh r1, [r0] + mov r9, r0 + cmp r1, 0x44 + beq _08144658 + movs r4, 0xA + ldrsh r1, [r2, r4] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r0, r3 + ldr r1, [r0] + ldr r0, _081445EC @ =sub_8143B68 + cmp r1, r0 + bne _08144658 + adds r7, r6, 0 + adds r7, 0x8C + ldrh r0, [r7] + lsls r0, 1 + adds r0, r6 + ldrh r0, [r0] + ldr r4, _081445F0 @ =gUnknown_0840CA00 + adds r5, r6, 0 + adds r5, 0x8A + ldrh r3, [r5] + lsls r2, r3, 1 + adds r1, r2, r4 + ldrb r1, [r1] + adds r4, 0x1 + adds r2, r4 + ldrb r2, [r2] + bl sub_81456B4 + lsls r0, 24 + lsrs r2, r0, 24 + ldrh r1, [r7] + adds r0, r6, 0 + adds r0, 0x8E + ldrh r0, [r0] + subs r0, 0x1 + cmp r1, r0 + bge _081445F8 + adds r0, r1, 0x1 + strh r0, [r7] + ldr r1, _081445F4 @ =gSprites + lsls r0, r2, 4 + adds r0, r2 + lsls r0, 2 + adds r0, r1 + movs r1, 0x32 + b _0814460A + .align 2, 0 +_081445EC: .4byte sub_8143B68 +_081445F0: .4byte gUnknown_0840CA00 +_081445F4: .4byte gSprites +_081445F8: + movs r0, 0 + strh r0, [r7] + ldr r1, _08144620 @ =gSprites + lsls r0, r2, 4 + adds r0, r2 + lsls r0, 2 + adds r0, r1 + movs r1, 0x80 + lsls r1, 2 +_0814460A: + strh r1, [r0, 0x34] + mov r1, r9 + ldrh r0, [r1] + adds r0, 0x1 + strh r0, [r1] + ldrh r0, [r5] + cmp r0, 0x2 + bne _08144624 + movs r0, 0 + b _08144626 + .align 2, 0 +_08144620: .4byte gSprites +_08144624: + adds r0, 0x1 +_08144626: + strh r0, [r5] + ldr r0, _08144640 @ =gTasks + mov r2, r8 + lsls r1, r2, 2 + add r1, r8 + lsls r1, 3 + adds r1, r0 + movs r0, 0x32 + strh r0, [r1, 0xE] + ldrh r0, [r1, 0x8] + adds r0, 0x1 + strh r0, [r1, 0x8] + b _08144658 + .align 2, 0 +_08144640: .4byte gTasks +_08144644: + ldrh r1, [r2, 0xE] + movs r3, 0xE + ldrsh r0, [r2, r3] + cmp r0, 0 + beq _08144654 + subs r0, r1, 0x1 + strh r0, [r2, 0xE] + b _08144658 +_08144654: + movs r0, 0x1 +_08144656: + strh r0, [r2, 0x8] +_08144658: + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_8144514 + + thumb_func_start sub_8144664 +sub_8144664: @ 8144664 + push {r4-r7,lr} + lsls r0, 24 + lsrs r5, r0, 24 + ldr r1, _0814468C @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r0, r1 + movs r2, 0x8 + ldrsh r0, [r0, r2] + adds r6, r1, 0 + cmp r0, 0x32 + bls _08144680 + b _0814492C +_08144680: + lsls r0, 2 + ldr r1, _08144690 @ =_08144694 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0814468C: .4byte gTasks +_08144690: .4byte _08144694 + .align 2, 0 +_08144694: + .4byte _08144760 + .4byte _08144784 + .4byte _081447D8 + .4byte _081447F0 + .4byte _0814482C + .4byte _08144850 + .4byte _0814489C + .4byte _0814492C + .4byte _0814492C + .4byte _0814492C + .4byte _081448A8 + .4byte _0814492C + .4byte _0814492C + .4byte _0814492C + .4byte _0814492C + .4byte _0814492C + .4byte _0814492C + .4byte _0814492C + .4byte _0814492C + .4byte _0814492C + .4byte _081448C8 + .4byte _0814492C + .4byte _0814492C + .4byte _0814492C + .4byte _0814492C + .4byte _0814492C + .4byte _0814492C + .4byte _0814492C + .4byte _0814492C + .4byte _0814492C + .4byte _081448EC + .4byte _0814492C + .4byte _0814492C + .4byte _0814492C + .4byte _0814492C + .4byte _0814492C + .4byte _0814492C + .4byte _0814492C + .4byte _0814492C + .4byte _0814492C + .4byte _0814492C + .4byte _0814492C + .4byte _0814492C + .4byte _0814492C + .4byte _0814492C + .4byte _0814492C + .4byte _0814492C + .4byte _0814492C + .4byte _0814492C + .4byte _0814492C + .4byte _08144920 +_08144760: + lsls r4, r5, 2 + adds r4, r5 + lsls r4, 3 + adds r4, r6 + ldrh r0, [r4, 0x12] + lsls r0, 16 + asrs r0, 17 + movs r1, 0x7F + ands r0, r1 + movs r1, 0xC + bl Sin + ldr r1, _08144780 @ =gUnknown_0203935A + strh r0, [r1] + b _081447A8 + .align 2, 0 +_08144780: .4byte gUnknown_0203935A +_08144784: + ldr r7, _081447B0 @ =gUnknown_0203935A + movs r3, 0 + ldrsh r4, [r7, r3] + cmp r4, 0 + beq _081447B4 + lsls r4, r5, 2 + adds r4, r5 + lsls r4, 3 + adds r4, r6 + ldrh r0, [r4, 0x12] + lsls r0, 16 + asrs r0, 17 + movs r1, 0x7F + ands r0, r1 + movs r1, 0xC + bl Sin + strh r0, [r7] +_081447A8: + ldrh r0, [r4, 0x12] + adds r0, 0x1 + strh r0, [r4, 0x12] + b _0814492C + .align 2, 0 +_081447B0: .4byte gUnknown_0203935A +_081447B4: + ldr r3, _081447D4 @ =gSprites + lsls r1, r5, 2 + adds r1, r5 + lsls r1, 3 + adds r1, r6 + movs r0, 0xC + ldrsh r2, [r1, r0] + lsls r0, r2, 4 + adds r0, r2 + lsls r0, 2 + adds r0, r3 + movs r2, 0x2 + strh r2, [r0, 0x2E] + strh r4, [r1, 0x12] + b _08144848 + .align 2, 0 +_081447D4: .4byte gSprites +_081447D8: + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r1, r0, r6 + ldrh r2, [r1, 0x12] + movs r3, 0x12 + ldrsh r0, [r1, r3] + cmp r0, 0x3F + bgt _08144848 + adds r0, r2, 0x1 + strh r0, [r1, 0x12] + b _08144866 +_081447F0: + ldr r3, _08144828 @ =gSprites + lsls r2, r5, 2 + adds r2, r5 + lsls r2, 3 + adds r2, r6 + movs r0, 0xC + ldrsh r1, [r2, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r3 + movs r1, 0x3 + strh r1, [r0, 0x2E] + movs r0, 0xE + ldrsh r1, [r2, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r3 + movs r1, 0x1 + strh r1, [r0, 0x2E] + movs r0, 0x78 + strh r0, [r2, 0x10] + ldrh r0, [r2, 0x8] + adds r0, 0x1 + strh r0, [r2, 0x8] + b _0814492C + .align 2, 0 +_08144828: .4byte gSprites +_0814482C: + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r1, r0, r6 + ldrh r2, [r1, 0x10] + movs r3, 0x10 + ldrsh r0, [r1, r3] + cmp r0, 0 + beq _08144844 + subs r0, r2, 0x1 + strh r0, [r1, 0x10] + b _0814492C +_08144844: + movs r0, 0x40 + strh r0, [r1, 0x12] +_08144848: + ldrh r0, [r1, 0x8] + adds r0, 0x1 + strh r0, [r1, 0x8] + b _0814492C +_08144850: + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r4, r0, r6 + ldrh r1, [r4, 0x12] + movs r2, 0x12 + ldrsh r0, [r4, r2] + cmp r0, 0 + ble _0814487C + subs r0, r1, 0x1 + strh r0, [r4, 0x12] +_08144866: + movs r1, 0x7F + ands r0, r1 + movs r1, 0x14 + bl Sin + ldr r1, _08144878 @ =gUnknown_0203935A + strh r0, [r1] + b _0814492C + .align 2, 0 +_08144878: .4byte gUnknown_0203935A +_0814487C: + ldr r2, _08144898 @ =gSprites + movs r3, 0xC + ldrsh r1, [r4, r3] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + movs r1, 0x1 + strh r1, [r0, 0x2E] + ldrh r0, [r4, 0x8] + adds r0, 0x1 + strh r0, [r4, 0x8] + b _0814492C + .align 2, 0 +_08144898: .4byte gSprites +_0814489C: + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r0, r6 + movs r1, 0x32 + b _0814492A +_081448A8: + ldr r3, _081448C4 @ =gSprites + lsls r1, r5, 2 + adds r1, r5 + lsls r1, 3 + adds r1, r6 + movs r0, 0xE + ldrsh r2, [r1, r0] + lsls r0, r2, 4 + adds r0, r2 + lsls r0, 2 + adds r0, r3 + movs r2, 0x2 + b _081448E0 + .align 2, 0 +_081448C4: .4byte gSprites +_081448C8: + ldr r3, _081448E8 @ =gSprites + lsls r1, r5, 2 + adds r1, r5 + lsls r1, 3 + adds r1, r6 + movs r0, 0xC + ldrsh r2, [r1, r0] + lsls r0, r2, 4 + adds r0, r2 + lsls r0, 2 + adds r0, r3 + movs r2, 0x4 +_081448E0: + strh r2, [r0, 0x2E] + movs r0, 0x32 + strh r0, [r1, 0x8] + b _0814492C + .align 2, 0 +_081448E8: .4byte gSprites +_081448EC: + ldr r3, _0814491C @ =gSprites + lsls r2, r5, 2 + adds r2, r5 + lsls r2, 3 + adds r2, r6 + movs r0, 0xC + ldrsh r1, [r2, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r3 + movs r1, 0x5 + strh r1, [r0, 0x2E] + movs r0, 0xE + ldrsh r1, [r2, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r3 + movs r1, 0x3 + strh r1, [r0, 0x2E] + movs r0, 0x32 + strh r0, [r2, 0x8] + b _0814492C + .align 2, 0 +_0814491C: .4byte gSprites +_08144920: + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r0, r6 + movs r1, 0 +_0814492A: + strh r1, [r0, 0x8] +_0814492C: + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_8144664 + + thumb_func_start sub_8144934 +sub_8144934: @ 8144934 + push {r4,r5,lr} + lsls r0, 24 + lsrs r2, r0, 24 + ldr r1, _08144958 @ =gTasks + lsls r0, r2, 2 + adds r0, r2 + lsls r0, 3 + adds r0, r1 + movs r3, 0x8 + ldrsh r0, [r0, r3] + adds r4, r1, 0 + cmp r0, 0x4 + bhi _08144974 + lsls r0, 2 + ldr r1, _0814495C @ =_08144960 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08144958: .4byte gTasks +_0814495C: .4byte _08144960 + .align 2, 0 +_08144960: + .4byte _08144974 + .4byte _081449B8 + .4byte _081449C4 + .4byte _08144A0C + .4byte _08144A5C +_08144974: + lsls r0, r2, 2 + adds r0, r2 + lsls r0, 3 + adds r2, r0, r4 + movs r1, 0xA + ldrsh r0, [r2, r1] + ldr r5, _081449C0 @ =0x00007fff + cmp r0, r5 + beq _081449B8 + movs r3, 0xC + ldrsh r1, [r2, r3] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r3, r0, r4 + movs r0, 0x26 + ldrsh r1, [r3, r0] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r0, r4 + movs r1, 0xC + ldrsh r0, [r0, r1] + cmp r0, 0x2 + bne _081449B8 + movs r1, 0xA + ldrsh r0, [r3, r1] + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r4 + movs r0, 0x14 + strh r0, [r1, 0x8] + strh r5, [r2, 0xA] +_081449B8: + movs r0, 0 + bl sub_8149020 + b _08144A62 + .align 2, 0 +_081449C0: .4byte 0x00007fff +_081449C4: + lsls r0, r2, 2 + adds r0, r2 + lsls r0, 3 + adds r2, r0, r4 + movs r3, 0xA + ldrsh r0, [r2, r3] + ldr r5, _08144A08 @ =0x00007fff + cmp r0, r5 + beq _08144A54 + movs r0, 0xC + ldrsh r1, [r2, r0] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r0, r4 + movs r3, 0xA + ldrsh r1, [r0, r3] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r3, r0, r4 + ldrh r1, [r3, 0x12] + movs r0, 0x80 + negs r0, r0 + ands r0, r1 + movs r1, 0xA0 + lsls r1, 2 + cmp r0, r1 + bne _08144A54 + movs r0, 0x1 + strh r0, [r3, 0x8] + strh r5, [r2, 0xA] + b _08144A54 + .align 2, 0 +_08144A08: .4byte 0x00007fff +_08144A0C: + lsls r0, r2, 2 + adds r0, r2 + lsls r0, 3 + adds r2, r0, r4 + ldrh r3, [r2, 0xA] + movs r0, 0xA + ldrsh r1, [r2, r0] + ldr r5, _08144A48 @ =0x00007fff + cmp r1, r5 + beq _08144A54 + ldr r0, _08144A4C @ =0x000001f3 + cmp r1, r0 + bne _08144A50 + movs r3, 0xC + ldrsh r1, [r2, r3] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r0, r4 + movs r3, 0xA + ldrsh r1, [r0, r3] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r0, r4 + movs r1, 0xA + strh r1, [r0, 0x8] + strh r5, [r2, 0xA] + b _08144A54 + .align 2, 0 +_08144A48: .4byte 0x00007fff +_08144A4C: .4byte 0x000001f3 +_08144A50: + adds r0, r3, 0x1 + strh r0, [r2, 0xA] +_08144A54: + movs r0, 0x1 + bl sub_8149020 + b _08144A62 +_08144A5C: + movs r0, 0x2 + bl sub_8149020 +_08144A62: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_8144934 + + thumb_func_start sub_8144A68 +sub_8144A68: @ 8144A68 + push {r4-r7,lr} + mov r7, r8 + push {r7} + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + lsls r1, 24 + lsrs r7, r1, 24 + cmp r0, 0x4 + bls _08144A7E + b _08144DFC +_08144A7E: + lsls r0, 2 + ldr r1, _08144A88 @ =_08144A8C + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08144A88: .4byte _08144A8C + .align 2, 0 +_08144A8C: + .4byte _08144AA0 + .4byte _08144B48 + .4byte _08144BF4 + .4byte _08144CA0 + .4byte _08144D50 +_08144AA0: + ldr r5, _08144B40 @ =gSprites + ldr r0, _08144B44 @ =gTasks + lsls r4, r7, 2 + adds r4, r7 + lsls r4, 3 + adds r4, r0 + movs r1, 0x12 + ldrsh r0, [r4, r1] + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r5 + adds r1, 0x3E + ldrb r3, [r1] + movs r2, 0x5 + negs r2, r2 + adds r0, r2, 0 + ands r0, r3 + strb r0, [r1] + movs r0, 0x14 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r5 + adds r0, 0x3E + ldrb r1, [r0] + ands r2, r1 + strb r2, [r0] + movs r0, 0x12 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r5 + movs r3, 0 + movs r2, 0x88 + lsls r2, 1 + strh r2, [r0, 0x20] + movs r0, 0x14 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r5 + strh r2, [r0, 0x20] + movs r0, 0x12 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r5 + movs r2, 0x2E + strh r2, [r0, 0x22] + movs r0, 0x14 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r5 + strh r2, [r0, 0x22] + movs r0, 0x12 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r5 + strh r3, [r0, 0x2E] + movs r0, 0x14 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r5 + strh r3, [r0, 0x2E] + movs r1, 0x80 + lsls r1, 6 + movs r0, 0 + movs r2, 0x20 + b _08144DF0 + .align 2, 0 +_08144B40: .4byte gSprites +_08144B44: .4byte gTasks +_08144B48: + ldr r5, _08144BEC @ =gSprites + ldr r0, _08144BF0 @ =gTasks + lsls r4, r7, 2 + adds r4, r7 + lsls r4, 3 + adds r4, r0 + movs r1, 0x12 + ldrsh r0, [r4, r1] + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r5 + adds r1, 0x3E + ldrb r3, [r1] + movs r2, 0x5 + negs r2, r2 + adds r0, r2, 0 + ands r0, r3 + strb r0, [r1] + movs r0, 0x14 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r5 + adds r0, 0x3E + ldrb r1, [r0] + ands r2, r1 + strb r2, [r0] + movs r0, 0x12 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r5 + movs r3, 0 + movs r1, 0x78 + strh r1, [r0, 0x20] + movs r0, 0x14 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r5 + movs r1, 0x88 + lsls r1, 1 + strh r1, [r0, 0x20] + movs r0, 0x12 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r5 + movs r2, 0x2E + strh r2, [r0, 0x22] + movs r0, 0x14 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r5 + strh r2, [r0, 0x22] + movs r0, 0x12 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r5 + strh r3, [r0, 0x2E] + movs r0, 0x14 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r5 + strh r3, [r0, 0x2E] + movs r1, 0x80 + lsls r1, 6 + movs r0, 0 + movs r2, 0x20 + b _08144DF0 + .align 2, 0 +_08144BEC: .4byte gSprites +_08144BF0: .4byte gTasks +_08144BF4: + ldr r5, _08144C98 @ =gSprites + ldr r0, _08144C9C @ =gTasks + lsls r4, r7, 2 + adds r4, r7 + lsls r4, 3 + adds r4, r0 + movs r1, 0x12 + ldrsh r0, [r4, r1] + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r5 + adds r1, 0x3E + ldrb r3, [r1] + movs r2, 0x5 + negs r2, r2 + adds r0, r2, 0 + ands r0, r3 + strb r0, [r1] + movs r0, 0x14 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r5 + adds r0, 0x3E + ldrb r1, [r0] + ands r2, r1 + strb r2, [r0] + movs r0, 0x12 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r5 + movs r3, 0 + movs r1, 0x78 + strh r1, [r0, 0x20] + movs r0, 0x14 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r5 + movs r1, 0x88 + lsls r1, 1 + strh r1, [r0, 0x20] + movs r0, 0x12 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r5 + movs r2, 0x2E + strh r2, [r0, 0x22] + movs r0, 0x14 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r5 + strh r2, [r0, 0x22] + movs r0, 0x12 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r5 + strh r3, [r0, 0x2E] + movs r0, 0x14 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r5 + strh r3, [r0, 0x2E] + movs r1, 0x80 + lsls r1, 6 + movs r2, 0x80 + lsls r2, 2 + movs r0, 0x1 + b _08144DF0 + .align 2, 0 +_08144C98: .4byte gSprites +_08144C9C: .4byte gTasks +_08144CA0: + ldr r5, _08144D44 @ =gSprites + ldr r0, _08144D48 @ =gTasks + lsls r4, r7, 2 + adds r4, r7 + lsls r4, 3 + adds r4, r0 + movs r1, 0x12 + ldrsh r0, [r4, r1] + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r5 + adds r1, 0x3E + ldrb r3, [r1] + movs r2, 0x5 + negs r2, r2 + adds r0, r2, 0 + ands r0, r3 + strb r0, [r1] + movs r0, 0x14 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r5 + adds r0, 0x3E + ldrb r1, [r0] + ands r2, r1 + strb r2, [r0] + movs r0, 0x12 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r5 + movs r3, 0 + movs r1, 0x78 + strh r1, [r0, 0x20] + movs r0, 0x14 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r5 + ldr r1, _08144D4C @ =0x0000ffe0 + strh r1, [r0, 0x20] + movs r0, 0x12 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r5 + movs r2, 0x2E + strh r2, [r0, 0x22] + movs r0, 0x14 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r5 + strh r2, [r0, 0x22] + movs r0, 0x12 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r5 + strh r3, [r0, 0x2E] + movs r0, 0x14 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r5 + strh r3, [r0, 0x2E] + movs r1, 0x80 + lsls r1, 6 + movs r2, 0x80 + lsls r2, 2 + movs r0, 0x1 + b _08144DF0 + .align 2, 0 +_08144D44: .4byte gSprites +_08144D48: .4byte gTasks +_08144D4C: .4byte 0x0000ffe0 +_08144D50: + ldr r5, _08144EBC @ =gSprites + ldr r0, _08144EC0 @ =gTasks + lsls r4, r7, 2 + adds r4, r7 + lsls r4, 3 + adds r4, r0 + movs r1, 0x12 + ldrsh r0, [r4, r1] + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r5 + adds r1, 0x3E + ldrb r3, [r1] + movs r2, 0x5 + negs r2, r2 + adds r0, r2, 0 + ands r0, r3 + strb r0, [r1] + movs r0, 0x14 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r5 + adds r0, 0x3E + ldrb r1, [r0] + ands r2, r1 + strb r2, [r0] + movs r0, 0x12 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r5 + movs r3, 0 + movs r1, 0x58 + strh r1, [r0, 0x20] + movs r0, 0x14 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r5 + movs r1, 0x98 + strh r1, [r0, 0x20] + movs r0, 0x12 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r5 + movs r2, 0x2E + strh r2, [r0, 0x22] + movs r0, 0x14 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r5 + strh r2, [r0, 0x22] + movs r0, 0x12 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r5 + strh r3, [r0, 0x2E] + movs r0, 0x14 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r5 + strh r3, [r0, 0x2E] + movs r1, 0x80 + lsls r1, 6 + movs r2, 0x80 + lsls r2, 2 + movs r0, 0x2 +_08144DF0: + movs r3, 0x8 + bl sub_8148EC0 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x8] +_08144DFC: + ldr r0, _08144EC4 @ =sub_8144934 + movs r1, 0 + bl CreateTask + ldr r6, _08144EC0 @ =gTasks + lsls r1, r7, 2 + adds r1, r7 + lsls r1, 3 + adds r5, r1, r6 + lsls r0, 24 + lsrs r0, 24 + movs r4, 0 + strh r0, [r5, 0xC] + movs r0, 0xC + ldrsh r1, [r5, r0] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r0, r6 + mov r1, r8 + strh r1, [r0, 0x8] + movs r0, 0xC + ldrsh r1, [r5, r0] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r0, r6 + strh r4, [r0, 0xA] + movs r0, 0xC + ldrsh r1, [r5, r0] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r0, r6 + strh r7, [r0, 0xC] + ldr r0, _08144EC8 @ =sub_8144664 + movs r1, 0 + bl CreateTask + lsls r0, 24 + lsrs r0, 24 + strh r0, [r5, 0xA] + movs r0, 0xA + ldrsh r1, [r5, r0] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r0, r6 + strh r4, [r0, 0x8] + movs r0, 0xA + ldrsh r1, [r5, r0] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r0, r6 + strh r7, [r0, 0xA] + movs r0, 0xA + ldrsh r1, [r5, r0] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r0, r6 + ldrh r1, [r5, 0x12] + strh r1, [r0, 0xC] + movs r0, 0xA + ldrsh r1, [r5, r0] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r0, r6 + ldrh r1, [r5, 0x14] + strh r1, [r0, 0xE] + movs r0, 0xA + ldrsh r1, [r5, r0] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r0, r6 + strh r4, [r0, 0x10] + mov r1, r8 + cmp r1, 0x2 + bne _08144EB0 + movs r1, 0xA + ldrsh r0, [r5, r1] + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r6 + movs r0, 0x45 + strh r0, [r1, 0x12] +_08144EB0: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08144EBC: .4byte gSprites +_08144EC0: .4byte gTasks +_08144EC4: .4byte sub_8144934 +_08144EC8: .4byte sub_8144664 + thumb_func_end sub_8144A68 + + thumb_func_start sub_8144ECC +sub_8144ECC: @ 8144ECC + push {r4-r6,lr} + lsls r0, 24 + lsrs r4, r0, 24 + lsls r1, 24 + lsrs r5, r1, 24 + ldr r0, _08144F28 @ =gMain + ldr r1, _08144F2C @ =0x0000043c + adds r6, r0, r1 + ldrb r0, [r6] + cmp r0, 0x1 + beq _08144F38 + cmp r0, 0x1 + ble _08144EF0 + cmp r0, 0x2 + beq _08144F5C + cmp r0, 0x3 + bne _08144EF0 + b _0814508C +_08144EF0: + movs r0, 0x80 + lsls r0, 19 + movs r1, 0 + strh r1, [r0] + ldr r2, _08144F30 @ =REG_BG3HOFS + movs r0, 0x8 + strh r0, [r2] + ldr r0, _08144F34 @ =REG_BG3VOFS + strh r1, [r0] + subs r0, 0x6 + strh r1, [r0] + adds r0, 0x2 + strh r1, [r0] + subs r0, 0x6 + strh r1, [r0] + adds r0, 0x2 + strh r1, [r0] + adds r0, 0x3A + strh r1, [r0] + adds r0, 0x2 + strh r1, [r0] + bl ResetSpriteData + bl FreeAllSpritePalettes + movs r0, 0x1 + strb r0, [r6] + b _081450A2 + .align 2, 0 +_08144F28: .4byte gMain +_08144F2C: .4byte 0x0000043c +_08144F30: .4byte REG_BG3HOFS +_08144F34: .4byte REG_BG3VOFS +_08144F38: + ldr r1, _08144F54 @ =gUnknown_02039358 + movs r0, 0x22 + strh r0, [r1] + ldr r1, _08144F58 @ =gUnknown_0203935A + movs r0, 0 + strh r0, [r1] + adds r0, r4, 0 + bl sub_8148CB0 + ldrb r0, [r6] + adds r0, 0x1 + strb r0, [r6] + b _081450A2 + .align 2, 0 +_08144F54: .4byte gUnknown_02039358 +_08144F58: .4byte gUnknown_0203935A +_08144F5C: + ldr r0, _08144FBC @ =gSaveBlock2 + ldrb r0, [r0, 0x8] + cmp r0, 0 + bne _08144FE0 + ldr r0, _08144FC0 @ =gIntro2BrendanSpriteSheet + bl LoadCompressedObjectPic + ldr r0, _08144FC4 @ =gUnknown_08416E34 + bl LoadCompressedObjectPic + ldr r0, _08144FC8 @ =gIntro2BicycleSpriteSheet + bl LoadCompressedObjectPic + ldr r0, _08144FCC @ =gIntro2SpritePalettes + bl LoadSpritePalettes + movs r0, 0x78 + movs r1, 0x2E + bl intro_create_brendan_sprite + lsls r0, 24 + lsrs r2, r0, 24 + ldr r0, _08144FD0 @ =gTasks + lsls r4, r5, 2 + adds r4, r5 + lsls r4, 3 + adds r4, r0 + strh r2, [r4, 0x12] + ldr r6, _08144FD4 @ =gSprites + lsls r0, r2, 4 + adds r0, r2 + lsls r0, 2 + adds r5, r6, 0 + adds r5, 0x1C + adds r2, r0, r5 + ldr r1, _08144FD8 @ =sub_8145378 + str r1, [r2] + adds r6, 0x8 + adds r0, r6 + ldr r1, _08144FDC @ =gUnknown_0840CA54 + str r1, [r0] + movs r0, 0x88 + lsls r0, 1 + movs r1, 0x2E + bl intro_create_may_sprite + b _08145034 + .align 2, 0 +_08144FBC: .4byte gSaveBlock2 +_08144FC0: .4byte gIntro2BrendanSpriteSheet +_08144FC4: .4byte gUnknown_08416E34 +_08144FC8: .4byte gIntro2BicycleSpriteSheet +_08144FCC: .4byte gIntro2SpritePalettes +_08144FD0: .4byte gTasks +_08144FD4: .4byte gSprites +_08144FD8: .4byte sub_8145378 +_08144FDC: .4byte gUnknown_0840CA54 +_08144FE0: + ldr r0, _0814505C @ =gIntro2MaySpriteSheet + bl LoadCompressedObjectPic + ldr r0, _08145060 @ =gUnknown_08416E24 + bl LoadCompressedObjectPic + ldr r0, _08145064 @ =gIntro2BicycleSpriteSheet + bl LoadCompressedObjectPic + ldr r0, _08145068 @ =gIntro2SpritePalettes + bl LoadSpritePalettes + movs r0, 0x78 + movs r1, 0x2E + bl intro_create_may_sprite + lsls r0, 24 + lsrs r2, r0, 24 + ldr r0, _0814506C @ =gTasks + lsls r4, r5, 2 + adds r4, r5 + lsls r4, 3 + adds r4, r0 + strh r2, [r4, 0x12] + ldr r6, _08145070 @ =gSprites + lsls r0, r2, 4 + adds r0, r2 + lsls r0, 2 + adds r5, r6, 0 + adds r5, 0x1C + adds r2, r0, r5 + ldr r1, _08145074 @ =sub_8145378 + str r1, [r2] + adds r6, 0x8 + adds r0, r6 + ldr r1, _08145078 @ =gUnknown_0840CA54 + str r1, [r0] + movs r0, 0x88 + lsls r0, 1 + movs r1, 0x2E + bl intro_create_brendan_sprite +_08145034: + lsls r0, 24 + lsrs r2, r0, 24 + strh r2, [r4, 0x14] + lsls r0, r2, 4 + adds r0, r2 + lsls r0, 2 + adds r5, r0, r5 + ldr r1, _0814507C @ =sub_8145420 + str r1, [r5] + adds r0, r6 + ldr r1, _08145080 @ =gUnknown_0840CA94 + str r1, [r0] + ldr r1, _08145084 @ =gMain + ldr r0, _08145088 @ =0x0000043c + adds r1, r0 + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] + b _081450A2 + .align 2, 0 +_0814505C: .4byte gIntro2MaySpriteSheet +_08145060: .4byte gUnknown_08416E24 +_08145064: .4byte gIntro2BicycleSpriteSheet +_08145068: .4byte gIntro2SpritePalettes +_0814506C: .4byte gTasks +_08145070: .4byte gSprites +_08145074: .4byte sub_8145378 +_08145078: .4byte gUnknown_0840CA54 +_0814507C: .4byte sub_8145420 +_08145080: .4byte gUnknown_0840CA94 +_08145084: .4byte gMain +_08145088: .4byte 0x0000043c +_0814508C: + adds r0, r4, 0 + adds r1, r5, 0 + bl sub_8144A68 + adds r0, r4, 0 + bl sub_8148E90 + movs r0, 0 + strb r0, [r6] + movs r0, 0x1 + b _081450A4 +_081450A2: + movs r0, 0 +_081450A4: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_8144ECC + + thumb_func_start sub_81450AC +sub_81450AC: @ 81450AC + push {r4,lr} + lsls r0, 24 + lsrs r0, 24 + ldr r2, _08145120 @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r4, r1, r2 + ldrh r1, [r4, 0x8] + movs r2, 0x8 + ldrsh r0, [r4, r2] + cmp r0, 0 + beq _081450D2 + lsls r0, r1, 24 + lsrs r0, 24 + bl DestroyTask + movs r0, 0 + strh r0, [r4, 0x8] +_081450D2: + ldrh r1, [r4, 0xA] + movs r2, 0xA + ldrsh r0, [r4, r2] + cmp r0, 0 + beq _081450E8 + lsls r0, r1, 24 + lsrs r0, 24 + bl DestroyTask + movs r0, 0 + strh r0, [r4, 0xA] +_081450E8: + ldrh r1, [r4, 0xC] + movs r2, 0xC + ldrsh r0, [r4, r2] + cmp r0, 0 + beq _081450FE + lsls r0, r1, 24 + lsrs r0, 24 + bl DestroyTask + movs r0, 0 + strh r0, [r4, 0xC] +_081450FE: + ldrh r1, [r4, 0xE] + movs r2, 0xE + ldrsh r0, [r4, r2] + cmp r0, 0 + beq _08145114 + lsls r0, r1, 24 + lsrs r0, 24 + bl DestroyTask + movs r0, 0 + strh r0, [r4, 0xE] +_08145114: + ldr r1, _08145124 @ =gUnknown_0203935C + movs r0, 0x1 + strh r0, [r1] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08145120: .4byte gTasks +_08145124: .4byte gUnknown_0203935C + thumb_func_end sub_81450AC + + thumb_func_start sub_8145128 +sub_8145128: @ 8145128 + push {r4-r7,lr} + adds r3, r0, 0 + adds r4, r2, 0 + lsls r3, 16 + lsrs r3, 16 + lsls r1, 16 + lsrs r7, r1, 16 + lsls r4, 16 + lsrs r5, r4, 16 + ldr r0, _081451EC @ =gCreditsCopyrightEnd_Gfx + movs r6, 0xC0 + lsls r6, 19 + adds r3, r6 + adds r1, r3, 0 + bl LZ77UnCompVram + ldr r0, _081451F0 @ =gIntroCopyright_Pal + adds r1, r5, 0 + movs r2, 0x20 + bl LoadPalette + lsrs r4, 20 + lsls r4, 28 + lsrs r4, 16 + movs r2, 0 + adds r1, r4, 0x1 + ldr r3, _081451F4 @ =0x000003ff +_0814515E: + lsls r0, r2, 1 + adds r0, r7 + adds r0, r6 + strh r1, [r0] + adds r0, r2, 0x1 + lsls r0, 16 + lsrs r2, r0, 16 + cmp r2, r3 + bls _0814515E + movs r2, 0 + adds r0, r4, 0x2 + adds r6, r4, 0 + adds r6, 0x17 + movs r1, 0x2B + adds r1, r4 + mov r12, r1 + adds r4, 0x42 + ldr r5, _081451F8 @ =0x060001c8 + adds r3, r0, 0 +_08145184: + lsls r0, r2, 1 + adds r0, r7 + adds r0, r5 + adds r1, r2, r3 + strh r1, [r0] + adds r0, r2, 0x1 + lsls r0, 16 + lsrs r2, r0, 16 + cmp r2, 0x14 + bls _08145184 + movs r2, 0 + ldr r5, _081451FC @ =0x06000248 + adds r3, r6, 0 +_0814519E: + lsls r0, r2, 1 + adds r0, r7 + adds r0, r5 + adds r1, r2, r3 + strh r1, [r0] + adds r0, r2, 0x1 + lsls r0, 16 + lsrs r2, r0, 16 + cmp r2, 0x13 + bls _0814519E + movs r2, 0 + ldr r5, _08145200 @ =0x060002c8 + mov r3, r12 +_081451B8: + lsls r0, r2, 1 + adds r0, r7 + adds r0, r5 + adds r1, r2, r3 + strh r1, [r0] + adds r0, r2, 0x1 + lsls r0, 16 + lsrs r2, r0, 16 + cmp r2, 0x16 + bls _081451B8 + movs r2, 0 + ldr r3, _08145204 @ =0x06000348 +_081451D0: + lsls r0, r2, 1 + adds r0, r7 + adds r0, r3 + adds r1, r2, r4 + strh r1, [r0] + adds r0, r2, 0x1 + lsls r0, 16 + lsrs r2, r0, 16 + cmp r2, 0xB + bls _081451D0 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_081451EC: .4byte gCreditsCopyrightEnd_Gfx +_081451F0: .4byte gIntroCopyright_Pal +_081451F4: .4byte 0x000003ff +_081451F8: .4byte 0x060001c8 +_081451FC: .4byte 0x06000248 +_08145200: .4byte 0x060002c8 +_08145204: .4byte 0x06000348 + thumb_func_end sub_8145128 + + thumb_func_start sub_8145208 +sub_8145208: @ 8145208 + push {lr} + lsls r0, 24 + lsrs r2, r0, 24 + adds r3, r2, 0 + movs r0, 0x3F + ands r0, r2 + adds r1, r0, 0 + adds r1, 0x50 + cmp r2, 0xFF + bne _08145220 + movs r0, 0x1 + b _08145246 +_08145220: + movs r0, 0x80 + ands r0, r2 + cmp r0, 0 + beq _08145230 + movs r2, 0x80 + lsls r2, 4 + adds r0, r2, 0 + orrs r1, r0 +_08145230: + movs r0, 0x40 + ands r3, r0 + cmp r3, 0 + beq _08145244 + movs r2, 0x80 + lsls r2, 3 + adds r0, r2, 0 + orrs r1, r0 + lsls r0, r1, 16 + lsrs r1, r0, 16 +_08145244: + adds r0, r1, 0 +_08145246: + pop {r1} + bx r1 + thumb_func_end sub_8145208 + + thumb_func_start sub_814524C +sub_814524C: @ 814524C + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0xC + str r0, [sp] + ldr r0, [sp, 0x2C] + lsls r1, 24 + lsrs r1, 24 + mov r10, r1 + lsls r2, 24 + lsrs r2, 24 + str r2, [sp, 0x4] + lsls r3, 16 + lsrs r3, 16 + str r3, [sp, 0x8] + lsls r0, 16 + lsrs r0, 20 + lsls r0, 28 + lsrs r0, 16 + mov r9, r0 + movs r5, 0 +_0814527A: + movs r4, 0 + lsls r7, r5, 1 + ldr r1, [sp, 0x4] + adds r0, r1, r5 + adds r2, r5, 0x1 + mov r8, r2 + lsls r0, 6 + ldr r1, [sp, 0x8] + adds r6, r0, r1 +_0814528C: + adds r0, r7, r5 + adds r0, r4 + ldr r2, [sp] + adds r0, r2, r0 + ldrb r0, [r0] + bl sub_8145208 + mov r2, r10 + adds r1, r2, r4 + lsls r1, 1 + adds r1, r6 + movs r2, 0xC0 + lsls r2, 19 + adds r1, r2 + add r0, r9 + strh r0, [r1] + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0x2 + bls _0814528C + mov r1, r8 + lsls r0, r1, 24 + lsrs r5, r0, 24 + cmp r5, 0x4 + bls _0814527A + add sp, 0xC + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_814524C + + thumb_func_start sub_81452D0 +sub_81452D0: @ 81452D0 + push {r4-r7,lr} + sub sp, 0x4 + lsls r0, 16 + lsrs r5, r0, 16 + lsls r1, 16 + lsrs r6, r1, 16 + lsrs r1, 20 + lsls r1, 28 + lsrs r1, 16 + movs r2, 0 + ldr r7, _08145360 @ =gUnknown_0840B83C + movs r4, 0xC0 + lsls r4, 19 + adds r1, 0x1 + ldr r3, _08145364 @ =0x000003ff +_081452EE: + lsls r0, r2, 1 + adds r0, r5 + adds r0, r4 + strh r1, [r0] + adds r0, r2, 0x1 + lsls r0, 16 + lsrs r2, r0, 16 + cmp r2, r3 + bls _081452EE + str r6, [sp] + adds r0, r7, 0 + movs r1, 0x3 + movs r2, 0x7 + adds r3, r5, 0 + bl sub_814524C + ldr r0, _08145368 @ =gUnknown_0840B84B + str r6, [sp] + movs r1, 0x7 + movs r2, 0x7 + adds r3, r5, 0 + bl sub_814524C + ldr r4, _0814536C @ =gUnknown_0840B85A + str r6, [sp] + adds r0, r4, 0 + movs r1, 0xB + movs r2, 0x7 + adds r3, r5, 0 + bl sub_814524C + str r6, [sp] + adds r0, r4, 0 + movs r1, 0x10 + movs r2, 0x7 + adds r3, r5, 0 + bl sub_814524C + ldr r0, _08145370 @ =gUnknown_0840B869 + str r6, [sp] + movs r1, 0x14 + movs r2, 0x7 + adds r3, r5, 0 + bl sub_814524C + ldr r0, _08145374 @ =gUnknown_0840B878 + str r6, [sp] + movs r1, 0x18 + movs r2, 0x7 + adds r3, r5, 0 + bl sub_814524C + add sp, 0x4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08145360: .4byte gUnknown_0840B83C +_08145364: .4byte 0x000003ff +_08145368: .4byte gUnknown_0840B84B +_0814536C: .4byte gUnknown_0840B85A +_08145370: .4byte gUnknown_0840B869 +_08145374: .4byte gUnknown_0840B878 + thumb_func_end sub_81452D0 + + thumb_func_start sub_8145378 +sub_8145378: @ 8145378 + push {r4,lr} + adds r4, r0, 0 + ldr r0, _08145390 @ =gUnknown_0203935C + movs r1, 0 + ldrsh r0, [r0, r1] + cmp r0, 0 + beq _08145394 + adds r0, r4, 0 + bl DestroySprite + b _08145418 + .align 2, 0 +_08145390: .4byte gUnknown_0203935C +_08145394: + movs r2, 0x2E + ldrsh r0, [r4, r2] + cmp r0, 0x5 + bhi _08145418 + lsls r0, 2 + ldr r1, _081453A8 @ =_081453AC + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_081453A8: .4byte _081453AC + .align 2, 0 +_081453AC: + .4byte _081453C4 + .4byte _081453CE + .4byte _081453D4 + .4byte _081453DE + .4byte _081453E8 + .4byte _081453FE +_081453C4: + adds r0, r4, 0 + movs r1, 0 + bl StartSpriteAnimIfDifferent + b _08145418 +_081453CE: + adds r0, r4, 0 + movs r1, 0x1 + b _08145402 +_081453D4: + adds r0, r4, 0 + movs r1, 0x2 + bl StartSpriteAnimIfDifferent + b _08145418 +_081453DE: + adds r0, r4, 0 + movs r1, 0x3 + bl StartSpriteAnimIfDifferent + b _08145418 +_081453E8: + adds r0, r4, 0 + movs r1, 0 + bl StartSpriteAnimIfDifferent + ldrh r1, [r4, 0x20] + movs r2, 0x20 + ldrsh r0, [r4, r2] + cmp r0, 0x78 + ble _08145418 + subs r0, r1, 0x1 + b _08145416 +_081453FE: + adds r0, r4, 0 + movs r1, 0 +_08145402: + bl StartSpriteAnimIfDifferent + ldrh r2, [r4, 0x20] + movs r0, 0x20 + ldrsh r1, [r4, r0] + movs r0, 0x20 + negs r0, r0 + cmp r1, r0 + ble _08145418 + subs r0, r2, 0x1 +_08145416: + strh r0, [r4, 0x20] +_08145418: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8145378 + + thumb_func_start sub_8145420 +sub_8145420: @ 8145420 + push {r4,lr} + adds r4, r0, 0 + ldr r0, _08145438 @ =gUnknown_0203935C + movs r1, 0 + ldrsh r0, [r0, r1] + cmp r0, 0 + beq _0814543C + adds r0, r4, 0 + bl DestroySprite + b _081454D8 + .align 2, 0 +_08145438: .4byte gUnknown_0203935C +_0814543C: + movs r1, 0x2E + ldrsh r0, [r4, r1] + cmp r0, 0x1 + beq _08145464 + cmp r0, 0x1 + bgt _0814544E + cmp r0, 0 + beq _08145458 + b _081454D8 +_0814544E: + cmp r0, 0x2 + beq _081454A0 + cmp r0, 0x3 + beq _081454BE + b _081454D8 +_08145458: + strh r0, [r4, 0x26] + adds r0, r4, 0 + movs r1, 0 + bl StartSpriteAnimIfDifferent + b _081454D8 +_08145464: + movs r1, 0x20 + ldrsh r0, [r4, r1] + cmp r0, 0xC8 + ble _08145476 + adds r0, r4, 0 + movs r1, 0x1 + bl StartSpriteAnimIfDifferent + b _0814547E +_08145476: + adds r0, r4, 0 + movs r1, 0x2 + bl StartSpriteAnimIfDifferent +_0814547E: + ldrh r2, [r4, 0x20] + movs r0, 0x20 + ldrsh r1, [r4, r0] + movs r0, 0x20 + negs r0, r0 + cmp r1, r0 + ble _08145490 + subs r0, r2, 0x2 + strh r0, [r4, 0x20] +_08145490: + ldr r0, _0814549C @ =gUnknown_0203935A + ldrh r0, [r0] + negs r0, r0 + strh r0, [r4, 0x26] + b _081454D8 + .align 2, 0 +_0814549C: .4byte gUnknown_0203935A +_081454A0: + ldrh r0, [r4, 0x3C] + adds r0, 0x1 + strh r0, [r4, 0x3C] + adds r0, r4, 0 + movs r1, 0 + bl StartSpriteAnimIfDifferent + ldrh r1, [r4, 0x3C] + movs r0, 0x3 + ands r0, r1 + cmp r0, 0 + bne _081454D8 + ldrh r0, [r4, 0x20] + adds r0, 0x1 + b _081454D6 +_081454BE: + adds r0, r4, 0 + movs r1, 0 + bl StartSpriteAnimIfDifferent + ldrh r2, [r4, 0x20] + movs r0, 0x20 + ldrsh r1, [r4, r0] + movs r0, 0x20 + negs r0, r0 + cmp r1, r0 + ble _081454D8 + subs r0, r2, 0x1 +_081454D6: + strh r0, [r4, 0x20] +_081454D8: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8145420 + + thumb_func_start sub_81454E0 +sub_81454E0: @ 81454E0 + push {r4,r5,lr} + sub sp, 0x4 + adds r5, r0, 0 + ldr r0, _081454F8 @ =gUnknown_0203935C + movs r1, 0 + ldrsh r0, [r0, r1] + cmp r0, 0 + beq _081454FC + adds r0, r5, 0 + bl DestroySprite + b _081456A6 + .align 2, 0 +_081454F8: .4byte gUnknown_0203935C +_081454FC: + ldrh r0, [r5, 0x3C] + adds r0, 0x1 + strh r0, [r5, 0x3C] + movs r2, 0x2E + ldrsh r0, [r5, r2] + cmp r0, 0xA + bhi _08145544 + lsls r0, 2 + ldr r1, _08145514 @ =_08145518 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08145514: .4byte _08145518 + .align 2, 0 +_08145518: + .4byte _08145544 + .4byte _0814559E + .4byte _08145620 + .4byte _08145660 + .4byte _08145544 + .4byte _08145544 + .4byte _08145544 + .4byte _08145544 + .4byte _08145544 + .4byte _08145544 + .4byte _08145696 +_08145544: + ldrb r1, [r5, 0x1] + movs r0, 0x4 + negs r0, r0 + ands r0, r1 + movs r1, 0x1 + orrs r0, r1 + strb r0, [r5, 0x1] + movs r0, 0x30 + ldrsh r1, [r5, r0] + movs r0, 0x1F + ands r1, r0 + lsls r1, 1 + ldrb r2, [r5, 0x3] + movs r0, 0x3F + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r5, 0x3] + movs r0, 0x10 + strh r0, [r5, 0x32] + ldrh r4, [r5, 0x30] + lsls r4, 24 + lsrs r4, 24 + movs r0, 0x80 + lsls r0, 9 + movs r1, 0x10 + bl __divsi3 + adds r1, r0, 0 + str r1, [sp] + adds r0, r4, 0 + movs r2, 0 + movs r3, 0 + bl SetOamMatrix + adds r2, r5, 0 + adds r2, 0x3E + ldrb r1, [r2] + movs r0, 0x5 + negs r0, r0 + ands r0, r1 + strb r0, [r2] + movs r0, 0x1 + strh r0, [r5, 0x2E] + b _081456A6 +_0814559E: + ldrh r1, [r5, 0x32] + movs r2, 0x32 + ldrsh r0, [r5, r2] + cmp r0, 0xFF + bgt _081455D4 + adds r0, r1, 0 + adds r0, 0x8 + strh r0, [r5, 0x32] + ldrh r4, [r5, 0x30] + lsls r4, 24 + lsrs r4, 24 + movs r0, 0x32 + ldrsh r1, [r5, r0] + movs r0, 0x80 + lsls r0, 9 + bl __divsi3 + adds r1, r0, 0 + lsls r1, 16 + lsrs r1, 16 + str r1, [sp] + adds r0, r4, 0 + movs r2, 0 + movs r3, 0 + bl SetOamMatrix + b _081455DA +_081455D4: + ldrh r0, [r5, 0x2E] + adds r0, 0x1 + strh r0, [r5, 0x2E] +_081455DA: + movs r2, 0x30 + ldrsh r1, [r5, r2] + cmp r1, 0x2 + beq _081456A6 + cmp r1, 0x2 + bgt _081455EC + cmp r1, 0x1 + beq _081455F2 + b _081456A6 +_081455EC: + cmp r1, 0x3 + beq _0814560A + b _081456A6 +_081455F2: + ldrh r1, [r5, 0x3C] + movs r0, 0x3 + ands r0, r1 + cmp r0, 0 + bne _08145602 + ldrh r0, [r5, 0x22] + adds r0, 0x1 + strh r0, [r5, 0x22] +_08145602: + ldrh r0, [r5, 0x20] + subs r0, 0x2 + strh r0, [r5, 0x20] + b _081456A6 +_0814560A: + ldrh r0, [r5, 0x3C] + ands r1, r0 + cmp r1, 0 + bne _08145618 + ldrh r0, [r5, 0x22] + adds r0, 0x1 + strh r0, [r5, 0x22] +_08145618: + ldrh r0, [r5, 0x20] + adds r0, 0x2 + strh r0, [r5, 0x20] + b _081456A6 +_08145620: + ldrh r1, [r5, 0x34] + movs r2, 0x34 + ldrsh r0, [r5, r2] + cmp r0, 0 + beq _08145630 + subs r0, r1, 0x1 + strh r0, [r5, 0x34] + b _081456A6 +_08145630: + ldr r1, _0814565C @ =REG_BLDCNT + movs r2, 0xF4 + lsls r2, 4 + adds r0, r2, 0 + strh r0, [r1] + adds r1, 0x2 + movs r0, 0x10 + strh r0, [r1] + ldrb r1, [r5, 0x1] + movs r0, 0xD + negs r0, r0 + ands r0, r1 + movs r1, 0x4 + orrs r0, r1 + strb r0, [r5, 0x1] + movs r0, 0x10 + strh r0, [r5, 0x34] + ldrh r0, [r5, 0x2E] + adds r0, 0x1 + strh r0, [r5, 0x2E] + b _081456A6 + .align 2, 0 +_0814565C: .4byte REG_BLDCNT +_08145660: + ldrh r1, [r5, 0x34] + movs r2, 0x34 + ldrsh r0, [r5, r2] + cmp r0, 0 + beq _08145684 + subs r1, 0x1 + strh r1, [r5, 0x34] + ldr r3, _08145680 @ =REG_BLDALPHA + movs r0, 0x34 + ldrsh r2, [r5, r0] + movs r0, 0x10 + subs r0, r2 + lsls r0, 8 + adds r1, r0 + strh r1, [r3] + b _081456A6 + .align 2, 0 +_08145680: .4byte REG_BLDALPHA +_08145684: + adds r2, r5, 0 + adds r2, 0x3E + ldrb r0, [r2] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r2] + movs r0, 0xA + strh r0, [r5, 0x2E] + b _081456A6 +_08145696: + ldr r0, _081456B0 @ =REG_BLDCNT + movs r1, 0 + strh r1, [r0] + adds r0, 0x2 + strh r1, [r0] + adds r0, r5, 0 + bl DestroySprite +_081456A6: + add sp, 0x4 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_081456B0: .4byte REG_BLDCNT + thumb_func_end sub_81454E0 + + thumb_func_start sub_81456B4 +sub_81456B4: @ 81456B4 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x14 + lsls r0, 16 + lsrs r6, r0, 16 + lsls r1, 16 + lsrs r1, 16 + mov r10, r1 + lsls r2, 16 + lsrs r2, 16 + str r2, [sp, 0x10] + lsls r3, 16 + lsrs r3, 16 + mov r9, r3 + adds r0, r6, 0 + bl NationalPokedexNumToSpecies + adds r6, r0, 0 + cmp r6, 0xC9 + beq _081456F8 + movs r0, 0x9A + lsls r0, 1 + cmp r6, r0 + beq _081456EE + movs r7, 0 + b _081456FC +_081456EE: + ldr r0, _081456F4 @ =gSaveBlock2 + ldr r7, [r0, 0x20] + b _081456FC + .align 2, 0 +_081456F4: .4byte gSaveBlock2 +_081456F8: + ldr r0, _081457E8 @ =gSaveBlock2 + ldr r7, [r0, 0x1C] +_081456FC: + lsls r0, r6, 3 + ldr r1, _081457EC @ =gMonFrontPicTable + adds r0, r1 + ldr r1, _081457F0 @ =gMonFrontPicCoords + lsls r2, r6, 2 + adds r2, r1 + ldrb r1, [r2] + ldrb r2, [r2, 0x1] + movs r3, 0x80 + lsls r3, 18 + ldr r4, _081457F4 @ =gUnknown_0840B5A0 + mov r8, r4 + mov r5, r9 + lsls r4, r5, 2 + add r4, r8 + ldr r4, [r4] + str r4, [sp] + str r6, [sp, 0x4] + str r7, [sp, 0x8] + movs r4, 0x1 + str r4, [sp, 0xC] + bl sub_800D378 + ldr r2, _081457F8 @ =0x0000ffff + adds r0, r6, 0 + movs r1, 0 + bl species_and_otid_get_pal + lsls r5, 4 + mov r8, r5 + movs r1, 0x80 + lsls r1, 1 + add r1, r8 + lsls r1, 16 + lsrs r1, 16 + movs r2, 0x20 + bl LoadCompressedPalette + mov r7, r9 + lsls r6, r7, 24 + lsrs r6, 24 + mov r0, r9 + adds r1, r6, 0 + bl sub_8143648 + ldr r0, _081457FC @ =gUnknown_02024E8C + mov r2, r10 + lsls r1, r2, 16 + asrs r1, 16 + ldr r3, [sp, 0x10] + lsls r2, r3, 16 + asrs r2, 16 + movs r3, 0 + bl CreateSprite + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldr r5, _08145800 @ =gSprites + lsls r2, r4, 4 + adds r2, r4 + lsls r2, 2 + adds r3, r2, r5 + ldrb r1, [r3, 0x5] + movs r0, 0xF + ands r0, r1 + mov r7, r8 + orrs r0, r7 + movs r1, 0xD + negs r1, r1 + ands r0, r1 + movs r1, 0x4 + orrs r0, r1 + strb r0, [r3, 0x5] + mov r0, r9 + adds r0, 0x1 + strh r0, [r3, 0x30] + movs r0, 0x3E + adds r0, r3 + mov r8, r0 + ldrb r0, [r0] + orrs r0, r1 + mov r1, r8 + strb r0, [r1] + adds r0, r5, 0 + adds r0, 0x1C + adds r2, r0 + ldr r0, _08145804 @ =sub_81454E0 + str r0, [r2] + ldr r0, _08145808 @ =gSpriteTemplate_840CAEC + movs r2, 0x20 + ldrsh r1, [r3, r2] + movs r7, 0x22 + ldrsh r2, [r3, r7] + movs r3, 0x1 + bl CreateSprite + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r5 + strh r4, [r0, 0x2E] + adds r1, r6, 0 + bl StartSpriteAnimIfDifferent + adds r0, r4, 0 + add sp, 0x14 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_081457E8: .4byte gSaveBlock2 +_081457EC: .4byte gMonFrontPicTable +_081457F0: .4byte gMonFrontPicCoords +_081457F4: .4byte gUnknown_0840B5A0 +_081457F8: .4byte 0x0000ffff +_081457FC: .4byte gUnknown_02024E8C +_08145800: .4byte gSprites +_08145804: .4byte sub_81454E0 +_08145808: .4byte gSpriteTemplate_840CAEC + thumb_func_end sub_81456B4 + + thumb_func_start sub_814580C +sub_814580C: @ 814580C + push {r4,lr} + adds r3, r0, 0 + ldr r4, _08145838 @ =gSprites + movs r1, 0x2E + ldrsh r0, [r3, r1] + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r4 + movs r2, 0x2E + ldrsh r0, [r1, r2] + cmp r0, 0xA + beq _08145830 + ldr r0, _0814583C @ =gUnknown_0203935C + movs r2, 0 + ldrsh r0, [r0, r2] + cmp r0, 0 + beq _08145840 +_08145830: + adds r0, r3, 0 + bl DestroySprite + b _081458D4 + .align 2, 0 +_08145838: .4byte gSprites +_0814583C: .4byte gUnknown_0203935C +_08145840: + adds r0, r1, 0 + adds r0, 0x3E + ldrb r0, [r0] + movs r1, 0x3E + adds r1, r3 + mov r12, r1 + movs r1, 0x4 + ands r1, r0 + mov r0, r12 + ldrb r2, [r0] + movs r0, 0x5 + negs r0, r0 + ands r0, r2 + orrs r0, r1 + mov r1, r12 + strb r0, [r1] + movs r2, 0x2E + ldrsh r1, [r3, r2] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r4 + ldrb r1, [r0, 0x1] + movs r0, 0xC + ands r0, r1 + ldrb r2, [r3, 0x1] + movs r1, 0xD + negs r1, r1 + ands r1, r2 + orrs r1, r0 + strb r1, [r3, 0x1] + movs r0, 0x2E + ldrsh r2, [r3, r0] + lsls r0, r2, 4 + adds r0, r2 + lsls r0, 2 + adds r0, r4 + ldrb r0, [r0, 0x1] + lsls r0, 30 + lsrs r0, 30 + movs r2, 0x4 + negs r2, r2 + ands r1, r2 + orrs r1, r0 + strb r1, [r3, 0x1] + movs r2, 0x2E + ldrsh r1, [r3, r2] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r4 + ldrb r0, [r0, 0x3] + movs r1, 0x3E + ands r1, r0 + ldrb r2, [r3, 0x3] + movs r0, 0x3F + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r3, 0x3] + movs r0, 0x2E + ldrsh r1, [r3, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r4 + ldrh r0, [r0, 0x20] + strh r0, [r3, 0x20] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r4 + ldrh r0, [r0, 0x22] + strh r0, [r3, 0x22] +_081458D4: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_814580C + + thumb_func_start sub_81458DC +sub_81458DC: @ 81458DC + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x4 + ldr r7, _0814597C @ =0x0201c000 + ldr r0, _08145980 @ =0x00004023 + bl VarGet + lsls r0, 16 + lsrs r0, 16 + bl GetStarterPokemon + lsls r0, 16 + lsrs r0, 16 + bl SpeciesToNationalPokedexNum + lsls r0, 16 + lsrs r0, 16 + mov r10, r0 + movs r4, 0x1 + movs r5, 0 + ldr r0, _08145984 @ =0x00000181 + mov r8, r0 +_0814590E: + adds r0, r4, 0 + movs r1, 0x1 + bl sub_8090D90 + lsls r0, 24 + adds r6, r7, 0 + adds r6, 0x90 + cmp r0, 0 + beq _0814592C + lsls r0, r5, 1 + adds r0, r6, r0 + strh r4, [r0] + adds r0, r5, 0x1 + lsls r0, 16 + lsrs r5, r0, 16 +_0814592C: + adds r0, r4, 0x1 + lsls r0, 16 + lsrs r4, r0, 16 + cmp r4, r8 + bls _0814590E + adds r4, r5, 0 + ldr r0, _08145984 @ =0x00000181 + lsls r1, r4, 16 + mov r9, r1 + movs r2, 0x8E + adds r2, r7 + mov r8, r2 + adds r1, r7, 0 + adds r1, 0x86 + str r1, [sp] + cmp r4, r0 + bhi _08145964 + adds r1, r6, 0 + movs r3, 0 + adds r2, r0, 0 +_08145954: + lsls r0, r4, 1 + adds r0, r1, r0 + strh r3, [r0] + adds r0, r4, 0x1 + lsls r0, 16 + lsrs r4, r0, 16 + cmp r4, r2 + bls _08145954 +_08145964: + movs r2, 0xE5 + lsls r2, 2 + adds r0, r7, r2 + strh r5, [r0] + mov r1, r9 + lsrs r0, r1, 16 + cmp r0, 0x43 + bhi _08145988 + mov r2, r8 + strh r5, [r2] + b _0814598E + .align 2, 0 +_0814597C: .4byte 0x0201c000 +_08145980: .4byte 0x00004023 +_08145984: .4byte 0x00000181 +_08145988: + movs r0, 0x44 + mov r1, r8 + strh r0, [r1] +_0814598E: + movs r5, 0 + movs r2, 0xE5 + lsls r2, 2 + adds r4, r7, r2 + mov r9, r5 + b _0814599E +_0814599A: + cmp r5, 0x43 + bhi _081459EE +_0814599E: + bl Random + lsls r0, 16 + lsrs r0, 16 + ldrh r1, [r4] + bl __umodsi3 + lsls r0, 16 + lsrs r2, r0, 16 + lsls r1, r5, 1 + adds r1, r7, r1 + lsls r0, r2, 1 + adds r3, r6, r0 + ldrh r0, [r3] + strh r0, [r1] + adds r0, r5, 0x1 + lsls r0, 16 + lsrs r5, r0, 16 + mov r0, r9 + strh r0, [r3] + ldrh r0, [r4] + subs r0, 0x1 + strh r0, [r4] + lsls r0, 16 + lsrs r0, 16 + cmp r2, r0 + beq _081459E8 + ldrh r0, [r4] + lsls r0, 1 + adds r0, r6, r0 + ldrh r0, [r0] + strh r0, [r3] + ldrh r0, [r4] + lsls r0, 1 + adds r0, r6, r0 + mov r1, r9 + strh r1, [r0] +_081459E8: + ldrh r0, [r4] + cmp r0, 0 + bne _0814599A +_081459EE: + mov r2, r8 + ldrh r0, [r2] + cmp r0, 0x43 + bhi _08145A26 + adds r5, r0, 0 + movs r2, 0 + cmp r5, 0x43 + bhi _08145A5C + mov r3, r8 +_08145A00: + lsls r1, r5, 1 + adds r1, r7, r1 + lsls r0, r2, 1 + adds r0, r7, r0 + ldrh r0, [r0] + strh r0, [r1] + adds r0, r2, 0x1 + lsls r0, 16 + lsrs r2, r0, 16 + ldrh r0, [r3] + cmp r2, r0 + bne _08145A1A + movs r2, 0 +_08145A1A: + adds r0, r5, 0x1 + lsls r0, 16 + lsrs r5, r0, 16 + cmp r5, 0x43 + bls _08145A00 + b _08145A5C +_08145A26: + movs r4, 0 + ldrh r0, [r7] + cmp r0, r10 + beq _08145A42 +_08145A2E: + adds r0, r4, 0x1 + lsls r0, 16 + lsrs r4, r0, 16 + lsls r0, r4, 1 + adds r0, r7, r0 + ldrh r0, [r0] + cmp r0, r10 + beq _08145A42 + cmp r4, 0x43 + bls _08145A2E +_08145A42: + mov r1, r8 + ldrh r0, [r1] + subs r0, 0x1 + cmp r4, r0 + bge _08145A5C + lsls r0, r4, 1 + adds r0, r7, r0 + ldr r2, [sp] + ldrh r1, [r2] + strh r1, [r0] + mov r0, r10 + strh r0, [r2] + b _08145A62 +_08145A5C: + mov r2, r10 + ldr r1, [sp] + strh r2, [r1] +_08145A62: + movs r0, 0x44 + mov r1, r8 + strh r0, [r1] + add sp, 0x4 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_81458DC + + .align 2, 0 @ Don't pad with nop. diff --git a/asm/field_ground_effect.s b/asm/field_ground_effect.s index c853d8c50..47c4b4c60 100644 --- a/asm/field_ground_effect.s +++ b/asm/field_ground_effect.s @@ -6,594 +6,6 @@ .text - thumb_func_start GetAllGroundEffectFlags_OnSpawn -GetAllGroundEffectFlags_OnSpawn: @ 80635F0 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl FieldObjectUpdateMetatileBehaviors - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_Reflection - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_TallGrassOnSpawn - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_LongGrassOnSpawn - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_SandHeap - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_ShallowFlowingWater - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_ShortGrass - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_HotSprings - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end GetAllGroundEffectFlags_OnSpawn - - thumb_func_start GetAllGroundEffectFlags_OnBeginStep -GetAllGroundEffectFlags_OnBeginStep: @ 8063638 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl FieldObjectUpdateMetatileBehaviors - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_Reflection - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_TallGrassOnBeginStep - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_LongGrassOnBeginStep - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_Tracks - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_SandHeap - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_ShallowFlowingWater - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_Puddle - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_ShortGrass - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_HotSprings - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end GetAllGroundEffectFlags_OnBeginStep - - thumb_func_start GetAllGroundEffectFlags_OnFinishStep -GetAllGroundEffectFlags_OnFinishStep: @ 8063690 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl FieldObjectUpdateMetatileBehaviors - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_ShallowFlowingWater - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_SandHeap - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_Puddle - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_Ripple - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_ShortGrass - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_HotSprings - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_Seaweed - adds r0, r4, 0 - adds r1, r5, 0 - bl GetGroundEffectFlags_JumpLanding - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end GetAllGroundEffectFlags_OnFinishStep - - thumb_func_start FieldObjectUpdateMetatileBehaviors -FieldObjectUpdateMetatileBehaviors: @ 80636E0 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x14 - ldrsh r0, [r4, r1] - movs r2, 0x16 - ldrsh r1, [r4, r2] - bl MapGridGetMetatileBehaviorAt - strb r0, [r4, 0x1F] - movs r1, 0x10 - ldrsh r0, [r4, r1] - movs r2, 0x12 - ldrsh r1, [r4, r2] - bl MapGridGetMetatileBehaviorAt - strb r0, [r4, 0x1E] - pop {r4} - pop {r0} - bx r0 - thumb_func_end FieldObjectUpdateMetatileBehaviors - - thumb_func_start GetGroundEffectFlags_Reflection -GetGroundEffectFlags_Reflection: @ 8063708 - push {r4,r5,lr} - sub sp, 0x8 - adds r4, r0, 0 - adds r5, r1, 0 - ldr r0, _0806374C @ =gUnknown_08376008 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [sp] - str r1, [sp, 0x4] - adds r0, r4, 0 - bl FieldObjectCheckForReflectiveSurface - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - beq _08063750 - ldrb r1, [r4, 0x2] - lsls r0, r1, 30 - cmp r0, 0 - blt _0806375A - movs r0, 0x3 - negs r0, r0 - ands r0, r1 - movs r1, 0x2 - orrs r0, r1 - strb r0, [r4, 0x2] - subs r0, r2, 0x1 - lsls r0, 2 - add r0, sp - ldr r1, [r5] - ldr r0, [r0] - orrs r1, r0 - str r1, [r5] - b _0806375A - .align 2, 0 -_0806374C: .4byte gUnknown_08376008 -_08063750: - ldrb r1, [r4, 0x2] - movs r0, 0x3 - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x2] -_0806375A: - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end GetGroundEffectFlags_Reflection - - thumb_func_start GetGroundEffectFlags_TallGrassOnSpawn -GetGroundEffectFlags_TallGrassOnSpawn: @ 8063764 - push {r4,lr} - adds r4, r1, 0 - ldrb r0, [r0, 0x1E] - bl MetatileBehavior_IsTallGrass - lsls r0, 24 - cmp r0, 0 - beq _0806377C - ldr r0, [r4] - movs r1, 0x1 - orrs r0, r1 - str r0, [r4] -_0806377C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end GetGroundEffectFlags_TallGrassOnSpawn - - thumb_func_start GetGroundEffectFlags_TallGrassOnBeginStep -GetGroundEffectFlags_TallGrassOnBeginStep: @ 8063784 - push {r4,lr} - adds r4, r1, 0 - ldrb r0, [r0, 0x1E] - bl MetatileBehavior_IsTallGrass - lsls r0, 24 - cmp r0, 0 - beq _0806379C - ldr r0, [r4] - movs r1, 0x2 - orrs r0, r1 - str r0, [r4] -_0806379C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end GetGroundEffectFlags_TallGrassOnBeginStep - - thumb_func_start GetGroundEffectFlags_LongGrassOnSpawn -GetGroundEffectFlags_LongGrassOnSpawn: @ 80637A4 - push {r4,lr} - adds r4, r1, 0 - ldrb r0, [r0, 0x1E] - bl MetatileBehavior_IsLongGrass - lsls r0, 24 - cmp r0, 0 - beq _080637BC - ldr r0, [r4] - movs r1, 0x4 - orrs r0, r1 - str r0, [r4] -_080637BC: - pop {r4} - pop {r0} - bx r0 - thumb_func_end GetGroundEffectFlags_LongGrassOnSpawn - - thumb_func_start GetGroundEffectFlags_LongGrassOnBeginStep -GetGroundEffectFlags_LongGrassOnBeginStep: @ 80637C4 - push {r4,lr} - adds r4, r1, 0 - ldrb r0, [r0, 0x1E] - bl MetatileBehavior_IsLongGrass - lsls r0, 24 - cmp r0, 0 - beq _080637DC - ldr r0, [r4] - movs r1, 0x8 - orrs r0, r1 - str r0, [r4] -_080637DC: - pop {r4} - pop {r0} - bx r0 - thumb_func_end GetGroundEffectFlags_LongGrassOnBeginStep - - thumb_func_start GetGroundEffectFlags_Tracks -GetGroundEffectFlags_Tracks: @ 80637E4 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4, 0x1F] - bl MetatileBehavior_IsDeepSand - lsls r0, 24 - cmp r0, 0 - beq _080637FE - ldr r0, [r5] - movs r1, 0x80 - lsls r1, 1 - b _0806381A -_080637FE: - ldrb r0, [r4, 0x1F] - bl MetatileBehavior_IsSandOrDeepSand - lsls r0, 24 - cmp r0, 0 - bne _08063816 - ldrb r0, [r4, 0x1F] - bl MetatileBehavior_IsUnusedFootprintMetatile - lsls r0, 24 - cmp r0, 0 - beq _0806381E -_08063816: - ldr r0, [r5] - movs r1, 0x80 -_0806381A: - orrs r0, r1 - str r0, [r5] -_0806381E: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end GetGroundEffectFlags_Tracks - - thumb_func_start GetGroundEffectFlags_SandHeap -GetGroundEffectFlags_SandHeap: @ 8063824 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4, 0x1E] - bl MetatileBehavior_IsDeepSand - lsls r0, 24 - cmp r0, 0 - beq _08063862 - ldrb r0, [r4, 0x1F] - bl MetatileBehavior_IsDeepSand - lsls r0, 24 - cmp r0, 0 - beq _08063862 - ldrb r1, [r4, 0x2] - lsls r0, r1, 27 - cmp r0, 0 - blt _0806386C - movs r0, 0x11 - negs r0, r0 - ands r0, r1 - movs r1, 0x10 - orrs r0, r1 - strb r0, [r4, 0x2] - ldr r0, [r5] - movs r1, 0x80 - lsls r1, 4 - orrs r0, r1 - str r0, [r5] - b _0806386C -_08063862: - ldrb r1, [r4, 0x2] - movs r0, 0x11 - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x2] -_0806386C: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end GetGroundEffectFlags_SandHeap - - thumb_func_start GetGroundEffectFlags_ShallowFlowingWater -GetGroundEffectFlags_ShallowFlowingWater: @ 8063874 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4, 0x1E] - bl MetatileBehavior_IsShallowFlowingWater - lsls r0, 24 - cmp r0, 0 - beq _08063892 - ldrb r0, [r4, 0x1F] - bl MetatileBehavior_IsShallowFlowingWater - lsls r0, 24 - cmp r0, 0 - bne _080638AA -_08063892: - ldrb r0, [r4, 0x1E] - bl MetatileBehavior_IsPacifidlogLog - lsls r0, 24 - cmp r0, 0 - beq _080638C8 - ldrb r0, [r4, 0x1F] - bl MetatileBehavior_IsPacifidlogLog - lsls r0, 24 - cmp r0, 0 - beq _080638C8 -_080638AA: - ldrb r1, [r4, 0x2] - lsls r0, r1, 28 - cmp r0, 0 - blt _080638D2 - movs r0, 0x9 - negs r0, r0 - ands r0, r1 - movs r1, 0x8 - orrs r0, r1 - strb r0, [r4, 0x2] - ldr r0, [r5] - movs r1, 0x40 - orrs r0, r1 - str r0, [r5] - b _080638D2 -_080638C8: - ldrb r1, [r4, 0x2] - movs r0, 0x9 - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x2] -_080638D2: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end GetGroundEffectFlags_ShallowFlowingWater - - thumb_func_start GetGroundEffectFlags_Puddle -GetGroundEffectFlags_Puddle: @ 80638D8 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4, 0x1E] - bl MetatileBehavior_IsPuddle - lsls r0, 24 - cmp r0, 0 - beq _08063900 - ldrb r0, [r4, 0x1F] - bl MetatileBehavior_IsPuddle - lsls r0, 24 - cmp r0, 0 - beq _08063900 - ldr r0, [r5] - movs r1, 0x80 - lsls r1, 3 - orrs r0, r1 - str r0, [r5] -_08063900: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end GetGroundEffectFlags_Puddle - - thumb_func_start GetGroundEffectFlags_Ripple -GetGroundEffectFlags_Ripple: @ 8063908 - push {r4,lr} - adds r4, r1, 0 - ldrb r0, [r0, 0x1E] - bl MetatileBehavior_HasRipples - lsls r0, 24 - cmp r0, 0 - beq _08063922 - ldr r0, [r4] - movs r1, 0x80 - lsls r1, 2 - orrs r0, r1 - str r0, [r4] -_08063922: - pop {r4} - pop {r0} - bx r0 - thumb_func_end GetGroundEffectFlags_Ripple - - thumb_func_start GetGroundEffectFlags_ShortGrass -GetGroundEffectFlags_ShortGrass: @ 8063928 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4, 0x1E] - bl MetatileBehavior_IsShortGrass - lsls r0, 24 - cmp r0, 0 - beq _08063966 - ldrb r0, [r4, 0x1F] - bl MetatileBehavior_IsShortGrass - lsls r0, 24 - cmp r0, 0 - beq _08063966 - ldrb r1, [r4, 0x2] - lsls r0, r1, 29 - cmp r0, 0 - blt _08063970 - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - movs r1, 0x4 - orrs r0, r1 - strb r0, [r4, 0x2] - ldr r0, [r5] - movs r1, 0x80 - lsls r1, 10 - orrs r0, r1 - str r0, [r5] - b _08063970 -_08063966: - ldrb r1, [r4, 0x2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x2] -_08063970: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end GetGroundEffectFlags_ShortGrass - - thumb_func_start GetGroundEffectFlags_HotSprings -GetGroundEffectFlags_HotSprings: @ 8063978 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4, 0x1E] - bl MetatileBehavior_IsHotSprings - lsls r0, 24 - cmp r0, 0 - beq _080639B6 - ldrb r0, [r4, 0x1F] - bl MetatileBehavior_IsHotSprings - lsls r0, 24 - cmp r0, 0 - beq _080639B6 - ldrb r1, [r4, 0x2] - lsls r0, r1, 26 - cmp r0, 0 - blt _080639C0 - movs r0, 0x21 - negs r0, r0 - ands r0, r1 - movs r1, 0x20 - orrs r0, r1 - strb r0, [r4, 0x2] - ldr r0, [r5] - movs r1, 0x80 - lsls r1, 11 - orrs r0, r1 - str r0, [r5] - b _080639C0 -_080639B6: - ldrb r1, [r4, 0x2] - movs r0, 0x21 - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x2] -_080639C0: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end GetGroundEffectFlags_HotSprings - - thumb_func_start GetGroundEffectFlags_Seaweed -GetGroundEffectFlags_Seaweed: @ 80639C8 - push {r4,lr} - adds r4, r1, 0 - ldrb r0, [r0, 0x1E] - bl MetatileBehavior_IsSeaweed - lsls r0, 24 - cmp r0, 0 - beq _080639E2 - ldr r0, [r4] - movs r1, 0x80 - lsls r1, 12 - orrs r0, r1 - str r0, [r4] -_080639E2: - pop {r4} - pop {r0} - bx r0 - thumb_func_end GetGroundEffectFlags_Seaweed - - thumb_func_start GetGroundEffectFlags_JumpLanding -GetGroundEffectFlags_JumpLanding: @ 80639E8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r7, r0, 0 - adds r6, r1, 0 - ldr r0, [r7] - ldr r1, _08063A24 @ =0x02000020 - ands r0, r1 - cmp r0, 0x20 - bne _08063A3A @ Is player landing after jumping? - movs r5, 0 - ldr r0, _08063A28 @ =gJumpLanding_MetatileFunctionPointers - mov r8, r0 -_08063A02: - lsls r4, r5, 2 - mov r0, r8 - adds r1, r4, r0 - ldrb r0, [r7, 0x1E] @ Load metatile behavior - ldr r1, [r1] - bl _call_via_r1 - lsls r0, 24 - cmp r0, 0 - beq _08063A30 - ldr r0, _08063A2C @ =gJumpLanding_Bitmasks - adds r0, r4, r0 - ldr r1, [r6] - ldr r0, [r0] - orrs r1, r0 - str r1, [r6] - b _08063A3A - .align 2, 0 -_08063A24: .4byte 0x02000020 -_08063A28: .4byte gJumpLanding_MetatileFunctionPointers -_08063A2C: .4byte gJumpLanding_Bitmasks -_08063A30: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x5 - bls _08063A02 -_08063A3A: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end GetGroundEffectFlags_JumpLanding - thumb_func_start FieldObjectCheckForReflectiveSurface FieldObjectCheckForReflectiveSurface: @ 8063A44 push {r4-r7,lr} diff --git a/asm/field_region_map.s b/asm/field_region_map.s new file mode 100644 index 000000000..37c97c3ec --- /dev/null +++ b/asm/field_region_map.s @@ -0,0 +1,274 @@ + .include "constants/gba_constants.inc" + .include "constants/species_constants.inc" + .include "asm/macros.inc" + + .syntax unified + + .text + + thumb_func_start FieldInitRegionMap +FieldInitRegionMap: @ 813EEB4 + push {r4,lr} + adds r4, r0, 0 + movs r0, 0 + bl SetVBlankCallback + ldr r2, _0813EED8 @ =0x02000000 + ldr r0, _0813EEDC @ =0x00000888 + adds r1, r2, r0 + movs r0, 0 + strh r0, [r1] + str r4, [r2] + ldr r0, _0813EEE0 @ =CB2_FieldInitRegionMap + bl SetMainCallback2 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0813EED8: .4byte 0x02000000 +_0813EEDC: .4byte 0x00000888 +_0813EEE0: .4byte CB2_FieldInitRegionMap + thumb_func_end FieldInitRegionMap + + thumb_func_start CB2_FieldInitRegionMap +CB2_FieldInitRegionMap: @ 813EEE4 + push {r4,lr} + sub sp, 0x4 + movs r0, 0x80 + lsls r0, 19 + movs r1, 0 + strh r1, [r0] + adds r0, 0x10 + strh r1, [r0] + adds r0, 0x2 + strh r1, [r0] + adds r0, 0x2 + strh r1, [r0] + adds r0, 0x2 + strh r1, [r0] + adds r0, 0x2 + strh r1, [r0] + adds r0, 0x2 + strh r1, [r0] + adds r0, 0x2 + strh r1, [r0] + adds r0, 0x2 + strh r1, [r0] + bl ResetSpriteData + bl FreeAllSpritePalettes + ldr r0, _0813EF98 @ =0x02000008 + movs r1, 0 + bl sub_80FA8EC + movs r0, 0 + movs r1, 0 + bl sub_80FBCF0 + movs r0, 0x1 + movs r1, 0x1 + bl sub_80FBB3C + ldr r4, _0813EF9C @ =gWindowConfig_81E709C + adds r0, r4, 0 + bl SetUpWindowConfig + adds r0, r4, 0 + bl InitMenuWindow + bl MenuZeroFillScreen + ldr r1, _0813EFA0 @ =REG_BG0CNT + movs r2, 0xF8 + lsls r2, 5 + adds r0, r2, 0 + strh r0, [r1] + movs r0, 0x15 + movs r1, 0 + movs r2, 0x1D + movs r3, 0x3 + bl MenuDrawTextWindow + ldr r0, _0813EFA4 @ =gOtherText_Hoenn + movs r1, 0x16 + movs r2, 0x1 + movs r3, 0x38 + bl sub_8072BD8 + movs r0, 0x10 + movs r1, 0x10 + movs r2, 0x1D + movs r3, 0x13 + bl MenuDrawTextWindow + bl sub_813F0C8 + ldr r0, _0813EFA8 @ =CB2_FieldRegionMap + bl SetMainCallback2 + ldr r0, _0813EFAC @ =VBlankCB_FieldRegionMap + bl SetVBlankCallback + movs r0, 0x1 + negs r0, r0 + movs r1, 0 + str r1, [sp] + movs r2, 0x10 + movs r3, 0 + bl BeginNormalPaletteFade + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0813EF98: .4byte 0x02000008 +_0813EF9C: .4byte gWindowConfig_81E709C +_0813EFA0: .4byte REG_BG0CNT +_0813EFA4: .4byte gOtherText_Hoenn +_0813EFA8: .4byte CB2_FieldRegionMap +_0813EFAC: .4byte VBlankCB_FieldRegionMap + thumb_func_end CB2_FieldInitRegionMap + + thumb_func_start VBlankCB_FieldRegionMap +VBlankCB_FieldRegionMap: @ 813EFB0 + push {lr} + bl LoadOam + bl ProcessSpriteCopyRequests + bl TransferPlttBuffer + pop {r0} + bx r0 + thumb_func_end VBlankCB_FieldRegionMap + + thumb_func_start CB2_FieldRegionMap +CB2_FieldRegionMap: @ 813EFC4 + push {lr} + bl sub_813EFDC + bl AnimateSprites + bl BuildOamBuffer + bl UpdatePaletteFade + pop {r0} + bx r0 + thumb_func_end CB2_FieldRegionMap + + thumb_func_start sub_813EFDC +sub_813EFDC: @ 813EFDC + push {lr} + sub sp, 0x4 + ldr r1, _0813EFF8 @ =0x02000000 + ldr r2, _0813EFFC @ =0x00000888 + adds r0, r1, r2 + ldrh r0, [r0] + adds r2, r1, 0 + cmp r0, 0x4 + bhi _0813F0B8 + lsls r0, 2 + ldr r1, _0813F000 @ =_0813F004 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0813EFF8: .4byte 0x02000000 +_0813EFFC: .4byte 0x00000888 +_0813F000: .4byte _0813F004 + .align 2, 0 +_0813F004: + .4byte _0813F018 + .4byte _0813F030 + .4byte _0813F04C + .4byte _0813F078 + .4byte _0813F0A0 +_0813F018: + movs r1, 0x80 + lsls r1, 19 + ldr r3, _0813F028 @ =0x00001541 + adds r0, r3, 0 + strh r0, [r1] + ldr r0, _0813F02C @ =0x00000888 + adds r1, r2, r0 + b _0813F08E + .align 2, 0 +_0813F028: .4byte 0x00001541 +_0813F02C: .4byte 0x00000888 +_0813F030: + ldr r0, _0813F044 @ =gPaletteFade + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + bne _0813F0B8 + ldr r3, _0813F048 @ =0x00000888 + adds r1, r2, r3 + b _0813F08E + .align 2, 0 +_0813F044: .4byte gPaletteFade +_0813F048: .4byte 0x00000888 +_0813F04C: + bl sub_80FAB60 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x3 + bne _0813F05E + bl sub_813F0C8 + b _0813F0B8 +_0813F05E: + cmp r0, 0x3 + blt _0813F0B8 + cmp r0, 0x5 + bgt _0813F0B8 + ldr r1, _0813F070 @ =0x02000000 + ldr r0, _0813F074 @ =0x00000888 + adds r1, r0 + b _0813F08E + .align 2, 0 +_0813F070: .4byte 0x02000000 +_0813F074: .4byte 0x00000888 +_0813F078: + movs r0, 0x1 + negs r0, r0 + movs r1, 0 + str r1, [sp] + movs r2, 0 + movs r3, 0x10 + bl BeginNormalPaletteFade + ldr r1, _0813F098 @ =0x02000000 + ldr r2, _0813F09C @ =0x00000888 + adds r1, r2 +_0813F08E: + ldrh r0, [r1] + adds r0, 0x1 + strh r0, [r1] + b _0813F0B8 + .align 2, 0 +_0813F098: .4byte 0x02000000 +_0813F09C: .4byte 0x00000888 +_0813F0A0: + ldr r0, _0813F0C0 @ =gPaletteFade + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + bne _0813F0B8 + bl sub_80FAB10 + ldr r0, _0813F0C4 @ =0x02000000 + ldr r0, [r0] + bl SetMainCallback2 +_0813F0B8: + add sp, 0x4 + pop {r0} + bx r0 + .align 2, 0 +_0813F0C0: .4byte gPaletteFade +_0813F0C4: .4byte 0x02000000 + thumb_func_end sub_813EFDC + + thumb_func_start sub_813F0C8 +sub_813F0C8: @ 813F0C8 + push {lr} + movs r0, 0x11 + movs r1, 0x11 + movs r2, 0x1C + movs r3, 0x12 + bl MenuFillWindowRectWithBlankTile + ldr r1, _0813F0F0 @ =0x02000000 + ldrb r0, [r1, 0x1E] + cmp r0, 0 + beq _0813F0EA + adds r0, r1, 0 + adds r0, 0x8 + movs r1, 0x11 + movs r2, 0x11 + bl MenuPrint +_0813F0EA: + pop {r0} + bx r0 + .align 2, 0 +_0813F0F0: .4byte 0x02000000 + thumb_func_end sub_813F0C8 + + .align 2, 0 @ Don't pad with nop. diff --git a/asm/fldeff_cut.s b/asm/fldeff_cut.s new file mode 100644 index 000000000..530e8034f --- /dev/null +++ b/asm/fldeff_cut.s @@ -0,0 +1,797 @@ + .include "constants/gba_constants.inc" + .include "constants/species_constants.inc" + .include "asm/macros.inc" + + .syntax unified + + .text + + thumb_func_start SetUpFieldMove_Cut +SetUpFieldMove_Cut: @ 80A2504 + push {r4-r7,lr} + mov r7, r8 + push {r7} + movs r0, 0x52 + bl npc_before_player_of_type + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080A2534 + ldr r1, _080A2524 @ =gUnknown_0300485C + ldr r0, _080A2528 @ =sub_808AB90 + str r0, [r1] + ldr r1, _080A252C @ =gUnknown_03005CE4 + ldr r0, _080A2530 @ =sub_80A2634 + b _080A25A8 + .align 2, 0 +_080A2524: .4byte gUnknown_0300485C +_080A2528: .4byte sub_808AB90 +_080A252C: .4byte gUnknown_03005CE4 +_080A2530: .4byte sub_80A2634 +_080A2534: + ldr r4, _080A25B0 @ =gUnknown_0203923C + adds r1, r4, 0x2 + adds r0, r4, 0 + bl PlayerGetDestCoords + movs r7, 0 + mov r8, r4 +_080A2542: + ldr r1, _080A25B4 @ =0x0000ffff + adds r0, r7, r1 + mov r2, r8 + ldrh r2, [r2, 0x2] + adds r0, r2 + movs r6, 0 + lsls r0, 16 + asrs r5, r0, 16 +_080A2552: + ldr r1, _080A25B4 @ =0x0000ffff + adds r0, r6, r1 + mov r2, r8 + ldrh r2, [r2] + adds r0, r2 + lsls r0, 16 + asrs r4, r0, 16 + adds r0, r4, 0 + adds r1, r5, 0 + bl MapGridGetZCoordAt + lsls r0, 24 + lsrs r0, 24 + mov r2, r8 + movs r1, 0x4 + ldrsb r1, [r2, r1] + cmp r0, r1 + bne _080A25C8 + adds r0, r4, 0 + adds r1, r5, 0 + bl MapGridGetMetatileBehaviorAt + lsls r0, 24 + lsrs r4, r0, 24 + adds r0, r4, 0 + bl sub_8056E14 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _080A259E + adds r0, r4, 0 + bl MetatileBehavior_IsAsh + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080A25C8 +_080A259E: + ldr r1, _080A25B8 @ =gUnknown_0300485C + ldr r0, _080A25BC @ =sub_808AB90 + str r0, [r1] + ldr r1, _080A25C0 @ =gUnknown_03005CE4 + ldr r0, _080A25C4 @ =sub_80A25E8 +_080A25A8: + str r0, [r1] + movs r0, 0x1 + b _080A25DE + .align 2, 0 +_080A25B0: .4byte gUnknown_0203923C +_080A25B4: .4byte 0x0000ffff +_080A25B8: .4byte gUnknown_0300485C +_080A25BC: .4byte sub_808AB90 +_080A25C0: .4byte gUnknown_03005CE4 +_080A25C4: .4byte sub_80A25E8 +_080A25C8: + adds r0, r6, 0x1 + lsls r0, 24 + lsrs r6, r0, 24 + cmp r6, 0x2 + bls _080A2552 + adds r0, r7, 0x1 + lsls r0, 24 + lsrs r7, r0, 24 + cmp r7, 0x2 + bls _080A2542 + movs r0, 0 +_080A25DE: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end SetUpFieldMove_Cut + + thumb_func_start sub_80A25E8 +sub_80A25E8: @ 80A25E8 + push {lr} + movs r0, 0x1 + bl FieldEffectStart + ldr r0, _080A25FC @ =gUnknown_0202FF84 + ldr r1, _080A2600 @ =gUnknown_03005CE0 + ldrb r1, [r1] + str r1, [r0] + pop {r0} + bx r0 + .align 2, 0 +_080A25FC: .4byte gUnknown_0202FF84 +_080A2600: .4byte gUnknown_03005CE0 + thumb_func_end sub_80A25E8 + + thumb_func_start FldEff_UseCutOnGrass +FldEff_UseCutOnGrass: @ 80A2604 + push {lr} + bl oei_task_add + lsls r0, 24 + lsrs r0, 24 + ldr r2, _080A262C @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + ldr r2, _080A2630 @ =sub_80A2684 + lsrs r0, r2, 16 + strh r0, [r1, 0x18] + strh r2, [r1, 0x1A] + movs r0, 0x12 + bl sav12_xor_increment + movs r0, 0 + pop {r1} + bx r1 + .align 2, 0 +_080A262C: .4byte gTasks +_080A2630: .4byte sub_80A2684 + thumb_func_end FldEff_UseCutOnGrass + + thumb_func_start sub_80A2634 +sub_80A2634: @ 80A2634 + push {lr} + ldr r1, _080A2648 @ =gUnknown_0202FF84 + ldr r0, _080A264C @ =gUnknown_03005CE0 + ldrb r0, [r0] + str r0, [r1] + ldr r0, _080A2650 @ =UseCutScript + bl ScriptContext1_SetupScript + pop {r0} + bx r0 + .align 2, 0 +_080A2648: .4byte gUnknown_0202FF84 +_080A264C: .4byte gUnknown_03005CE0 +_080A2650: .4byte UseCutScript + thumb_func_end sub_80A2634 + + thumb_func_start FldEff_UseCutOnTree +FldEff_UseCutOnTree: @ 80A2654 + push {lr} + bl oei_task_add + lsls r0, 24 + lsrs r0, 24 + ldr r2, _080A267C @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + ldr r2, _080A2680 @ =sub_80A2B00 + lsrs r0, r2, 16 + strh r0, [r1, 0x18] + strh r2, [r1, 0x1A] + movs r0, 0x12 + bl sav12_xor_increment + movs r0, 0 + pop {r1} + bx r1 + .align 2, 0 +_080A267C: .4byte gTasks +_080A2680: .4byte sub_80A2B00 + thumb_func_end FldEff_UseCutOnTree + + thumb_func_start sub_80A2684 +sub_80A2684: @ 80A2684 + push {lr} + movs r0, 0x1 + bl FieldEffectActiveListRemove + movs r0, 0x3A + bl FieldEffectStart + pop {r0} + bx r0 + thumb_func_end sub_80A2684 + + thumb_func_start FldEff_CutGrass +FldEff_CutGrass: @ 80A2698 + push {r4-r7,lr} + mov r7, r8 + push {r7} + movs r7, 0 + movs r0, 0x80 + bl PlaySE + ldr r4, _080A2790 @ =gUnknown_0203923C + adds r1, r4, 0x2 + adds r0, r4, 0 + bl PlayerGetDestCoords + mov r8, r4 +_080A26B2: + ldr r1, _080A2794 @ =0x0000ffff + adds r0, r7, r1 + mov r2, r8 + ldrh r2, [r2, 0x2] + adds r0, r2 + movs r6, 0 + lsls r0, 16 + asrs r5, r0, 16 +_080A26C2: + ldr r1, _080A2794 @ =0x0000ffff + adds r0, r6, r1 + mov r2, r8 + ldrh r2, [r2] + adds r0, r2 + lsls r0, 16 + asrs r4, r0, 16 + adds r0, r4, 0 + adds r1, r5, 0 + bl MapGridGetZCoordAt + lsls r0, 24 + lsrs r0, 24 + mov r2, r8 + movs r1, 0x4 + ldrsb r1, [r2, r1] + cmp r0, r1 + bne _080A270E + adds r0, r4, 0 + adds r1, r5, 0 + bl MapGridGetMetatileBehaviorAt + lsls r0, 24 + lsrs r0, 24 + bl sub_80578F8 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _080A270E + adds r0, r4, 0 + adds r1, r5, 0 + bl sub_80A27A8 + adds r0, r4, 0 + adds r1, r5, 0 + bl sub_805BCC0 +_080A270E: + adds r0, r6, 0x1 + lsls r0, 24 + lsrs r6, r0, 24 + cmp r6, 0x2 + bls _080A26C2 + adds r0, r7, 0x1 + lsls r0, 24 + lsrs r7, r0, 24 + cmp r7, 0x2 + bls _080A26B2 + ldr r1, _080A2790 @ =gUnknown_0203923C + ldrh r0, [r1] + subs r0, 0x1 + lsls r0, 16 + asrs r0, 16 + ldrh r1, [r1, 0x2] + subs r1, 0x2 + lsls r1, 16 + asrs r1, 16 + bl sub_80A28F4 + bl DrawWholeMapView + movs r7, 0 + ldr r4, _080A2798 @ =gSprites +_080A2740: + ldr r0, _080A279C @ =gPlayerAvatar + ldrb r1, [r0, 0x4] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r4 + ldrh r1, [r0, 0x2] + lsls r1, 23 + lsrs r1, 7 + movs r2, 0x80 + lsls r2, 12 + adds r1, r2 + asrs r1, 16 + ldrb r2, [r0] + adds r2, 0x14 + ldr r0, _080A27A0 @ =gSpriteTemplate_CutGrass + movs r3, 0 + bl CreateSprite + ldr r1, _080A27A4 @ =0x0201fff0 + adds r1, r7, r1 + strb r0, [r1] + ldrb r1, [r1] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r4 + lsls r1, r7, 5 + strh r1, [r0, 0x32] + adds r0, r7, 0x1 + lsls r0, 24 + lsrs r7, r0, 24 + cmp r7, 0x7 + bls _080A2740 + movs r0, 0 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_080A2790: .4byte gUnknown_0203923C +_080A2794: .4byte 0x0000ffff +_080A2798: .4byte gSprites +_080A279C: .4byte gPlayerAvatar +_080A27A0: .4byte gSpriteTemplate_CutGrass +_080A27A4: .4byte 0x0201fff0 + thumb_func_end FldEff_CutGrass + + thumb_func_start sub_80A27A8 +sub_80A27A8: @ 80A27A8 + push {r4-r7,lr} + lsls r0, 16 + lsls r1, 16 + lsrs r6, r0, 16 + asrs r4, r0, 16 + lsrs r7, r1, 16 + asrs r5, r1, 16 + adds r0, r4, 0 + adds r1, r5, 0 + bl MapGridGetMetatileIdAt + adds r1, r0, 0 + ldr r0, _080A27E0 @ =0x00000207 + cmp r1, r0 + bgt _080A27F4 + subs r0, 0x1 + cmp r1, r0 + bge _080A286C + cmp r1, 0x25 + beq _080A288E + cmp r1, 0x25 + bgt _080A27E4 + cmp r1, 0xD + beq _080A2834 + cmp r1, 0x15 + beq _080A2834 + b _080A2898 + .align 2, 0 +_080A27E0: .4byte 0x00000207 +_080A27E4: + movs r0, 0xE3 + lsls r0, 1 + cmp r1, r0 + beq _080A2844 + adds r0, 0x1 + cmp r1, r0 + beq _080A284A + b _080A2898 +_080A27F4: + ldr r0, _080A280C @ =0x00000212 + cmp r1, r0 + beq _080A287C + cmp r1, r0 + bgt _080A2810 + subs r0, 0xA + cmp r1, r0 + beq _080A2834 + adds r0, 0x2 + cmp r1, r0 + beq _080A287C + b _080A2898 + .align 2, 0 +_080A280C: .4byte 0x00000212 +_080A2810: + ldr r0, _080A2824 @ =0x00000282 + cmp r1, r0 + beq _080A285C + cmp r1, r0 + bgt _080A2828 + subs r0, 0x1 + cmp r1, r0 + beq _080A2854 + b _080A2898 + .align 2, 0 +_080A2824: .4byte 0x00000282 +_080A2828: + ldr r0, _080A2830 @ =0x00000283 + cmp r1, r0 + beq _080A2864 + b _080A2898 + .align 2, 0 +_080A2830: .4byte 0x00000283 +_080A2834: + lsls r0, r6, 16 + asrs r0, 16 + lsls r1, r7, 16 + asrs r1, 16 + movs r2, 0x1 + bl MapGridSetMetatileIdAt + b _080A2898 +_080A2844: + movs r2, 0xE7 + lsls r2, 1 + b _080A286E +_080A284A: + ldr r2, _080A2850 @ =0x000001cf + b _080A286E + .align 2, 0 +_080A2850: .4byte 0x000001cf +_080A2854: + ldr r2, _080A2858 @ =0x00000279 + b _080A286E + .align 2, 0 +_080A2858: .4byte 0x00000279 +_080A285C: + ldr r2, _080A2860 @ =0x0000027a + b _080A286E + .align 2, 0 +_080A2860: .4byte 0x0000027a +_080A2864: + ldr r2, _080A2868 @ =0x0000027b + b _080A286E + .align 2, 0 +_080A2868: .4byte 0x0000027b +_080A286C: + ldr r2, _080A2878 @ =0x00000271 +_080A286E: + adds r0, r4, 0 + adds r1, r5, 0 + bl MapGridSetMetatileIdAt + b _080A2898 + .align 2, 0 +_080A2878: .4byte 0x00000271 +_080A287C: + lsls r0, r6, 16 + asrs r0, 16 + lsls r1, r7, 16 + asrs r1, 16 + movs r2, 0x86 + lsls r2, 2 + bl MapGridSetMetatileIdAt + b _080A2898 +_080A288E: + adds r0, r4, 0 + adds r1, r5, 0 + movs r2, 0xE + bl MapGridSetMetatileIdAt +_080A2898: + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_80A27A8 + + thumb_func_start sub_80A28A0 +sub_80A28A0: @ 80A28A0 + push {lr} + lsls r0, 16 + asrs r0, 16 + lsls r1, 16 + asrs r1, 16 + bl MapGridGetMetatileIdAt + lsls r0, 16 + lsrs r1, r0, 16 + adds r2, r1, 0 + cmp r1, 0x1 + bne _080A28BC + movs r0, 0x1 + b _080A28EE +_080A28BC: + ldr r0, _080A28C8 @ =0x00000279 + cmp r1, r0 + bne _080A28CC + movs r0, 0x2 + b _080A28EE + .align 2, 0 +_080A28C8: .4byte 0x00000279 +_080A28CC: + ldr r0, _080A28D8 @ =0x0000027a + cmp r1, r0 + bne _080A28DC + movs r0, 0x3 + b _080A28EE + .align 2, 0 +_080A28D8: .4byte 0x0000027a +_080A28DC: + ldr r0, _080A28E8 @ =0x0000027b + cmp r2, r0 + beq _080A28EC + movs r0, 0 + b _080A28EE + .align 2, 0 +_080A28E8: .4byte 0x0000027b +_080A28EC: + movs r0, 0x4 +_080A28EE: + pop {r1} + bx r1 + thumb_func_end sub_80A28A0 + + thumb_func_start sub_80A28F4 +sub_80A28F4: @ 80A28F4 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + lsls r0, 16 + lsrs r0, 16 + mov r10, r0 + lsls r1, 16 + movs r2, 0xC0 + lsls r2, 10 + adds r0, r1, r2 + lsrs r0, 16 + mov r9, r0 + movs r4, 0 + asrs r7, r1, 16 +_080A2914: + mov r1, r10 + lsls r0, r1, 16 + asrs r0, 16 + lsls r4, 16 + asrs r1, r4, 16 + adds r0, r1 + lsls r0, 16 + lsrs r6, r0, 16 + asrs r5, r0, 16 + adds r0, r5, 0 + adds r1, r7, 0 + bl MapGridGetMetatileIdAt + mov r8, r4 + cmp r0, 0x15 + bne _080A2996 + adds r4, r7, 0x1 + lsls r1, r4, 16 + asrs r1, 16 + adds r0, r5, 0 + bl sub_80A28A0 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x2 + beq _080A296A + cmp r0, 0x2 + bgt _080A2952 + cmp r0, 0x1 + beq _080A295C + b _080A2996 +_080A2952: + cmp r0, 0x3 + beq _080A297C + cmp r0, 0x4 + beq _080A298C + b _080A2996 +_080A295C: + adds r0, r5, 0 + adds r1, r4, 0 + movs r2, 0x82 + lsls r2, 2 + bl MapGridSetMetatileIdAt + b _080A2996 +_080A296A: + adds r0, r5, 0 + adds r1, r4, 0 + ldr r2, _080A2978 @ =0x00000281 + bl MapGridSetMetatileIdAt + b _080A2996 + .align 2, 0 +_080A2978: .4byte 0x00000281 +_080A297C: + adds r0, r5, 0 + adds r1, r4, 0 + ldr r2, _080A2988 @ =0x00000282 + bl MapGridSetMetatileIdAt + b _080A2996 + .align 2, 0 +_080A2988: .4byte 0x00000282 +_080A298C: + adds r0, r5, 0 + adds r1, r4, 0 + ldr r2, _080A2A30 @ =0x00000283 + bl MapGridSetMetatileIdAt +_080A2996: + lsls r0, r6, 16 + asrs r5, r0, 16 + mov r2, r9 + lsls r0, r2, 16 + asrs r4, r0, 16 + adds r0, r5, 0 + adds r1, r4, 0 + bl MapGridGetMetatileIdAt + cmp r0, 0x1 + bne _080A2A10 + adds r4, 0x1 + adds r0, r5, 0 + adds r1, r4, 0 + bl MapGridGetMetatileIdAt + movs r1, 0x82 + lsls r1, 2 + cmp r0, r1 + bne _080A29C8 + adds r0, r5, 0 + adds r1, r4, 0 + movs r2, 0x1 + bl MapGridSetMetatileIdAt +_080A29C8: + adds r0, r5, 0 + adds r1, r4, 0 + bl MapGridGetMetatileIdAt + ldr r1, _080A2A34 @ =0x00000281 + cmp r0, r1 + bne _080A29E0 + adds r0, r5, 0 + adds r1, r4, 0 + ldr r2, _080A2A38 @ =0x00000279 + bl MapGridSetMetatileIdAt +_080A29E0: + adds r0, r5, 0 + adds r1, r4, 0 + bl MapGridGetMetatileIdAt + ldr r1, _080A2A3C @ =0x00000282 + cmp r0, r1 + bne _080A29F8 + adds r0, r5, 0 + adds r1, r4, 0 + ldr r2, _080A2A40 @ =0x0000027a + bl MapGridSetMetatileIdAt +_080A29F8: + adds r0, r5, 0 + adds r1, r4, 0 + bl MapGridGetMetatileIdAt + ldr r1, _080A2A30 @ =0x00000283 + cmp r0, r1 + bne _080A2A10 + adds r0, r5, 0 + adds r1, r4, 0 + ldr r2, _080A2A44 @ =0x0000027b + bl MapGridSetMetatileIdAt +_080A2A10: + movs r0, 0x80 + lsls r0, 9 + add r0, r8 + lsrs r4, r0, 16 + asrs r0, 16 + cmp r0, 0x2 + bgt _080A2A20 + b _080A2914 +_080A2A20: + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080A2A30: .4byte 0x00000283 +_080A2A34: .4byte 0x00000281 +_080A2A38: .4byte 0x00000279 +_080A2A3C: .4byte 0x00000282 +_080A2A40: .4byte 0x0000027a +_080A2A44: .4byte 0x0000027b + thumb_func_end sub_80A28F4 + + thumb_func_start sub_80A2A48 +sub_80A2A48: @ 80A2A48 + movs r2, 0 + movs r1, 0x8 + strh r1, [r0, 0x2E] + strh r2, [r0, 0x30] + strh r2, [r0, 0x34] + ldr r1, _080A2A58 @ =objc_8097BBC + str r1, [r0, 0x1C] + bx lr + .align 2, 0 +_080A2A58: .4byte objc_8097BBC + thumb_func_end sub_80A2A48 + + thumb_func_start objc_8097BBC +objc_8097BBC: @ 80A2A5C + push {r4,lr} + adds r4, r0, 0 + movs r1, 0x32 + ldrsh r0, [r4, r1] + movs r2, 0x2E + ldrsh r1, [r4, r2] + bl Sin + strh r0, [r4, 0x24] + movs r1, 0x32 + ldrsh r0, [r4, r1] + movs r2, 0x2E + ldrsh r1, [r4, r2] + bl Cos + strh r0, [r4, 0x26] + ldrh r0, [r4, 0x32] + adds r0, 0x8 + movs r1, 0xFF + ands r0, r1 + strh r0, [r4, 0x32] + ldrh r1, [r4, 0x2E] + adds r1, 0x1 + ldrh r2, [r4, 0x34] + lsls r0, r2, 16 + asrs r0, 18 + adds r1, r0 + strh r1, [r4, 0x2E] + adds r2, 0x1 + strh r2, [r4, 0x34] + ldrh r1, [r4, 0x30] + movs r2, 0x30 + ldrsh r0, [r4, r2] + cmp r0, 0x1C + beq _080A2AA8 + adds r0, r1, 0x1 + strh r0, [r4, 0x30] + b _080A2AAC +_080A2AA8: + ldr r0, _080A2AB4 @ =sub_80A2AB8 + str r0, [r4, 0x1C] +_080A2AAC: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A2AB4: .4byte sub_80A2AB8 + thumb_func_end objc_8097BBC + + thumb_func_start sub_80A2AB8 +sub_80A2AB8: @ 80A2AB8 + push {r4-r6,lr} + movs r4, 0x1 +_080A2ABC: + ldr r6, _080A2AF8 @ =0x0201fff0 + adds r0, r4, r6 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + ldr r5, _080A2AFC @ =gSprites + adds r0, r5 + bl DestroySprite + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0x7 + bls _080A2ABC + ldrb r1, [r6] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r5 + movs r1, 0x3A + bl FieldEffectStop + bl sub_8064E2C + bl ScriptContext2_Disable + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080A2AF8: .4byte 0x0201fff0 +_080A2AFC: .4byte gSprites + thumb_func_end sub_80A2AB8 + + thumb_func_start sub_80A2B00 +sub_80A2B00: @ 80A2B00 + push {lr} + movs r0, 0x80 + bl PlaySE + movs r0, 0x2 + bl FieldEffectActiveListRemove + bl EnableBothScriptContexts + pop {r0} + bx r0 + thumb_func_end sub_80A2B00 + + .align 2, 0 @ Don't pad with nop. diff --git a/asm/hall_of_fame.s b/asm/hall_of_fame.s new file mode 100644 index 000000000..6876c6783 --- /dev/null +++ b/asm/hall_of_fame.s @@ -0,0 +1,3402 @@ + .include "constants/gba_constants.inc" + .include "constants/species_constants.inc" + .include "asm/macros.inc" + + .syntax unified + + .text + + thumb_func_start sub_8141E38 +sub_8141E38: @ 8141E38 + push {lr} + bl LoadOam + bl ProcessSpriteCopyRequests + bl TransferPlttBuffer + pop {r0} + bx r0 + thumb_func_end sub_8141E38 + + thumb_func_start sub_8141E4C +sub_8141E4C: @ 8141E4C + push {lr} + bl RunTasks + bl AnimateSprites + bl BuildOamBuffer + bl UpdatePaletteFade + pop {r0} + bx r0 + thumb_func_end sub_8141E4C + + thumb_func_start sub_8141E64 +sub_8141E64: @ 8141E64 + push {r4,lr} + sub sp, 0x4 + ldr r0, _08141E80 @ =gMain + ldr r1, _08141E84 @ =0x0000043c + adds r0, r1 + ldrb r0, [r0] + cmp r0, 0x4 + bhi _08141EA0 + lsls r0, 2 + ldr r1, _08141E88 @ =_08141E8C + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08141E80: .4byte gMain +_08141E84: .4byte 0x0000043c +_08141E88: .4byte _08141E8C + .align 2, 0 +_08141E8C: + .4byte _08141EA0 + .4byte _08141EC0 + .4byte _08141EC6 + .4byte _08141F1C + .4byte _08141F58 +_08141EA0: + movs r0, 0 + bl SetVBlankCallback + bl sub_81433E0 + ldr r0, _08141EB8 @ =gMain + ldr r2, _08141EBC @ =0x0000043c + adds r0, r2 + movs r1, 0x1 + strb r1, [r0] + b _08141F84 + .align 2, 0 +_08141EB8: .4byte gMain +_08141EBC: .4byte 0x0000043c +_08141EC0: + bl sub_8143570 + b _08141F38 +_08141EC6: + movs r0, 0x1 + negs r0, r0 + movs r4, 0 + str r4, [sp] + movs r1, 0 + movs r2, 0x10 + movs r3, 0 + bl BeginNormalPaletteFade + ldr r0, _08141F04 @ =sub_8141E38 + bl SetVBlankCallback + ldr r3, _08141F08 @ =0x04000208 + ldrh r2, [r3] + strh r4, [r3] + ldr r4, _08141F0C @ =0x04000200 + ldrh r0, [r4] + movs r1, 0x1 + orrs r0, r1 + strh r0, [r4] + strh r2, [r3] + ldr r2, _08141F10 @ =REG_DISPSTAT + ldrh r0, [r2] + movs r1, 0x8 + orrs r0, r1 + strh r0, [r2] + ldr r1, _08141F14 @ =gMain + ldr r2, _08141F18 @ =0x0000043c + adds r1, r2 + b _08141F3E + .align 2, 0 +_08141F04: .4byte sub_8141E38 +_08141F08: .4byte 0x04000208 +_08141F0C: .4byte 0x04000200 +_08141F10: .4byte REG_DISPSTAT +_08141F14: .4byte gMain +_08141F18: .4byte 0x0000043c +_08141F1C: + ldr r1, _08141F48 @ =REG_BLDCNT + ldr r2, _08141F4C @ =0x00003f42 + adds r0, r2, 0 + strh r0, [r1] + adds r1, 0x2 + movs r2, 0xE2 + lsls r2, 3 + adds r0, r2, 0 + strh r0, [r1] + adds r1, 0x2 + movs r0, 0 + strh r0, [r1] + bl sub_81435B8 +_08141F38: + ldr r1, _08141F50 @ =gMain + ldr r0, _08141F54 @ =0x0000043c + adds r1, r0 +_08141F3E: + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] + b _08141F84 + .align 2, 0 +_08141F48: .4byte REG_BLDCNT +_08141F4C: .4byte 0x00003f42 +_08141F50: .4byte gMain +_08141F54: .4byte 0x0000043c +_08141F58: + bl UpdatePaletteFade + ldr r0, _08141F7C @ =gPaletteFade + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + bne _08141F84 + ldr r0, _08141F80 @ =sub_8141E4C + bl SetMainCallback2 + movs r0, 0xDA + lsls r0, 1 + bl PlayBGM + movs r0, 0 + b _08141F86 + .align 2, 0 +_08141F7C: .4byte gPaletteFade +_08141F80: .4byte sub_8141E4C +_08141F84: + movs r0, 0x1 +_08141F86: + add sp, 0x4 + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_8141E64 + + thumb_func_start sub_8141F90 +sub_8141F90: @ 8141F90 + push {r4,lr} + bl sub_8141E64 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0 + bne _08141FB6 + ldr r0, _08141FBC @ =sub_8141FF8 + movs r1, 0 + bl CreateTask + lsls r0, 24 + lsrs r0, 24 + ldr r2, _08141FC0 @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + strh r4, [r1, 0x8] +_08141FB6: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08141FBC: .4byte sub_8141FF8 +_08141FC0: .4byte gTasks + thumb_func_end sub_8141F90 + + thumb_func_start sub_8141FC4 +sub_8141FC4: @ 8141FC4 + push {lr} + bl sub_8141E64 + lsls r0, 24 + cmp r0, 0 + bne _08141FEA + ldr r0, _08141FF0 @ =sub_8141FF8 + movs r1, 0 + bl CreateTask + lsls r0, 24 + lsrs r0, 24 + ldr r2, _08141FF4 @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + movs r0, 0x1 + strh r0, [r1, 0x8] +_08141FEA: + pop {r0} + bx r0 + .align 2, 0 +_08141FF0: .4byte sub_8141FF8 +_08141FF4: .4byte gTasks + thumb_func_end sub_8141FC4 + + thumb_func_start sub_8141FF8 +sub_8141FF8: @ 8141FF8 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0xC + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + ldr r0, _081420C8 @ =0x0201c000 + mov r9, r0 + ldr r1, _081420CC @ =gTasks + mov r2, r8 + lsls r0, r2, 2 + add r0, r8 + lsls r0, 3 + adds r0, r1 + movs r1, 0 + strh r1, [r0, 0xC] + movs r7, 0 + ldr r4, _081420D0 @ =0xfffffe00 + mov r10, r4 +_08142024: + movs r0, 0x64 + adds r1, r7, 0 + muls r1, r0 + ldr r0, _081420D4 @ =gPlayerParty + adds r6, r1, r0 + adds r0, r6, 0 + movs r1, 0xB + bl GetMonData + adds r3, r0, 0 + cmp r3, 0 + beq _081420DC + adds r0, r6, 0 + movs r1, 0x41 + bl GetMonData + lsls r4, r7, 2 + adds r4, r7 + lsls r4, 2 + mov r1, r9 + adds r5, r1, r4 + ldr r2, _081420D8 @ =0x000001ff + adds r1, r2, 0 + ands r0, r1 + ldrh r1, [r5, 0x8] + mov r2, r10 + ands r1, r2 + orrs r1, r0 + strh r1, [r5, 0x8] + adds r0, r6, 0 + movs r1, 0x1 + bl GetMonData + str r0, [r5] + adds r0, r6, 0 + movs r1, 0 + bl GetMonData + mov r1, r9 + adds r1, 0x4 + adds r1, r4 + str r0, [r1] + adds r0, r6, 0 + movs r1, 0x38 + bl GetMonData + lsls r0, 1 + ldrb r2, [r5, 0x9] + movs r1, 0x1 + ands r1, r2 + orrs r1, r0 + strb r1, [r5, 0x9] + adds r0, r6, 0 + movs r1, 0x2 + mov r2, sp + bl GetMonData + movs r2, 0 + mov r6, r8 + lsls r5, r6, 2 + mov r3, r9 + adds r3, 0xA +_081420A0: + adds r1, r2, r4 + adds r1, r3, r1 + mov r6, sp + adds r0, r6, r2 + ldrb r0, [r0] + strb r0, [r1] + adds r0, r2, 0x1 + lsls r0, 16 + lsrs r2, r0, 16 + cmp r2, 0x9 + bls _081420A0 + ldr r0, _081420CC @ =gTasks + mov r2, r8 + adds r1, r5, r2 + lsls r1, 3 + adds r1, r0 + ldrh r0, [r1, 0xC] + adds r0, 0x1 + strh r0, [r1, 0xC] + b _08142108 + .align 2, 0 +_081420C8: .4byte 0x0201c000 +_081420CC: .4byte gTasks +_081420D0: .4byte 0xfffffe00 +_081420D4: .4byte gPlayerParty +_081420D8: .4byte 0x000001ff +_081420DC: + lsls r1, r7, 2 + adds r1, r7 + lsls r1, 2 + mov r4, r9 + adds r2, r4, r1 + ldrh r0, [r2, 0x8] + mov r6, r10 + ands r0, r6 + strh r0, [r2, 0x8] + str r3, [r2] + mov r0, r9 + adds r0, 0x4 + adds r0, r1 + str r3, [r0] + ldrb r1, [r2, 0x9] + movs r0, 0x1 + ands r0, r1 + strb r0, [r2, 0x9] + movs r0, 0xFF + strb r0, [r2, 0xA] + mov r0, r8 + lsls r5, r0, 2 +_08142108: + adds r0, r7, 0x1 + lsls r0, 16 + lsrs r7, r0, 16 + cmp r7, 0x5 + bls _08142024 + ldr r0, _08142158 @ =gUnknown_0203931C + movs r3, 0 + str r3, [r0] + ldr r4, _0814215C @ =gTasks + mov r2, r8 + adds r1, r5, r2 + lsls r1, 3 + adds r2, r1, r4 + strh r3, [r2, 0xA] + movs r0, 0xFF + strh r0, [r2, 0x10] + movs r7, 0 + adds r3, r4, 0 + adds r3, 0x8 + movs r2, 0xFF +_08142130: + adds r0, r7, 0x5 + lsls r0, 1 + adds r0, r1 + adds r0, r3 + strh r2, [r0] + adds r0, r7, 0x1 + lsls r0, 16 + lsrs r7, r0, 16 + cmp r7, 0x5 + bls _08142130 + mov r6, r8 + adds r0, r5, r6 + lsls r0, 3 + adds r1, r0, r4 + movs r2, 0x8 + ldrsh r0, [r1, r2] + cmp r0, 0 + beq _08142164 + ldr r0, _08142160 @ =sub_81422E8 + b _08142166 + .align 2, 0 +_08142158: .4byte gUnknown_0203931C +_0814215C: .4byte gTasks +_08142160: .4byte sub_81422E8 +_08142164: + ldr r0, _08142178 @ =sub_814217C +_08142166: + str r0, [r1] + add sp, 0xC + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08142178: .4byte sub_814217C + thumb_func_end sub_8141FF8 + + thumb_func_start sub_814217C +sub_814217C: @ 814217C + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + ldr r0, _081421C4 @ =0x0201c000 + mov r9, r0 + movs r7, 0x80 + lsls r7, 6 + add r7, r9 + ldr r0, _081421C8 @ =gUnknown_02039324 + ldrb r0, [r0] + cmp r0, 0 + bne _081421D4 + movs r4, 0 + mov r0, r8 + lsls r0, 2 + mov r10, r0 + ldr r5, _081421CC @ =0xfffe4000 + add r5, r9 + movs r3, 0xF0 + lsls r3, 9 + movs r2, 0 + ldr r1, _081421D0 @ =0x00001fff +_081421B2: + adds r0, r4, r3 + adds r0, r5 + strb r2, [r0] + adds r0, r4, 0x1 + lsls r0, 16 + lsrs r4, r0, 16 + cmp r4, r1 + bls _081421B2 + b _081421E0 + .align 2, 0 +_081421C4: .4byte 0x0201c000 +_081421C8: .4byte gUnknown_02039324 +_081421CC: .4byte 0xfffe4000 +_081421D0: .4byte 0x00001fff +_081421D4: + movs r0, 0x3 + bl sub_8125EC8 + mov r0, r8 + lsls r0, 2 + mov r10, r0 +_081421E0: + movs r4, 0 + ldrh r1, [r7, 0x8] + ldr r2, _081421E8 @ =0x000001ff + b _081421FA + .align 2, 0 +_081421E8: .4byte 0x000001ff +_081421EC: + adds r0, r4, 0x1 + lsls r0, 16 + lsrs r4, r0, 16 + adds r7, 0x78 + cmp r4, 0x31 + bhi _08142206 + ldrh r1, [r7, 0x8] +_081421FA: + adds r0, r2, 0 + ands r0, r1 + cmp r0, 0 + bne _081421EC + cmp r4, 0x31 + bls _08142228 +_08142206: + ldr r5, _08142264 @ =0x0201e000 + adds r6, r5, 0 + adds r5, 0x78 + movs r4, 0 + subs r7, 0x78 +_08142210: + adds r0, r6, 0 + adds r1, r5, 0 + movs r2, 0x78 + bl memcpy + adds r0, r4, 0x1 + lsls r0, 16 + lsrs r4, r0, 16 + adds r6, 0x78 + adds r5, 0x78 + cmp r4, 0x30 + bls _08142210 +_08142228: + adds r0, r7, 0 + mov r1, r9 + movs r2, 0x78 + bl memcpy + movs r0, 0x2 + movs r1, 0xE + movs r2, 0x1B + movs r3, 0x13 + bl MenuDrawTextWindow + ldr r0, _08142268 @ =gMenuText_HOFSaving + movs r1, 0x3 + movs r2, 0xF + bl MenuPrint + ldr r1, _0814226C @ =gTasks + mov r0, r10 + add r0, r8 + lsls r0, 3 + adds r0, r1 + ldr r1, _08142270 @ =sub_8142274 + str r1, [r0] + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08142264: .4byte 0x0201e000 +_08142268: .4byte gMenuText_HOFSaving +_0814226C: .4byte gTasks +_08142270: .4byte sub_8142274 + thumb_func_end sub_814217C + + thumb_func_start sub_8142274 +sub_8142274: @ 8142274 + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldr r1, _081422A8 @ =gUnknown_03005EBC + ldr r0, _081422AC @ =sub_8141FC4 + str r0, [r1] + movs r0, 0x3 + bl sub_8125D44 + movs r0, 0x37 + bl PlaySE + ldr r1, _081422B0 @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + ldr r1, _081422B4 @ =sub_81422B8 + str r1, [r0] + movs r1, 0x20 + strh r1, [r0, 0xE] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_081422A8: .4byte gUnknown_03005EBC +_081422AC: .4byte sub_8141FC4 +_081422B0: .4byte gTasks +_081422B4: .4byte sub_81422B8 + thumb_func_end sub_8142274 + + thumb_func_start sub_81422B8 +sub_81422B8: @ 81422B8 + push {lr} + lsls r0, 24 + lsrs r0, 24 + ldr r2, _081422D8 @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + ldrh r2, [r1, 0xE] + movs r3, 0xE + ldrsh r0, [r1, r3] + cmp r0, 0 + beq _081422DC + subs r0, r2, 0x1 + strh r0, [r1, 0xE] + b _081422E0 + .align 2, 0 +_081422D8: .4byte gTasks +_081422DC: + ldr r0, _081422E4 @ =sub_81422E8 + str r0, [r1] +_081422E0: + pop {r0} + bx r0 + .align 2, 0 +_081422E4: .4byte sub_81422E8 + thumb_func_end sub_81422B8 + + thumb_func_start sub_81422E8 +sub_81422E8: @ 81422E8 + push {r4,r5,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldr r5, _08142314 @ =gWindowConfig_81E7198 + adds r0, r5, 0 + bl SetUpWindowConfig + adds r0, r5, 0 + bl InitMenuWindow + ldr r1, _08142318 @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + ldr r1, _0814231C @ =sub_8142320 + str r1, [r0] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08142314: .4byte gWindowConfig_81E7198 +_08142318: .4byte gTasks +_0814231C: .4byte sub_8142320 + thumb_func_end sub_81422E8 + + thumb_func_start sub_8142320 +sub_8142320: @ 8142320 + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + sub sp, 0x8 + lsls r0, 24 + lsrs r7, r0, 24 + ldr r2, _08142350 @ =0x0201c000 + ldr r0, _08142354 @ =gTasks + lsls r1, r7, 2 + adds r1, r7 + lsls r1, 3 + adds r1, r0 + ldrh r6, [r1, 0xA] + lsls r0, r6, 2 + adds r0, r6 + lsls r0, 2 + adds r4, r0, r2 + movs r2, 0xC + ldrsh r0, [r1, r2] + cmp r0, 0x3 + ble _0814235C + ldr r1, _08142358 @ =gUnknown_0840B534 + b _0814235E + .align 2, 0 +_08142350: .4byte 0x0201c000 +_08142354: .4byte gTasks +_08142358: .4byte gUnknown_0840B534 +_0814235C: + ldr r1, _081423F0 @ =gUnknown_0840B564 +_0814235E: + lsls r2, r6, 3 + adds r0, r2, r1 + ldrh r5, [r0] + adds r0, r1, 0x2 + adds r0, r2, r0 + ldrh r3, [r0] + adds r0, r1, 0x4 + adds r0, r2, r0 + ldrh r0, [r0] + mov r9, r0 + adds r1, 0x6 + adds r2, r1 + ldrh r2, [r2] + mov r8, r2 + ldrh r0, [r4, 0x8] + lsls r0, 23 + lsrs r0, 23 + lsls r1, r5, 16 + asrs r1, 16 + lsls r2, r3, 16 + asrs r2, 16 + ldr r3, [r4] + str r3, [sp] + ldr r3, [r4, 0x4] + str r3, [sp, 0x4] + adds r3, r6, 0 + bl sub_81436BC + lsls r0, 24 + lsrs r0, 24 + ldr r3, _081423F4 @ =gSprites + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r2, r1, r3 + movs r4, 0 + mov r5, r9 + strh r5, [r2, 0x30] + mov r5, r8 + strh r5, [r2, 0x32] + strh r4, [r2, 0x2E] + adds r3, 0x1C + adds r1, r3 + ldr r2, _081423F8 @ =sub_81435DC + str r2, [r1] + ldr r5, _081423FC @ =gTasks + adds r1, r6, 0x5 + lsls r1, 1 + lsls r4, r7, 2 + adds r4, r7 + lsls r4, 3 + adds r1, r4 + adds r2, r5, 0 + adds r2, 0x8 + adds r1, r2 + strh r0, [r1] + movs r0, 0 + movs r1, 0xE + movs r2, 0x1D + movs r3, 0x13 + bl MenuZeroFillWindowRect + adds r4, r5 + ldr r0, _08142400 @ =sub_8142404 + str r0, [r4] + add sp, 0x8 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_081423F0: .4byte gUnknown_0840B564 +_081423F4: .4byte gSprites +_081423F8: .4byte sub_81435DC +_081423FC: .4byte gTasks +_08142400: .4byte sub_8142404 + thumb_func_end sub_8142320 + + thumb_func_start sub_8142404 +sub_8142404: @ 8142404 + push {r4-r6,lr} + lsls r0, 24 + lsrs r0, 24 + ldr r4, _08142470 @ =0x0201c000 + ldr r3, _08142474 @ =gTasks + lsls r2, r0, 2 + adds r2, r0 + lsls r2, 3 + adds r5, r2, r3 + ldrh r1, [r5, 0xA] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 2 + adds r6, r0, r4 + ldr r4, _08142478 @ =gSprites + adds r1, 0x5 + lsls r1, 1 + adds r1, r2 + adds r3, 0x8 + adds r1, r3 + movs r0, 0 + ldrsh r1, [r1, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r4 + movs r1, 0x2E + ldrsh r0, [r0, r1] + cmp r0, 0 + beq _0814246A + ldrh r2, [r6, 0x8] + ldr r0, _0814247C @ =0x000001ff + ands r0, r2 + movs r1, 0xCE + lsls r1, 1 + cmp r0, r1 + beq _08142458 + lsls r0, r2, 23 + lsrs r0, 23 + movs r1, 0 + bl PlayCry1 +_08142458: + adds r0, r6, 0 + movs r1, 0 + movs r2, 0xE + bl sub_8143088 + movs r0, 0x78 + strh r0, [r5, 0xE] + ldr r0, _08142480 @ =sub_8142484 + str r0, [r5] +_0814246A: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_08142470: .4byte 0x0201c000 +_08142474: .4byte gTasks +_08142478: .4byte gSprites +_0814247C: .4byte 0x000001ff +_08142480: .4byte sub_8142484 + thumb_func_end sub_8142404 + + thumb_func_start sub_8142484 +sub_8142484: @ 8142484 + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + sub sp, 0x4 + lsls r0, 24 + lsrs r5, r0, 24 + ldr r2, _081424BC @ =0x0201c000 + ldr r1, _081424C0 @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r6, r0, 3 + adds r4, r6, r1 + ldrh r3, [r4, 0xA] + lsls r0, r3, 2 + adds r0, r3 + lsls r0, 2 + adds r0, r2 + mov r9, r0 + ldrh r2, [r4, 0xE] + movs r7, 0xE + ldrsh r0, [r4, r7] + mov r12, r1 + cmp r0, 0 + beq _081424C4 + subs r0, r2, 0x1 + strh r0, [r4, 0xE] + b _0814255C + .align 2, 0 +_081424BC: .4byte 0x0201c000 +_081424C0: .4byte gTasks +_081424C4: + ldr r2, _0814253C @ =gUnknown_0203931C + ldr r0, _08142540 @ =gSprites + mov r8, r0 + adds r0, r3, 0x5 + lsls r0, 1 + adds r0, r6 + mov r1, r12 + adds r1, 0x8 + adds r6, r0, r1 + movs r7, 0 + ldrsh r1, [r6, r7] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + add r0, r8 + ldrb r0, [r0, 0x5] + lsrs r0, 4 + movs r1, 0x80 + lsls r1, 9 + lsls r1, r0 + ldr r3, [r2] + orrs r3, r1 + str r3, [r2] + ldrh r2, [r4, 0xA] + movs r1, 0xA + ldrsh r0, [r4, r1] + cmp r0, 0x4 + bgt _08142550 + mov r7, r9 + ldrh r1, [r7, 0x1C] + ldr r0, _08142544 @ =0x000001ff + ands r0, r1 + cmp r0, 0 + beq _08142550 + adds r0, r2, 0x1 + strh r0, [r4, 0xA] + ldr r0, _08142548 @ =0x0000735f + str r0, [sp] + adds r0, r3, 0 + movs r1, 0 + movs r2, 0xC + movs r3, 0xC + bl BeginNormalPaletteFade + movs r0, 0 + ldrsh r1, [r6, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + add r0, r8 + ldrb r2, [r0, 0x5] + movs r1, 0xD + negs r1, r1 + ands r1, r2 + movs r2, 0x4 + orrs r1, r2 + strb r1, [r0, 0x5] + ldr r0, _0814254C @ =sub_8142320 + str r0, [r4] + b _0814255C + .align 2, 0 +_0814253C: .4byte gUnknown_0203931C +_08142540: .4byte gSprites +_08142544: .4byte 0x000001ff +_08142548: .4byte 0x0000735f +_0814254C: .4byte sub_8142320 +_08142550: + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + add r0, r12 + ldr r1, _0814256C @ =sub_8142570 + str r1, [r0] +_0814255C: + add sp, 0x4 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0814256C: .4byte sub_8142570 + thumb_func_end sub_8142484 + + thumb_func_start sub_8142570 +sub_8142570: @ 8142570 + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x4 + lsls r0, 24 + lsrs r4, r0, 24 + ldr r0, _08142604 @ =0xffff0000 + movs r1, 0 + str r1, [sp] + movs r2, 0 + movs r3, 0 + bl BeginNormalPaletteFade + movs r3, 0 + lsls r1, r4, 2 + adds r0, r1, r4 + lsls r5, r0, 3 + ldr r0, _08142608 @ =gTasks + 0x8 + mov r12, r0 + mov r8, r1 + ldr r6, _0814260C @ =gSprites + movs r7, 0xD + negs r7, r7 +_0814259E: + adds r0, r3, 0x5 + lsls r0, 1 + adds r0, r5 + mov r2, r12 + adds r1, r0, r2 + movs r2, 0 + ldrsh r0, [r1, r2] + cmp r0, 0xFF + beq _081425C0 + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r6 + ldrb r2, [r1, 0x5] + adds r0, r7, 0 + ands r0, r2 + strb r0, [r1, 0x5] +_081425C0: + adds r0, r3, 0x1 + lsls r0, 16 + lsrs r3, r0, 16 + cmp r3, 0x5 + bls _0814259E + movs r0, 0 + movs r1, 0xE + movs r2, 0x1D + movs r3, 0x13 + bl MenuZeroFillWindowRect + movs r0, 0 + movs r1, 0xF + bl sub_8143068 + movs r0, 0x69 + bl PlaySE + ldr r1, _08142610 @ =gTasks + mov r2, r8 + adds r0, r2, r4 + lsls r0, 3 + adds r0, r1 + movs r1, 0xC8 + lsls r1, 1 + strh r1, [r0, 0xE] + ldr r1, _08142614 @ =sub_8142618 + str r1, [r0] + add sp, 0x4 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08142604: .4byte 0xffff0000 +_08142608: .4byte gTasks + 0x8 +_0814260C: .4byte gSprites +_08142610: .4byte gTasks +_08142614: .4byte sub_8142618 + thumb_func_end sub_8142570 + + thumb_func_start sub_8142618 +sub_8142618: @ 8142618 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x4 + lsls r0, 24 + lsrs r6, r0, 24 + ldr r7, _08142658 @ =gTasks + lsls r4, r6, 2 + adds r0, r4, r6 + lsls r5, r0, 3 + adds r1, r5, r7 + ldrh r2, [r1, 0xE] + movs r3, 0xE + ldrsh r0, [r1, r3] + cmp r0, 0 + beq _0814265C + subs r2, 0x1 + strh r2, [r1, 0xE] + movs r0, 0x3 + ands r0, r2 + cmp r0, 0 + bne _081426D2 + lsls r0, r2, 16 + asrs r0, 16 + cmp r0, 0x6E + ble _081426D2 + bl sub_81438C4 + b _081426D2 + .align 2, 0 +_08142658: .4byte gTasks +_0814265C: + movs r3, 0 + mov r9, r4 + ldr r0, _081426E4 @ =gUnknown_0203931C + mov r10, r0 + adds r4, r5, 0 + adds r7, 0x8 + mov r8, r7 + ldr r7, _081426E8 @ =gSprites + movs r1, 0xD + negs r1, r1 + mov r12, r1 + movs r5, 0x4 +_08142674: + adds r0, r3, 0x5 + lsls r0, 1 + adds r0, r4 + mov r2, r8 + adds r1, r0, r2 + movs r2, 0 + ldrsh r0, [r1, r2] + cmp r0, 0xFF + beq _08142698 + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r7 + ldrb r2, [r1, 0x5] + mov r0, r12 + ands r0, r2 + orrs r0, r5 + strb r0, [r1, 0x5] +_08142698: + adds r0, r3, 0x1 + lsls r0, 16 + lsrs r3, r0, 16 + cmp r3, 0x5 + bls _08142674 + mov r3, r10 + ldr r0, [r3] + ldr r1, _081426EC @ =0x0000735f + str r1, [sp] + movs r1, 0 + movs r2, 0xC + movs r3, 0xC + bl BeginNormalPaletteFade + movs r0, 0 + movs r1, 0xE + movs r2, 0x1D + movs r3, 0x13 + bl MenuZeroFillWindowRect + ldr r1, _081426F0 @ =gTasks + mov r2, r9 + adds r0, r2, r6 + lsls r0, 3 + adds r0, r1 + movs r1, 0x7 + strh r1, [r0, 0xE] + ldr r1, _081426F4 @ =sub_81426F8 + str r1, [r0] +_081426D2: + add sp, 0x4 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_081426E4: .4byte gUnknown_0203931C +_081426E8: .4byte gSprites +_081426EC: .4byte 0x0000735f +_081426F0: .4byte gTasks +_081426F4: .4byte sub_81426F8 + thumb_func_end sub_8142618 + + thumb_func_start sub_81426F8 +sub_81426F8: @ 81426F8 + push {lr} + lsls r0, 24 + lsrs r0, 24 + ldr r2, _08142718 @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r2, r1, r2 + ldrh r1, [r2, 0xE] + movs r3, 0xE + ldrsh r0, [r2, r3] + cmp r0, 0xF + ble _08142720 + ldr r0, _0814271C @ =sub_8142738 + str r0, [r2] + b _0814272E + .align 2, 0 +_08142718: .4byte gTasks +_0814271C: .4byte sub_8142738 +_08142720: + adds r0, r1, 0x1 + strh r0, [r2, 0xE] + ldr r1, _08142734 @ =REG_BLDALPHA + movs r3, 0xE + ldrsh r0, [r2, r3] + lsls r0, 8 + strh r0, [r1] +_0814272E: + pop {r0} + bx r0 + .align 2, 0 +_08142734: .4byte REG_BLDALPHA + thumb_func_end sub_81426F8 + + thumb_func_start sub_8142738 +sub_8142738: @ 8142738 + push {r4,r5,lr} + adds r5, r0, 0 + lsls r5, 24 + lsrs r5, 24 + movs r1, 0x80 + lsls r1, 19 + movs r2, 0xCA + lsls r2, 5 + adds r0, r2, 0 + strh r0, [r1] + ldr r4, _08142784 @ =gWindowConfig_81E71B4 + adds r0, r4, 0 + bl SetUpWindowConfig + adds r0, r4, 0 + bl InitMenuWindow + ldr r0, _08142788 @ =gSaveBlock2 + ldrb r0, [r0, 0x8] + movs r1, 0x78 + movs r2, 0x48 + movs r3, 0x6 + bl sub_81437A4 + ldr r2, _0814278C @ =gTasks + lsls r1, r5, 2 + adds r1, r5 + lsls r1, 3 + adds r1, r2 + strh r0, [r1, 0x10] + movs r0, 0x78 + strh r0, [r1, 0xE] + ldr r0, _08142790 @ =sub_8142794 + str r0, [r1] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08142784: .4byte gWindowConfig_81E71B4 +_08142788: .4byte gSaveBlock2 +_0814278C: .4byte gTasks +_08142790: .4byte sub_8142794 + thumb_func_end sub_8142738 + + thumb_func_start sub_8142794 +sub_8142794: @ 8142794 + push {r4,lr} + lsls r0, 24 + lsrs r0, 24 + ldr r2, _081427B4 @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r4, r1, r2 + ldrh r1, [r4, 0xE] + movs r2, 0xE + ldrsh r0, [r4, r2] + cmp r0, 0 + beq _081427B8 + subs r0, r1, 0x1 + strh r0, [r4, 0xE] + b _0814280A + .align 2, 0 +_081427B4: .4byte gTasks +_081427B8: + ldr r2, _081427D8 @ =gSprites + movs r3, 0x10 + ldrsh r1, [r4, r3] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r1, r0, r2 + ldrh r2, [r1, 0x20] + movs r3, 0x20 + ldrsh r0, [r1, r3] + cmp r0, 0xA0 + beq _081427DC + adds r0, r2, 0x1 + strh r0, [r1, 0x20] + b _0814280A + .align 2, 0 +_081427D8: .4byte gSprites +_081427DC: + movs r0, 0x1 + movs r1, 0x2 + movs r2, 0xF + movs r3, 0x9 + bl MenuDrawTextWindow + movs r0, 0x1 + movs r1, 0x2 + bl sub_8143300 + movs r0, 0x2 + movs r1, 0xE + movs r2, 0x1B + movs r3, 0x13 + bl MenuDrawTextWindow + ldr r0, _08142810 @ =gMenuText_HOFCongratulations + movs r1, 0x4 + movs r2, 0xF + bl MenuPrint + ldr r0, _08142814 @ =sub_8142818 + str r0, [r4] +_0814280A: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08142810: .4byte gMenuText_HOFCongratulations +_08142814: .4byte sub_8142818 + thumb_func_end sub_8142794 + + thumb_func_start sub_8142818 +sub_8142818: @ 8142818 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + ldr r0, _08142844 @ =gMain + ldrh r1, [r0, 0x2E] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _0814283E + movs r0, 0x4 + bl FadeOutBGM + ldr r0, _08142848 @ =gTasks + lsls r1, r4, 2 + adds r1, r4 + lsls r1, 3 + adds r1, r0 + ldr r0, _0814284C @ =sub_8142850 + str r0, [r1] +_0814283E: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08142844: .4byte gMain +_08142848: .4byte gTasks +_0814284C: .4byte sub_8142850 + thumb_func_end sub_8142818 + + thumb_func_start sub_8142850 +sub_8142850: @ 8142850 + push {r4,lr} + sub sp, 0x4 + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldr r0, _08142890 @ =gPlttBufferFaded + ldr r1, _08142894 @ =gPlttBufferUnfaded + movs r2, 0x80 + lsls r2, 2 + bl CpuSet + movs r0, 0x1 + negs r0, r0 + movs r1, 0 + str r1, [sp] + movs r1, 0x8 + movs r2, 0 + movs r3, 0x10 + bl BeginNormalPaletteFade + ldr r1, _08142898 @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + ldr r1, _0814289C @ =sub_81428A0 + str r1, [r0] + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08142890: .4byte gPlttBufferFaded +_08142894: .4byte gPlttBufferUnfaded +_08142898: .4byte gTasks +_0814289C: .4byte sub_81428A0 + thumb_func_end sub_8142850 + + thumb_func_start sub_81428A0 +sub_81428A0: @ 81428A0 + push {lr} + lsls r0, 24 + lsrs r2, r0, 24 + ldr r0, _081428C4 @ =gPaletteFade + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + bne _081428BE + adds r0, r2, 0 + bl DestroyTask + ldr r0, _081428C8 @ =sub_81439D0 + bl SetMainCallback2 +_081428BE: + pop {r0} + bx r0 + .align 2, 0 +_081428C4: .4byte gPaletteFade +_081428C8: .4byte sub_81439D0 + thumb_func_end sub_81428A0 + + thumb_func_start sub_81428CC +sub_81428CC: @ 81428CC + push {r4,r5,lr} + ldr r0, _081428E4 @ =gMain + ldr r1, _081428E8 @ =0x0000043c + adds r0, r1 + ldrb r0, [r0] + cmp r0, 0x5 + bhi _08142908 + lsls r0, 2 + ldr r1, _081428EC @ =_081428F0 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_081428E4: .4byte gMain +_081428E8: .4byte 0x0000043c +_081428EC: .4byte _081428F0 + .align 2, 0 +_081428F0: + .4byte _08142908 + .4byte _08142928 + .4byte _0814293C + .4byte _08142980 + .4byte _081429C0 + .4byte _081429EC +_08142908: + movs r0, 0 + bl SetVBlankCallback + bl sub_81433E0 + ldr r0, _08142920 @ =gMain + ldr r2, _08142924 @ =0x0000043c + adds r0, r2 + movs r1, 0x1 + strb r1, [r0] + b _08142A12 + .align 2, 0 +_08142920: .4byte gMain +_08142924: .4byte 0x0000043c +_08142928: + bl sub_8143570 + ldr r1, _08142934 @ =gMain + ldr r3, _08142938 @ =0x0000043c + adds r1, r3 + b _081429DC + .align 2, 0 +_08142934: .4byte gMain +_08142938: .4byte 0x0000043c +_0814293C: + ldr r0, _08142968 @ =sub_8141E38 + bl SetVBlankCallback + ldr r3, _0814296C @ =0x04000208 + ldrh r2, [r3] + movs r0, 0 + strh r0, [r3] + ldr r4, _08142970 @ =0x04000200 + ldrh r0, [r4] + movs r1, 0x1 + orrs r0, r1 + strh r0, [r4] + strh r2, [r3] + ldr r2, _08142974 @ =REG_DISPSTAT + ldrh r0, [r2] + movs r1, 0x8 + orrs r0, r1 + strh r0, [r2] + ldr r1, _08142978 @ =gMain + ldr r4, _0814297C @ =0x0000043c + adds r1, r4 + b _081429DC + .align 2, 0 +_08142968: .4byte sub_8141E38 +_0814296C: .4byte 0x04000208 +_08142970: .4byte 0x04000200 +_08142974: .4byte REG_DISPSTAT +_08142978: .4byte gMain +_0814297C: .4byte 0x0000043c +_08142980: + ldr r0, _081429AC @ =REG_BLDCNT + movs r1, 0 + strh r1, [r0] + adds r0, 0x2 + strh r1, [r0] + adds r0, 0x2 + strh r1, [r0] + bl sub_81435B8 + ldr r0, _081429B0 @ =0x0201c000 + adds r2, r0, 0 + ldr r1, _081429B4 @ =gUnknown_0840B57C + ldm r1!, {r3-r5} + stm r2!, {r3-r5} + ldm r1!, {r3,r5} + stm r2!, {r3,r5} + bl sub_80C5CD4 + ldr r1, _081429B8 @ =gMain + ldr r4, _081429BC @ =0x0000043c + adds r1, r4 + b _081429DC + .align 2, 0 +_081429AC: .4byte REG_BLDCNT +_081429B0: .4byte 0x0201c000 +_081429B4: .4byte gUnknown_0840B57C +_081429B8: .4byte gMain +_081429BC: .4byte 0x0000043c +_081429C0: + bl AnimateSprites + bl BuildOamBuffer + bl UpdatePaletteFade + bl sub_80C5DCC + lsls r0, 24 + cmp r0, 0 + beq _08142A12 + ldr r1, _081429E4 @ =gMain + ldr r5, _081429E8 @ =0x0000043c + adds r1, r5 +_081429DC: + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] + b _08142A12 + .align 2, 0 +_081429E4: .4byte gMain +_081429E8: .4byte 0x0000043c +_081429EC: + ldr r1, _08142A18 @ =REG_BLDCNT + ldr r2, _08142A1C @ =0x00003f42 + adds r0, r2, 0 + strh r0, [r1] + adds r1, 0x2 + movs r3, 0xE2 + lsls r3, 3 + adds r0, r3, 0 + strh r0, [r1] + adds r1, 0x2 + movs r0, 0 + strh r0, [r1] + ldr r0, _08142A20 @ =sub_8142A28 + movs r1, 0 + bl CreateTask + ldr r0, _08142A24 @ =sub_8141E4C + bl SetMainCallback2 +_08142A12: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08142A18: .4byte REG_BLDCNT +_08142A1C: .4byte 0x00003f42 +_08142A20: .4byte sub_8142A28 +_08142A24: .4byte sub_8141E4C + thumb_func_end sub_81428CC + + thumb_func_start sub_8142A28 +sub_8142A28: @ 8142A28 + push {r4-r7,lr} + lsls r0, 24 + lsrs r5, r0, 24 + movs r0, 0x3 + bl sub_8125EC8 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _08142A54 + ldr r0, _08142A4C @ =gTasks + lsls r1, r5, 2 + adds r1, r5 + lsls r1, 3 + adds r1, r0 + ldr r0, _08142A50 @ =sub_8142FEC + str r0, [r1] + b _08142AEA + .align 2, 0 +_08142A4C: .4byte gTasks +_08142A50: .4byte sub_8142FEC +_08142A54: + ldr r2, _08142A8C @ =0x0201e000 + movs r3, 0 + ldrh r1, [r2, 0x8] + ldr r4, _08142A90 @ =0x000001ff + adds r0, r4, 0 + ands r0, r1 + ldr r7, _08142A94 @ =gTasks + lsls r6, r5, 2 + cmp r0, 0 + beq _08142A7E +_08142A68: + adds r0, r3, 0x1 + lsls r0, 16 + lsrs r3, r0, 16 + adds r2, 0x78 + cmp r3, 0x31 + bhi _08142A98 + ldrh r1, [r2, 0x8] + adds r0, r4, 0 + ands r0, r1 + cmp r0, 0 + bne _08142A68 +_08142A7E: + cmp r3, 0x31 + bhi _08142A98 + adds r0, r6, r5 + lsls r0, 3 + adds r0, r7 + subs r1, r3, 0x1 + b _08142AA0 + .align 2, 0 +_08142A8C: .4byte 0x0201e000 +_08142A90: .4byte 0x000001ff +_08142A94: .4byte gTasks +_08142A98: + adds r0, r6, r5 + lsls r0, 3 + adds r0, r7 + movs r1, 0x31 +_08142AA0: + strh r1, [r0, 0x8] + movs r0, 0xA + bl sub_8053108 + ldr r2, _08142AF0 @ =gTasks + adds r1, r6, r5 + lsls r1, 3 + adds r1, r2 + strh r0, [r1, 0xA] + movs r3, 0 + ldr r7, _08142AF4 @ =0x0600381a + ldr r4, _08142AF8 @ =0x0600385a +_08142AB8: + lsls r1, r3, 1 + adds r2, r1, r7 + adds r0, r3, 0x3 + strh r0, [r2] + adds r1, r4 + adds r0, 0x11 + strh r0, [r1] + adds r0, r3, 0x1 + lsls r0, 16 + lsrs r3, r0, 16 + cmp r3, 0x10 + bls _08142AB8 + ldr r4, _08142AFC @ =gWindowConfig_81E7198 + adds r0, r4, 0 + bl SetUpWindowConfig + adds r0, r4, 0 + bl InitMenuWindow + ldr r1, _08142AF0 @ =gTasks + adds r0, r6, r5 + lsls r0, 3 + adds r0, r1 + ldr r1, _08142B00 @ =sub_8142B04 + str r1, [r0] +_08142AEA: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08142AF0: .4byte gTasks +_08142AF4: .4byte 0x0600381a +_08142AF8: .4byte 0x0600385a +_08142AFC: .4byte gWindowConfig_81E7198 +_08142B00: .4byte sub_8142B04 + thumb_func_end sub_8142A28 + + thumb_func_start sub_8142B04 +sub_8142B04: @ 8142B04 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x10 + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + ldr r3, _08142BB8 @ =0x0201e000 + movs r5, 0 + ldr r1, _08142BBC @ =gTasks + lsls r0, 2 + add r0, r8 + lsls r0, 3 + adds r0, r1 + movs r2, 0x8 + ldrsh r0, [r0, r2] + adds r6, r1, 0 + ldr r2, _08142BC0 @ =gUnknown_0203931C + cmp r5, r0 + bge _08142B3E + adds r1, r0, 0 +_08142B32: + adds r3, 0x78 + adds r0, r5, 0x1 + lsls r0, 16 + lsrs r5, r0, 16 + cmp r5, r1 + blt _08142B32 +_08142B3E: + adds r4, r3, 0 + movs r0, 0 + str r0, [r2] + mov r5, r8 + lsls r2, r5, 2 + adds r1, r2, r5 + lsls r1, 3 + adds r1, r6 + strh r0, [r1, 0xC] + strh r0, [r1, 0x10] + movs r5, 0 + str r2, [sp, 0xC] + ldr r6, _08142BC4 @ =0x000001ff + adds r2, r1, 0 +_08142B5A: + ldrh r1, [r4, 0x8] + adds r0, r6, 0 + ands r0, r1 + cmp r0, 0 + beq _08142B6A + ldrh r0, [r2, 0x10] + adds r0, 0x1 + strh r0, [r2, 0x10] +_08142B6A: + adds r0, r5, 0x1 + lsls r0, 16 + lsrs r5, r0, 16 + adds r4, 0x14 + cmp r5, 0x5 + bls _08142B5A + adds r4, r3, 0 + movs r5, 0 + ldr r1, _08142BBC @ =gTasks + ldr r0, [sp, 0xC] + add r0, r8 + lsls r7, r0, 3 + adds r6, r7, r1 + str r6, [sp, 0x8] + adds r1, 0x8 + mov r9, r1 + ldr r0, _08142BC8 @ =gUnknown_0840B564 + mov r10, r0 +_08142B8E: + ldrh r1, [r4, 0x8] + ldr r2, _08142BC4 @ =0x000001ff + adds r0, r2, 0 + ands r0, r1 + adds r6, r1, 0 + cmp r0, 0 + beq _08142C30 + ldr r1, [sp, 0x8] + movs r2, 0x10 + ldrsh r0, [r1, r2] + cmp r0, 0x3 + ble _08142BD4 + lsls r1, r5, 3 + ldr r0, _08142BCC @ =gUnknown_0840B534 + adds r0, 0x4 + adds r0, r1, r0 + ldrh r3, [r0] + ldr r0, _08142BD0 @ =gUnknown_0840B53A + adds r1, r0 + b _08142BE2 + .align 2, 0 +_08142BB8: .4byte 0x0201e000 +_08142BBC: .4byte gTasks +_08142BC0: .4byte gUnknown_0203931C +_08142BC4: .4byte 0x000001ff +_08142BC8: .4byte gUnknown_0840B564 +_08142BCC: .4byte gUnknown_0840B534 +_08142BD0: .4byte gUnknown_0840B53A +_08142BD4: + lsls r1, r5, 3 + mov r0, r10 + adds r0, 0x4 + adds r0, r1, r0 + ldrh r3, [r0] + ldr r2, _08142C28 @ =gUnknown_0840B56A + adds r1, r2 +_08142BE2: + ldrh r2, [r1] + lsls r0, r6, 23 + lsrs r0, 23 + lsls r1, r3, 16 + asrs r1, 16 + lsls r2, 16 + asrs r2, 16 + ldr r3, [r4] + str r3, [sp] + ldr r3, [r4, 0x4] + str r3, [sp, 0x4] + adds r3, r5, 0 + bl sub_81436BC + lsls r0, 16 + lsrs r0, 16 + ldr r2, _08142C2C @ =gSprites + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r2 + ldrb r3, [r1, 0x5] + movs r6, 0xD + negs r6, r6 + adds r2, r6, 0 + ands r3, r2 + movs r2, 0x4 + orrs r3, r2 + strb r3, [r1, 0x5] + adds r1, r5, 0x5 + lsls r1, 1 + adds r1, r7 + add r1, r9 + strh r0, [r1] + b _08142C3C + .align 2, 0 +_08142C28: .4byte gUnknown_0840B56A +_08142C2C: .4byte gSprites +_08142C30: + adds r0, r5, 0x5 + lsls r0, 1 + adds r0, r7 + add r0, r9 + movs r1, 0xFF + strh r1, [r0] +_08142C3C: + adds r0, r5, 0x1 + lsls r0, 16 + lsrs r5, r0, 16 + adds r4, 0x14 + cmp r5, 0x5 + bls _08142B8E + ldr r0, _08142CB0 @ =0xffff0000 + ldr r2, _08142CB4 @ =0x0000735f + movs r1, 0xC + bl BlendPalettes + ldr r3, _08142CB8 @ =gStringVar1 + ldr r1, _08142CBC @ =gMenuText_HOFNumber + adds r0, r3, 0 + bl StringCopy + adds r3, r0, 0 + movs r5, 0xFC + strb r5, [r3] + movs r0, 0x14 + strb r0, [r3, 0x1] + movs r0, 0x6 + strb r0, [r3, 0x2] + adds r3, 0x3 + ldr r0, _08142CC0 @ =gTasks + ldr r4, [sp, 0xC] + add r4, r8 + lsls r4, 3 + adds r4, r0 + movs r0, 0xA + ldrsh r1, [r4, r0] + adds r0, r3, 0 + bl ConvertIntToDecimalString + adds r3, r0, 0 + strb r5, [r3] + movs r0, 0x13 + strb r0, [r3, 0x1] + movs r0, 0xF0 + strb r0, [r3, 0x2] + movs r0, 0xFF + strb r0, [r3, 0x3] + ldr r0, _08142CB8 @ =gStringVar1 + movs r1, 0 + movs r2, 0 + bl MenuPrint + ldr r0, _08142CC4 @ =sub_8142CC8 + str r0, [r4] + add sp, 0x10 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08142CB0: .4byte 0xffff0000 +_08142CB4: .4byte 0x0000735f +_08142CB8: .4byte gStringVar1 +_08142CBC: .4byte gMenuText_HOFNumber +_08142CC0: .4byte gTasks +_08142CC4: .4byte sub_8142CC8 + thumb_func_end sub_8142B04 + + thumb_func_start sub_8142CC8 +sub_8142CC8: @ 8142CC8 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + lsls r0, 24 + lsrs r4, r0, 24 + ldr r0, _08142DD0 @ =0x0201e000 + mov r8, r0 + movs r3, 0 + ldr r1, _08142DD4 @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + movs r2, 0x8 + ldrsh r0, [r0, r2] + cmp r3, r0 + bge _08142CFE + adds r1, r0, 0 +_08142CF0: + movs r0, 0x78 + add r8, r0 + adds r0, r3, 0x1 + lsls r0, 16 + lsrs r3, r0, 16 + cmp r3, r1 + blt _08142CF0 +_08142CFE: + movs r3, 0 + lsls r6, r4, 2 + adds r0, r6, r4 + lsls r5, r0, 3 + ldr r1, _08142DD8 @ =gTasks + 0x8 + mov r10, r1 + ldr r2, _08142DDC @ =gSprites + mov r12, r2 + movs r0, 0xD + negs r0, r0 + mov r9, r0 + movs r7, 0x4 +_08142D16: + adds r0, r3, 0x5 + lsls r0, 1 + adds r0, r5 + add r0, r10 + ldrh r1, [r0] + cmp r1, 0xFF + beq _08142D36 + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + add r0, r12 + ldrb r2, [r0, 0x5] + mov r1, r9 + ands r1, r2 + orrs r1, r7 + strb r1, [r0, 0x5] +_08142D36: + adds r0, r3, 0x1 + lsls r0, 16 + lsrs r3, r0, 16 + cmp r3, 0x5 + bls _08142D16 + adds r1, r6, r4 + lsls r1, 3 + ldr r2, _08142DD4 @ =gTasks + adds r5, r1, r2 + movs r2, 0xC + ldrsh r0, [r5, r2] + adds r0, 0x5 + lsls r0, 1 + adds r0, r1 + ldr r1, _08142DD4 @ =gTasks + adds r1, 0x8 + adds r0, r1 + ldrh r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + ldr r1, _08142DDC @ =gSprites + adds r0, r1 + ldrb r2, [r0, 0x5] + movs r1, 0xD + negs r1, r1 + ands r1, r2 + strb r1, [r0, 0x5] + lsrs r1, 4 + movs r0, 0x80 + lsls r0, 9 + lsls r0, r1 + ldr r1, _08142DE0 @ =0xffff0000 + eors r0, r1 + ldr r2, _08142DE4 @ =gUnknown_0203931C + str r0, [r2] + ldr r2, _08142DE8 @ =0x0000735f + movs r1, 0xC + bl BlendPalettesUnfaded + movs r0, 0xC + ldrsh r1, [r5, r0] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 2 + mov r1, r8 + adds r4, r1, r0 + ldrh r1, [r4, 0x8] + ldr r0, _08142DEC @ =0x000001ff + ands r0, r1 + movs r1, 0xCE + lsls r1, 1 + cmp r0, r1 + beq _08142DB2 + bl StopCryAndClearCrySongs + ldrh r0, [r4, 0x8] + lsls r0, 23 + lsrs r0, 23 + movs r1, 0 + bl PlayCry1 +_08142DB2: + adds r0, r4, 0 + movs r1, 0 + movs r2, 0xE + bl sub_8143088 + ldr r0, _08142DF0 @ =sub_8142DF4 + str r0, [r5] + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08142DD0: .4byte 0x0201e000 +_08142DD4: .4byte gTasks +_08142DD8: .4byte gTasks + 0x8 +_08142DDC: .4byte gSprites +_08142DE0: .4byte 0xffff0000 +_08142DE4: .4byte gUnknown_0203931C +_08142DE8: .4byte 0x0000735f +_08142DEC: .4byte 0x000001ff +_08142DF0: .4byte sub_8142DF4 + thumb_func_end sub_8142CC8 + + thumb_func_start sub_8142DF4 +sub_8142DF4: @ 8142DF4 + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + lsls r0, 24 + lsrs r6, r0, 24 + ldr r1, _08142E88 @ =gMain + ldrh r2, [r1, 0x2E] + movs r0, 0x1 + ands r0, r2 + adds r3, r1, 0 + cmp r0, 0 + beq _08142EC4 + ldr r7, _08142E8C @ =gTasks + lsls r0, r6, 2 + adds r1, r0, r6 + lsls r3, r1, 3 + adds r4, r3, r7 + ldrh r2, [r4, 0x8] + movs r5, 0x8 + ldrsh r1, [r4, r5] + mov r8, r0 + cmp r1, 0 + beq _08142E98 + subs r0, r2, 0x1 + strh r0, [r4, 0x8] + movs r5, 0 + adds r7, 0x8 + mov r9, r7 + adds r7, r3, 0 +_08142E30: + adds r0, r5, 0x5 + lsls r0, 1 + adds r0, r7 + add r0, r9 + ldrb r1, [r0] + cmp r1, 0xFF + beq _08142E5E + ldr r0, _08142E90 @ =gSprites + lsls r4, r1, 4 + adds r4, r1 + lsls r4, 2 + adds r4, r0 + ldrb r0, [r4, 0x5] + lsrs r0, 4 + bl GetSpritePaletteTagByPaletteNum + lsls r0, 16 + lsrs r0, 16 + bl FreeSpritePaletteByTag + adds r0, r4, 0 + bl DestroySprite +_08142E5E: + adds r0, r5, 0x1 + lsls r0, 16 + lsrs r5, r0, 16 + cmp r5, 0x5 + bls _08142E30 + ldr r0, _08142E8C @ =gTasks + mov r2, r8 + adds r1, r2, r6 + lsls r1, 3 + adds r1, r0 + ldrh r2, [r1, 0xA] + movs r3, 0xA + ldrsh r0, [r1, r3] + cmp r0, 0 + beq _08142E80 + subs r0, r2, 0x1 + strh r0, [r1, 0xA] +_08142E80: + ldr r0, _08142E94 @ =sub_8142B04 + str r0, [r1] + b _08142F64 + .align 2, 0 +_08142E88: .4byte gMain +_08142E8C: .4byte gTasks +_08142E90: .4byte gSprites +_08142E94: .4byte sub_8142B04 +_08142E98: + bl IsCryPlayingOrClearCrySongs + lsls r0, 24 + cmp r0, 0 + beq _08142EB2 + bl StopCryAndClearCrySongs + ldr r0, _08142EB8 @ =gMPlay_BGM + ldr r1, _08142EBC @ =0x0000ffff + movs r2, 0x80 + lsls r2, 1 + bl m4aMPlayVolumeControl +_08142EB2: + ldr r0, _08142EC0 @ =sub_8142F78 + str r0, [r4] + b _08142F64 + .align 2, 0 +_08142EB8: .4byte gMPlay_BGM +_08142EBC: .4byte 0x0000ffff +_08142EC0: .4byte sub_8142F78 +_08142EC4: + movs r0, 0x2 + ands r0, r2 + cmp r0, 0 + beq _08142F08 + bl IsCryPlayingOrClearCrySongs + lsls r0, 24 + cmp r0, 0 + beq _08142EE6 + bl StopCryAndClearCrySongs + ldr r0, _08142EF8 @ =gMPlay_BGM + ldr r1, _08142EFC @ =0x0000ffff + movs r2, 0x80 + lsls r2, 1 + bl m4aMPlayVolumeControl +_08142EE6: + ldr r0, _08142F00 @ =gTasks + lsls r1, r6, 2 + adds r1, r6 + lsls r1, 3 + adds r1, r0 + ldr r0, _08142F04 @ =sub_8142F78 + str r0, [r1] + b _08142F64 + .align 2, 0 +_08142EF8: .4byte gMPlay_BGM +_08142EFC: .4byte 0x0000ffff +_08142F00: .4byte gTasks +_08142F04: .4byte sub_8142F78 +_08142F08: + movs r0, 0x40 + ands r0, r2 + cmp r0, 0 + beq _08142F38 + ldr r0, _08142F30 @ =gTasks + lsls r1, r6, 2 + adds r1, r6 + lsls r1, 3 + adds r1, r0 + ldrh r2, [r1, 0xC] + movs r4, 0xC + ldrsh r0, [r1, r4] + cmp r0, 0 + beq _08142F38 + subs r0, r2, 0x1 + strh r0, [r1, 0xC] + ldr r0, _08142F34 @ =sub_8142CC8 + str r0, [r1] + b _08142F64 + .align 2, 0 +_08142F30: .4byte gTasks +_08142F34: .4byte sub_8142CC8 +_08142F38: + ldrh r1, [r3, 0x2E] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + beq _08142F64 + ldr r1, _08142F70 @ =gTasks + lsls r0, r6, 2 + adds r0, r6 + lsls r0, 3 + adds r2, r0, r1 + movs r5, 0xC + ldrsh r1, [r2, r5] + movs r3, 0x10 + ldrsh r0, [r2, r3] + subs r0, 0x1 + cmp r1, r0 + bge _08142F64 + ldrh r0, [r2, 0xC] + adds r0, 0x1 + strh r0, [r2, 0xC] + ldr r0, _08142F74 @ =sub_8142CC8 + str r0, [r2] +_08142F64: + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08142F70: .4byte gTasks +_08142F74: .4byte sub_8142CC8 + thumb_func_end sub_8142DF4 + + thumb_func_start sub_8142F78 +sub_8142F78: @ 8142F78 + push {r4-r6,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldr r0, _08142FB4 @ =gPlttBufferFaded + ldr r1, _08142FB8 @ =gPlttBufferUnfaded + movs r2, 0x80 + lsls r2, 2 + bl CpuSet + ldr r0, _08142FBC @ =0x0201c000 + adds r2, r0, 0 + ldr r1, _08142FC0 @ =gUnknown_0840B57C + ldm r1!, {r3,r5,r6} + stm r2!, {r3,r5,r6} + ldm r1!, {r3,r5} + stm r2!, {r3,r5} + bl sub_80C5E38 + ldr r1, _08142FC4 @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + ldr r1, _08142FC8 @ =sub_8142FCC + str r1, [r0] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_08142FB4: .4byte gPlttBufferFaded +_08142FB8: .4byte gPlttBufferUnfaded +_08142FBC: .4byte 0x0201c000 +_08142FC0: .4byte gUnknown_0840B57C +_08142FC4: .4byte gTasks +_08142FC8: .4byte sub_8142FCC + thumb_func_end sub_8142F78 + + thumb_func_start sub_8142FCC +sub_8142FCC: @ 8142FCC + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + bl sub_80C5F98 + lsls r0, 24 + cmp r0, 0 + beq _08142FE6 + adds r0, r4, 0 + bl DestroyTask + bl ReturnFromHallOfFamePC +_08142FE6: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8142FCC + + thumb_func_start sub_8142FEC +sub_8142FEC: @ 8142FEC + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + movs r0, 0x2 + movs r1, 0xE + movs r2, 0x1B + movs r3, 0x13 + bl MenuDrawTextWindow + ldr r0, _08143020 @ =gMenuText_HOFCorrupt + movs r1, 0x3 + movs r2, 0xF + bl MenuPrintMessage + ldr r1, _08143024 @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + ldr r1, _08143028 @ =sub_814302C + str r1, [r0] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08143020: .4byte gMenuText_HOFCorrupt +_08143024: .4byte gTasks +_08143028: .4byte sub_814302C + thumb_func_end sub_8142FEC + + thumb_func_start sub_814302C +sub_814302C: @ 814302C + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + bl MenuUpdateWindowText + lsls r0, 24 + cmp r0, 0 + beq _08143056 + ldr r0, _0814305C @ =gMain + ldrh r1, [r0, 0x2E] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _08143056 + ldr r0, _08143060 @ =gTasks + lsls r1, r4, 2 + adds r1, r4 + lsls r1, 3 + adds r1, r0 + ldr r0, _08143064 @ =sub_8142F78 + str r0, [r1] +_08143056: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0814305C: .4byte gMain +_08143060: .4byte gTasks +_08143064: .4byte sub_8142F78 + thumb_func_end sub_814302C + + thumb_func_start sub_8143068 +sub_8143068: @ 8143068 + push {lr} + lsls r2, r1, 24 + ldr r0, _08143084 @ =gMenuText_WelcomeToHOFAndDexRating + movs r1, 0x80 + lsls r1, 17 + adds r2, r1 + lsrs r2, 24 + movs r1, 0 + movs r3, 0xF0 + bl sub_8072BD8 + pop {r0} + bx r0 + .align 2, 0 +_08143084: .4byte gMenuText_WelcomeToHOFAndDexRating + thumb_func_end sub_8143068 + + thumb_func_start sub_8143088 +sub_8143088: @ 8143088 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x14 + mov r9, r0 + lsls r1, 24 + lsrs r1, 24 + mov r8, r1 + lsls r2, 24 + lsrs r2, 24 + mov r10, r2 + ldr r7, _08143188 @ =gStringVar1 + movs r0, 0xFC + strb r0, [r7] + movs r0, 0x13 + strb r0, [r7, 0x1] + movs r0, 0x28 + strb r0, [r7, 0x2] + movs r0, 0xFF + strb r0, [r7, 0x3] + mov r0, r9 + ldrh r2, [r0, 0x8] + ldr r0, _0814318C @ =0x000001ff + ands r0, r2 + movs r1, 0xCE + lsls r1, 1 + cmp r0, r1 + beq _081430EA + lsls r0, r2, 23 + lsrs r0, 23 + bl SpeciesToPokedexNum + lsls r0, 16 + lsrs r6, r0, 16 + ldr r0, _08143190 @ =0x0000ffff + cmp r6, r0 + beq _081430EA + ldr r1, _08143194 @ =gOtherText_Number2 + adds r0, r7, 0 + bl StringCopy + adds r7, r0, 0 + adds r1, r6, 0 + movs r2, 0x2 + movs r3, 0x3 + bl ConvertIntToDecimalStringN +_081430EA: + ldr r5, _08143188 @ =gStringVar1 + mov r1, r8 + adds r1, 0x4 + lsls r1, 24 + lsrs r1, 24 + mov r4, r10 + adds r4, 0x1 + lsls r2, r4, 24 + lsrs r2, 24 + adds r0, r5, 0 + bl MenuPrint + adds r7, r5, 0 + movs r3, 0 + mov r1, r9 + ldrb r0, [r1, 0xA] + str r4, [sp] + mov r2, r8 + adds r2, 0x9 + str r2, [sp, 0xC] + mov r6, r10 + adds r6, 0x3 + str r6, [sp, 0x8] + cmp r0, 0xFF + beq _0814313A + mov r2, r9 + adds r2, 0xA +_08143120: + adds r1, r7, r3 + adds r0, r2, r3 + ldrb r0, [r0] + strb r0, [r1] + adds r0, r3, 0x1 + lsls r0, 16 + lsrs r3, r0, 16 + cmp r3, 0x9 + bhi _0814313A + adds r0, r2, r3 + ldrb r0, [r0] + cmp r0, 0xFF + bne _08143120 +_0814313A: + adds r7, r3 + movs r2, 0xFF + strb r2, [r7] + mov r1, r9 + ldrh r0, [r1, 0x8] + ldr r1, _0814318C @ =0x000001ff + ands r1, r0 + movs r0, 0xCE + lsls r0, 1 + cmp r1, r0 + bne _08143198 + movs r0, 0xFC + strb r0, [r7] + movs r0, 0x13 + strb r0, [r7, 0x1] + movs r0, 0xA0 + strb r0, [r7, 0x2] + strb r2, [r7, 0x3] + ldr r0, _08143188 @ =gStringVar1 + ldr r2, [sp, 0xC] + lsls r1, r2, 24 + lsrs r1, 24 + ldr r3, [sp] + lsls r2, r3, 24 + lsrs r2, 24 + bl MenuPrint + ldr r6, [sp, 0x8] + lsls r1, r6, 24 + lsrs r1, 24 + mov r3, r10 + adds r3, 0x4 + lsls r3, 24 + lsrs r3, 24 + movs r0, 0 + movs r2, 0x1D + bl MenuZeroFillWindowRect + b _081432E4 + .align 2, 0 +_08143188: .4byte gStringVar1 +_0814318C: .4byte 0x000001ff +_08143190: .4byte 0x0000ffff +_08143194: .4byte gOtherText_Number2 +_08143198: + movs r0, 0xFC + strb r0, [r7] + movs r0, 0x13 + strb r0, [r7, 0x1] + movs r0, 0x3E + strb r0, [r7, 0x2] + adds r7, 0x3 + movs r0, 0xBA + strb r0, [r7] + adds r7, 0x1 + movs r3, 0 + ldr r2, _08143238 @ =gSpeciesNames + mov r1, r9 + ldrh r0, [r1, 0x8] + lsls r0, 23 + lsrs r0, 23 + movs r1, 0xB + muls r0, r1 + adds r0, r2 + ldrb r0, [r0] + mov r6, r8 + adds r6, 0x7 + str r6, [sp, 0x4] + mov r1, r8 + adds r1, 0xD + str r1, [sp, 0x10] + cmp r0, 0xFF + beq _08143204 + adds r5, r2, 0 + movs r4, 0xB +_081431D4: + adds r1, r7, r3 + mov r6, r9 + ldrh r0, [r6, 0x8] + lsls r0, 23 + lsrs r0, 23 + muls r0, r4 + adds r0, r3, r0 + adds r0, r5 + ldrb r0, [r0] + strb r0, [r1] + adds r0, r3, 0x1 + lsls r0, 16 + lsrs r3, r0, 16 + cmp r3, 0x9 + bhi _08143204 + ldrh r0, [r6, 0x8] + lsls r0, 23 + lsrs r0, 23 + muls r0, r4 + adds r0, r3, r0 + adds r0, r2 + ldrb r0, [r0] + cmp r0, 0xFF + bne _081431D4 +_08143204: + adds r7, r3 + movs r0, 0 + strb r0, [r7] + adds r7, 0x1 + mov r1, r9 + ldrh r0, [r1, 0x8] + ldr r1, _0814323C @ =0x000001ff + ands r1, r0 + cmp r1, 0x20 + beq _0814324A + cmp r1, 0x1D + beq _0814324A + lsls r0, 23 + lsrs r0, 23 + mov r2, r9 + ldr r1, [r2, 0x4] + bl GetGenderFromSpeciesAndPersonality + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0 + beq _08143240 + cmp r0, 0xFE + beq _08143244 + b _0814324A + .align 2, 0 +_08143238: .4byte gSpeciesNames +_0814323C: .4byte 0x000001ff +_08143240: + movs r0, 0xB5 + b _08143246 +_08143244: + movs r0, 0xB6 +_08143246: + strb r0, [r7] + adds r7, 0x1 +_0814324A: + movs r4, 0xFC + strb r4, [r7] + movs r3, 0x13 + mov r8, r3 + strb r3, [r7, 0x1] + movs r0, 0xA0 + strb r0, [r7, 0x2] + movs r6, 0xFF + mov r10, r6 + strb r6, [r7, 0x3] + ldr r5, _081432F4 @ =gStringVar1 + ldr r0, [sp, 0xC] + lsls r1, r0, 24 + lsrs r1, 24 + ldr r3, [sp] + lsls r2, r3, 24 + lsrs r2, 24 + adds r0, r5, 0 + bl MenuPrint + mov r6, r9 + ldrb r0, [r6, 0x9] + lsrs r6, r0, 1 + ldr r1, _081432F8 @ =gOtherText_Level3 + adds r0, r5, 0 + bl StringCopy + adds r7, r0, 0 + strb r4, [r7] + movs r0, 0x14 + strb r0, [r7, 0x1] + movs r0, 0x6 + strb r0, [r7, 0x2] + adds r7, 0x3 + adds r0, r7, 0 + adds r1, r6, 0 + movs r2, 0 + movs r3, 0x3 + bl ConvertIntToDecimalStringN + adds r7, r0, 0 + strb r4, [r7] + mov r0, r8 + strb r0, [r7, 0x1] + movs r0, 0x30 + strb r0, [r7, 0x2] + mov r1, r10 + strb r1, [r7, 0x3] + ldr r2, [sp, 0x4] + lsls r1, r2, 24 + lsrs r1, 24 + ldr r3, [sp, 0x8] + lsls r4, r3, 24 + lsrs r4, 24 + adds r0, r5, 0 + adds r2, r4, 0 + bl MenuPrint + mov r0, r9 + ldrh r6, [r0] + ldr r1, _081432FC @ =gOtherText_IDNumber + adds r0, r5, 0 + bl StringCopy + adds r7, r0, 0 + adds r1, r6, 0 + movs r2, 0x2 + movs r3, 0x5 + bl ConvertIntToDecimalStringN + ldr r2, [sp, 0x10] + lsls r1, r2, 24 + lsrs r1, 24 + adds r0, r5, 0 + adds r2, r4, 0 + bl MenuPrint +_081432E4: + add sp, 0x14 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_081432F4: .4byte gStringVar1 +_081432F8: .4byte gOtherText_Level3 +_081432FC: .4byte gOtherText_IDNumber + thumb_func_end sub_8143088 + + thumb_func_start sub_8143300 +sub_8143300: @ 8143300 + push {r4-r6,lr} + mov r6, r10 + mov r5, r9 + mov r4, r8 + push {r4-r6} + adds r5, r0, 0 + adds r4, r1, 0 + lsls r5, 24 + lsls r4, 24 + ldr r0, _081433CC @ =gOtherText_Name + lsrs r1, r5, 24 + mov r8, r1 + movs r2, 0x80 + lsls r2, 17 + adds r5, r2 + lsrs r5, 24 + lsrs r6, r4, 24 + adds r4, r2 + lsrs r4, 24 + adds r1, r5, 0 + adds r2, r4, 0 + bl MenuPrint + ldr r0, _081433D0 @ =gSaveBlock2 + mov r10, r0 + movs r1, 0xE + add r8, r1 + mov r2, r8 + lsls r2, 24 + lsrs r2, 24 + mov r8, r2 + mov r1, r8 + adds r2, r4, 0 + bl MenuPrint_RightAligned + ldr r0, _081433D4 @ =gOtherText_IDNumber2 + adds r4, r6, 0x3 + lsls r4, 24 + lsrs r4, 24 + adds r1, r5, 0 + adds r2, r4, 0 + bl MenuPrint + mov r0, r10 + ldrb r1, [r0, 0xA] + ldrb r0, [r0, 0xB] + lsls r0, 8 + orrs r1, r0 + ldr r2, _081433D8 @ =gStringVar1 + mov r9, r2 + mov r0, r9 + movs r2, 0x2 + movs r3, 0x5 + bl ConvertIntToDecimalStringN + mov r0, r9 + mov r1, r8 + adds r2, r4, 0 + bl MenuPrint_RightAligned + ldr r0, _081433DC @ =gMainMenuString_Time + adds r6, 0x5 + lsls r6, 24 + lsrs r6, 24 + adds r1, r5, 0 + adds r2, r6, 0 + bl MenuPrint + mov r0, r10 + ldrh r1, [r0, 0xE] + mov r0, r9 + bl ConvertIntToDecimalString + adds r2, r0, 0 + movs r1, 0 + strb r1, [r2] + movs r0, 0xF0 + strb r0, [r2, 0x1] + strb r1, [r2, 0x2] + adds r2, 0x3 + mov r0, r10 + ldrb r1, [r0, 0x10] + adds r0, r2, 0 + movs r2, 0x2 + movs r3, 0x2 + bl ConvertIntToDecimalStringN + adds r2, r0, 0 + movs r0, 0xFF + strb r0, [r2] + mov r0, r9 + mov r1, r8 + adds r2, r6, 0 + bl MenuPrint_RightAligned + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_081433CC: .4byte gOtherText_Name +_081433D0: .4byte gSaveBlock2 +_081433D4: .4byte gOtherText_IDNumber2 +_081433D8: .4byte gStringVar1 +_081433DC: .4byte gMainMenuString_Time + thumb_func_end sub_8143300 + + thumb_func_start sub_81433E0 +sub_81433E0: @ 81433E0 + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + sub sp, 0x8 + movs r0, 0x80 + lsls r0, 19 + movs r1, 0 + strh r1, [r0] + adds r0, 0x8 + strh r1, [r0] + adds r0, 0x8 + strh r1, [r0] + adds r0, 0x2 + strh r1, [r0] + subs r0, 0x8 + strh r1, [r0] + adds r0, 0xA + strh r1, [r0] + adds r0, 0x2 + strh r1, [r0] + subs r0, 0xA + strh r1, [r0] + adds r0, 0xC + strh r1, [r0] + adds r0, 0x2 + strh r1, [r0] + subs r0, 0xC + strh r1, [r0] + adds r0, 0xE + strh r1, [r0] + adds r0, 0x2 + strh r1, [r0] + movs r3, 0xC0 + lsls r3, 19 + movs r4, 0xC0 + lsls r4, 9 + add r0, sp, 0x4 + mov r8, r0 + ldr r1, _0814354C @ =gHallOfFame_Gfx + mov r9, r1 + mov r2, sp + movs r6, 0 + ldr r1, _08143550 @ =0x040000d4 + movs r5, 0x80 + lsls r5, 5 + ldr r7, _08143554 @ =0x81000800 + movs r0, 0x81 + lsls r0, 24 + mov r12, r0 +_08143444: + strh r6, [r2] + mov r0, sp + str r0, [r1] + str r3, [r1, 0x4] + str r7, [r1, 0x8] + ldr r0, [r1, 0x8] + adds r3, r5 + subs r4, r5 + cmp r4, r5 + bhi _08143444 + strh r6, [r2] + mov r2, sp + str r2, [r1] + str r3, [r1, 0x4] + lsrs r0, r4, 1 + mov r2, r12 + orrs r0, r2 + str r0, [r1, 0x8] + ldr r0, [r1, 0x8] + movs r0, 0xE0 + lsls r0, 19 + movs r3, 0x80 + lsls r3, 3 + movs r4, 0 + str r4, [sp, 0x4] + ldr r2, _08143550 @ =0x040000d4 + mov r1, r8 + str r1, [r2] + str r0, [r2, 0x4] + lsrs r0, r3, 2 + movs r1, 0x85 + lsls r1, 24 + orrs r0, r1 + str r0, [r2, 0x8] + ldr r0, [r2, 0x8] + movs r1, 0xA0 + lsls r1, 19 + mov r0, sp + strh r4, [r0] + str r0, [r2] + str r1, [r2, 0x4] + lsrs r3, 1 + movs r0, 0x81 + lsls r0, 24 + orrs r3, r0 + str r3, [r2, 0x8] + ldr r0, [r2, 0x8] + movs r1, 0xC0 + lsls r1, 19 + mov r0, r9 + bl LZ77UnCompVram + movs r1, 0 + ldr r3, _08143558 @ =0x06003800 + movs r2, 0x1 +_081434B2: + lsls r0, r1, 1 + adds r0, r3 + strh r2, [r0] + adds r0, r1, 0x1 + lsls r0, 16 + lsrs r1, r0, 16 + cmp r1, 0x3F + bls _081434B2 + movs r1, 0 + ldr r5, _0814355C @ =0x02000000 + ldr r3, _08143560 @ =0x06003b80 + movs r2, 0x1 +_081434CA: + lsls r0, r1, 1 + adds r0, r3 + strh r2, [r0] + adds r0, r1, 0x1 + lsls r0, 16 + lsrs r1, r0, 16 + cmp r1, 0xBF + bls _081434CA + movs r1, 0 + ldr r4, _08143564 @ =0x06003000 + movs r3, 0x2 + ldr r2, _08143568 @ =0x000003ff +_081434E2: + lsls r0, r1, 1 + adds r0, r4 + strh r3, [r0] + adds r0, r1, 0x1 + lsls r0, 16 + lsrs r1, r0, 16 + cmp r1, r2 + bls _081434E2 + adds r2, r5, 0 + movs r3, 0x80 + lsls r3, 7 + mov r4, sp + movs r6, 0 + ldr r1, _08143550 @ =0x040000d4 + movs r5, 0x80 + lsls r5, 5 + ldr r7, _08143554 @ =0x81000800 + movs r0, 0x81 + lsls r0, 24 + mov r12, r0 +_0814350A: + strh r6, [r4] + mov r0, sp + str r0, [r1] + str r2, [r1, 0x4] + str r7, [r1, 0x8] + ldr r0, [r1, 0x8] + adds r2, r5 + subs r3, r5 + cmp r3, r5 + bhi _0814350A + strh r6, [r4] + mov r0, sp + str r0, [r1] + str r2, [r1, 0x4] + lsrs r0, r3, 1 + mov r2, r12 + orrs r0, r2 + str r0, [r1, 0x8] + ldr r0, [r1, 0x8] + bl ResetPaletteFade + ldr r0, _0814356C @ =gHallOfFame_Pal + movs r1, 0 + movs r2, 0x20 + bl LoadPalette + add sp, 0x8 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0814354C: .4byte gHallOfFame_Gfx +_08143550: .4byte 0x040000d4 +_08143554: .4byte 0x81000800 +_08143558: .4byte 0x06003800 +_0814355C: .4byte 0x02000000 +_08143560: .4byte 0x06003b80 +_08143564: .4byte 0x06003000 +_08143568: .4byte 0x000003ff +_0814356C: .4byte gHallOfFame_Pal + thumb_func_end sub_81433E0 + + thumb_func_start sub_8143570 +sub_8143570: @ 8143570 + push {r4,lr} + bl remove_some_task + bl ResetTasks + bl ResetSpriteData + bl FreeAllSpritePalettes + ldr r1, _081435A8 @ =gReservedSpritePaletteCount + movs r0, 0x8 + strb r0, [r1] + ldr r0, _081435AC @ =gUnknown_0840B514 + bl LoadCompressedObjectPic + ldr r0, _081435B0 @ =gUnknown_0840B524 + bl LoadCompressedObjectPalette + ldr r4, _081435B4 @ =gWindowConfig_81E71B4 + adds r0, r4, 0 + bl SetUpWindowConfig + adds r0, r4, 0 + bl InitMenuWindow + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_081435A8: .4byte gReservedSpritePaletteCount +_081435AC: .4byte gUnknown_0840B514 +_081435B0: .4byte gUnknown_0840B524 +_081435B4: .4byte gWindowConfig_81E71B4 + thumb_func_end sub_8143570 + + thumb_func_start sub_81435B8 +sub_81435B8: @ 81435B8 + ldr r1, _081435D8 @ =REG_BG1CNT + movs r2, 0xE0 + lsls r2, 3 + adds r0, r2, 0 + strh r0, [r1] + adds r1, 0x4 + subs r2, 0xFD + adds r0, r2, 0 + strh r0, [r1] + subs r1, 0xE + movs r2, 0xDA + lsls r2, 5 + adds r0, r2, 0 + strh r0, [r1] + bx lr + .align 2, 0 +_081435D8: .4byte REG_BG1CNT + thumb_func_end sub_81435B8 + + thumb_func_start sub_81435DC +sub_81435DC: @ 81435DC + push {r4,lr} + adds r2, r0, 0 + ldr r1, [r2, 0x20] + ldr r0, [r2, 0x30] + cmp r1, r0 + beq _08143632 + ldrh r3, [r2, 0x20] + movs r1, 0x20 + ldrsh r0, [r2, r1] + movs r4, 0x30 + ldrsh r1, [r2, r4] + cmp r0, r1 + bge _081435FC + adds r0, r3, 0 + adds r0, 0xF + strh r0, [r2, 0x20] +_081435FC: + ldrh r3, [r2, 0x20] + movs r4, 0x20 + ldrsh r0, [r2, r4] + cmp r0, r1 + ble _0814360C + adds r0, r3, 0 + subs r0, 0xF + strh r0, [r2, 0x20] +_0814360C: + ldrh r3, [r2, 0x22] + movs r1, 0x22 + ldrsh r0, [r2, r1] + movs r4, 0x32 + ldrsh r1, [r2, r4] + cmp r0, r1 + bge _08143620 + adds r0, r3, 0 + adds r0, 0xA + strh r0, [r2, 0x22] +_08143620: + ldrh r3, [r2, 0x22] + movs r4, 0x22 + ldrsh r0, [r2, r4] + cmp r0, r1 + ble _0814363A + adds r0, r3, 0 + subs r0, 0xA + strh r0, [r2, 0x22] + b _0814363A +_08143632: + movs r0, 0x1 + strh r0, [r2, 0x2E] + ldr r0, _08143640 @ =nullsub_81 + str r0, [r2, 0x1C] +_0814363A: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08143640: .4byte nullsub_81 + thumb_func_end sub_81435DC + + thumb_func_start nullsub_81 +nullsub_81: @ 8143644 + bx lr + thumb_func_end nullsub_81 + + thumb_func_start sub_8143648 +sub_8143648: @ 8143648 + push {r4-r7,lr} + lsls r1, 24 + ldr r4, _08143670 @ =gUnknown_02024E8C + adds r3, r4, 0 + ldr r2, _08143674 @ =gUnknown_0840B6B8 + ldm r2!, {r5-r7} + stm r3!, {r5-r7} + ldm r2!, {r5-r7} + stm r3!, {r5-r7} + strh r0, [r4, 0x2] + ldr r0, _08143678 @ =gUnknown_0840B69C + lsrs r1, 22 + adds r1, r0 + ldr r0, [r1] + str r0, [r4, 0xC] + ldr r0, _0814367C @ =gSpriteAnimTable_81E7C64 + str r0, [r4, 0x8] + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08143670: .4byte gUnknown_02024E8C +_08143674: .4byte gUnknown_0840B6B8 +_08143678: .4byte gUnknown_0840B69C +_0814367C: .4byte gSpriteAnimTable_81E7C64 + thumb_func_end sub_8143648 + + thumb_func_start sub_8143680 +sub_8143680: @ 8143680 + push {r4-r7,lr} + lsls r1, 24 + ldr r4, _081436AC @ =gUnknown_02024E8C + adds r3, r4, 0 + ldr r2, _081436B0 @ =gUnknown_0840B6B8 + ldm r2!, {r5-r7} + stm r3!, {r5-r7} + ldm r2!, {r5-r7} + stm r3!, {r5-r7} + strh r0, [r4, 0x2] + ldr r0, _081436B4 @ =gUnknown_0840B69C + lsrs r1, 22 + adds r1, r0 + ldr r0, [r1] + str r0, [r4, 0xC] + ldr r0, _081436B8 @ =gUnknown_081EC2A4 + ldr r0, [r0] + str r0, [r4, 0x8] + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_081436AC: .4byte gUnknown_02024E8C +_081436B0: .4byte gUnknown_0840B6B8 +_081436B4: .4byte gUnknown_0840B69C +_081436B8: .4byte gUnknown_081EC2A4 + thumb_func_end sub_8143680 + + thumb_func_start sub_81436BC +sub_81436BC: @ 81436BC + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x10 + adds r6, r0, 0 + mov r9, r1 + mov r10, r2 + mov r8, r3 + ldr r7, [sp, 0x34] + lsls r6, 16 + lsrs r6, 16 + mov r0, r9 + lsls r0, 16 + lsrs r0, 16 + mov r9, r0 + mov r1, r10 + lsls r1, 16 + lsrs r1, 16 + mov r10, r1 + mov r2, r8 + lsls r2, 16 + lsrs r2, 16 + mov r8, r2 + lsls r0, r6, 3 + ldr r1, _08143790 @ =gMonFrontPicTable + adds r0, r1 + ldr r1, _08143794 @ =gMonFrontPicCoords + lsls r2, r6, 2 + adds r2, r1 + ldrb r1, [r2] + ldrb r2, [r2, 0x1] + movs r3, 0x80 + lsls r3, 18 + ldr r4, _08143798 @ =gUnknown_0840B5A0 + mov r12, r4 + mov r5, r8 + lsls r4, r5, 2 + add r4, r12 + ldr r4, [r4] + str r4, [sp] + str r6, [sp, 0x4] + str r7, [sp, 0x8] + movs r4, 0x1 + str r4, [sp, 0xC] + bl sub_800D378 + adds r0, r6, 0 + ldr r1, [sp, 0x30] + adds r2, r7, 0 + bl species_and_otid_get_pal + lsls r4, r5, 4 + movs r2, 0x80 + lsls r2, 1 + adds r1, r4, r2 + lsls r1, 16 + lsrs r1, 16 + movs r2, 0x20 + bl LoadCompressedPalette + lsls r1, r5, 24 + lsrs r1, 24 + mov r0, r8 + bl sub_8143648 + ldr r0, _0814379C @ =gUnknown_02024E8C + mov r5, r9 + lsls r5, 16 + asrs r5, 16 + mov r9, r5 + mov r1, r10 + lsls r1, 16 + asrs r1, 16 + mov r10, r1 + movs r3, 0xA + mov r2, r8 + subs r3, r2 + lsls r3, 24 + lsrs r3, 24 + mov r1, r9 + mov r2, r10 + bl CreateSprite + lsls r0, 24 + lsrs r0, 24 + ldr r1, _081437A0 @ =gSprites + lsls r2, r0, 4 + adds r2, r0 + lsls r2, 2 + adds r2, r1 + ldrb r3, [r2, 0x5] + movs r1, 0xF + ands r1, r3 + orrs r1, r4 + strb r1, [r2, 0x5] + add sp, 0x10 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_08143790: .4byte gMonFrontPicTable +_08143794: .4byte gMonFrontPicCoords +_08143798: .4byte gUnknown_0840B5A0 +_0814379C: .4byte gUnknown_02024E8C +_081437A0: .4byte gSprites + thumb_func_end sub_81436BC + + thumb_func_start sub_81437A4 +sub_81437A4: @ 81437A4 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x8 + mov r9, r1 + mov r10, r2 + adds r6, r3, 0 + lsls r0, 16 + lsrs r0, 16 + lsls r1, 16 + lsrs r1, 16 + mov r9, r1 + lsls r2, 16 + lsrs r2, 16 + mov r10, r2 + lsls r6, 16 + lsrs r6, 16 + lsls r7, r0, 3 + ldr r1, _08143854 @ =gTrainerFrontPicTable + mov r8, r1 + add r8, r7 + ldr r1, _08143858 @ =gTrainerFrontPicCoords + lsls r2, r0, 2 + adds r2, r1 + ldrb r1, [r2] + ldrb r2, [r2, 0x1] + movs r3, 0x80 + lsls r3, 18 + ldr r5, _0814385C @ =gUnknown_0840B5A0 + lsls r4, r6, 2 + adds r4, r5 + ldr r4, [r4] + str r4, [sp] + str r0, [sp, 0x4] + mov r0, r8 + bl DecompressPicFromTable_2 + ldr r0, _08143860 @ =gTrainerFrontPicPaletteTable + adds r0, r7, r0 + ldr r0, [r0] + lsls r4, r6, 4 + movs r2, 0x80 + lsls r2, 1 + adds r1, r4, r2 + lsls r1, 16 + lsrs r1, 16 + movs r2, 0x20 + bl LoadCompressedPalette + lsls r1, r6, 24 + lsrs r1, 24 + adds r0, r6, 0 + bl sub_8143680 + ldr r0, _08143864 @ =gUnknown_02024E8C + mov r1, r9 + lsls r1, 16 + asrs r1, 16 + mov r9, r1 + mov r2, r10 + lsls r2, 16 + asrs r2, 16 + mov r10, r2 + movs r3, 0x1 + bl CreateSprite + lsls r0, 24 + lsrs r0, 24 + ldr r1, _08143868 @ =gSprites + lsls r2, r0, 4 + adds r2, r0 + lsls r2, 2 + adds r2, r1 + ldrb r3, [r2, 0x5] + movs r1, 0xF + ands r1, r3 + orrs r1, r4 + strb r1, [r2, 0x5] + add sp, 0x8 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_08143854: .4byte gTrainerFrontPicTable +_08143858: .4byte gTrainerFrontPicCoords +_0814385C: .4byte gUnknown_0840B5A0 +_08143860: .4byte gTrainerFrontPicPaletteTable +_08143864: .4byte gUnknown_02024E8C +_08143868: .4byte gSprites + thumb_func_end sub_81437A4 + + thumb_func_start sub_814386C +sub_814386C: @ 814386C + push {r4,r5,lr} + adds r5, r0, 0 + ldrh r1, [r5, 0x26] + movs r2, 0x26 + ldrsh r0, [r5, r2] + cmp r0, 0x78 + ble _08143882 + adds r0, r5, 0 + bl DestroySprite + b _081438BA +_08143882: + adds r0, r1, 0x1 + ldrh r1, [r5, 0x30] + adds r0, r1 + strh r0, [r5, 0x26] + ldrh r4, [r5, 0x2E] + lsls r4, 24 + lsrs r4, 24 + bl Random + lsls r0, 16 + lsrs r0, 16 + movs r1, 0x3 + ands r0, r1 + adds r0, 0x8 + ldr r1, _081438C0 @ =gSineTable + lsls r4, 1 + adds r4, r1 + movs r2, 0 + ldrsh r1, [r4, r2] + muls r0, r1 + cmp r0, 0 + bge _081438B0 + adds r0, 0xFF +_081438B0: + asrs r0, 8 + strh r0, [r5, 0x24] + ldrh r0, [r5, 0x2E] + adds r0, 0x4 + strh r0, [r5, 0x2E] +_081438BA: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_081438C0: .4byte gSineTable + thumb_func_end sub_814386C + + thumb_func_start sub_81438C4 +sub_81438C4: @ 81438C4 + push {r4,lr} + bl Random + lsls r0, 16 + lsrs r0, 16 + movs r1, 0xF0 + bl __umodsi3 + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + bl Random + adds r2, r0, 0 + lsls r2, 16 + lsrs r2, 16 + movs r0, 0x7 + ands r2, r0 + negs r2, r2 + ldr r0, _08143934 @ =gSpriteTemplate_840B7A4 + lsls r4, 16 + asrs r4, 16 + lsls r2, 16 + asrs r2, 16 + adds r1, r4, 0 + movs r3, 0 + bl CreateSprite + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + ldr r0, _08143938 @ =gSprites + adds r4, r1, r0 + bl Random + lsls r0, 16 + lsrs r0, 16 + movs r1, 0x11 + bl __umodsi3 + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + adds r0, r4, 0 + bl StartSpriteAnim + bl Random + movs r1, 0x3 + ands r1, r0 + cmp r1, 0 + beq _0814393C + movs r0, 0 + b _0814393E + .align 2, 0 +_08143934: .4byte gSpriteTemplate_840B7A4 +_08143938: .4byte gSprites +_0814393C: + movs r0, 0x1 +_0814393E: + strh r0, [r4, 0x30] + movs r0, 0 + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81438C4 + + .align 2, 0 @ Don't pad with nop. diff --git a/asm/intro.s b/asm/intro.s new file mode 100644 index 000000000..21f3a236f --- /dev/null +++ b/asm/intro.s @@ -0,0 +1,4710 @@ + .include "constants/gba_constants.inc" + .include "constants/species_constants.inc" + .include "asm/macros.inc" + + .syntax unified + + .text + + thumb_func_start sub_813CAF4 +sub_813CAF4: @ 813CAF4 + push {r4-r6,lr} + sub sp, 0x4 + lsls r0, 24 + lsrs r5, r0, 24 + ldr r1, _0813CB2C @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r4, r0, r1 + ldrh r0, [r4, 0x26] + adds r0, 0x1 + movs r6, 0 + strh r0, [r4, 0x26] + movs r1, 0x8 + ldrsh r0, [r4, r1] + cmp r0, 0x4 + bne _0813CB18 + b _0813CC28 +_0813CB18: + cmp r0, 0x4 + bgt _0813CB30 + cmp r0, 0x2 + beq _0813CB60 + cmp r0, 0x2 + bgt _0813CBC4 + cmp r0, 0 + beq _0813CB46 + b _0813CC8E + .align 2, 0 +_0813CB2C: .4byte gTasks +_0813CB30: + cmp r0, 0x1E + beq _0813CBEE + cmp r0, 0x1E + bgt _0813CB3E + cmp r0, 0x14 + beq _0813CB8A + b _0813CC8E +_0813CB3E: + cmp r0, 0x28 + bne _0813CB44 + b _0813CC56 +_0813CB44: + b _0813CC8E +_0813CB46: + movs r1, 0x80 + lsls r1, 19 + movs r2, 0xE5 + lsls r2, 6 + adds r0, r2, 0 + strh r0, [r1] + ldr r0, _0813CB5C @ =REG_BG2CNT + strh r6, [r0] + movs r0, 0xFF + strh r0, [r4, 0x8] + b _0813CC8E + .align 2, 0 +_0813CB5C: .4byte REG_BG2CNT +_0813CB60: + ldr r0, _0813CBB0 @ =0x0000ffff + str r0, [sp] + movs r0, 0x1 + movs r1, 0 + movs r2, 0x10 + movs r3, 0 + bl BeginNormalPaletteFade + ldr r1, _0813CBB4 @ =REG_BG2CNT + ldr r2, _0813CBB8 @ =0x00000e07 + adds r0, r2, 0 + strh r0, [r1] + subs r1, 0xC + movs r2, 0xF5 + lsls r2, 6 + adds r0, r2, 0 + strh r0, [r1] + strh r6, [r4, 0xA] + strh r6, [r4, 0xC] + movs r0, 0x14 + strh r0, [r4, 0x8] +_0813CB8A: + ldr r2, _0813CBBC @ =REG_BG2VOFS + ldr r0, _0813CBC0 @ =gTasks + lsls r1, r5, 2 + adds r1, r5 + lsls r1, 3 + adds r1, r0 + ldrh r0, [r1, 0xA] + strh r0, [r2] + subs r2, 0x2 + ldrh r0, [r1, 0xC] + strh r0, [r2] + ldrh r0, [r1, 0xA] + adds r0, 0x6 + strh r0, [r1, 0xA] + ldrh r0, [r1, 0xC] + subs r0, 0x8 + strh r0, [r1, 0xC] + b _0813CC8E + .align 2, 0 +_0813CBB0: .4byte 0x0000ffff +_0813CBB4: .4byte REG_BG2CNT +_0813CBB8: .4byte 0x00000e07 +_0813CBBC: .4byte REG_BG2VOFS +_0813CBC0: .4byte gTasks +_0813CBC4: + ldr r0, _0813CC14 @ =0x0000ffff + str r0, [sp] + movs r0, 0x1 + movs r1, 0 + movs r2, 0x10 + movs r3, 0 + bl BeginNormalPaletteFade + ldr r1, _0813CC18 @ =REG_BG2CNT + ldr r2, _0813CC1C @ =0x00000e07 + adds r0, r2, 0 + strh r0, [r1] + subs r1, 0xC + movs r2, 0xF5 + lsls r2, 6 + adds r0, r2, 0 + strh r0, [r1] + strh r6, [r4, 0xA] + strh r6, [r4, 0xC] + movs r0, 0x1E + strh r0, [r4, 0x8] +_0813CBEE: + ldr r2, _0813CC20 @ =REG_BG2VOFS + ldr r0, _0813CC24 @ =gTasks + lsls r1, r5, 2 + adds r1, r5 + lsls r1, 3 + adds r1, r0 + ldrh r0, [r1, 0xA] + strh r0, [r2] + subs r2, 0x2 + ldrh r0, [r1, 0xC] + strh r0, [r2] + ldrh r0, [r1, 0xA] + subs r0, 0x6 + strh r0, [r1, 0xA] + ldrh r0, [r1, 0xC] + adds r0, 0x8 + strh r0, [r1, 0xC] + b _0813CC8E + .align 2, 0 +_0813CC14: .4byte 0x0000ffff +_0813CC18: .4byte REG_BG2CNT +_0813CC1C: .4byte 0x00000e07 +_0813CC20: .4byte REG_BG2VOFS +_0813CC24: .4byte gTasks +_0813CC28: + ldr r0, _0813CC98 @ =0x000037f7 + str r0, [sp] + movs r0, 0x1 + movs r1, 0x5 + movs r2, 0 + movs r3, 0x10 + bl BeginNormalPaletteFade + ldr r1, _0813CC9C @ =REG_BG2CNT + ldr r2, _0813CCA0 @ =0x00000e07 + adds r0, r2, 0 + strh r0, [r1] + subs r1, 0xC + movs r2, 0xF5 + lsls r2, 6 + adds r0, r2, 0 + strh r0, [r1] + strh r6, [r4, 0xA] + strh r6, [r4, 0xC] + movs r0, 0x8 + strh r0, [r4, 0xE] + movs r0, 0x28 + strh r0, [r4, 0x8] +_0813CC56: + ldr r2, _0813CCA4 @ =REG_BG2VOFS + ldr r1, _0813CCA8 @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r3, r0, r1 + ldrh r0, [r3, 0xA] + strh r0, [r2] + ldr r1, _0813CCAC @ =REG_BG2HOFS + ldrh r0, [r3, 0xC] + strh r0, [r1] + ldrh r0, [r3, 0xA] + ldrh r2, [r3, 0xE] + subs r0, r2 + strh r0, [r3, 0xA] + ldrh r1, [r3, 0xC] + adds r0, r2, r1 + strh r0, [r3, 0xC] + ldrh r1, [r3, 0x26] + movs r0, 0x7 + ands r0, r1 + cmp r0, 0 + bne _0813CC8E + lsls r0, r2, 16 + cmp r0, 0 + beq _0813CC8E + subs r0, r2, 0x1 + strh r0, [r3, 0xE] +_0813CC8E: + add sp, 0x4 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0813CC98: .4byte 0x000037f7 +_0813CC9C: .4byte REG_BG2CNT +_0813CCA0: .4byte 0x00000e07 +_0813CCA4: .4byte REG_BG2VOFS +_0813CCA8: .4byte gTasks +_0813CCAC: .4byte REG_BG2HOFS + thumb_func_end sub_813CAF4 + + thumb_func_start intro_reset_and_hide_bgs +intro_reset_and_hide_bgs: @ 813CCB0 + movs r0, 0x80 + lsls r0, 19 + movs r1, 0 + strh r1, [r0] + adds r0, 0x1C + strh r1, [r0] + adds r0, 0x2 + strh r1, [r0] + subs r0, 0x6 + strh r1, [r0] + adds r0, 0x2 + strh r1, [r0] + subs r0, 0x6 + strh r1, [r0] + adds r0, 0x2 + strh r1, [r0] + subs r0, 0x6 + strh r1, [r0] + adds r0, 0x2 + strh r1, [r0] + adds r0, 0x3E + strh r1, [r0] + adds r0, 0x2 + strh r1, [r0] + adds r0, 0x2 + strh r1, [r0] + bx lr + thumb_func_end intro_reset_and_hide_bgs + + thumb_func_start sub_813CCE8 +sub_813CCE8: @ 813CCE8 + push {r4,lr} + lsls r0, 24 + lsrs r3, r0, 24 + ldr r1, _0813CD0C @ =gTasks + lsls r0, r3, 2 + adds r0, r3 + lsls r0, 3 + adds r0, r1 + movs r2, 0x8 + ldrsh r0, [r0, r2] + adds r2, r1, 0 + cmp r0, 0x4 + bhi _0813CD28 + lsls r0, 2 + ldr r1, _0813CD10 @ =_0813CD14 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0813CD0C: .4byte gTasks +_0813CD10: .4byte _0813CD14 + .align 2, 0 +_0813CD14: + .4byte _0813CD28 + .4byte _0813CD5C + .4byte _0813CD8C + .4byte _0813CDA8 + .4byte _0813CDFC +_0813CD28: + ldr r1, _0813CD54 @ =REG_BLDCNT + ldr r4, _0813CD58 @ =0x00003f50 + adds r0, r4, 0 + strh r0, [r1] + adds r1, 0x2 + movs r4, 0x80 + lsls r4, 5 + adds r0, r4, 0 + strh r0, [r1] + adds r1, 0x2 + movs r0, 0 + strh r0, [r1] + lsls r0, r3, 2 + adds r0, r3 + lsls r0, 3 + adds r0, r2 + movs r1, 0x40 + strh r1, [r0, 0xA] + movs r1, 0x1 + strh r1, [r0, 0x8] + b _0813CE26 + .align 2, 0 +_0813CD54: .4byte REG_BLDCNT +_0813CD58: .4byte 0x00003f50 +_0813CD5C: + lsls r0, r3, 2 + adds r0, r3 + lsls r0, 3 + adds r2, r0, r2 + ldrh r1, [r2, 0xA] + movs r3, 0xA + ldrsh r0, [r2, r3] + cmp r0, 0 + beq _0813CD78 + subs r0, r1, 0x1 + strh r0, [r2, 0xA] + movs r4, 0xA + ldrsh r0, [r2, r4] + b _0813CDC2 +_0813CD78: + ldr r1, _0813CD84 @ =REG_BLDALPHA + ldr r0, _0813CD88 @ =gUnknown_08393E64 + ldrh r0, [r0] + strh r0, [r1] + movs r0, 0x80 + b _0813CDEA + .align 2, 0 +_0813CD84: .4byte REG_BLDALPHA +_0813CD88: .4byte gUnknown_08393E64 +_0813CD8C: + lsls r0, r3, 2 + adds r0, r3 + lsls r0, 3 + adds r1, r0, r2 + ldrh r0, [r1, 0xA] + movs r3, 0xA + ldrsh r2, [r1, r3] + cmp r2, 0 + bne _0813CE0E + strh r2, [r1, 0xA] + ldrh r0, [r1, 0x8] + adds r0, 0x1 + strh r0, [r1, 0x8] + b _0813CE26 +_0813CDA8: + lsls r0, r3, 2 + adds r0, r3 + lsls r0, 3 + adds r2, r0, r2 + ldrh r1, [r2, 0xA] + movs r4, 0xA + ldrsh r0, [r2, r4] + cmp r0, 0x3D + bgt _0813CDE0 + adds r0, r1, 0x1 + strh r0, [r2, 0xA] + movs r1, 0xA + ldrsh r0, [r2, r1] +_0813CDC2: + lsrs r1, r0, 31 + adds r0, r1 + movs r2, 0xFF + lsls r2, 1 + ldr r3, _0813CDD8 @ =REG_BLDALPHA + ldr r1, _0813CDDC @ =gUnknown_08393E64 + ands r0, r2 + adds r0, r1 + ldrh r0, [r0] + strh r0, [r3] + b _0813CE26 + .align 2, 0 +_0813CDD8: .4byte REG_BLDALPHA +_0813CDDC: .4byte gUnknown_08393E64 +_0813CDE0: + ldr r1, _0813CDF4 @ =REG_BLDALPHA + ldr r0, _0813CDF8 @ =gUnknown_08393E64 + ldrh r0, [r0, 0x3E] + strh r0, [r1] + movs r0, 0x10 +_0813CDEA: + strh r0, [r2, 0xA] + ldrh r0, [r2, 0x8] + adds r0, 0x1 + strh r0, [r2, 0x8] + b _0813CE26 + .align 2, 0 +_0813CDF4: .4byte REG_BLDALPHA +_0813CDF8: .4byte gUnknown_08393E64 +_0813CDFC: + lsls r0, r3, 2 + adds r0, r3 + lsls r0, 3 + adds r1, r0, r2 + ldrh r0, [r1, 0xA] + movs r4, 0xA + ldrsh r2, [r1, r4] + cmp r2, 0 + beq _0813CE14 +_0813CE0E: + subs r0, 0x1 + strh r0, [r1, 0xA] + b _0813CE26 +_0813CE14: + ldr r0, _0813CE2C @ =REG_BLDCNT + strh r2, [r0] + adds r0, 0x2 + strh r2, [r0] + adds r0, 0x2 + strh r2, [r0] + adds r0, r3, 0 + bl DestroyTask +_0813CE26: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0813CE2C: .4byte REG_BLDCNT + thumb_func_end sub_813CCE8 + + thumb_func_start sub_813CE30 +sub_813CE30: @ 813CE30 + push {r4,lr} + sub sp, 0x24 + lsls r2, 16 + lsrs r2, 16 + movs r4, 0x80 + lsls r4, 8 + str r4, [sp] + str r4, [sp, 0x4] + mov r4, sp + strh r0, [r4, 0x8] + mov r0, sp + strh r1, [r0, 0xA] + strh r2, [r0, 0xC] + strh r2, [r0, 0xE] + strh r3, [r0, 0x10] + add r4, sp, 0x14 + adds r1, r4, 0 + movs r2, 0x1 + bl BgAffineSet + ldr r1, _0813CE84 @ =REG_BG2PA + ldrh r0, [r4] + strh r0, [r1] + adds r1, 0x2 + ldrh r0, [r4, 0x2] + strh r0, [r1] + adds r1, 0x2 + ldrh r0, [r4, 0x4] + strh r0, [r1] + adds r1, 0x2 + ldrh r0, [r4, 0x6] + strh r0, [r1] + adds r1, 0x2 + ldr r0, [r4, 0x8] + str r0, [r1] + adds r1, 0x4 + ldr r0, [r4, 0xC] + str r0, [r1] + add sp, 0x24 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0813CE84: .4byte REG_BG2PA + thumb_func_end sub_813CE30 + + thumb_func_start sub_813CE88 +sub_813CE88: @ 813CE88 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x10 + ldr r4, [sp, 0x30] + lsls r0, 16 + lsrs r7, r0, 16 + lsls r1, 16 + lsrs r1, 16 + mov r9, r1 + lsls r2, 16 + lsrs r2, 16 + mov r10, r2 + lsls r3, 16 + lsrs r3, 16 + mov r8, r3 + lsls r4, 24 + lsrs r6, r4, 24 + cmp r6, 0 + beq _0813CEF0 + lsls r0, r7, 3 + ldr r1, _0813CEE4 @ =gMonFrontPicTable + adds r0, r1 + ldr r1, _0813CEE8 @ =gMonFrontPicCoords + lsls r2, r7, 2 + adds r2, r1 + ldrb r1, [r2] + ldrb r2, [r2, 0x1] + movs r3, 0x80 + lsls r3, 18 + ldr r5, _0813CEEC @ =gUnknown_0840B5A0 + mov r6, r8 + lsls r4, r6, 2 + adds r4, r5 + ldr r4, [r4] + str r4, [sp] + str r7, [sp, 0x4] + movs r4, 0 + str r4, [sp, 0x8] + movs r4, 0x1 + str r4, [sp, 0xC] + bl sub_800D378 + b _0813CF1C + .align 2, 0 +_0813CEE4: .4byte gMonFrontPicTable +_0813CEE8: .4byte gMonFrontPicCoords +_0813CEEC: .4byte gUnknown_0840B5A0 +_0813CEF0: + lsls r0, r7, 3 + ldr r1, _0813CF90 @ =gMonBackPicTable + adds r0, r1 + ldr r1, _0813CF94 @ =gMonBackPicCoords + lsls r2, r7, 2 + adds r2, r1 + ldrb r1, [r2] + ldrb r2, [r2, 0x1] + movs r3, 0x80 + lsls r3, 18 + ldr r4, _0813CF98 @ =gUnknown_0840B5A0 + mov r12, r4 + mov r5, r8 + lsls r4, r5, 2 + add r4, r12 + ldr r4, [r4] + str r4, [sp] + str r7, [sp, 0x4] + str r6, [sp, 0x8] + str r6, [sp, 0xC] + bl sub_800D378 +_0813CF1C: + ldr r2, _0813CF9C @ =0x0000ffff + adds r0, r7, 0 + movs r1, 0 + bl species_and_otid_get_pal + mov r6, r8 + lsls r4, r6, 4 + movs r2, 0x80 + lsls r2, 1 + adds r1, r4, r2 + lsls r1, 16 + lsrs r1, 16 + movs r2, 0x20 + bl LoadCompressedPalette + lsls r1, r6, 24 + lsrs r1, 24 + mov r0, r8 + bl sub_8143648 + ldr r0, _0813CFA0 @ =gUnknown_02024E8C + mov r3, r9 + lsls r1, r3, 16 + asrs r1, 16 + mov r5, r10 + lsls r2, r5, 16 + asrs r2, 16 + mov r3, r8 + adds r3, 0x1 + lsls r3, 26 + lsrs r3, 24 + bl CreateSprite + lsls r0, 24 + lsrs r0, 24 + ldr r1, _0813CFA4 @ =gSprites + lsls r2, r0, 4 + adds r2, r0 + lsls r2, 2 + adds r2, r1 + ldrb r3, [r2, 0x5] + movs r1, 0xF + ands r1, r3 + orrs r1, r4 + movs r3, 0xD + negs r3, r3 + ands r1, r3 + movs r3, 0x4 + orrs r1, r3 + strb r1, [r2, 0x5] + add sp, 0x10 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_0813CF90: .4byte gMonBackPicTable +_0813CF94: .4byte gMonBackPicCoords +_0813CF98: .4byte gUnknown_0840B5A0 +_0813CF9C: .4byte 0x0000ffff +_0813CFA0: .4byte gUnknown_02024E8C +_0813CFA4: .4byte gSprites + thumb_func_end sub_813CE88 + + thumb_func_start sub_813CFA8 +sub_813CFA8: @ 813CFA8 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x8 + mov r9, r1 + mov r10, r2 + adds r6, r3, 0 + lsls r0, 16 + lsrs r0, 16 + lsls r1, 16 + lsrs r1, 16 + mov r9, r1 + lsls r2, 16 + lsrs r2, 16 + mov r10, r2 + lsls r6, 16 + lsrs r6, 16 + lsls r7, r0, 3 + ldr r1, _0813D068 @ =gTrainerBackPicTable + mov r8, r1 + add r8, r7 + ldr r1, _0813D06C @ =gTrainerBackPicCoords + lsls r2, r0, 2 + adds r2, r1 + ldrb r1, [r2] + ldrb r2, [r2, 0x1] + movs r3, 0x80 + lsls r3, 18 + ldr r5, _0813D070 @ =gUnknown_0840B5A0 + lsls r4, r6, 2 + adds r4, r5 + ldr r4, [r4] + str r4, [sp] + str r0, [sp, 0x4] + mov r0, r8 + bl DecompressPicFromTable_2 + ldr r0, _0813D074 @ =gTrainerBackPicPaletteTable + adds r0, r7, r0 + ldr r0, [r0] + lsls r4, r6, 4 + movs r2, 0x80 + lsls r2, 1 + adds r1, r4, r2 + lsls r1, 16 + lsrs r1, 16 + movs r2, 0x20 + bl LoadCompressedPalette + lsls r1, r6, 24 + lsrs r1, 24 + adds r0, r6, 0 + bl sub_8143680 + ldr r0, _0813D078 @ =gUnknown_02024E8C + ldr r1, _0813D07C @ =gUnknown_0840B064 + str r1, [r0, 0x8] + mov r1, r9 + lsls r1, 16 + asrs r1, 16 + mov r9, r1 + mov r2, r10 + lsls r2, 16 + asrs r2, 16 + mov r10, r2 + movs r3, 0x1 + bl CreateSprite + lsls r0, 24 + lsrs r0, 24 + ldr r1, _0813D080 @ =gSprites + lsls r2, r0, 4 + adds r2, r0 + lsls r2, 2 + adds r2, r1 + ldrb r3, [r2, 0x5] + movs r1, 0xF + ands r1, r3 + orrs r1, r4 + movs r3, 0xD + negs r3, r3 + ands r1, r3 + movs r3, 0x4 + orrs r1, r3 + strb r1, [r2, 0x5] + add sp, 0x8 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_0813D068: .4byte gTrainerBackPicTable +_0813D06C: .4byte gTrainerBackPicCoords +_0813D070: .4byte gUnknown_0840B5A0 +_0813D074: .4byte gTrainerBackPicPaletteTable +_0813D078: .4byte gUnknown_02024E8C +_0813D07C: .4byte gUnknown_0840B064 +_0813D080: .4byte gSprites + thumb_func_end sub_813CFA8 + + thumb_func_start sub_813D084 +sub_813D084: @ 813D084 + push {lr} + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _0813D0A0 + cmp r0, 0x1 + ble _0813D096 + cmp r0, 0x2 + beq _0813D0A8 +_0813D096: + ldr r2, _0813D09C @ =0x00003ff6 + b _0813D0AA + .align 2, 0 +_0813D09C: .4byte 0x00003ff6 +_0813D0A0: + ldr r2, _0813D0A4 @ =0x000031df + b _0813D0AA + .align 2, 0 +_0813D0A4: .4byte 0x000031df +_0813D0A8: + ldr r2, _0813D0C0 @ =0x0000518c +_0813D0AA: + ldr r0, _0813D0C4 @ =gPlttBufferUnfaded + movs r1, 0xF1 + lsls r1, 1 + adds r0, r1 + strh r2, [r0] + ldr r0, _0813D0C8 @ =gPlttBufferFaded + adds r0, r1 + strh r2, [r0] + pop {r0} + bx r0 + .align 2, 0 +_0813D0C0: .4byte 0x0000518c +_0813D0C4: .4byte gPlttBufferUnfaded +_0813D0C8: .4byte gPlttBufferFaded + thumb_func_end sub_813D084 + + thumb_func_start sub_813D0CC +sub_813D0CC: @ 813D0CC + push {r4,lr} + sub sp, 0x4 + adds r4, r0, 0 + movs r1, 0x32 + ldrsh r0, [r4, r1] + cmp r0, 0xBF + ble _0813D148 + ldrh r1, [r4, 0x34] + movs r2, 0x34 + ldrsh r0, [r4, r2] + cmp r0, 0 + beq _0813D0EA + subs r0, r1, 0x1 + strh r0, [r4, 0x34] + b _0813D14E +_0813D0EA: + adds r2, r4, 0 + adds r2, 0x3E + ldrb r1, [r2] + movs r0, 0x5 + negs r0, r0 + ands r0, r1 + strb r0, [r2] + ldrh r0, [r4, 0x30] + lsls r0, 24 + lsrs r0, 24 + ldrh r1, [r4, 0x32] + str r1, [sp] + movs r2, 0 + movs r3, 0 + bl SetOamMatrix + movs r0, 0x32 + ldrsh r1, [r4, r0] + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 5 + subs r0, r1 + movs r1, 0x64 + bl __divsi3 + strh r0, [r4, 0x32] + movs r2, 0x32 + ldrsh r1, [r4, r2] + adds r0, r1, 0 + subs r0, 0xC0 + cmp r0, 0 + bge _0813D12C + adds r0, 0x7F +_0813D12C: + asrs r0, 7 + adds r0, 0x9 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0xF + bls _0813D13A + movs r0, 0xF +_0813D13A: + lsls r2, r0, 4 + ldrb r1, [r4, 0x5] + movs r0, 0xF + ands r0, r1 + orrs r0, r2 + strb r0, [r4, 0x5] + b _0813D14E +_0813D148: + adds r0, r4, 0 + bl DestroySprite +_0813D14E: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_813D0CC + + thumb_func_start sub_813D158 +sub_813D158: @ 813D158 + push {r4,lr} + adds r4, r0, 0 + ldr r2, _0813D1CC @ =gSprites + movs r1, 0x3C + ldrsh r0, [r4, r1] + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r2 + movs r3, 0x3C + ldrsh r0, [r1, r3] + cmp r0, 0 + beq _0813D1D4 + adds r2, r4, 0 + adds r2, 0x3E + ldrb r0, [r2] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r2] + ldrh r0, [r4, 0x24] + ldrh r1, [r4, 0x20] + adds r0, r1 + strh r0, [r4, 0x20] + ldrh r0, [r4, 0x26] + ldrh r3, [r4, 0x22] + adds r0, r3 + strh r0, [r4, 0x22] + adds r0, r4, 0 + movs r1, 0x3 + bl StartSpriteAnim + movs r0, 0x80 + lsls r0, 3 + strh r0, [r4, 0x32] + ldrh r1, [r4, 0x30] + movs r0, 0x3 + ands r0, r1 + lsls r0, 3 + strh r0, [r4, 0x34] + ldr r0, _0813D1D0 @ =sub_813D0CC + str r0, [r4, 0x1C] + ldrb r1, [r4, 0x1] + movs r0, 0x3F + ands r0, r1 + movs r1, 0x40 + orrs r0, r1 + strb r0, [r4, 0x1] + ldrb r0, [r4, 0x3] + movs r1, 0xC0 + orrs r0, r1 + strb r0, [r4, 0x3] + adds r0, r4, 0 + movs r1, 0x1 + movs r2, 0x3 + movs r3, 0x2 + bl CalcCenterToCornerVec + b _0813D200 + .align 2, 0 +_0813D1CC: .4byte gSprites +_0813D1D0: .4byte sub_813D0CC +_0813D1D4: + ldrh r0, [r1, 0x24] + strh r0, [r4, 0x24] + movs r0, 0x3C + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrh r0, [r0, 0x26] + strh r0, [r4, 0x26] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrh r0, [r0, 0x20] + strh r0, [r4, 0x20] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrh r0, [r0, 0x22] + strh r0, [r4, 0x22] +_0813D200: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_813D158 + + thumb_func_start sub_813D208 +sub_813D208: @ 813D208 + push {lr} + adds r1, r0, 0 + movs r2, 0x2E + ldrsh r0, [r1, r2] + cmp r0, 0 + beq _0813D218 + ldr r0, _0813D21C @ =sub_813D220 + str r0, [r1, 0x1C] +_0813D218: + pop {r0} + bx r0 + .align 2, 0 +_0813D21C: .4byte sub_813D220 + thumb_func_end sub_813D208 + + thumb_func_start sub_813D220 +sub_813D220: @ 813D220 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x4 + adds r7, r0, 0 + ldrh r4, [r7, 0x20] + movs r1, 0x20 + ldrsh r0, [r7, r1] + cmp r0, 0x74 + bgt _0813D260 + ldrh r0, [r7, 0x26] + ldrh r1, [r7, 0x22] + adds r0, r1 + movs r1, 0 + strh r0, [r7, 0x22] + strh r1, [r7, 0x26] + adds r0, r4, 0x4 + strh r0, [r7, 0x20] + ldr r0, _0813D258 @ =0x0000fffc + strh r0, [r7, 0x24] + movs r0, 0x80 + strh r0, [r7, 0x36] + ldr r0, _0813D25C @ =sub_813D368 + str r0, [r7, 0x1C] + b _0813D352 + .align 2, 0 +_0813D258: .4byte 0x0000fffc +_0813D25C: .4byte sub_813D368 +_0813D260: + ldrh r1, [r7, 0x36] + ldr r5, _0813D364 @ =gSineTable + lsls r0, r1, 24 + lsrs r0, 23 + adds r0, r5 + ldrh r2, [r0] + adds r0, r1, 0 + adds r0, 0x40 + lsls r0, 24 + lsrs r0, 23 + adds r0, r5 + ldrh r3, [r0] + adds r1, 0x2 + strh r1, [r7, 0x36] + lsls r2, 16 + asrs r0, r2, 16 + cmp r0, 0 + bge _0813D286 + adds r0, 0x1F +_0813D286: + asrs r0, 5 + strh r0, [r7, 0x26] + subs r0, r4, 0x1 + strh r0, [r7, 0x20] + movs r1, 0x1 + ands r0, r1 + cmp r0, 0 + beq _0813D29C + ldrh r0, [r7, 0x22] + adds r0, 0x1 + strh r0, [r7, 0x22] +_0813D29C: + lsls r0, r3, 16 + asrs r0, 16 + negs r0, r0 + cmp r0, 0 + bge _0813D2A8 + adds r0, 0xF +_0813D2A8: + lsls r1, r0, 12 + lsrs r1, 16 + ldrh r4, [r7, 0x32] + ldrh r3, [r7, 0x34] + adds r0, r1, 0 + subs r0, 0x10 + lsls r0, 24 + lsrs r0, 23 + adds r0, r5 + ldrh r2, [r0] + adds r1, 0x30 + lsls r1, 24 + lsrs r1, 23 + adds r1, r5 + movs r0, 0 + ldrsh r1, [r1, r0] + adds r0, r1, 0 + muls r0, r4 + cmp r0, 0 + bge _0813D2D2 + adds r0, 0xFF +_0813D2D2: + lsls r0, 8 + lsrs r0, 16 + mov r8, r0 + lsls r0, r2, 16 + asrs r2, r0, 16 + negs r0, r2 + muls r0, r3 + cmp r0, 0 + bge _0813D2E6 + adds r0, 0xFF +_0813D2E6: + lsls r0, 8 + lsrs r0, 16 + mov r10, r0 + adds r0, r2, 0 + muls r0, r4 + cmp r0, 0 + bge _0813D2F6 + adds r0, 0xFF +_0813D2F6: + lsls r0, 8 + lsrs r5, r0, 16 + adds r0, r1, 0 + muls r0, r3 + cmp r0, 0 + bge _0813D304 + adds r0, 0xFF +_0813D304: + lsls r6, r0, 8 + lsrs r6, 16 + ldrh r0, [r7, 0x30] + lsls r0, 24 + lsrs r0, 24 + str r3, [sp] + adds r1, r4, 0 + movs r2, 0 + movs r3, 0 + bl SetOamMatrix + ldrh r0, [r7, 0x30] + adds r0, 0x1 + lsls r0, 24 + lsrs r0, 24 + mov r9, r5 + mov r1, r10 + lsls r5, r1, 16 + lsrs r3, r5, 16 + lsls r4, r6, 16 + str r6, [sp] + mov r1, r8 + mov r2, r9 + bl SetOamMatrix + ldrh r0, [r7, 0x30] + adds r0, 0x2 + lsls r0, 24 + lsrs r0, 24 + lsls r5, 1 + lsrs r5, 16 + lsls r4, 1 + lsrs r4, 16 + str r4, [sp] + mov r1, r8 + mov r2, r9 + adds r3, r5, 0 + bl SetOamMatrix +_0813D352: + add sp, 0x4 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0813D364: .4byte gSineTable + thumb_func_end sub_813D220 + + thumb_func_start sub_813D368 +sub_813D368: @ 813D368 + push {r4,lr} + sub sp, 0x4 + adds r4, r0, 0 + ldrh r0, [r4, 0x30] + lsls r0, 24 + lsrs r0, 24 + ldrh r1, [r4, 0x3A] + adds r1, 0x40 + lsls r1, 16 + lsrs r1, 16 + str r1, [sp] + movs r2, 0 + movs r3, 0 + bl SetOamMatrix + ldrh r0, [r4, 0x30] + adds r0, 0x1 + lsls r0, 24 + lsrs r0, 24 + ldrh r1, [r4, 0x3A] + adds r1, 0x40 + lsls r1, 16 + lsrs r1, 16 + str r1, [sp] + movs r2, 0 + movs r3, 0 + bl SetOamMatrix + ldrh r0, [r4, 0x30] + adds r0, 0x2 + lsls r0, 24 + lsrs r0, 24 + ldrh r1, [r4, 0x3A] + adds r1, 0x40 + lsls r1, 16 + lsrs r1, 16 + str r1, [sp] + movs r2, 0 + movs r3, 0 + bl SetOamMatrix + ldrh r1, [r4, 0x36] + movs r2, 0x36 + ldrsh r0, [r4, r2] + cmp r0, 0x40 + beq _0813D400 + adds r0, r1, 0 + subs r0, 0x8 + strh r0, [r4, 0x36] + ldrh r0, [r4, 0x36] + adds r1, r0, 0 + ldr r2, _0813D3FC @ =gSineTable + adds r0, 0x40 + lsls r0, 24 + lsrs r0, 23 + adds r0, r2 + movs r3, 0 + ldrsh r0, [r0, r3] + cmp r0, 0 + bge _0813D3E2 + adds r0, 0x3F +_0813D3E2: + asrs r0, 6 + strh r0, [r4, 0x24] + lsls r0, r1, 24 + lsrs r0, 23 + adds r0, r2 + movs r1, 0 + ldrsh r0, [r0, r1] + cmp r0, 0 + bge _0813D3F6 + adds r0, 0x3F +_0813D3F6: + asrs r0, 6 + strh r0, [r4, 0x26] + b _0813D408 + .align 2, 0 +_0813D3FC: .4byte gSineTable +_0813D400: + movs r0, 0 + strh r0, [r4, 0x36] + ldr r0, _0813D410 @ =sub_813D414 + str r0, [r4, 0x1C] +_0813D408: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0813D410: .4byte sub_813D414 + thumb_func_end sub_813D368 + + thumb_func_start sub_813D414 +sub_813D414: @ 813D414 + push {r4,lr} + adds r1, r0, 0 + movs r2, 0x2E + ldrsh r0, [r1, r2] + cmp r0, 0x2 + beq _0813D474 + ldrh r0, [r1, 0x36] + adds r0, 0x8 + strh r0, [r1, 0x36] + ldr r3, _0813D470 @ =gSineTable + lsls r0, 24 + lsrs r0, 23 + adds r0, r3 + movs r4, 0 + ldrsh r0, [r0, r4] + cmp r0, 0 + bge _0813D438 + adds r0, 0xF +_0813D438: + asrs r0, 4 + adds r0, 0x40 + lsls r0, 16 + lsrs r2, r0, 16 + adds r0, r2, 0 + adds r0, 0x40 + lsls r0, 24 + lsrs r0, 23 + adds r0, r3 + movs r4, 0 + ldrsh r0, [r0, r4] + cmp r0, 0 + bge _0813D454 + adds r0, 0x3F +_0813D454: + asrs r0, 6 + strh r0, [r1, 0x24] + lsls r0, r2, 24 + lsrs r0, 23 + adds r0, r3 + movs r2, 0 + ldrsh r0, [r0, r2] + cmp r0, 0 + bge _0813D468 + adds r0, 0x3F +_0813D468: + asrs r0, 6 + strh r0, [r1, 0x26] + b _0813D478 + .align 2, 0 +_0813D470: .4byte gSineTable +_0813D474: + ldr r0, _0813D480 @ =sub_813D484 + str r0, [r1, 0x1C] +_0813D478: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0813D480: .4byte sub_813D484 + thumb_func_end sub_813D414 + + thumb_func_start sub_813D484 +sub_813D484: @ 813D484 + push {r4,lr} + adds r4, r0, 0 + ldrh r2, [r4, 0x22] + movs r0, 0x22 + ldrsh r1, [r4, r0] + movs r3, 0x38 + ldrsh r0, [r4, r3] + cmp r1, r0 + bge _0813D49C + adds r0, r2, 0x4 + strh r0, [r4, 0x22] + b _0813D4F8 +_0813D49C: + movs r0, 0x1 + strh r0, [r4, 0x3C] + adds r2, r4, 0 + adds r2, 0x3E + ldrb r0, [r2] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r2] + ldrh r0, [r4, 0x24] + ldrh r1, [r4, 0x20] + adds r0, r1 + strh r0, [r4, 0x20] + ldrh r0, [r4, 0x26] + ldrh r3, [r4, 0x22] + adds r0, r3 + strh r0, [r4, 0x22] + adds r0, r4, 0 + movs r1, 0x3 + bl StartSpriteAnim + movs r0, 0x80 + lsls r0, 3 + strh r0, [r4, 0x32] + ldrh r1, [r4, 0x30] + movs r0, 0x3 + ands r0, r1 + lsls r0, 3 + strh r0, [r4, 0x34] + ldr r0, _0813D500 @ =sub_813D0CC + str r0, [r4, 0x1C] + ldrb r1, [r4, 0x1] + movs r0, 0x3F + ands r0, r1 + movs r1, 0x40 + orrs r0, r1 + strb r0, [r4, 0x1] + ldrb r0, [r4, 0x3] + movs r1, 0xC0 + orrs r0, r1 + strb r0, [r4, 0x3] + adds r0, r4, 0 + movs r1, 0x1 + movs r2, 0x3 + movs r3, 0x2 + bl CalcCenterToCornerVec +_0813D4F8: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0813D500: .4byte sub_813D0CC + thumb_func_end sub_813D484 + + thumb_func_start sub_813D504 +sub_813D504: @ 813D504 + push {r4,lr} + adds r4, r0, 0 + ldrh r2, [r4, 0x22] + movs r0, 0x22 + ldrsh r1, [r4, r0] + movs r3, 0x38 + ldrsh r0, [r4, r3] + cmp r1, r0 + bge _0813D51C + adds r0, r2, 0x4 + strh r0, [r4, 0x22] + b _0813D578 +_0813D51C: + movs r0, 0x1 + strh r0, [r4, 0x3C] + adds r2, r4, 0 + adds r2, 0x3E + ldrb r0, [r2] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r2] + ldrh r0, [r4, 0x24] + ldrh r1, [r4, 0x20] + adds r0, r1 + strh r0, [r4, 0x20] + ldrh r0, [r4, 0x26] + ldrh r3, [r4, 0x22] + adds r0, r3 + strh r0, [r4, 0x22] + adds r0, r4, 0 + movs r1, 0x3 + bl StartSpriteAnim + movs r0, 0x80 + lsls r0, 3 + strh r0, [r4, 0x32] + ldrh r1, [r4, 0x30] + movs r0, 0x3 + ands r0, r1 + lsls r0, 3 + strh r0, [r4, 0x34] + ldr r0, _0813D580 @ =sub_813D0CC + str r0, [r4, 0x1C] + ldrb r1, [r4, 0x1] + movs r0, 0x3F + ands r0, r1 + movs r1, 0x40 + orrs r0, r1 + strb r0, [r4, 0x1] + ldrb r0, [r4, 0x3] + movs r1, 0xC0 + orrs r0, r1 + strb r0, [r4, 0x3] + adds r0, r4, 0 + movs r1, 0x1 + movs r2, 0x3 + movs r3, 0x2 + bl CalcCenterToCornerVec +_0813D578: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0813D580: .4byte sub_813D0CC + thumb_func_end sub_813D504 + + thumb_func_start sub_813D584 +sub_813D584: @ 813D584 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x14 + adds r4, r0, 0 + adds r5, r1, 0 + ldr r6, [sp, 0x34] + ldr r0, [sp, 0x38] + mov r8, r0 + lsls r4, 16 + lsls r5, 16 + lsls r2, 16 + lsrs r2, 16 + str r2, [sp, 0x8] + lsls r3, 16 + lsrs r3, 16 + str r3, [sp, 0xC] + lsls r6, 16 + lsrs r6, 16 + mov r1, r8 + lsls r1, 24 + lsrs r1, 24 + mov r8, r1 + ldr r0, _0813D640 @ =gSpriteTemplate_840AE20 + lsrs r2, r4, 16 + mov r10, r2 + asrs r4, 16 + lsrs r1, r5, 16 + str r1, [sp, 0x4] + asrs r5, 16 + adds r1, r4, 0 + adds r2, r5, 0 + movs r3, 0 + bl CreateSprite + lsls r0, 24 + lsrs r7, r0, 24 + ldr r2, _0813D644 @ =gSprites + mov r9, r2 + lsls r0, r7, 4 + adds r0, r7 + lsls r5, r0, 2 + adds r4, r5, r2 + movs r0, 0 + strh r0, [r4, 0x2E] + strh r0, [r4, 0x3C] + mov r0, sp + ldrh r0, [r0, 0xC] + strh r0, [r4, 0x30] + mov r1, sp + ldrh r1, [r1, 0x8] + strh r1, [r4, 0x32] + mov r2, sp + ldrh r2, [r2, 0x8] + strh r2, [r4, 0x34] + strh r6, [r4, 0x38] + mov r0, sp + ldrh r0, [r0, 0x8] + strh r0, [r4, 0x3A] + ldrb r0, [r4, 0x1] + movs r1, 0x3 + orrs r0, r1 + strb r0, [r4, 0x1] + movs r0, 0x1F + ldr r1, [sp, 0xC] + ands r1, r0 + lsls r1, 1 + ldrb r2, [r4, 0x3] + movs r0, 0x3F + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r4, 0x3] + adds r0, r4, 0 + movs r1, 0 + movs r2, 0x2 + movs r3, 0x2 + bl CalcCenterToCornerVec + adds r0, r4, 0 + movs r1, 0x2 + bl StartSpriteAnim + mov r1, r8 + cmp r1, 0 + bne _0813D64C + mov r0, r9 + adds r0, 0x1C + adds r0, r5, r0 + ldr r1, _0813D648 @ =sub_813D208 + b _0813D654 + .align 2, 0 +_0813D640: .4byte gSpriteTemplate_840AE20 +_0813D644: .4byte gSprites +_0813D648: .4byte sub_813D208 +_0813D64C: + mov r0, r9 + adds r0, 0x1C + adds r0, r5, r0 + ldr r1, _0813D774 @ =sub_813D504 +_0813D654: + str r1, [r0] + str r7, [sp, 0x10] + mov r2, r10 + lsls r2, 16 + asrs r2, 16 + mov r10, r2 + ldr r0, [sp, 0x4] + lsls r0, 16 + asrs r0, 16 + mov r8, r0 + ldr r0, _0813D778 @ =gSpriteTemplate_840AE20 + mov r1, r10 + mov r2, r8 + movs r3, 0 + bl CreateSprite + lsls r0, 24 + lsrs r7, r0, 24 + ldr r5, _0813D77C @ =gSprites + lsls r4, r7, 4 + adds r4, r7 + lsls r4, 2 + adds r0, r4, r5 + mov r1, sp + ldrh r1, [r1, 0x10] + strh r1, [r0, 0x3C] + ldr r2, [sp, 0xC] + adds r2, 0x1 + mov r9, r2 + strh r2, [r0, 0x30] + ldrb r1, [r0, 0x1] + movs r2, 0x3 + orrs r1, r2 + strb r1, [r0, 0x1] + mov r2, r9 + movs r1, 0x1F + ands r2, r1 + lsls r2, 1 + ldrb r3, [r0, 0x3] + movs r6, 0x3F + negs r6, r6 + adds r1, r6, 0 + ands r1, r3 + orrs r1, r2 + strb r1, [r0, 0x3] + movs r1, 0 + movs r2, 0x2 + movs r3, 0x2 + bl CalcCenterToCornerVec + ldr r2, _0813D780 @ =gSprites + 0x1C + adds r4, r2 + ldr r0, _0813D784 @ =sub_813D158 + str r0, [r4] + ldr r0, _0813D778 @ =gSpriteTemplate_840AE20 + mov r1, r10 + mov r2, r8 + movs r3, 0 + bl CreateSprite + lsls r0, 24 + lsrs r7, r0, 24 + lsls r4, r7, 4 + adds r4, r7 + lsls r4, 2 + adds r5, r4, r5 + mov r1, sp + ldrh r1, [r1, 0x10] + strh r1, [r5, 0x3C] + ldr r2, [sp, 0xC] + adds r2, 0x2 + mov r8, r2 + strh r2, [r5, 0x30] + adds r0, r5, 0 + movs r1, 0x1 + bl StartSpriteAnim + ldrb r0, [r5, 0x1] + movs r1, 0x3 + orrs r0, r1 + strb r0, [r5, 0x1] + mov r0, r8 + movs r2, 0x1F + ands r0, r2 + lsls r0, 1 + ldrb r1, [r5, 0x3] + ands r6, r1 + orrs r6, r0 + strb r6, [r5, 0x3] + adds r0, r5, 0 + movs r1, 0 + movs r2, 0x2 + movs r3, 0x2 + bl CalcCenterToCornerVec + ldr r0, _0813D780 @ =gSprites + 0x1C + adds r4, r0 + ldr r1, _0813D784 @ =sub_813D158 + str r1, [r4] + ldr r2, [sp, 0xC] + lsls r0, r2, 24 + lsrs r0, 24 + ldr r5, [sp, 0x8] + adds r5, 0x20 + lsls r4, r5, 16 + lsrs r4, 16 + str r4, [sp] + adds r1, r4, 0 + movs r2, 0 + movs r3, 0 + bl SetOamMatrix + mov r0, r9 + lsls r0, 24 + lsrs r0, 24 + mov r9, r0 + str r4, [sp] + adds r1, r4, 0 + movs r2, 0 + movs r3, 0 + bl SetOamMatrix + mov r1, r8 + lsls r1, 24 + lsrs r1, 24 + mov r8, r1 + lsls r5, 17 + lsrs r5, 16 + str r5, [sp] + mov r0, r8 + adds r1, r4, 0 + movs r2, 0 + movs r3, 0 + bl SetOamMatrix + ldr r0, [sp, 0x10] + add sp, 0x14 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_0813D774: .4byte sub_813D504 +_0813D778: .4byte gSpriteTemplate_840AE20 +_0813D77C: .4byte gSprites +_0813D780: .4byte gSprites + 0x1C +_0813D784: .4byte sub_813D158 + thumb_func_end sub_813D584 + + thumb_func_start sub_813D788 +sub_813D788: @ 813D788 + push {r4,r5,lr} + adds r4, r0, 0 + movs r1, 0x2E + ldrsh r0, [r4, r1] + cmp r0, 0x4 + bhi _0813D830 + lsls r0, 2 + ldr r1, _0813D7A0 @ =_0813D7A4 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0813D7A0: .4byte _0813D7A4 + .align 2, 0 +_0813D7A4: + .4byte _0813D7B8 + .4byte _0813D7C6 + .4byte _0813D7E4 + .4byte _0813D80C + .4byte _0813D816 +_0813D7B8: + adds r0, r4, 0 + movs r1, 0 + bl StartSpriteAnimIfDifferent + ldrh r0, [r4, 0x20] + subs r0, 0x1 + b _0813D82E +_0813D7C6: + adds r0, r4, 0 + movs r1, 0 + bl StartSpriteAnimIfDifferent + ldr r0, _0813D7E0 @ =gIntroFrameCounter + ldr r0, [r0] + movs r1, 0x7 + ands r0, r1 + cmp r0, 0 + bne _0813D87A + ldrh r0, [r4, 0x20] + adds r0, 0x1 + b _0813D82E + .align 2, 0 +_0813D7E0: .4byte gIntroFrameCounter +_0813D7E4: + adds r0, r4, 0 + movs r1, 0x2 + bl StartSpriteAnimIfDifferent + ldrh r2, [r4, 0x20] + movs r1, 0x20 + ldrsh r0, [r4, r1] + cmp r0, 0x78 + ble _0813D802 + ldr r0, _0813D808 @ =gIntroFrameCounter + ldr r0, [r0] + movs r1, 0x7 + ands r0, r1 + cmp r0, 0 + beq _0813D83C +_0813D802: + adds r0, r2, 0x1 + b _0813D82E + .align 2, 0 +_0813D808: .4byte gIntroFrameCounter +_0813D80C: + adds r0, r4, 0 + movs r1, 0x3 + bl StartSpriteAnimIfDifferent + b _0813D830 +_0813D816: + adds r0, r4, 0 + movs r1, 0 + bl StartSpriteAnimIfDifferent + ldrh r2, [r4, 0x20] + movs r0, 0x20 + ldrsh r1, [r4, r0] + movs r0, 0x20 + negs r0, r0 + cmp r1, r0 + ble _0813D830 + subs r0, r2, 0x2 +_0813D82E: + strh r0, [r4, 0x20] +_0813D830: + ldr r0, _0813D84C @ =gIntroFrameCounter + ldr r0, [r0] + movs r1, 0x7 + ands r0, r1 + cmp r0, 0 + bne _0813D87A +_0813D83C: + movs r1, 0x26 + ldrsh r5, [r4, r1] + cmp r5, 0 + beq _0813D850 + movs r0, 0 + strh r0, [r4, 0x26] + b _0813D87A + .align 2, 0 +_0813D84C: .4byte gIntroFrameCounter +_0813D850: + bl Random + movs r1, 0x3 + ands r1, r0 + cmp r1, 0x1 + beq _0813D878 + cmp r1, 0x1 + bgt _0813D866 + cmp r1, 0 + beq _0813D86E + b _0813D87A +_0813D866: + cmp r1, 0x3 + bgt _0813D87A + strh r5, [r4, 0x26] + b _0813D87A +_0813D86E: + ldr r0, _0813D874 @ =0x0000ffff + strh r0, [r4, 0x26] + b _0813D87A + .align 2, 0 +_0813D874: .4byte 0x0000ffff +_0813D878: + strh r1, [r4, 0x26] +_0813D87A: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_813D788 + + thumb_func_start sub_813D880 +sub_813D880: @ 813D880 + push {r4,lr} + adds r4, r0, 0 + movs r1, 0x2E + ldrsh r0, [r4, r1] + cmp r0, 0x1 + beq _0813D89A + cmp r0, 0x1 + ble _0813D8E2 + cmp r0, 0x2 + beq _0813D8BA + cmp r0, 0x3 + beq _0813D8D4 + b _0813D8E2 +_0813D89A: + movs r2, 0x24 + ldrsh r0, [r4, r2] + movs r2, 0x20 + ldrsh r1, [r4, r2] + adds r0, r1 + ldr r1, _0813D8B0 @ =0x0000012f + cmp r0, r1 + bgt _0813D8B4 + ldrh r0, [r4, 0x24] + adds r0, 0x8 + b _0813D8E0 + .align 2, 0 +_0813D8B0: .4byte 0x0000012f +_0813D8B4: + movs r0, 0x2 + strh r0, [r4, 0x2E] + b _0813D8E2 +_0813D8BA: + movs r1, 0x24 + ldrsh r0, [r4, r1] + movs r2, 0x20 + ldrsh r1, [r4, r2] + adds r0, r1 + cmp r0, 0x78 + ble _0813D8CE + ldrh r0, [r4, 0x24] + subs r0, 0x1 + b _0813D8E0 +_0813D8CE: + movs r0, 0x3 + strh r0, [r4, 0x2E] + b _0813D8E2 +_0813D8D4: + ldrh r1, [r4, 0x24] + movs r2, 0x24 + ldrsh r0, [r4, r2] + cmp r0, 0 + ble _0813D8E2 + subs r0, r1, 0x2 +_0813D8E0: + strh r0, [r4, 0x24] +_0813D8E2: + ldrh r0, [r4, 0x30] + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x8 + bl Sin + ldr r1, _0813D904 @ =gUnknown_0203935A + ldrh r1, [r1] + subs r0, r1 + strh r0, [r4, 0x26] + ldrh r0, [r4, 0x30] + adds r0, 0x4 + strh r0, [r4, 0x30] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0813D904: .4byte gUnknown_0203935A + thumb_func_end sub_813D880 + + thumb_func_start sub_813D908 +sub_813D908: @ 813D908 + push {lr} + adds r3, r0, 0 + ldr r2, _0813D930 @ =gTasks + movs r0, 0x2E + ldrsh r1, [r3, r0] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r0, r2 + movs r1, 0x8 + ldrsh r0, [r0, r1] + cmp r0, 0 + bne _0813D934 + adds r0, r3, 0 + adds r0, 0x3E + ldrb r1, [r0] + movs r2, 0x4 + orrs r1, r2 + strb r1, [r0] + b _0813D94E + .align 2, 0 +_0813D930: .4byte gTasks +_0813D934: + cmp r0, 0x4 + beq _0813D948 + adds r2, r3, 0 + adds r2, 0x3E + ldrb r1, [r2] + movs r0, 0x5 + negs r0, r0 + ands r0, r1 + strb r0, [r2] + b _0813D94E +_0813D948: + adds r0, r3, 0 + bl DestroySprite +_0813D94E: + pop {r0} + bx r0 + thumb_func_end sub_813D908 + + thumb_func_start sub_813D954 +sub_813D954: @ 813D954 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x8 + lsls r1, 16 + lsrs r6, r1, 16 + lsls r2, 24 + lsrs r2, 24 + mov r8, r2 + movs r5, 0 + ldr r7, _0813DA48 @ =gUnknown_0840AF50 + lsls r0, 16 + mov r9, r0 + lsls r0, r6, 16 + str r0, [sp, 0x4] + mov r1, r9 + asrs r1, 16 + str r1, [sp] +_0813D97C: + lsls r4, r5, 2 + adds r0, r7, 0x2 + adds r0, r4, r0 + ldrh r1, [r0] + ldr r2, [sp] + adds r1, r2, r1 + lsls r1, 16 + asrs r1, 16 + lsls r2, r6, 16 + asrs r3, r2, 16 + mov r10, r3 + ldr r0, _0813DA4C @ =0xfffc0000 + adds r2, r0 + ldr r0, _0813DA50 @ =gSpriteTemplate_840AF94 + asrs r2, 16 + movs r3, 0 + bl CreateSprite + lsls r0, 24 + lsrs r2, r0, 24 + ldr r1, _0813DA54 @ =gSprites + lsls r0, r2, 4 + adds r0, r2 + lsls r0, 2 + adds r0, r1 + mov r1, r8 + strh r1, [r0, 0x2E] + adds r4, r7 + ldrb r1, [r4] + bl StartSpriteAnim + adds r0, r5, 0x1 + lsls r0, 16 + lsrs r5, r0, 16 + cmp r5, 0x8 + bls _0813D97C + movs r5, 0 + ldr r7, _0813DA58 @ =gUnknown_0840AF74 + mov r0, r10 + adds r0, 0xC + lsls r0, 16 + mov r10, r0 +_0813D9D0: + lsls r4, r5, 2 + adds r0, r7, 0x2 + adds r0, r4, r0 + mov r2, r9 + asrs r1, r2, 16 + ldrh r0, [r0] + adds r1, r0 + lsls r1, 16 + asrs r1, 16 + ldr r0, _0813DA5C @ =gSpriteTemplate_840AFAC + mov r3, r10 + asrs r2, r3, 16 + movs r3, 0 + bl CreateSprite + lsls r0, 24 + lsrs r2, r0, 24 + ldr r6, _0813DA54 @ =gSprites + lsls r0, r2, 4 + adds r0, r2 + lsls r0, 2 + adds r0, r6 + mov r1, r8 + strh r1, [r0, 0x2E] + adds r4, r7 + ldrb r1, [r4] + bl StartSpriteAnim + adds r0, r5, 0x1 + lsls r0, 16 + lsrs r5, r0, 16 + cmp r5, 0x7 + bls _0813D9D0 + ldr r0, _0813DA60 @ =gSpriteTemplate_840AFC4 + ldr r3, [sp, 0x4] + ldr r1, _0813DA4C @ =0xfffc0000 + adds r2, r3, r1 + asrs r2, 16 + movs r1, 0x78 + movs r3, 0 + bl CreateSprite + lsls r0, 24 + lsrs r2, r0, 24 + lsls r0, r2, 4 + adds r0, r2 + lsls r0, 2 + adds r0, r6 + mov r3, r8 + strh r3, [r0, 0x2E] + adds r0, r2, 0 + add sp, 0x8 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_0813DA48: .4byte gUnknown_0840AF50 +_0813DA4C: .4byte 0xfffc0000 +_0813DA50: .4byte gSpriteTemplate_840AF94 +_0813DA54: .4byte gSprites +_0813DA58: .4byte gUnknown_0840AF74 +_0813DA5C: .4byte gSpriteTemplate_840AFAC +_0813DA60: .4byte gSpriteTemplate_840AFC4 + thumb_func_end sub_813D954 + + thumb_func_start sub_813DA64 +sub_813DA64: @ 813DA64 + push {r4-r6,lr} + sub sp, 0x4 + adds r4, r0, 0 + ldrh r0, [r4, 0x3C] + adds r0, 0x1 + strh r0, [r4, 0x3C] + movs r1, 0x2E + ldrsh r0, [r4, r1] + cmp r0, 0 + beq _0813DA7C + cmp r0, 0x1 + beq _0813DAC0 +_0813DA7C: + ldrb r0, [r4, 0x1] + movs r1, 0x3 + orrs r0, r1 + strb r0, [r4, 0x1] + ldrb r1, [r4, 0x3] + movs r0, 0x3F + negs r0, r0 + ands r0, r1 + movs r1, 0x2 + orrs r0, r1 + strb r0, [r4, 0x3] + adds r0, r4, 0 + movs r1, 0x1 + movs r2, 0x3 + movs r3, 0x3 + bl CalcCenterToCornerVec + adds r2, r4, 0 + adds r2, 0x3E + ldrb r1, [r2] + movs r0, 0x5 + negs r0, r0 + ands r0, r1 + strb r0, [r2] + movs r0, 0x1 + strh r0, [r4, 0x2E] + movs r0, 0x80 + strh r0, [r4, 0x30] + ldr r0, _0813DABC @ =0x0000ffe8 + strh r0, [r4, 0x32] + movs r0, 0 + b _0813DB92 + .align 2, 0 +_0813DABC: .4byte 0x0000ffe8 +_0813DAC0: + ldrh r1, [r4, 0x34] + movs r2, 0x34 + ldrsh r0, [r4, r2] + cmp r0, 0x4F + bgt _0813DAF8 + lsls r0, r1, 24 + lsrs r0, 24 + movs r1, 0x78 + bl Sin + negs r0, r0 + strh r0, [r4, 0x26] + ldrh r0, [r4, 0x34] + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x8C + bl Sin + negs r0, r0 + strh r0, [r4, 0x24] + movs r1, 0x34 + ldrsh r0, [r4, r1] + cmp r0, 0x40 + ble _0813DAF8 + ldrb r0, [r4, 0x5] + movs r1, 0xC + orrs r0, r1 + strb r0, [r4, 0x5] +_0813DAF8: + ldr r2, _0813DB60 @ =gSineTable + ldrh r1, [r4, 0x32] + lsls r0, r1, 24 + lsrs r0, 23 + adds r0, r2 + ldrh r3, [r0] + adds r1, 0x40 + lsls r1, 24 + lsrs r1, 23 + adds r1, r2 + movs r2, 0 + ldrsh r0, [r1, r2] + movs r1, 0x30 + ldrsh r2, [r4, r1] + adds r1, r0, 0 + muls r1, r2 + adds r0, r1, 0 + cmp r1, 0 + bge _0813DB20 + adds r0, 0xFF +_0813DB20: + lsls r0, 8 + lsrs r6, r0, 16 + lsls r0, r3, 16 + asrs r3, r0, 16 + negs r0, r3 + muls r0, r2 + cmp r0, 0 + bge _0813DB32 + adds r0, 0xFF +_0813DB32: + lsls r0, 8 + lsrs r5, r0, 16 + adds r0, r3, 0 + muls r0, r2 + cmp r0, 0 + bge _0813DB40 + adds r0, 0xFF +_0813DB40: + lsls r0, 8 + lsrs r2, r0, 16 + adds r1, r6, 0 + adds r3, r5, 0 + str r1, [sp] + movs r0, 0x1 + bl SetOamMatrix + ldrh r1, [r4, 0x30] + movs r2, 0x30 + ldrsh r0, [r4, r2] + cmp r0, 0xFF + bgt _0813DB64 + adds r0, r1, 0 + adds r0, 0x8 + b _0813DB68 + .align 2, 0 +_0813DB60: .4byte gSineTable +_0813DB64: + adds r0, r1, 0 + adds r0, 0x20 +_0813DB68: + strh r0, [r4, 0x30] + ldrh r1, [r4, 0x32] + movs r2, 0x32 + ldrsh r0, [r4, r2] + cmp r0, 0x17 + bgt _0813DB78 + adds r0, r1, 0x1 + strh r0, [r4, 0x32] +_0813DB78: + ldrh r2, [r4, 0x34] + movs r1, 0x34 + ldrsh r0, [r4, r1] + cmp r0, 0x3F + bgt _0813DB86 + adds r0, r2, 0x2 + b _0813DB92 +_0813DB86: + ldrh r1, [r4, 0x3C] + movs r0, 0x3 + ands r0, r1 + cmp r0, 0 + bne _0813DB94 + adds r0, r2, 0x1 +_0813DB92: + strh r0, [r4, 0x34] +_0813DB94: + add sp, 0x4 + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_813DA64 + + thumb_func_start sub_813DB9C +sub_813DB9C: @ 813DB9C + push {r4,lr} + sub sp, 0x4 + adds r4, r0, 0 + movs r1, 0x2E + ldrsh r0, [r4, r1] + cmp r0, 0x4 + bhi _0813DBCC + lsls r0, 2 + ldr r1, _0813DBB4 @ =_0813DBB8 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0813DBB4: .4byte _0813DBB8 + .align 2, 0 +_0813DBB8: + .4byte _0813DBCC + .4byte _0813DBF2 + .4byte _0813DC24 + .4byte _0813DC3E + .4byte _0813DCAA +_0813DBCC: + movs r2, 0x32 + ldrsh r0, [r4, r2] + cmp r0, 0 + beq _0813DBE0 + adds r2, r4, 0 + adds r2, 0x3F + ldrb r0, [r2] + movs r1, 0x1 + orrs r0, r1 + b _0813DBEC +_0813DBE0: + adds r2, r4, 0 + adds r2, 0x3F + ldrb r1, [r2] + movs r0, 0x2 + negs r0, r0 + ands r0, r1 +_0813DBEC: + strb r0, [r2] + movs r0, 0x1 + strh r0, [r4, 0x2E] +_0813DBF2: + ldrh r1, [r4, 0x22] + movs r3, 0x22 + ldrsh r0, [r4, r3] + cmp r0, 0x60 + ble _0813DC18 + subs r0, r1, 0x4 + strh r0, [r4, 0x22] + movs r1, 0x32 + ldrsh r0, [r4, r1] + cmp r0, 0 + beq _0813DC10 + ldrh r0, [r4, 0x20] + adds r0, 0x2 + strh r0, [r4, 0x20] + b _0813DD4E +_0813DC10: + ldrh r0, [r4, 0x20] + subs r0, 0x2 + strh r0, [r4, 0x20] + b _0813DD4E +_0813DC18: + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + strh r0, [r4, 0x2E] + movs r0, 0x8 + strh r0, [r4, 0x34] + b _0813DD4E +_0813DC24: + ldrh r0, [r4, 0x34] + movs r2, 0x34 + ldrsh r1, [r4, r2] + cmp r1, 0 + beq _0813DC34 + subs r0, 0x1 + strh r0, [r4, 0x34] + b _0813DD4E +_0813DC34: + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + strh r0, [r4, 0x2E] + strh r1, [r4, 0x34] + b _0813DD4E +_0813DC3E: + ldrb r0, [r4, 0x1] + movs r1, 0x3 + orrs r0, r1 + strb r0, [r4, 0x1] + movs r3, 0x30 + ldrsh r1, [r4, r3] + movs r0, 0x1F + ands r1, r0 + lsls r1, 1 + ldrb r2, [r4, 0x3] + movs r0, 0x3F + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r4, 0x3] + adds r0, r4, 0 + movs r1, 0 + movs r2, 0x3 + movs r3, 0x3 + bl CalcCenterToCornerVec + movs r1, 0x32 + ldrsh r0, [r4, r1] + cmp r0, 0 + beq _0813DC8A + ldrh r0, [r4, 0x30] + lsls r0, 24 + lsrs r0, 24 + movs r1, 0xFF + lsls r1, 8 + movs r2, 0x80 + lsls r2, 1 + str r2, [sp] + movs r2, 0 + movs r3, 0 + bl SetOamMatrix + b _0813DC9E +_0813DC8A: + ldrh r0, [r4, 0x30] + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x80 + lsls r1, 1 + str r1, [sp] + movs r2, 0 + movs r3, 0 + bl SetOamMatrix +_0813DC9E: + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + movs r1, 0 + strh r0, [r4, 0x2E] + strh r1, [r4, 0x36] + b _0813DD4E +_0813DCAA: + ldrh r0, [r4, 0x36] + adds r2, r0, 0x1 + strh r2, [r4, 0x36] + movs r3, 0x22 + ldrsh r0, [r4, r3] + movs r3, 0x26 + ldrsh r1, [r4, r3] + adds r0, r1 + movs r1, 0x20 + negs r1, r1 + cmp r0, r1 + ble _0813DD48 + movs r1, 0x20 + ldrsh r0, [r4, r1] + movs r3, 0x24 + ldrsh r1, [r4, r3] + adds r0, r1 + movs r1, 0x40 + negs r1, r1 + cmp r0, r1 + ble _0813DD48 + movs r1, 0x36 + ldrsh r0, [r4, r1] + adds r3, r0, 0 + muls r3, r0 + adds r0, r3, 0 + negs r0, r0 + cmp r0, 0 + bge _0813DCE6 + adds r0, 0x7 +_0813DCE6: + asrs r0, 3 + strh r0, [r4, 0x26] + movs r1, 0x32 + ldrsh r0, [r4, r1] + ldrh r3, [r4, 0x32] + cmp r0, 0 + beq _0813DCFA + ldrh r0, [r4, 0x24] + adds r0, r2 + b _0813DCFE +_0813DCFA: + ldrh r0, [r4, 0x24] + subs r0, r2 +_0813DCFE: + strh r0, [r4, 0x24] + ldrh r1, [r4, 0x34] + movs r2, 0x34 + ldrsh r0, [r4, r2] + cmp r0, 0x7F + bgt _0813DD10 + adds r0, r1, 0 + adds r0, 0x8 + strh r0, [r4, 0x34] +_0813DD10: + ldrh r0, [r4, 0x34] + movs r2, 0x80 + lsls r2, 1 + adds r1, r2, 0 + subs r1, r0 + lsls r1, 16 + lsrs r2, r1, 16 + lsls r0, r3, 16 + cmp r0, 0 + beq _0813DD34 + ldrh r0, [r4, 0x30] + lsls r0, 24 + lsrs r0, 24 + negs r1, r2 + lsls r1, 16 + lsrs r1, 16 + str r2, [sp] + b _0813DD3E +_0813DD34: + ldrh r0, [r4, 0x30] + lsls r0, 24 + lsrs r0, 24 + str r2, [sp] + adds r1, r2, 0 +_0813DD3E: + movs r2, 0 + movs r3, 0 + bl SetOamMatrix + b _0813DD4E +_0813DD48: + adds r0, r4, 0 + bl DestroySprite +_0813DD4E: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_813DB9C + + thumb_func_start sub_813DD58 +sub_813DD58: @ 813DD58 + push {r4,lr} + sub sp, 0x4 + adds r4, r0, 0 + movs r1, 0x2E + ldrsh r0, [r4, r1] + cmp r0, 0x1 + beq _0813DDAE + cmp r0, 0x1 + ble _0813DD72 + cmp r0, 0x2 + beq _0813DE66 + cmp r0, 0x3 + beq _0813DE26 +_0813DD72: + adds r2, r4, 0 + adds r2, 0x3E + ldrb r1, [r2] + movs r0, 0x5 + negs r0, r0 + ands r0, r1 + strb r0, [r2] + ldrb r1, [r4, 0x1] + movs r0, 0x4 + negs r0, r0 + ands r0, r1 + movs r1, 0x1 + orrs r0, r1 + strb r0, [r4, 0x1] + movs r2, 0x30 + ldrsh r1, [r4, r2] + movs r0, 0x1F + ands r1, r0 + lsls r1, 1 + ldrb r2, [r4, 0x3] + movs r0, 0x3F + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r4, 0x3] + movs r0, 0x80 + lsls r0, 4 + strh r0, [r4, 0x34] + movs r0, 0x1 + strh r0, [r4, 0x2E] +_0813DDAE: + ldrh r1, [r4, 0x34] + movs r2, 0x34 + ldrsh r0, [r4, r2] + movs r2, 0x80 + lsls r2, 1 + cmp r0, r2 + ble _0813DDEE + subs r1, 0x80 + strh r1, [r4, 0x34] + movs r2, 0x32 + ldrsh r0, [r4, r2] + cmp r0, 0 + beq _0813DDDA + ldrh r0, [r4, 0x30] + lsls r0, 24 + lsrs r0, 24 + negs r1, r1 + lsls r1, 16 + lsrs r1, 16 + ldrh r2, [r4, 0x34] + str r2, [sp] + b _0813DDE4 +_0813DDDA: + ldrh r0, [r4, 0x30] + lsls r0, 24 + lsrs r0, 24 + ldrh r1, [r4, 0x34] + str r1, [sp] +_0813DDE4: + movs r2, 0 + movs r3, 0 + bl SetOamMatrix + b _0813DE66 +_0813DDEE: + movs r1, 0x32 + ldrsh r0, [r4, r1] + cmp r0, 0 + beq _0813DE0C + ldrh r0, [r4, 0x30] + lsls r0, 24 + lsrs r0, 24 + movs r1, 0xFF + lsls r1, 8 + str r2, [sp] + movs r2, 0 + movs r3, 0 + bl SetOamMatrix + b _0813DE1E +_0813DE0C: + ldrh r0, [r4, 0x30] + lsls r0, 24 + lsrs r0, 24 + str r2, [sp] + adds r1, r2, 0 + movs r2, 0 + movs r3, 0 + bl SetOamMatrix +_0813DE1E: + ldrh r0, [r4, 0x2E] + adds r0, 0x1 + strh r0, [r4, 0x2E] + b _0813DE66 +_0813DE26: + ldrh r0, [r4, 0x36] + adds r0, 0x1 + strh r0, [r4, 0x36] + movs r2, 0x36 + ldrsh r0, [r4, r2] + adds r1, r0, 0 + muls r1, r0 + adds r0, r1, 0 + cmp r0, 0 + bge _0813DE3C + adds r0, 0x1F +_0813DE3C: + asrs r0, 5 + strh r0, [r4, 0x26] + movs r2, 0x32 + ldrsh r0, [r4, r2] + cmp r0, 0 + beq _0813DE56 + movs r1, 0x36 + ldrsh r0, [r4, r1] + cmp r0, 0 + bge _0813DE52 + adds r0, 0x3 +_0813DE52: + asrs r0, 2 + b _0813DE64 +_0813DE56: + movs r2, 0x36 + ldrsh r0, [r4, r2] + cmp r0, 0 + bge _0813DE60 + adds r0, 0x3 +_0813DE60: + asrs r0, 2 + negs r0, r0 +_0813DE64: + strh r0, [r4, 0x24] +_0813DE66: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_813DD58 + + thumb_func_start sub_813DE70 +sub_813DE70: @ 813DE70 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x4 + adds r7, r0, 0 + movs r1, 0x2E + ldrsh r0, [r7, r1] + cmp r0, 0x6 + bhi _0813DEB0 + lsls r0, 2 + ldr r1, _0813DE90 @ =_0813DE94 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0813DE90: .4byte _0813DE94 + .align 2, 0 +_0813DE94: + .4byte _0813DEB0 + .4byte _0813E0F8 + .4byte _0813DEF4 + .4byte _0813DF2C + .4byte _0813DF54 + .4byte _0813E0A8 + .4byte _0813E0D0 +_0813DEB0: + ldrh r1, [r7, 0x20] + movs r2, 0x20 + ldrsh r0, [r7, r2] + cmp r0, 0x28 + ble _0813DEC0 + subs r0, r1, 0x4 + strh r0, [r7, 0x20] + b _0813E0F8 +_0813DEC0: + adds r0, r7, 0 + movs r1, 0x1 + bl StartSpriteAnim + ldr r4, _0813DEF0 @ =gSpriteTemplate_840B084 + adds r0, r4, 0 + movs r1, 0x10 + movs r2, 0x68 + movs r3, 0x64 + bl CreateSprite + lsls r0, 24 + lsrs r0, 24 + strh r0, [r7, 0x3A] + adds r0, r4, 0 + movs r1, 0xC + movs r2, 0x6A + movs r3, 0x65 + bl CreateSprite + lsls r0, 24 + lsrs r0, 24 + strh r0, [r7, 0x3C] + b _0813DF42 + .align 2, 0 +_0813DEF0: .4byte gSpriteTemplate_840B084 +_0813DEF4: + adds r0, r7, 0 + movs r1, 0x2 + bl StartSpriteAnim + ldr r2, _0813DF28 @ =gSprites + movs r3, 0x3A + ldrsh r1, [r7, r3] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + movs r1, 0x1 + strh r1, [r0, 0x2E] + movs r0, 0x3C + ldrsh r1, [r7, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + movs r1, 0x2 + strh r1, [r0, 0x2E] + ldrh r0, [r7, 0x2E] + adds r0, 0x1 + strh r0, [r7, 0x2E] + b _0813E0F8 + .align 2, 0 +_0813DF28: .4byte gSprites +_0813DF2C: + ldrh r1, [r7, 0x22] + movs r2, 0x22 + ldrsh r0, [r7, r2] + cmp r0, 0xA0 + ble _0813DF48 + adds r2, r7, 0 + adds r2, 0x3E + ldrb r0, [r2] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r2] +_0813DF42: + movs r0, 0x1 + strh r0, [r7, 0x2E] + b _0813E0F8 +_0813DF48: + adds r0, r1, 0x2 + strh r0, [r7, 0x22] + ldrh r0, [r7, 0x20] + subs r0, 0x1 + strh r0, [r7, 0x20] + b _0813E0F8 +_0813DF54: + ldr r6, _0813E094 @ =gSprites + movs r3, 0x3A + ldrsh r1, [r7, r3] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r6 + ldrh r5, [r0, 0x24] + ldrh r1, [r0, 0x20] + adds r5, r1 + lsls r5, 16 + lsrs r5, 16 + ldrh r4, [r0, 0x26] + ldrh r2, [r0, 0x22] + adds r4, r2 + lsls r4, 16 + lsrs r4, 16 + bl DestroySprite + movs r0, 0x8C + lsls r0, 1 + lsls r5, 16 + asrs r1, r5, 16 + lsls r4, 16 + asrs r2, r4, 16 + movs r3, 0x1 + mov r8, r3 + str r3, [sp] + movs r3, 0x2 + bl sub_813CE88 + strh r0, [r7, 0x3A] + movs r0, 0x3A + ldrsh r1, [r7, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + ldr r1, _0813E098 @ =gSprites + 0x1C + adds r0, r1 + ldr r2, _0813E09C @ =sub_813DD58 + mov r10, r2 + str r2, [r0] + movs r3, 0x3A + ldrsh r1, [r7, r3] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r6 + adds r0, 0x3E + ldrb r1, [r0] + movs r2, 0x4 + mov r9, r2 + mov r3, r9 + orrs r1, r3 + strb r1, [r0] + movs r0, 0x3A + ldrsh r1, [r7, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r6 + mov r1, r8 + strh r1, [r0, 0x30] + movs r2, 0x3A + ldrsh r1, [r7, r2] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r6 + mov r3, r8 + strh r3, [r0, 0x32] + lsrs r5, 16 + lsrs r4, 16 + adds r0, r5, 0 + adds r1, r4, 0 + bl sub_813E580 + movs r0, 0x3C + ldrsh r1, [r7, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r6 + ldrh r5, [r0, 0x24] + ldrh r1, [r0, 0x20] + adds r5, r1 + lsls r5, 16 + lsrs r5, 16 + ldrh r4, [r0, 0x26] + ldrh r2, [r0, 0x22] + adds r4, r2 + lsls r4, 16 + lsrs r4, 16 + bl DestroySprite + ldr r0, _0813E0A0 @ =0x0000011b + lsls r5, 16 + asrs r1, r5, 16 + lsls r4, 16 + asrs r2, r4, 16 + mov r3, r8 + str r3, [sp] + movs r3, 0x3 + bl sub_813CE88 + strh r0, [r7, 0x3C] + movs r0, 0x3C + ldrsh r1, [r7, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + ldr r1, _0813E098 @ =gSprites + 0x1C + adds r0, r1 + mov r2, r10 + str r2, [r0] + movs r3, 0x3C + ldrsh r1, [r7, r3] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r6 + adds r0, 0x3E + ldrb r1, [r0] + mov r2, r9 + orrs r1, r2 + strb r1, [r0] + movs r3, 0x3C + ldrsh r1, [r7, r3] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r6 + movs r1, 0x2 + strh r1, [r0, 0x30] + movs r0, 0x3C + ldrsh r1, [r7, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r6 + movs r1, 0 + strh r1, [r0, 0x32] + lsrs r5, 16 + lsrs r4, 16 + adds r0, r5, 0 + adds r1, r4, 0 + bl sub_813E580 + movs r0, 0xFF + lsls r0, 16 + ldr r1, _0813E0A4 @ =0x00007eff + str r1, [sp] + movs r1, 0 + movs r2, 0x10 + movs r3, 0x10 + bl BeginNormalPaletteFade + mov r2, r8 + strh r2, [r7, 0x2E] + b _0813E0F8 + .align 2, 0 +_0813E094: .4byte gSprites +_0813E098: .4byte gSprites + 0x1C +_0813E09C: .4byte sub_813DD58 +_0813E0A0: .4byte 0x0000011b +_0813E0A4: .4byte 0x00007eff +_0813E0A8: + ldr r3, _0813E0CC @ =gSprites + movs r0, 0x3A + ldrsh r1, [r7, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r3 + movs r2, 0x3 + strh r2, [r0, 0x2E] + movs r0, 0x3C + ldrsh r1, [r7, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r3 + strh r2, [r0, 0x2E] + b _0813E0F8 + .align 2, 0 +_0813E0CC: .4byte gSprites +_0813E0D0: + movs r2, 0x3A + ldrsh r1, [r7, r2] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + ldr r4, _0813E108 @ =gSprites + adds r0, r4 + bl DestroySprite + movs r3, 0x3C + ldrsh r1, [r7, r3] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r4 + bl DestroySprite + adds r0, r7, 0 + bl DestroySprite +_0813E0F8: + add sp, 0x4 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0813E108: .4byte gSprites + thumb_func_end sub_813DE70 + + thumb_func_start sub_813E10C +sub_813E10C: @ 813E10C + push {r4,lr} + adds r3, r0, 0 + movs r1, 0x2E + ldrsh r0, [r3, r1] + cmp r0, 0x4 + bhi _0813E13C + lsls r0, 2 + ldr r1, _0813E124 @ =_0813E128 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0813E124: .4byte _0813E128 + .align 2, 0 +_0813E128: + .4byte _0813E13C + .4byte _0813E178 + .4byte _0813E1A6 + .4byte _0813E1C2 + .4byte _0813E1D6 +_0813E13C: + ldrh r4, [r3, 0x24] + movs r2, 0x24 + ldrsh r1, [r3, r2] + movs r0, 0x38 + negs r0, r0 + cmp r1, r0 + ble _0813E158 + adds r0, r4, 0 + subs r0, 0x8 + strh r0, [r3, 0x24] + ldrh r0, [r3, 0x26] + adds r0, 0x6 + strh r0, [r3, 0x26] + b _0813E208 +_0813E158: + ldrh r0, [r3, 0x20] + movs r2, 0 + strh r0, [r3, 0x3A] + ldrh r1, [r3, 0x22] + strh r1, [r3, 0x3C] + adds r0, r4 + strh r0, [r3, 0x20] + ldrh r0, [r3, 0x26] + adds r1, r0 + strh r1, [r3, 0x22] + strh r2, [r3, 0x24] + strh r2, [r3, 0x26] + movs r0, 0x1 + strh r0, [r3, 0x2E] + strh r2, [r3, 0x30] + b _0813E208 +_0813E178: + ldrh r1, [r3, 0x30] + movs r2, 0x1 + adds r0, r2, 0 + ands r0, r1 + cmp r0, 0 + bne _0813E1A0 + movs r0, 0x2 + ands r0, r1 + lsls r0, 16 + asrs r0, 16 + cmp r0, 0 + beq _0813E19C + ldr r0, _0813E198 @ =0x0000ffff + strh r0, [r3, 0x24] + strh r2, [r3, 0x26] + b _0813E1A0 + .align 2, 0 +_0813E198: .4byte 0x0000ffff +_0813E19C: + strh r0, [r3, 0x24] + strh r0, [r3, 0x26] +_0813E1A0: + adds r0, r1, 0x1 + strh r0, [r3, 0x30] + b _0813E208 +_0813E1A6: + adds r2, r3, 0 + adds r2, 0x3E + ldrb r0, [r2] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r2] + ldrh r0, [r3, 0x3A] + movs r1, 0 + strh r0, [r3, 0x20] + ldrh r0, [r3, 0x3C] + strh r0, [r3, 0x22] + strh r1, [r3, 0x24] + strh r1, [r3, 0x26] + b _0813E208 +_0813E1C2: + adds r2, r3, 0 + adds r2, 0x3E + ldrb r0, [r2] + movs r1, 0x5 + negs r1, r1 + ands r1, r0 + strb r1, [r2] + ldrh r0, [r3, 0x30] + adds r0, 0x1 + strh r0, [r3, 0x30] +_0813E1D6: + ldrh r2, [r3, 0x24] + movs r0, 0x24 + ldrsh r1, [r3, r0] + movs r0, 0x38 + negs r0, r0 + cmp r1, r0 + ble _0813E1F0 + subs r0, r2, 0x4 + strh r0, [r3, 0x24] + ldrh r0, [r3, 0x26] + adds r0, 0x3 + strh r0, [r3, 0x26] + b _0813E208 +_0813E1F0: + ldrh r1, [r3, 0x20] + adds r0, r2, r1 + movs r1, 0 + strh r0, [r3, 0x20] + ldrh r0, [r3, 0x26] + ldrh r2, [r3, 0x22] + adds r0, r2 + strh r0, [r3, 0x22] + strh r1, [r3, 0x24] + strh r1, [r3, 0x26] + movs r0, 0x1 + strh r0, [r3, 0x2E] +_0813E208: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_813E10C + + thumb_func_start sub_813E210 +sub_813E210: @ 813E210 + push {r4,lr} + adds r3, r0, 0 + movs r1, 0x2E + ldrsh r0, [r3, r1] + cmp r0, 0x4 + bhi _0813E240 + lsls r0, 2 + ldr r1, _0813E228 @ =_0813E22C + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0813E228: .4byte _0813E22C + .align 2, 0 +_0813E22C: + .4byte _0813E240 + .4byte _0813E278 + .4byte _0813E2A6 + .4byte _0813E2C2 + .4byte _0813E2D6 +_0813E240: + ldrh r4, [r3, 0x24] + movs r2, 0x24 + ldrsh r0, [r3, r2] + cmp r0, 0x37 + bgt _0813E258 + adds r0, r4, 0 + adds r0, 0x8 + strh r0, [r3, 0x24] + ldrh r0, [r3, 0x26] + subs r0, 0x6 + strh r0, [r3, 0x26] + b _0813E304 +_0813E258: + ldrh r0, [r3, 0x20] + movs r2, 0 + strh r0, [r3, 0x3A] + ldrh r1, [r3, 0x22] + strh r1, [r3, 0x3C] + adds r0, r4 + strh r0, [r3, 0x20] + ldrh r0, [r3, 0x26] + adds r1, r0 + strh r1, [r3, 0x22] + strh r2, [r3, 0x24] + strh r2, [r3, 0x26] + movs r0, 0x1 + strh r0, [r3, 0x2E] + strh r2, [r3, 0x30] + b _0813E304 +_0813E278: + ldrh r1, [r3, 0x30] + movs r2, 0x1 + adds r0, r2, 0 + ands r0, r1 + cmp r0, 0 + bne _0813E2A0 + movs r0, 0x2 + ands r0, r1 + lsls r0, 16 + asrs r0, 16 + cmp r0, 0 + beq _0813E29C + strh r2, [r3, 0x24] + ldr r0, _0813E298 @ =0x0000ffff + b _0813E29E + .align 2, 0 +_0813E298: .4byte 0x0000ffff +_0813E29C: + strh r0, [r3, 0x24] +_0813E29E: + strh r0, [r3, 0x26] +_0813E2A0: + adds r0, r1, 0x1 + strh r0, [r3, 0x30] + b _0813E304 +_0813E2A6: + adds r2, r3, 0 + adds r2, 0x3E + ldrb r0, [r2] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r2] + ldrh r0, [r3, 0x3A] + movs r1, 0 + strh r0, [r3, 0x20] + ldrh r0, [r3, 0x3C] + strh r0, [r3, 0x22] + strh r1, [r3, 0x24] + strh r1, [r3, 0x26] + b _0813E304 +_0813E2C2: + adds r2, r3, 0 + adds r2, 0x3E + ldrb r0, [r2] + movs r1, 0x5 + negs r1, r1 + ands r1, r0 + strb r1, [r2] + ldrh r0, [r3, 0x30] + adds r0, 0x1 + strh r0, [r3, 0x30] +_0813E2D6: + ldrh r1, [r3, 0x24] + movs r2, 0x24 + ldrsh r0, [r3, r2] + cmp r0, 0x37 + bgt _0813E2EC + adds r0, r1, 0x4 + strh r0, [r3, 0x24] + ldrh r0, [r3, 0x26] + subs r0, 0x3 + strh r0, [r3, 0x26] + b _0813E304 +_0813E2EC: + ldrh r2, [r3, 0x20] + adds r0, r1, r2 + movs r1, 0 + strh r0, [r3, 0x20] + ldrh r0, [r3, 0x26] + ldrh r2, [r3, 0x22] + adds r0, r2 + strh r0, [r3, 0x22] + strh r1, [r3, 0x24] + strh r1, [r3, 0x26] + movs r0, 0x1 + strh r0, [r3, 0x2E] +_0813E304: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_813E210 + + thumb_func_start sub_813E30C +sub_813E30C: @ 813E30C + push {r4,lr} + sub sp, 0x4 + adds r4, r0, 0 + ldrh r0, [r4, 0x3C] + adds r0, 0x1 + strh r0, [r4, 0x3C] + movs r1, 0x2E + ldrsh r0, [r4, r1] + cmp r0, 0x14 + bls _0813E322 + b _0813E4AC +_0813E322: + lsls r0, 2 + ldr r1, _0813E32C @ =_0813E330 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0813E32C: .4byte _0813E330 + .align 2, 0 +_0813E330: + .4byte _0813E4AC + .4byte _0813E384 + .4byte _0813E41C + .4byte _0813E4AC + .4byte _0813E4AC + .4byte _0813E4AC + .4byte _0813E4AC + .4byte _0813E4AC + .4byte _0813E4AC + .4byte _0813E4AC + .4byte _0813E3A8 + .4byte _0813E4AC + .4byte _0813E4AC + .4byte _0813E4AC + .4byte _0813E4AC + .4byte _0813E4AC + .4byte _0813E4AC + .4byte _0813E4AC + .4byte _0813E4AC + .4byte _0813E4AC + .4byte _0813E440 +_0813E384: + ldrb r1, [r4, 0x1] + movs r0, 0x4 + negs r0, r0 + ands r0, r1 + movs r1, 0x1 + orrs r0, r1 + strb r0, [r4, 0x1] + ldrb r1, [r4, 0x3] + movs r0, 0x3F + negs r0, r0 + ands r0, r1 + movs r1, 0x2 + orrs r0, r1 + strb r0, [r4, 0x3] + movs r0, 0xA + strh r0, [r4, 0x2E] + movs r0, 0x24 + strh r0, [r4, 0x36] +_0813E3A8: + ldrh r1, [r4, 0x20] + movs r2, 0x20 + ldrsh r0, [r4, r2] + cmp r0, 0x90 + bgt _0813E3D2 + adds r0, r1, 0x4 + strh r0, [r4, 0x20] + ldrh r0, [r4, 0x22] + subs r0, 0x1 + strh r0, [r4, 0x22] + ldrh r0, [r4, 0x32] + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x18 + bl Sin + negs r0, r0 + strh r0, [r4, 0x26] + ldrh r0, [r4, 0x32] + adds r0, 0x4 + strh r0, [r4, 0x32] +_0813E3D2: + ldrh r0, [r4, 0x34] + ldrh r2, [r4, 0x36] + subs r0, r2 + strh r0, [r4, 0x34] + ldrh r1, [r4, 0x3C] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _0813E3EE + lsls r0, r2, 16 + cmp r0, 0 + beq _0813E3EE + subs r0, r2, 0x1 + strh r0, [r4, 0x36] +_0813E3EE: + ldr r2, _0813E418 @ =gSineTable + ldrh r1, [r4, 0x34] + lsls r0, r1, 24 + lsrs r0, 23 + adds r0, r2 + ldrh r4, [r0] + adds r1, 0x40 + lsls r1, 24 + lsrs r1, 23 + adds r1, r2 + ldrh r1, [r1] + negs r3, r4 + lsls r3, 16 + lsrs r3, 16 + str r1, [sp] + movs r0, 0x1 + adds r2, r4, 0 + bl SetOamMatrix + b _0813E4AC + .align 2, 0 +_0813E418: .4byte gSineTable +_0813E41C: + ldrb r1, [r4, 0x1] + movs r0, 0x4 + negs r0, r0 + ands r0, r1 + movs r1, 0x1 + orrs r0, r1 + strb r0, [r4, 0x1] + ldrb r1, [r4, 0x3] + movs r0, 0x3F + negs r0, r0 + ands r0, r1 + movs r1, 0x4 + orrs r0, r1 + strb r0, [r4, 0x3] + movs r0, 0x14 + strh r0, [r4, 0x2E] + movs r0, 0x24 + strh r0, [r4, 0x36] +_0813E440: + ldrh r1, [r4, 0x20] + movs r2, 0x20 + ldrsh r0, [r4, r2] + cmp r0, 0x60 + bgt _0813E46A + adds r0, r1, 0x3 + strh r0, [r4, 0x20] + ldrh r0, [r4, 0x22] + subs r0, 0x1 + strh r0, [r4, 0x22] + ldrh r0, [r4, 0x32] + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x18 + bl Sin + negs r0, r0 + strh r0, [r4, 0x26] + ldrh r0, [r4, 0x32] + adds r0, 0x4 + strh r0, [r4, 0x32] +_0813E46A: + ldrh r0, [r4, 0x34] + ldrh r2, [r4, 0x36] + subs r0, r2 + strh r0, [r4, 0x34] + ldrh r1, [r4, 0x3C] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _0813E486 + lsls r0, r2, 16 + cmp r0, 0 + beq _0813E486 + subs r0, r2, 0x1 + strh r0, [r4, 0x36] +_0813E486: + ldr r2, _0813E4B4 @ =gSineTable + ldrh r1, [r4, 0x34] + lsls r0, r1, 24 + lsrs r0, 23 + adds r0, r2 + ldrh r4, [r0] + adds r1, 0x40 + lsls r1, 24 + lsrs r1, 23 + adds r1, r2 + ldrh r1, [r1] + negs r3, r4 + lsls r3, 16 + lsrs r3, 16 + str r1, [sp] + movs r0, 0x2 + adds r2, r4, 0 + bl SetOamMatrix +_0813E4AC: + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0813E4B4: .4byte gSineTable + thumb_func_end sub_813E30C + + thumb_func_start sub_813E4B8 +sub_813E4B8: @ 813E4B8 + push {r4,r5,lr} + sub sp, 0x4 + adds r5, r0, 0 + ldrh r0, [r5, 0x3C] + adds r0, 0x1 + strh r0, [r5, 0x3C] + movs r1, 0x1 + ands r0, r1 + cmp r0, 0 + beq _0813E4DA + adds r2, r5, 0 + adds r2, 0x3E + ldrb r1, [r2] + movs r0, 0x5 + negs r0, r0 + ands r0, r1 + b _0813E4E4 +_0813E4DA: + adds r2, r5, 0 + adds r2, 0x3E + ldrb r0, [r2] + movs r1, 0x4 + orrs r0, r1 +_0813E4E4: + strb r0, [r2] + ldrh r1, [r5, 0x32] + movs r2, 0x32 + ldrsh r0, [r5, r2] + cmp r0, 0x3F + ble _0813E4F8 + adds r0, r5, 0 + bl DestroySprite + b _0813E574 +_0813E4F8: + adds r0, r1, 0x2 + strh r0, [r5, 0x32] + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x28 + bl Sin + adds r4, r0, 0 + movs r1, 0x2E + ldrsh r0, [r5, r1] + lsls r0, 29 + lsrs r0, 24 + lsls r4, 16 + asrs r4, 16 + adds r1, r4, 0 + bl Cos + strh r0, [r5, 0x24] + movs r2, 0x2E + ldrsh r0, [r5, r2] + lsls r0, 29 + lsrs r0, 24 + adds r1, r4, 0 + bl Sin + strh r0, [r5, 0x26] + movs r1, 0x2E + ldrsh r0, [r5, r1] + cmp r0, 0 + bne _0813E574 + ldrh r0, [r5, 0x34] + ldrh r2, [r5, 0x30] + subs r0, r2 + strh r0, [r5, 0x34] + ldrh r1, [r5, 0x3C] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _0813E550 + lsls r0, r2, 16 + cmp r0, 0 + beq _0813E550 + subs r0, r2, 0x1 + strh r0, [r5, 0x30] +_0813E550: + ldr r3, _0813E57C @ =gSineTable + ldrh r1, [r5, 0x34] + lsls r0, r1, 24 + lsrs r0, 23 + adds r0, r3 + ldrh r2, [r0] + adds r1, 0x40 + lsls r1, 24 + lsrs r1, 23 + adds r1, r3 + ldrh r1, [r1] + negs r3, r2 + lsls r3, 16 + lsrs r3, 16 + str r1, [sp] + movs r0, 0x10 + bl SetOamMatrix +_0813E574: + add sp, 0x4 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0813E57C: .4byte gSineTable + thumb_func_end sub_813E4B8 + + thumb_func_start sub_813E580 +sub_813E580: @ 813E580 + push {r4-r7,lr} + movs r4, 0 + ldr r7, _0813E5D8 @ =gSprites + lsls r6, r0, 16 + lsls r5, r1, 16 +_0813E58A: + ldr r0, _0813E5DC @ =gSpriteTemplate_840B0B0 + asrs r1, r6, 16 + asrs r2, r5, 16 + movs r3, 0 + bl CreateSprite + lsls r0, 24 + lsrs r0, 24 + lsls r2, r0, 4 + adds r2, r0 + lsls r2, 2 + adds r2, r7 + ldrb r1, [r2, 0x1] + movs r3, 0x4 + negs r3, r3 + adds r0, r3, 0 + ands r1, r0 + movs r0, 0x1 + orrs r1, r0 + strb r1, [r2, 0x1] + ldrb r1, [r2, 0x3] + subs r3, 0x3B + adds r0, r3, 0 + ands r1, r0 + movs r0, 0x20 + orrs r1, r0 + strb r1, [r2, 0x3] + strh r4, [r2, 0x2E] + movs r0, 0x20 + strh r0, [r2, 0x30] + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0x7 + bls _0813E58A + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0813E5D8: .4byte gSprites +_0813E5DC: .4byte gSpriteTemplate_840B0B0 + thumb_func_end sub_813E580 + + thumb_func_start sub_813E5E0 +sub_813E5E0: @ 813E5E0 + push {r4,lr} + adds r3, r0, 0 + ldr r0, _0813E5F4 @ =gUnknown_0203931A + ldrh r0, [r0] + cmp r0, 0 + beq _0813E5F8 + adds r0, r3, 0 + bl DestroySprite + b _0813E6B2 + .align 2, 0 +_0813E5F4: .4byte gUnknown_0203931A +_0813E5F8: + ldr r2, _0813E6B8 @ =gSprites + movs r0, 0x2E + ldrsh r1, [r3, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + adds r0, 0x3E + ldrb r0, [r0] + movs r1, 0x3E + adds r1, r3 + mov r12, r1 + movs r1, 0x4 + ands r1, r0 + mov r4, r12 + ldrb r2, [r4] + movs r0, 0x5 + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r4] + ldrh r1, [r3, 0x3C] + movs r2, 0x3C + ldrsh r0, [r3, r2] + cmp r0, 0xB + bgt _0813E630 + adds r0, r1, 0x1 + strh r0, [r3, 0x3C] +_0813E630: + ldrh r0, [r3, 0x3A] + adds r0, 0x4 + strh r0, [r3, 0x3A] + ldr r4, _0813E6BC @ =gSineTable + ldrh r0, [r3, 0x34] + adds r0, 0x40 + lsls r0, 24 + lsrs r0, 23 + adds r0, r4 + movs r2, 0 + ldrsh r1, [r0, r2] + movs r2, 0x3A + ldrsh r0, [r3, r2] + muls r0, r1 + cmp r0, 0 + bge _0813E652 + adds r0, 0xFF +_0813E652: + asrs r0, 8 + ldrh r1, [r3, 0x36] + adds r0, r1 + strh r0, [r3, 0x20] + movs r2, 0x34 + ldrsh r0, [r3, r2] + lsls r0, 24 + lsrs r0, 23 + adds r0, r4 + movs r2, 0 + ldrsh r1, [r0, r2] + movs r2, 0x3A + ldrsh r0, [r3, r2] + muls r0, r1 + cmp r0, 0 + bge _0813E674 + adds r0, 0xFF +_0813E674: + asrs r0, 8 + ldrh r1, [r3, 0x38] + adds r2, r0, r1 + strh r2, [r3, 0x22] + movs r1, 0x30 + ldrsh r0, [r3, r1] + lsls r0, 24 + lsrs r0, 23 + adds r0, r4 + movs r4, 0 + ldrsh r1, [r0, r4] + movs r4, 0x3C + ldrsh r0, [r3, r4] + muls r0, r1 + cmp r0, 0 + bge _0813E696 + adds r0, 0xFF +_0813E696: + asrs r0, 8 + strh r0, [r3, 0x26] + ldrh r0, [r3, 0x30] + adds r0, 0x10 + strh r0, [r3, 0x30] + lsls r0, r2, 16 + asrs r0, 16 + movs r2, 0x32 + ldrsh r1, [r3, r2] + cmp r0, r1 + ble _0813E6B2 + adds r0, r3, 0 + bl DestroySprite +_0813E6B2: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0813E6B8: .4byte gSprites +_0813E6BC: .4byte gSineTable + thumb_func_end sub_813E5E0 + + thumb_func_start sub_813E6C0 +sub_813E6C0: @ 813E6C0 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x4 + adds r4, r0, 0 + ldr r0, _0813E6E0 @ =gUnknown_0203931A + ldrh r0, [r0] + cmp r0, 0 + beq _0813E6E4 + adds r0, r4, 0 + bl DestroySprite + b _0813E7A8 + .align 2, 0 +_0813E6E0: .4byte gUnknown_0203931A +_0813E6E4: + ldrh r0, [r4, 0x3C] + adds r0, 0x1 + strh r0, [r4, 0x3C] + adds r2, r4, 0 + adds r2, 0x3E + ldrb r0, [r2] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r2] + ldr r3, _0813E7B8 @ =gSprites + movs r0, 0x2E + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r2, r0, r3 + movs r1, 0x2E + ldrsh r0, [r2, r1] + cmp r0, 0x1 + bne _0813E7A8 + ldrh r1, [r4, 0x3C] + movs r0, 0x3 + ands r0, r1 + cmp r0, 0 + bne _0813E7A8 + ldrh r0, [r2, 0x20] + ldrh r7, [r4, 0x30] + adds r0, r7 + lsls r0, 16 + lsrs r0, 16 + str r0, [sp] + ldrh r0, [r2, 0x22] + ldrh r1, [r4, 0x32] + adds r0, r1 + lsls r0, 16 + lsrs r6, r0, 16 + movs r5, 0 + mov r8, r3 + ldr r2, [sp] + lsls r2, 16 + mov r10, r2 + lsls r7, r6, 16 + mov r9, r7 +_0813E73A: + movs r0, 0x2E + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + add r0, r8 + adds r0, 0x43 + ldrb r3, [r0] + subs r3, 0x1 + lsls r3, 24 + lsrs r3, 24 + ldr r0, _0813E7BC @ =gSpriteTemplate_840B0DC + mov r2, r10 + asrs r1, r2, 16 + mov r7, r9 + asrs r2, r7, 16 + bl CreateSprite + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x40 + beq _0813E79E + lsls r3, r0, 4 + adds r3, r0 + lsls r3, 2 + add r3, r8 + ldrh r0, [r4, 0x2E] + strh r0, [r3, 0x2E] + ldrh r1, [r4, 0x3C] + lsls r1, 16 + asrs r1, 18 + movs r0, 0x7 + ands r1, r0 + lsls r1, 5 + lsls r0, r5, 2 + adds r0, r5 + lsls r2, r0, 4 + adds r0, r2 + adds r1, r0 + strh r1, [r3, 0x30] + ldrh r0, [r4, 0x34] + strh r0, [r3, 0x32] + movs r0, 0x68 + strh r0, [r3, 0x34] + mov r0, sp + ldrh r0, [r0] + strh r0, [r3, 0x36] + strh r6, [r3, 0x38] + movs r1, 0 + strh r1, [r3, 0x3A] +_0813E79E: + adds r0, r5, 0x1 + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0x2 + bls _0813E73A +_0813E7A8: + add sp, 0x4 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0813E7B8: .4byte gSprites +_0813E7BC: .4byte gSpriteTemplate_840B0DC + thumb_func_end sub_813E6C0 + + thumb_func_start sub_813E7C0 +sub_813E7C0: @ 813E7C0 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + ldr r0, _0813E7F8 @ =gSpriteTemplate_840B0F4 + movs r1, 0 + movs r2, 0 + movs r3, 0 + bl CreateSprite + lsls r0, 24 + lsrs r2, r0, 24 + cmp r2, 0x40 + beq _0813E7F2 + ldr r1, _0813E7FC @ =gSprites + lsls r0, r2, 4 + adds r0, r2 + lsls r0, 2 + adds r0, r1 + movs r2, 0 + strh r4, [r0, 0x2E] + ldr r1, _0813E800 @ =0x0000fff4 + strh r1, [r0, 0x30] + strh r2, [r0, 0x32] + movs r1, 0x88 + strh r1, [r0, 0x34] +_0813E7F2: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0813E7F8: .4byte gSpriteTemplate_840B0F4 +_0813E7FC: .4byte gSprites +_0813E800: .4byte 0x0000fff4 + thumb_func_end sub_813E7C0 + + thumb_func_start sub_813E804 +sub_813E804: @ 813E804 + push {r4-r7,lr} + adds r3, r0, 0 + ldr r0, _0813E818 @ =gUnknown_0203931A + ldrh r0, [r0] + cmp r0, 0 + beq _0813E81C + adds r0, r3, 0 + bl DestroySprite + b _0813E928 + .align 2, 0 +_0813E818: .4byte gUnknown_0203931A +_0813E81C: + ldr r6, _0813E904 @ =gSprites + movs r0, 0x2E + ldrsh r1, [r3, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r6 + adds r0, 0x3E + ldrb r0, [r0] + movs r1, 0x3E + adds r1, r3 + mov r12, r1 + movs r1, 0x4 + ands r1, r0 + mov r7, r12 + ldrb r2, [r7] + movs r0, 0x5 + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r7] + ldrh r0, [r3, 0x3C] + adds r0, 0x1 + strh r0, [r3, 0x3C] + ldrh r1, [r3, 0x34] + movs r2, 0x34 + ldrsh r0, [r3, r2] + cmp r0, 0x27 + bgt _0813E85A + adds r0, r1, 0x2 + strh r0, [r3, 0x34] +_0813E85A: + movs r7, 0x2E + ldrsh r1, [r3, r7] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r6 + ldrh r1, [r0, 0x24] + ldrh r0, [r0, 0x20] + adds r2, r1, r0 + ldr r4, _0813E908 @ =gSineTable + ldrh r5, [r3, 0x30] + adds r0, r5, 0 + adds r0, 0x40 + lsls r0, 24 + lsrs r0, 23 + adds r0, r4 + movs r7, 0 + ldrsh r1, [r0, r7] + movs r7, 0x34 + ldrsh r0, [r3, r7] + muls r0, r1 + cmp r0, 0 + bge _0813E88A + adds r0, 0xFF +_0813E88A: + asrs r0, 8 + adds r0, r2, r0 + strh r0, [r3, 0x20] + movs r0, 0x2E + ldrsh r1, [r3, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r6 + ldrh r1, [r0, 0x26] + ldrh r0, [r0, 0x22] + adds r2, r1, r0 + movs r1, 0x30 + ldrsh r0, [r3, r1] + lsls r0, 24 + lsrs r0, 23 + adds r0, r4 + movs r7, 0 + ldrsh r1, [r0, r7] + movs r7, 0x34 + ldrsh r0, [r3, r7] + muls r0, r1 + cmp r0, 0 + bge _0813E8BE + ldr r1, _0813E90C @ =0x000001ff + adds r0, r1 +_0813E8BE: + asrs r0, 9 + adds r0, r2, r0 + strh r0, [r3, 0x22] + adds r1, r5, 0x2 + strh r1, [r3, 0x30] + movs r2, 0x32 + ldrsh r0, [r3, r2] + lsls r0, 24 + lsrs r0, 23 + adds r0, r4 + movs r7, 0 + ldrsh r0, [r0, r7] + cmp r0, 0 + bge _0813E8DC + adds r0, 0x1F +_0813E8DC: + asrs r0, 5 + strh r0, [r3, 0x26] + ldrh r0, [r3, 0x32] + adds r0, 0x8 + strh r0, [r3, 0x32] + movs r0, 0xFF + ands r1, r0 + cmp r1, 0x7F + bgt _0813E910 + movs r0, 0x2E + ldrsh r1, [r3, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r6 + adds r0, 0x43 + ldrb r0, [r0] + subs r0, 0x1 + b _0813E922 + .align 2, 0 +_0813E904: .4byte gSprites +_0813E908: .4byte gSineTable +_0813E90C: .4byte 0x000001ff +_0813E910: + movs r2, 0x2E + ldrsh r1, [r3, r2] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r6 + adds r0, 0x43 + ldrb r0, [r0] + adds r0, 0x1 +_0813E922: + adds r1, r3, 0 + adds r1, 0x43 + strb r0, [r1] +_0813E928: + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_813E804 + + thumb_func_start sub_813E930 +sub_813E930: @ 813E930 + push {r4-r7,lr} + lsls r0, 24 + lsrs r6, r0, 24 + movs r4, 0 + ldr r7, _0813E978 @ =gSprites + lsls r0, r6, 4 + adds r0, r6 + lsls r0, 2 + adds r5, r0, r7 +_0813E942: + movs r0, 0x20 + ldrsh r1, [r5, r0] + movs r0, 0x22 + ldrsh r2, [r5, r0] + ldr r0, _0813E97C @ =gSpriteTemplate_840B124 + movs r3, 0 + bl CreateSprite + lsls r0, 24 + lsrs r1, r0, 24 + cmp r1, 0x40 + beq _0813E968 + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r7 + strh r6, [r0, 0x2E] + lsls r1, r4, 5 + strh r1, [r0, 0x30] +_0813E968: + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0x7 + bls _0813E942 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0813E978: .4byte gSprites +_0813E97C: .4byte gSpriteTemplate_840B124 + thumb_func_end sub_813E930 + + thumb_func_start GetCurrentTrainerHillMapId +GetCurrentTrainerHillMapId: @ 813E980 + push {r4,r5,lr} + adds r3, r0, 0 + ldr r0, _0813E994 @ =gUnknown_0203931A + ldrh r0, [r0] + cmp r0, 0 + beq _0813E998 + adds r0, r3, 0 + bl DestroySprite + b _0813EA50 + .align 2, 0 +_0813E994: .4byte gUnknown_0203931A +_0813E998: + ldr r2, _0813EA58 @ =gSprites + movs r0, 0x2E + ldrsh r1, [r3, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + adds r0, 0x3E + ldrb r0, [r0] + movs r1, 0x3E + adds r1, r3 + mov r12, r1 + movs r1, 0x4 + ands r1, r0 + mov r5, r12 + ldrb r2, [r5] + movs r0, 0x5 + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r5] + ldrh r0, [r3, 0x3C] + adds r0, 0x1 + strh r0, [r3, 0x3C] + ldrh r0, [r3, 0x3A] + adds r4, r0, 0 + adds r4, 0x8 + strh r4, [r3, 0x3A] + ldr r2, _0813EA5C @ =gSineTable + ldrh r0, [r3, 0x34] + adds r0, 0x40 + lsls r0, 24 + lsrs r0, 23 + adds r0, r2 + movs r5, 0 + ldrsh r1, [r0, r5] + movs r5, 0x3A + ldrsh r0, [r3, r5] + muls r0, r1 + cmp r0, 0 + bge _0813E9EC + adds r0, 0xFF +_0813E9EC: + asrs r0, 8 + ldrh r1, [r3, 0x36] + adds r0, r1 + strh r0, [r3, 0x20] + movs r5, 0x34 + ldrsh r0, [r3, r5] + lsls r0, 24 + lsrs r0, 23 + adds r0, r2 + movs r2, 0 + ldrsh r1, [r0, r2] + movs r5, 0x3A + ldrsh r0, [r3, r5] + muls r0, r1 + cmp r0, 0 + bge _0813EA0E + adds r0, 0xFF +_0813EA0E: + asrs r0, 8 + ldrh r1, [r3, 0x38] + adds r0, r1 + strh r0, [r3, 0x22] + movs r2, 0x3A + ldrsh r0, [r3, r2] + cmp r0, 0 + bge _0813EA20 + adds r0, 0xF +_0813EA20: + asrs r0, 4 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x9 + bls _0813EA2C + movs r0, 0x9 +_0813EA2C: + adds r1, r0, 0 + adds r1, 0x12 + movs r0, 0x1F + ands r1, r0 + lsls r1, 1 + ldrb r2, [r3, 0x3] + movs r0, 0x3F + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r3, 0x3] + lsls r0, r4, 16 + asrs r0, 16 + cmp r0, 0xA0 + ble _0813EA50 + adds r0, r3, 0 + bl DestroySprite +_0813EA50: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0813EA58: .4byte gSprites +_0813EA5C: .4byte gSineTable + thumb_func_end GetCurrentTrainerHillMapId + + thumb_func_start sub_813EA60 +sub_813EA60: @ 813EA60 + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + adds r5, r0, 0 + ldr r0, _0813EA7C @ =gUnknown_0203931A + ldrh r0, [r0] + cmp r0, 0 + beq _0813EA80 + adds r0, r5, 0 + bl DestroySprite + b _0813EB32 + .align 2, 0 +_0813EA7C: .4byte gUnknown_0203931A +_0813EA80: + ldrh r0, [r5, 0x3C] + adds r0, 0x1 + strh r0, [r5, 0x3C] + adds r2, r5, 0 + adds r2, 0x3E + ldrb r0, [r2] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r2] + ldr r0, _0813EB40 @ =gSprites + mov r9, r0 + movs r4, 0x2E + ldrsh r1, [r5, r4] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + mov r1, r9 + adds r3, r0, r1 + movs r4, 0x2E + ldrsh r1, [r3, r4] + cmp r1, 0x1 + bne _0813EB32 + ldrh r0, [r5, 0x3C] + ands r1, r0 + lsls r0, r1, 16 + asrs r6, r0, 16 + cmp r6, 0 + bne _0813EB32 + ldrh r1, [r3, 0x20] + ldrh r0, [r5, 0x30] + adds r1, r0 + lsls r1, 16 + ldrh r2, [r3, 0x22] + ldrh r4, [r5, 0x32] + adds r2, r4 + lsls r2, 16 + ldr r0, _0813EB44 @ =gSpriteTemplate_840B150 + lsrs r4, r1, 16 + mov r8, r4 + asrs r1, 16 + lsrs r7, r2, 16 + asrs r2, 16 + adds r3, 0x43 + ldrb r3, [r3] + adds r3, 0x1 + lsls r3, 24 + lsrs r3, 24 + bl CreateSprite + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x40 + beq _0813EB32 + lsls r4, r0, 4 + adds r4, r0 + lsls r4, 2 + add r4, r9 + ldrb r0, [r4, 0x1] + movs r1, 0x3 + orrs r0, r1 + strb r0, [r4, 0x1] + ldrb r1, [r4, 0x3] + movs r0, 0x3F + negs r0, r0 + ands r0, r1 + movs r1, 0x24 + orrs r0, r1 + strb r0, [r4, 0x3] + adds r0, r4, 0 + movs r1, 0 + movs r2, 0x1 + movs r3, 0x3 + bl CalcCenterToCornerVec + ldrh r0, [r5, 0x2E] + strh r0, [r4, 0x2E] + ldr r2, _0813EB48 @ =gUnknown_0840B168 + ldrh r0, [r5, 0x3C] + lsls r0, 16 + asrs r0, 17 + movs r1, 0x7 + ands r0, r1 + adds r0, r2 + ldrb r0, [r0] + strh r0, [r4, 0x34] + mov r0, r8 + strh r0, [r4, 0x36] + strh r7, [r4, 0x38] + strh r6, [r4, 0x3A] +_0813EB32: + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0813EB40: .4byte gSprites +_0813EB44: .4byte gSpriteTemplate_840B150 +_0813EB48: .4byte gUnknown_0840B168 + thumb_func_end sub_813EA60 + + thumb_func_start sub_813EB4C +sub_813EB4C: @ 813EB4C + push {r4,r5,lr} + sub sp, 0x4 + lsls r0, 24 + lsrs r4, r0, 24 + ldr r0, _0813EBB0 @ =gSpriteTemplate_840B170 + movs r1, 0 + movs r2, 0 + movs r3, 0 + bl CreateSprite + lsls r0, 24 + lsrs r2, r0, 24 + cmp r2, 0x40 + beq _0813EB80 + ldr r1, _0813EBB4 @ =gSprites + lsls r0, r2, 4 + adds r0, r2 + lsls r0, 2 + adds r0, r1 + movs r1, 0 + strh r4, [r0, 0x2E] + strh r1, [r0, 0x30] + movs r1, 0x8 + strh r1, [r0, 0x32] + movs r1, 0x18 + strh r1, [r0, 0x34] +_0813EB80: + movs r4, 0 + ldr r5, _0813EBB8 @ =gUnknown_0840B188 +_0813EB84: + adds r0, r4, 0 + adds r0, 0x12 + lsls r0, 24 + lsrs r0, 24 + lsls r1, r4, 1 + adds r1, r5 + ldrh r1, [r1] + str r1, [sp] + movs r2, 0 + movs r3, 0 + bl SetOamMatrix + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0x9 + bls _0813EB84 + add sp, 0x4 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0813EBB0: .4byte gSpriteTemplate_840B170 +_0813EBB4: .4byte gSprites +_0813EBB8: .4byte gUnknown_0840B188 + thumb_func_end sub_813EB4C + + thumb_func_start sub_813EBBC +sub_813EBBC: @ 813EBBC + push {r4,lr} + adds r3, r0, 0 + ldr r0, _0813EBD0 @ =gUnknown_0203931A + ldrh r0, [r0] + cmp r0, 0 + beq _0813EBD4 + adds r0, r3, 0 + bl DestroySprite + b _0813EC80 + .align 2, 0 +_0813EBD0: .4byte gUnknown_0203931A +_0813EBD4: + ldr r2, _0813EC88 @ =gSprites + movs r0, 0x2E + ldrsh r1, [r3, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + adds r0, 0x3E + ldrb r0, [r0] + movs r1, 0x3E + adds r1, r3 + mov r12, r1 + movs r1, 0x4 + ands r1, r0 + mov r4, r12 + ldrb r2, [r4] + movs r0, 0x5 + negs r0, r0 + ands r0, r2 + orrs r0, r1 + strb r0, [r4] + ldrh r0, [r3, 0x3C] + adds r0, 0x1 + strh r0, [r3, 0x3C] + ldrh r0, [r3, 0x3A] + adds r0, 0x8 + strh r0, [r3, 0x3A] + ldr r2, _0813EC8C @ =gSineTable + ldrh r0, [r3, 0x34] + adds r0, 0x40 + lsls r0, 24 + lsrs r0, 23 + adds r0, r2 + movs r4, 0 + ldrsh r1, [r0, r4] + movs r4, 0x3A + ldrsh r0, [r3, r4] + muls r0, r1 + cmp r0, 0 + bge _0813EC26 + adds r0, 0xFF +_0813EC26: + asrs r0, 8 + ldrh r1, [r3, 0x36] + adds r0, r1 + strh r0, [r3, 0x20] + movs r4, 0x34 + ldrsh r0, [r3, r4] + lsls r0, 24 + lsrs r0, 23 + adds r0, r2 + movs r4, 0 + ldrsh r1, [r0, r4] + movs r4, 0x3A + ldrsh r0, [r3, r4] + muls r0, r1 + cmp r0, 0 + bge _0813EC48 + adds r0, 0xFF +_0813EC48: + asrs r0, 8 + ldrh r4, [r3, 0x38] + adds r1, r0, r4 + strh r1, [r3, 0x22] + movs r4, 0x30 + ldrsh r0, [r3, r4] + lsls r0, 24 + lsrs r0, 23 + adds r0, r2 + movs r2, 0 + ldrsh r0, [r0, r2] + cmp r0, 0 + bge _0813EC64 + adds r0, 0x3F +_0813EC64: + asrs r0, 6 + strh r0, [r3, 0x26] + ldrh r0, [r3, 0x30] + adds r0, 0x10 + strh r0, [r3, 0x30] + lsls r0, r1, 16 + asrs r0, 16 + movs r4, 0x32 + ldrsh r1, [r3, r4] + cmp r0, r1 + bge _0813EC80 + adds r0, r3, 0 + bl DestroySprite +_0813EC80: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0813EC88: .4byte gSprites +_0813EC8C: .4byte gSineTable + thumb_func_end sub_813EBBC + + thumb_func_start sub_813EC90 +sub_813EC90: @ 813EC90 + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + sub sp, 0x4 + adds r5, r0, 0 + ldr r0, _0813ECAC @ =gUnknown_0203931A + ldrh r0, [r0] + cmp r0, 0 + beq _0813ECB0 + adds r0, r5, 0 + bl DestroySprite + b _0813EDA0 + .align 2, 0 +_0813ECAC: .4byte gUnknown_0203931A +_0813ECB0: + ldrh r0, [r5, 0x3C] + adds r0, 0x1 + strh r0, [r5, 0x3C] + adds r2, r5, 0 + adds r2, 0x3E + ldrb r0, [r2] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r2] + ldr r0, _0813EDB0 @ =gSprites + mov r9, r0 + movs r2, 0x2E + ldrsh r1, [r5, r2] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + mov r4, r9 + adds r3, r0, r4 + movs r0, 0x2E + ldrsh r1, [r3, r0] + cmp r1, 0x1 + bne _0813ED74 + ldrh r0, [r5, 0x3C] + ands r1, r0 + lsls r0, r1, 16 + asrs r6, r0, 16 + cmp r6, 0 + bne _0813ED66 + ldrh r1, [r3, 0x20] + ldrh r2, [r5, 0x30] + adds r1, r2 + lsls r1, 16 + ldrh r2, [r3, 0x22] + ldrh r4, [r5, 0x32] + adds r2, r4 + lsls r2, 16 + ldr r0, _0813EDB4 @ =gSpriteTemplate_840B1B0 + lsrs r4, r1, 16 + mov r8, r4 + asrs r1, 16 + lsrs r7, r2, 16 + asrs r2, 16 + adds r3, 0x43 + ldrb r3, [r3] + adds r3, 0x1 + lsls r3, 24 + lsrs r3, 24 + bl CreateSprite + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x40 + beq _0813ED66 + lsls r4, r0, 4 + adds r4, r0 + lsls r4, 2 + add r4, r9 + ldrb r0, [r4, 0x1] + movs r1, 0x3 + orrs r0, r1 + strb r0, [r4, 0x1] + ldrb r1, [r4, 0x3] + movs r0, 0x3F + negs r0, r0 + ands r0, r1 + movs r1, 0x22 + orrs r0, r1 + strb r0, [r4, 0x3] + adds r0, r4, 0 + movs r1, 0 + movs r2, 0x1 + movs r3, 0x3 + bl CalcCenterToCornerVec + ldrh r0, [r5, 0x2E] + strh r0, [r4, 0x2E] + ldrh r0, [r5, 0x3C] + lsls r0, 16 + asrs r0, 18 + movs r1, 0x7 + ands r0, r1 + lsls r0, 5 + strh r0, [r4, 0x30] + ldrh r0, [r5, 0x34] + strh r0, [r4, 0x32] + movs r0, 0xE8 + strh r0, [r4, 0x34] + mov r0, r8 + strh r0, [r4, 0x36] + strh r7, [r4, 0x38] + strh r6, [r4, 0x3A] +_0813ED66: + ldrh r1, [r5, 0x3A] + movs r2, 0x3A + ldrsh r0, [r5, r2] + cmp r0, 0x6F + bgt _0813ED74 + adds r0, r1, 0x4 + strh r0, [r5, 0x3A] +_0813ED74: + ldr r1, _0813EDB8 @ =gSineTable + ldrh r0, [r5, 0x3A] + lsls r0, 24 + lsrs r0, 23 + adds r0, r1 + movs r4, 0 + ldrsh r0, [r0, r4] + lsrs r1, r0, 31 + adds r0, r1 + asrs r0, 1 + movs r2, 0x80 + lsls r2, 1 + adds r1, r2, 0 + subs r1, r0 + lsls r1, 16 + lsrs r1, 16 + str r1, [sp] + movs r0, 0x11 + movs r2, 0 + movs r3, 0 + bl SetOamMatrix +_0813EDA0: + add sp, 0x4 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0813EDB0: .4byte gSprites +_0813EDB4: .4byte gSpriteTemplate_840B1B0 +_0813EDB8: .4byte gSineTable + thumb_func_end sub_813EC90 + + thumb_func_start sub_813EDBC +sub_813EDBC: @ 813EDBC + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + ldr r0, _0813EDF4 @ =gSpriteTemplate_840B1C8 + movs r1, 0 + movs r2, 0 + movs r3, 0 + bl CreateSprite + lsls r0, 24 + lsrs r2, r0, 24 + cmp r2, 0x40 + beq _0813EDEE + ldr r1, _0813EDF8 @ =gSprites + lsls r0, r2, 4 + adds r0, r2 + lsls r0, 2 + adds r0, r1 + movs r1, 0 + strh r4, [r0, 0x2E] + strh r1, [r0, 0x30] + movs r1, 0xC + strh r1, [r0, 0x32] + movs r1, 0x18 + strh r1, [r0, 0x34] +_0813EDEE: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0813EDF4: .4byte gSpriteTemplate_840B1C8 +_0813EDF8: .4byte gSprites + thumb_func_end sub_813EDBC + + thumb_func_start sub_813EDFC +sub_813EDFC: @ 813EDFC + push {r4,r5,lr} + sub sp, 0x4 + adds r5, r0, 0 + movs r1, 0x2E + ldrsh r0, [r5, r1] + cmp r0, 0 + beq _0813EE12 + adds r4, r5, 0 + adds r4, 0x3E + cmp r0, 0x1 + beq _0813EE4A +_0813EE12: + adds r4, r5, 0 + adds r4, 0x3E + ldrb r1, [r4] + movs r0, 0x5 + negs r0, r0 + ands r0, r1 + strb r0, [r4] + ldrb r0, [r5, 0x1] + movs r1, 0x3 + orrs r0, r1 + strb r0, [r5, 0x1] + ldrb r1, [r5, 0x3] + movs r0, 0x3F + negs r0, r0 + ands r0, r1 + movs r1, 0x24 + orrs r0, r1 + strb r0, [r5, 0x3] + adds r0, r5, 0 + movs r1, 0 + movs r2, 0x3 + movs r3, 0x3 + bl CalcCenterToCornerVec + movs r0, 0 + strh r0, [r5, 0x30] + movs r0, 0x1 + strh r0, [r5, 0x2E] +_0813EE4A: + ldrh r0, [r5, 0x3C] + adds r0, 0x1 + strh r0, [r5, 0x3C] + movs r1, 0x1 + ands r0, r1 + cmp r0, 0 + beq _0813EE62 + ldrb r0, [r4] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r4] + b _0813EE7A +_0813EE62: + ldrb r0, [r4] + movs r1, 0x5 + negs r1, r1 + ands r1, r0 + strb r1, [r4] + ldrh r1, [r5, 0x30] + movs r2, 0x30 + ldrsh r0, [r5, r2] + cmp r0, 0x3F + bgt _0813EE7A + adds r0, r1, 0x1 + strh r0, [r5, 0x30] +_0813EE7A: + ldr r1, _0813EEB0 @ =gSineTable + ldrh r0, [r5, 0x30] + lsls r0, 24 + lsrs r0, 23 + adds r0, r1 + movs r1, 0 + ldrsh r0, [r0, r1] + lsrs r1, r0, 31 + adds r0, r1 + asrs r0, 1 + movs r2, 0x80 + lsls r2, 1 + adds r1, r2, 0 + subs r1, r0 + lsls r1, 16 + lsrs r1, 16 + str r1, [sp] + movs r0, 0x12 + movs r2, 0 + movs r3, 0 + bl SetOamMatrix + add sp, 0x4 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0813EEB0: .4byte gSineTable + thumb_func_end sub_813EDFC + + .align 2, 0 @ Don't pad with nop. diff --git a/asm/item_menu.s b/asm/item_menu.s index e2abfe960..85375a87a 100644 --- a/asm/item_menu.s +++ b/asm/item_menu.s @@ -6105,7 +6105,7 @@ sub_80A6178: @ 80A6178 adds r0, r4 lsls r0, 3 adds r0, r1 - ldr r2, _080A61A4 @ =sub_814625C + ldr r2, _080A61A4 @ =BerryTagScreen_814625C lsrs r1, r2, 16 strh r1, [r0, 0x18] strh r2, [r0, 0x1A] @@ -6114,7 +6114,7 @@ sub_80A6178: @ 80A6178 bx r0 .align 2, 0 _080A61A0: .4byte gTasks -_080A61A4: .4byte sub_814625C +_080A61A4: .4byte BerryTagScreen_814625C thumb_func_end sub_80A6178 thumb_func_start sub_80A61A8 diff --git a/asm/load_save.s b/asm/load_save.s deleted file mode 100644 index 09a9ea969..000000000 --- a/asm/load_save.s +++ /dev/null @@ -1,444 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start CheckForFlashMemory -CheckForFlashMemory: @ 80479CC - push {lr} - bl IdentifyFlash - lsls r0, 16 - cmp r0, 0 - bne _080479E8 - ldr r1, _080479E4 @ =gUnknown_3004820 - movs r0, 0x1 - str r0, [r1] - bl InitFlashTimer - b _080479EE - .align 2, 0 -_080479E4: .4byte gUnknown_3004820 -_080479E8: - ldr r1, _080479F4 @ =gUnknown_3004820 - movs r0, 0 - str r0, [r1] -_080479EE: - pop {r0} - bx r0 - .align 2, 0 -_080479F4: .4byte gUnknown_3004820 - thumb_func_end CheckForFlashMemory - - thumb_func_start sub_80479F8 -sub_80479F8: @ 80479F8 - ldr r0, _08047A00 @ =gSaveBlock2 - ldrb r0, [r0, 0x9] - bx lr - .align 2, 0 -_08047A00: .4byte gSaveBlock2 - thumb_func_end sub_80479F8 - - thumb_func_start sub_8047A04 -sub_8047A04: @ 8047A04 - ldr r1, _08047A0C @ =gSaveBlock2 - movs r0, 0 - strb r0, [r1, 0x9] - bx lr - .align 2, 0 -_08047A0C: .4byte gSaveBlock2 - thumb_func_end sub_8047A04 - - thumb_func_start sub_8047A10 -sub_8047A10: @ 8047A10 - ldr r1, _08047A18 @ =gSaveBlock2 - movs r0, 0x1 - strb r0, [r1, 0x9] - bx lr - .align 2, 0 -_08047A18: .4byte gSaveBlock2 - thumb_func_end sub_8047A10 - - thumb_func_start sub_8047A1C -sub_8047A1C: @ 8047A1C - push {lr} - movs r0, 0 - bl gpu_sync_bg_hide - ldr r1, _08047A30 @ =gSaveBlock2 - movs r0, 0x1 - strb r0, [r1, 0x9] - pop {r0} - bx r0 - .align 2, 0 -_08047A30: .4byte gSaveBlock2 - thumb_func_end sub_8047A1C - - thumb_func_start sub_8047A34 -sub_8047A34: @ 8047A34 - ldr r1, _08047A3C @ =gSaveBlock2 - movs r0, 0 - strb r0, [r1, 0x9] - bx lr - .align 2, 0 -_08047A3C: .4byte gSaveBlock2 - thumb_func_end sub_8047A34 - - thumb_func_start sub_8047A40 -sub_8047A40: @ 8047A40 - push {r4-r6,lr} - ldr r2, _08047A78 @ =gSaveBlock1 - ldr r0, _08047A7C @ =gPlayerPartyCount - ldrb r1, [r0] - movs r3, 0x8D - lsls r3, 2 - adds r0, r2, r3 - strb r1, [r0] - movs r6, 0 - movs r0, 0x8E - lsls r0, 2 - adds r5, r2, r0 - movs r4, 0 -_08047A5A: - ldr r1, _08047A80 @ =gPlayerParty - adds r1, r4, r1 - adds r0, r5, 0 - movs r2, 0x64 - bl memcpy - adds r5, 0x64 - adds r4, 0x64 - adds r6, 0x1 - cmp r6, 0x5 - ble _08047A5A - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08047A78: .4byte gSaveBlock1 -_08047A7C: .4byte gPlayerPartyCount -_08047A80: .4byte gPlayerParty - thumb_func_end sub_8047A40 - - thumb_func_start copy_player_party_from_sav1 -copy_player_party_from_sav1: @ 8047A84 - push {r4-r6,lr} - ldr r0, _08047AC0 @ =gPlayerPartyCount - ldr r1, _08047AC4 @ =gSaveBlock1 - movs r2, 0x8D - lsls r2, 2 - adds r1, r2 - ldrb r1, [r1] - strb r1, [r0] - ldr r4, _08047AC8 @ =gPlayerParty - movs r5, 0 - movs r0, 0xFA - lsls r0, 1 - adds r6, r4, r0 -_08047A9E: - ldr r1, _08047AC4 @ =gSaveBlock1 - adds r1, r5, r1 - movs r2, 0x8E - lsls r2, 2 - adds r1, r2 - adds r0, r4, 0 - movs r2, 0x64 - bl memcpy - adds r4, 0x64 - adds r5, 0x64 - cmp r4, r6 - ble _08047A9E - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08047AC0: .4byte gPlayerPartyCount -_08047AC4: .4byte gSaveBlock1 -_08047AC8: .4byte gPlayerParty - thumb_func_end copy_player_party_from_sav1 - - thumb_func_start sub_8047ACC -sub_8047ACC: @ 8047ACC - push {r4-r7,lr} - ldr r0, _08047AFC @ =gSaveBlock1 - ldr r4, _08047B00 @ =gMapObjects - movs r1, 0x9E - lsls r1, 4 - adds r3, r0, r1 - movs r2, 0xF -_08047ADA: - adds r1, r3, 0 - adds r0, r4, 0 - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - adds r4, 0x24 - adds r3, 0x24 - subs r2, 0x1 - cmp r2, 0 - bge _08047ADA - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08047AFC: .4byte gSaveBlock1 -_08047B00: .4byte gMapObjects - thumb_func_end sub_8047ACC - - thumb_func_start save_deserialize_npcs -save_deserialize_npcs: @ 8047B04 - push {r4-r7,lr} - ldr r0, _08047B34 @ =gSaveBlock1 - movs r1, 0x9E - lsls r1, 4 - adds r4, r0, r1 - ldr r3, _08047B38 @ =gMapObjects - movs r2, 0xF -_08047B12: - adds r1, r3, 0 - adds r0, r4, 0 - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - adds r4, 0x24 - adds r3, 0x24 - subs r2, 0x1 - cmp r2, 0 - bge _08047B12 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08047B34: .4byte gSaveBlock1 -_08047B38: .4byte gMapObjects - thumb_func_end save_deserialize_npcs - - thumb_func_start save_serialize_game -save_serialize_game: @ 8047B3C - push {lr} - bl sub_8047A40 - bl sub_8047ACC - pop {r0} - bx r0 - thumb_func_end save_serialize_game - - thumb_func_start save_deserialize_game -save_deserialize_game: @ 8047B4C - push {lr} - bl copy_player_party_from_sav1 - bl save_deserialize_npcs - pop {r0} - bx r0 - thumb_func_end save_deserialize_game - - thumb_func_start copy_bags_and_unk_data_from_save_blocks -copy_bags_and_unk_data_from_save_blocks: @ 8047B5C - push {r4-r7,lr} - ldr r0, _08047C0C @ =gSaveBlock1 - movs r1, 0xAC - lsls r1, 3 - adds r3, r0, r1 - ldr r1, _08047C10 @ =gUnknown_020291F4 - movs r2, 0x13 -_08047B6A: - ldm r3!, {r0} - stm r1!, {r0} - subs r2, 0x1 - cmp r2, 0 - bge _08047B6A - ldr r1, _08047C10 @ =gUnknown_020291F4 - ldr r0, _08047C0C @ =gSaveBlock1 - movs r2, 0xB6 - lsls r2, 3 - adds r3, r0, r2 - adds r1, 0x50 - movs r2, 0x13 -_08047B82: - ldm r3!, {r0} - stm r1!, {r0} - subs r2, 0x1 - cmp r2, 0 - bge _08047B82 - ldr r1, _08047C10 @ =gUnknown_020291F4 - ldr r0, _08047C0C @ =gSaveBlock1 - movs r5, 0xC0 - lsls r5, 3 - adds r3, r0, r5 - adds r1, 0xA0 - movs r2, 0xF -_08047B9A: - ldm r3!, {r0} - stm r1!, {r0} - subs r2, 0x1 - cmp r2, 0 - bge _08047B9A - ldr r1, _08047C10 @ =gUnknown_020291F4 - ldr r0, _08047C0C @ =gSaveBlock1 - movs r6, 0xC8 - lsls r6, 3 - adds r3, r0, r6 - adds r1, 0xE0 - movs r2, 0x3F -_08047BB2: - ldm r3!, {r0} - stm r1!, {r0} - subs r2, 0x1 - cmp r2, 0 - bge _08047BB2 - ldr r1, _08047C10 @ =gUnknown_020291F4 - ldr r0, _08047C0C @ =gSaveBlock1 - movs r7, 0xE8 - lsls r7, 3 - adds r3, r0, r7 - movs r0, 0xF0 - lsls r0, 1 - adds r1, r0 - movs r2, 0x2D -_08047BCE: - ldm r3!, {r0} - stm r1!, {r0} - subs r2, 0x1 - cmp r2, 0 - bge _08047BCE - ldr r0, _08047C10 @ =gUnknown_020291F4 - ldr r4, _08047C0C @ =gSaveBlock1 - movs r1, 0xA6 - lsls r1, 2 - adds r3, r0, r1 - ldr r2, _08047C14 @ =0x00002b4c - mov r12, r2 - movs r2, 0xF -_08047BE8: - adds r1, r3, 0 - mov r5, r12 - adds r0, r4, r5 - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - adds r4, 0x24 - adds r3, 0x24 - subs r2, 0x1 - cmp r2, 0 - bge _08047BE8 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08047C0C: .4byte gSaveBlock1 -_08047C10: .4byte gUnknown_020291F4 -_08047C14: .4byte 0x00002b4c - thumb_func_end copy_bags_and_unk_data_from_save_blocks - - thumb_func_start copy_bags_and_unk_data_to_save_blocks -copy_bags_and_unk_data_to_save_blocks: @ 8047C18 - push {r4-r7,lr} - ldr r0, _08047CCC @ =gSaveBlock1 - ldr r3, _08047CD0 @ =gUnknown_020291F4 - movs r2, 0xAC - lsls r2, 3 - adds r1, r0, r2 - movs r2, 0x13 -_08047C26: - ldm r3!, {r0} - stm r1!, {r0} - subs r2, 0x1 - cmp r2, 0 - bge _08047C26 - ldr r1, _08047CCC @ =gSaveBlock1 - ldr r0, _08047CD0 @ =gUnknown_020291F4 - adds r3, r0, 0 - adds r3, 0x50 - movs r5, 0xB6 - lsls r5, 3 - adds r1, r5 - movs r2, 0x13 -_08047C40: - ldm r3!, {r0} - stm r1!, {r0} - subs r2, 0x1 - cmp r2, 0 - bge _08047C40 - ldr r1, _08047CCC @ =gSaveBlock1 - ldr r0, _08047CD0 @ =gUnknown_020291F4 - adds r3, r0, 0 - adds r3, 0xA0 - movs r6, 0xC0 - lsls r6, 3 - adds r1, r6 - movs r2, 0xF -_08047C5A: - ldm r3!, {r0} - stm r1!, {r0} - subs r2, 0x1 - cmp r2, 0 - bge _08047C5A - ldr r1, _08047CCC @ =gSaveBlock1 - ldr r0, _08047CD0 @ =gUnknown_020291F4 - adds r3, r0, 0 - adds r3, 0xE0 - movs r7, 0xC8 - lsls r7, 3 - adds r1, r7 - movs r2, 0x3F -_08047C74: - ldm r3!, {r0} - stm r1!, {r0} - subs r2, 0x1 - cmp r2, 0 - bge _08047C74 - ldr r1, _08047CCC @ =gSaveBlock1 - ldr r0, _08047CD0 @ =gUnknown_020291F4 - movs r2, 0xF0 - lsls r2, 1 - adds r3, r0, r2 - movs r5, 0xE8 - lsls r5, 3 - adds r1, r5 - movs r2, 0x2D -_08047C90: - ldm r3!, {r0} - stm r1!, {r0} - subs r2, 0x1 - cmp r2, 0 - bge _08047C90 - ldr r0, _08047CCC @ =gSaveBlock1 - ldr r4, _08047CD0 @ =gUnknown_020291F4 - ldr r6, _08047CD4 @ =0x00002b4c - adds r3, r0, r6 - movs r7, 0xA6 - lsls r7, 2 - mov r12, r7 - movs r2, 0xF -_08047CAA: - adds r1, r3, 0 - mov r5, r12 - adds r0, r4, r5 - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - adds r4, 0x24 - adds r3, 0x24 - subs r2, 0x1 - cmp r2, 0 - bge _08047CAA - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08047CCC: .4byte gSaveBlock1 -_08047CD0: .4byte gUnknown_020291F4 -_08047CD4: .4byte 0x00002b4c - thumb_func_end copy_bags_and_unk_data_to_save_blocks - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/mail.s b/asm/mail.s deleted file mode 100644 index a08571018..000000000 --- a/asm/mail.s +++ /dev/null @@ -1,892 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start sub_80F890C -sub_80F890C: @ 80F890C - push {r4-r6,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r6, r1, 0 - lsls r2, 24 - lsrs r5, r2, 24 - ldr r2, _080F8958 @ =0x02000000 - adds r1, r2, 0 - adds r1, 0xFF - movs r0, 0x2 - strb r0, [r1] - adds r0, 0xFE - adds r1, r2, r0 - movs r0, 0x1 - strb r0, [r1] - movs r0, 0x82 - lsls r0, 1 - adds r1, r2, r0 - ldr r0, _080F895C @ =sub_80EB3FC - str r0, [r1] - movs r0, 0x84 - lsls r0, 1 - adds r1, r2, r0 - ldr r0, _080F8960 @ =ConvertEasyChatWordsToString - str r0, [r1] - ldrh r1, [r4, 0x20] - adds r0, r1, 0 - subs r0, 0x79 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xB - bhi _080F8964 - subs r1, 0x79 - adds r0, r2, 0 - adds r0, 0xFA - strb r1, [r0] - b _080F896E - .align 2, 0 -_080F8958: .4byte 0x02000000 -_080F895C: .4byte sub_80EB3FC -_080F8960: .4byte ConvertEasyChatWordsToString -_080F8964: - adds r1, r2, 0 - adds r1, 0xFA - movs r0, 0 - strb r0, [r1] - movs r5, 0 -_080F896E: - ldr r1, _080F8994 @ =0x02000000 - movs r2, 0x80 - lsls r2, 1 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0 - beq _080F8980 - cmp r0, 0x1 - beq _080F899C -_080F8980: - movs r0, 0x86 - lsls r0, 1 - adds r2, r1, r0 - adds r0, r1, 0 - adds r0, 0xFA - ldrb r0, [r0] - lsls r0, 3 - ldr r1, _080F8998 @ =gUnknown_083E5730 - b _080F89AC - .align 2, 0 -_080F8994: .4byte 0x02000000 -_080F8998: .4byte gUnknown_083E5730 -_080F899C: - movs r0, 0x86 - lsls r0, 1 - adds r2, r1, r0 - adds r0, r1, 0 - adds r0, 0xFA - ldrb r0, [r0] - lsls r0, 3 - ldr r1, _080F89DC @ =gUnknown_083E57A4 -_080F89AC: - adds r0, r1 - str r0, [r2] - ldrh r0, [r4, 0x1E] - mov r1, sp - bl sub_80A2D64 - lsls r0, 16 - ldr r1, _080F89E0 @ =0xffff0000 - adds r0, r1 - movs r1, 0xCD - lsls r1, 17 - cmp r0, r1 - bhi _080F89F8 - ldr r0, _080F89E4 @ =0x02000000 - adds r1, r0, 0 - adds r1, 0xFA - ldrb r2, [r1] - adds r1, r0, 0 - cmp r2, 0x6 - beq _080F89E8 - cmp r2, 0x9 - beq _080F89F0 - b _080F89FA - .align 2, 0 -_080F89DC: .4byte gUnknown_083E57A4 -_080F89E0: .4byte 0xffff0000 -_080F89E4: .4byte 0x02000000 -_080F89E8: - adds r2, r1, 0 - adds r2, 0xFB - movs r0, 0x1 - b _080F8A00 -_080F89F0: - adds r2, r1, 0 - adds r2, 0xFB - movs r0, 0x2 - b _080F8A00 -_080F89F8: - ldr r1, _080F8A20 @ =0x02000000 -_080F89FA: - adds r2, r1, 0 - adds r2, 0xFB - movs r0, 0 -_080F8A00: - strb r0, [r2] - adds r0, r1, 0 - adds r0, 0xF4 - str r4, [r0] - subs r0, 0x8 - str r6, [r0] - adds r0, 0xC - strb r5, [r0] - ldr r0, _080F8A24 @ =sub_80F8D50 - bl SetMainCallback2 - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080F8A20: .4byte 0x02000000 -_080F8A24: .4byte sub_80F8D50 - thumb_func_end sub_80F890C - - thumb_func_start sub_80F8A28 -sub_80F8A28: @ 80F8A28 - push {r4,r5,lr} - sub sp, 0x8 - ldr r0, _080F8A44 @ =gMain - ldr r1, _080F8A48 @ =0x0000043c - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x12 - bls _080F8A3A - b _080F8D3C -_080F8A3A: - lsls r0, 2 - ldr r1, _080F8A4C @ =_080F8A50 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_080F8A44: .4byte gMain -_080F8A48: .4byte 0x0000043c -_080F8A4C: .4byte _080F8A50 - .align 2, 0 -_080F8A50: - .4byte _080F8A9C - .4byte _080F8AB0 - .4byte _080F8AC8 - .4byte _080F8ACE - .4byte _080F8AD4 - .4byte _080F8ADA - .4byte _080F8B10 - .4byte _080F8B1C - .4byte _080F8B28 - .4byte _080F8B34 - .4byte _080F8B3A - .4byte _080F8B54 - .4byte _080F8B78 - .4byte _080F8BA0 - .4byte _080F8C14 - .4byte _080F8C2C - .4byte _080F8C58 - .4byte _080F8CBC - .4byte _080F8CC6 -_080F8A9C: - movs r0, 0 - bl SetVBlankCallback - bl remove_some_task - movs r1, 0x80 - lsls r1, 19 - movs r0, 0 - strh r0, [r1] - b _080F8D30 -_080F8AB0: - add r1, sp, 0x4 - movs r0, 0 - strh r0, [r1] - movs r1, 0xE0 - lsls r1, 19 - ldr r2, _080F8AC4 @ =0x01000200 - add r0, sp, 0x4 - bl CpuSet - b _080F8D30 - .align 2, 0 -_080F8AC4: .4byte 0x01000200 -_080F8AC8: - bl ResetPaletteFade - b _080F8D30 -_080F8ACE: - bl ResetTasks - b _080F8D30 -_080F8AD4: - bl ResetSpriteData - b _080F8D30 -_080F8ADA: - bl FreeAllSpritePalettes - ldr r0, _080F8B0C @ =REG_BG0HOFS - movs r1, 0 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x4 - strh r1, [r0] - subs r0, 0x2 - strh r1, [r0] - adds r0, 0x4 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x32 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - b _080F8D30 - .align 2, 0 -_080F8B0C: .4byte REG_BG0HOFS -_080F8B10: - ldr r0, _080F8B18 @ =gWindowConfig_81E6DFC - bl SetUpWindowConfig - b _080F8D30 - .align 2, 0 -_080F8B18: .4byte gWindowConfig_81E6DFC -_080F8B1C: - ldr r0, _080F8B24 @ =gWindowConfig_81E6DFC - bl MultistepInitMenuWindowBegin - b _080F8D30 - .align 2, 0 -_080F8B24: .4byte gWindowConfig_81E6DFC -_080F8B28: - bl MultistepInitMenuWindowContinue - cmp r0, 0 - beq _080F8B32 - b _080F8D30 -_080F8B32: - b _080F8D3C -_080F8B34: - bl MenuZeroFillScreen - b _080F8D30 -_080F8B3A: - mov r0, sp - adds r0, 0x6 - movs r1, 0x1 - strh r1, [r0] - ldr r1, _080F8B4C @ =0x06004800 - ldr r2, _080F8B50 @ =0x01000400 - bl CpuSet - b _080F8D30 - .align 2, 0 -_080F8B4C: .4byte 0x06004800 -_080F8B50: .4byte 0x01000400 -_080F8B54: - ldr r2, _080F8B70 @ =gMailGraphicsTable - ldr r0, _080F8B74 @ =0x02000000 - adds r0, 0xFA - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldr r0, [r0] - movs r1, 0 - movs r2, 0x20 - bl LoadPalette - b _080F8D30 - .align 2, 0 -_080F8B70: .4byte gMailGraphicsTable -_080F8B74: .4byte 0x02000000 -_080F8B78: - ldr r2, _080F8B94 @ =gMailGraphicsTable - ldr r0, _080F8B98 @ =0x02000000 - adds r0, 0xFA - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r2, 0x8 - adds r0, r2 - ldr r0, [r0] - ldr r1, _080F8B9C @ =0x06004000 - bl LZ77UnCompVram - b _080F8D30 - .align 2, 0 -_080F8B94: .4byte gMailGraphicsTable -_080F8B98: .4byte 0x02000000 -_080F8B9C: .4byte 0x06004000 -_080F8BA0: - ldr r5, _080F8C00 @ =gMailGraphicsTable - ldr r4, _080F8C04 @ =0x02000000 - adds r4, 0xFA - ldrb r1, [r4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r1, r5, 0x4 - adds r0, r1 - ldr r0, [r0] - movs r1, 0xC0 - lsls r1, 19 - bl LZ77UnCompVram - ldr r3, _080F8C08 @ =gPlttBufferUnfaded - ldrb r1, [r4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrh r0, [r0, 0x10] - movs r2, 0xF1 - lsls r2, 1 - adds r1, r3, r2 - strh r0, [r1] - ldrb r1, [r4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrh r1, [r0, 0x12] - adds r2, 0xE - adds r0, r3, r2 - strh r1, [r0] - ldr r1, _080F8C0C @ =gUnknown_083E562C - ldr r2, _080F8C10 @ =gSaveBlock2 - ldrb r0, [r2, 0x8] - lsls r0, 2 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r3, 0x14] - ldrb r0, [r2, 0x8] - lsls r0, 2 - adds r1, 0x2 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r3, 0x16] - b _080F8D30 - .align 2, 0 -_080F8C00: .4byte gMailGraphicsTable -_080F8C04: .4byte 0x02000000 -_080F8C08: .4byte gPlttBufferUnfaded -_080F8C0C: .4byte gUnknown_083E562C -_080F8C10: .4byte gSaveBlock2 -_080F8C14: - ldr r0, _080F8C28 @ =0x02000000 - adds r0, 0xF8 - ldrb r0, [r0] - cmp r0, 0 - bne _080F8C20 - b _080F8D30 -_080F8C20: - bl sub_80F8DA0 - b _080F8D30 - .align 2, 0 -_080F8C28: .4byte 0x02000000 -_080F8C2C: - ldr r0, _080F8C4C @ =0x02000000 - adds r0, 0xF8 - ldrb r0, [r0] - cmp r0, 0 - beq _080F8C3A - bl sub_80F8E80 -_080F8C3A: - ldr r0, _080F8C50 @ =sub_80F8F18 - bl SetVBlankCallback - ldr r2, _080F8C54 @ =gPaletteFade - ldrb r0, [r2, 0x8] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2, 0x8] - b _080F8D30 - .align 2, 0 -_080F8C4C: .4byte 0x02000000 -_080F8C50: .4byte sub_80F8F18 -_080F8C54: .4byte gPaletteFade -_080F8C58: - ldr r5, _080F8C7C @ =0x02000000 - adds r0, r5, 0 - adds r0, 0xF4 - ldr r0, [r0] - ldrh r0, [r0, 0x1E] - bl sub_809D4A8 - lsls r0, 16 - lsrs r4, r0, 16 - adds r0, r5, 0 - adds r0, 0xFB - ldrb r0, [r0] - cmp r0, 0x1 - beq _080F8C80 - cmp r0, 0x2 - beq _080F8C98 - b _080F8D30 - .align 2, 0 -_080F8C7C: .4byte 0x02000000 -_080F8C80: - adds r0, r4, 0 - bl sub_809D580 - ldr r1, _080F8C94 @ =SpriteCallbackDummy - movs r0, 0 - str r0, [sp] - adds r0, r4, 0 - movs r2, 0x60 - b _080F8CA8 - .align 2, 0 -_080F8C94: .4byte SpriteCallbackDummy -_080F8C98: - adds r0, r4, 0 - bl sub_809D580 - ldr r1, _080F8CB8 @ =SpriteCallbackDummy - movs r0, 0 - str r0, [sp] - adds r0, r4, 0 - movs r2, 0x28 -_080F8CA8: - movs r3, 0x80 - bl sub_809D3A4 - adds r1, r5, 0 - adds r1, 0xFC - strb r0, [r1] - b _080F8D30 - .align 2, 0 -_080F8CB8: .4byte SpriteCallbackDummy -_080F8CBC: - bl sub_8055870 - cmp r0, 0x1 - bne _080F8D30 - b _080F8D3C -_080F8CC6: - ldr r1, _080F8D14 @ =REG_BG0CNT - ldr r2, _080F8D18 @ =0x00009f08 - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x2 - ldr r2, _080F8D1C @ =0x00000801 - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x2 - ldr r2, _080F8D20 @ =0x00000902 - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x44 - movs r0, 0 - strh r0, [r1] - subs r1, 0x50 - movs r2, 0xBA - lsls r2, 5 - adds r0, r2, 0 - strh r0, [r1] - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r2, _080F8D24 @ =gPaletteFade - ldrb r1, [r2, 0x8] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2, 0x8] - ldr r0, _080F8D28 @ =0x02000000 - adds r0, 0xF0 - ldr r1, _080F8D2C @ =sub_80F8F58 - str r1, [r0] - movs r0, 0x1 - b _080F8D3E - .align 2, 0 -_080F8D14: .4byte REG_BG0CNT -_080F8D18: .4byte 0x00009f08 -_080F8D1C: .4byte 0x00000801 -_080F8D20: .4byte 0x00000902 -_080F8D24: .4byte gPaletteFade -_080F8D28: .4byte 0x02000000 -_080F8D2C: .4byte sub_80F8F58 -_080F8D30: - ldr r1, _080F8D48 @ =gMain - ldr r0, _080F8D4C @ =0x0000043c - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_080F8D3C: - movs r0, 0 -_080F8D3E: - add sp, 0x8 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080F8D48: .4byte gMain -_080F8D4C: .4byte 0x0000043c - thumb_func_end sub_80F8A28 - - thumb_func_start sub_80F8D50 -sub_80F8D50: @ 80F8D50 - push {lr} -_080F8D52: - bl sub_80F8A28 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080F8D6C - ldr r0, _080F8D68 @ =sub_80F8F2C - bl SetMainCallback2 - b _080F8D78 - .align 2, 0 -_080F8D68: .4byte sub_80F8F2C -_080F8D6C: - bl sub_80F9344 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080F8D52 -_080F8D78: - pop {r0} - bx r0 - thumb_func_end sub_80F8D50 - - thumb_func_start sub_80F8D7C -sub_80F8D7C: @ 80F8D7C - push {r4,lr} - adds r4, r0, 0 - bl StringCopy - adds r0, r4, 0 - bl sub_814A568 - adds r0, r4, 0 - bl StringLength - lsls r0, 16 - lsrs r0, 16 - adds r4, r0 - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80F8D7C - - thumb_func_start sub_80F8DA0 -sub_80F8DA0: @ 80F8DA0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r6, 0 - movs r5, 0 - ldr r2, _080F8E3C @ =0x02000000 - movs r0, 0x86 - lsls r0, 1 - adds r1, r2, r0 - ldr r0, [r1] - ldrb r0, [r0] - cmp r5, r0 - bcs _080F8E04 - mov r8, r2 - adds r7, r1, 0 -_080F8DBE: - lsls r0, r5, 3 - subs r0, r5 - lsls r0, 2 - subs r0, r5 - add r0, r8 - mov r1, r8 - adds r1, 0xF4 - lsls r2, r6, 1 - ldr r1, [r1] - adds r1, r2 - ldr r2, [r7] - ldr r2, [r2, 0x4] - lsls r4, r5, 2 - adds r2, r4, r2 - ldr r2, [r2] - lsls r2, 28 - lsrs r2, 30 - movs r3, 0x1 - bl ConvertEasyChatWordsToString - ldr r1, [r7] - ldr r0, [r1, 0x4] - adds r4, r0 - ldr r0, [r4] - lsls r0, 28 - lsrs r0, 30 - adds r0, r6, r0 - lsls r0, 24 - lsrs r6, r0, 24 - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - ldrb r1, [r1] - cmp r5, r1 - bcc _080F8DBE -_080F8E04: - ldr r2, _080F8E40 @ =0x020000d8 - adds r4, r2, 0 - subs r4, 0xD8 - adds r0, r2, 0 - adds r0, 0x28 - ldrb r0, [r0] - cmp r0, 0 - bne _080F8E48 - ldr r1, [r2, 0x1C] - adds r1, 0x12 - adds r0, r2, 0 - bl sub_80F8D7C - adds r2, r0, 0 - ldr r1, _080F8E44 @ =gOtherText_From - bl StringCopy - ldr r0, _080F8E40 @ =0x020000d8 - bl StringLength - movs r2, 0x86 - lsls r2, 1 - adds r1, r4, r2 - ldr r1, [r1] - ldrb r1, [r1, 0x2] - subs r1, r0 - b _080F8E6A - .align 2, 0 -_080F8E3C: .4byte 0x02000000 -_080F8E40: .4byte 0x020000d8 -_080F8E44: .4byte gOtherText_From -_080F8E48: - ldr r1, _080F8E7C @ =gOtherText_From - adds r0, r2, 0 - bl StringCopy - adds r2, r0, 0 - adds r0, r4, 0 - adds r0, 0xF4 - ldr r1, [r0] - adds r1, 0x12 - adds r0, r2, 0 - bl sub_80F8D7C - movs r1, 0x86 - lsls r1, 1 - adds r0, r4, r1 - ldr r0, [r0] - ldrb r1, [r0, 0x2] -_080F8E6A: - adds r0, r4, 0 - adds r0, 0xF9 - strb r1, [r0] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080F8E7C: .4byte gOtherText_From - thumb_func_end sub_80F8DA0 - - thumb_func_start sub_80F8E80 -sub_80F8E80: @ 80F8E80 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r6, 0 - movs r4, 0 - ldr r1, _080F8F10 @ =0x02000000 - movs r0, 0x86 - lsls r0, 1 - adds r2, r1, r0 - ldr r0, [r2] - ldrb r0, [r0] - cmp r4, r0 - bcs _080F8EF6 - mov r8, r1 - adds r7, r2, 0 -_080F8E9E: - lsls r0, r4, 3 - subs r0, r4 - lsls r0, 2 - subs r0, r4 - mov r1, r8 - adds r5, r0, r1 - ldrb r0, [r5] - cmp r0, 0xFF - beq _080F8EE8 - cmp r0, 0 - beq _080F8EE8 - ldr r2, [r7] - ldr r1, [r2, 0x4] - lsls r0, r4, 2 - adds r0, r1 - ldr r0, [r0] - lsls r3, r0, 24 - lsrs r3, 28 - lsls r0, 30 - lsrs r0, 30 - adds r0, r6, r0 - lsls r0, 24 - lsrs r6, r0, 24 - ldrb r2, [r2, 0x3] - lsrs r1, r2, 4 - adds r1, r3 - lsls r2, 28 - lsrs r2, 28 - adds r2, r6, r2 - lsls r2, 24 - lsrs r2, 24 - adds r0, r5, 0 - bl MenuPrint - adds r0, r6, 0x2 - lsls r0, 24 - lsrs r6, r0, 24 -_080F8EE8: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, [r7] - ldrb r0, [r0] - cmp r4, r0 - bcc _080F8E9E -_080F8EF6: - ldr r0, _080F8F14 @ =0x020000d8 - adds r1, r0, 0 - adds r1, 0x21 - ldrb r1, [r1] - ldr r2, [r0, 0x34] - ldrb r2, [r2, 0x1] - bl MenuPrint - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080F8F10: .4byte 0x02000000 -_080F8F14: .4byte 0x020000d8 - thumb_func_end sub_80F8E80 - - thumb_func_start sub_80F8F18 -sub_80F8F18: @ 80F8F18 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_80F8F18 - - thumb_func_start sub_80F8F2C -sub_80F8F2C: @ 80F8F2C - push {r4,lr} - ldr r4, _080F8F54 @ =0x02000000 - adds r0, r4, 0 - adds r0, 0xFB - ldrb r0, [r0] - cmp r0, 0 - beq _080F8F42 - bl AnimateSprites - bl BuildOamBuffer -_080F8F42: - adds r0, r4, 0 - adds r0, 0xF0 - ldr r0, [r0] - bl _call_via_r0 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080F8F54: .4byte 0x02000000 - thumb_func_end sub_80F8F2C - - thumb_func_start sub_80F8F58 -sub_80F8F58: @ 80F8F58 - push {lr} - bl UpdatePaletteFade - lsls r0, 24 - cmp r0, 0 - bne _080F8F6C - ldr r0, _080F8F70 @ =0x02000000 - adds r0, 0xF0 - ldr r1, _080F8F74 @ =sub_80F8F78 - str r1, [r0] -_080F8F6C: - pop {r0} - bx r0 - .align 2, 0 -_080F8F70: .4byte 0x02000000 -_080F8F74: .4byte sub_80F8F78 - thumb_func_end sub_80F8F58 - - thumb_func_start sub_80F8F78 -sub_80F8F78: @ 80F8F78 - push {lr} - sub sp, 0x4 - ldr r0, _080F8FA8 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - beq _080F8FA0 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, _080F8FAC @ =0x02000000 - adds r0, 0xF0 - ldr r1, _080F8FB0 @ =sub_80F8FB4 - str r1, [r0] -_080F8FA0: - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_080F8FA8: .4byte gMain -_080F8FAC: .4byte 0x02000000 -_080F8FB0: .4byte sub_80F8FB4 - thumb_func_end sub_80F8F78 - - thumb_func_start sub_80F8FB4 -sub_80F8FB4: @ 80F8FB4 - push {r4,lr} - bl UpdatePaletteFade - lsls r0, 24 - cmp r0, 0 - bne _080F9012 - ldr r4, _080F9018 @ =0x02000000 - adds r0, r4, 0 - adds r0, 0xEC - ldr r0, [r0] - bl SetMainCallback2 - adds r0, r4, 0 - adds r0, 0xFB - ldrb r0, [r0] - cmp r0, 0x2 - bgt _080F9002 - cmp r0, 0x1 - blt _080F9002 - adds r0, r4, 0 - adds r0, 0xF4 - ldr r0, [r0] - ldrh r0, [r0, 0x1E] - bl sub_809D4A8 - lsls r0, 16 - lsrs r0, 16 - bl sub_809D608 - adds r0, r4, 0 - adds r0, 0xFC - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080F901C @ =gSprites - adds r0, r1 - bl sub_809D510 -_080F9002: - ldr r0, _080F9018 @ =0x02000000 - movs r2, 0x88 - lsls r2, 1 - movs r1, 0 - bl memset - bl ResetPaletteFade -_080F9012: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080F9018: .4byte 0x02000000 -_080F901C: .4byte gSprites - thumb_func_end sub_80F8FB4 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/metatile_behavior.s b/asm/metatile_behavior.s deleted file mode 100644 index f81e3c0d4..000000000 --- a/asm/metatile_behavior.s +++ /dev/null @@ -1,2345 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start sub_8056D9C -sub_8056D9C: @ 8056D9C - movs r0, 0x1 - bx lr - thumb_func_end sub_8056D9C - - thumb_func_start sub_8056DA0 -sub_8056DA0: @ 8056DA0 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _08056DB8 @ =gUnknown_08308E2C - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _08056DBC - movs r0, 0 - b _08056DBE - .align 2, 0 -_08056DB8: .4byte gUnknown_08308E2C -_08056DBC: - movs r0, 0x1 -_08056DBE: - pop {r1} - bx r1 - thumb_func_end sub_8056DA0 - - thumb_func_start MetatileBehavior_IsJumpEast -MetatileBehavior_IsJumpEast: @ 8056DC4 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x38 - beq _08056DD2 - movs r0, 0 - b _08056DD4 -_08056DD2: - movs r0, 0x1 -_08056DD4: - pop {r1} - bx r1 - thumb_func_end MetatileBehavior_IsJumpEast - - thumb_func_start MetatileBehavior_IsJumpWest -MetatileBehavior_IsJumpWest: @ 8056DD8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x39 - beq _08056DE6 - movs r0, 0 - b _08056DE8 -_08056DE6: - movs r0, 0x1 -_08056DE8: - pop {r1} - bx r1 - thumb_func_end MetatileBehavior_IsJumpWest - - thumb_func_start MetatileBehavior_IsJumpNorth -MetatileBehavior_IsJumpNorth: @ 8056DEC - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3A - beq _08056DFA - movs r0, 0 - b _08056DFC -_08056DFA: - movs r0, 0x1 -_08056DFC: - pop {r1} - bx r1 - thumb_func_end MetatileBehavior_IsJumpNorth - - thumb_func_start MetatileBehavior_IsJumpSouth -MetatileBehavior_IsJumpSouth: @ 8056E00 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3B - beq _08056E0E - movs r0, 0 - b _08056E10 -_08056E0E: - movs r0, 0x1 -_08056E10: - pop {r1} - bx r1 - thumb_func_end MetatileBehavior_IsJumpSouth - - thumb_func_start sub_8056E14 -sub_8056E14: @ 8056E14 - push {lr} - lsls r0, 24 - movs r1, 0xFE - lsls r1, 24 - adds r0, r1 - lsrs r0, 24 - cmp r0, 0x1 - bls _08056E28 - movs r0, 0 - b _08056E2A -_08056E28: - movs r0, 0x1 -_08056E2A: - pop {r1} - bx r1 - thumb_func_end sub_8056E14 - - thumb_func_start MetatileBehavior_IsSandOrDeepSand -MetatileBehavior_IsSandOrDeepSand: @ 8056E30 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x21 - beq _08056E3E - cmp r0, 0x6 - bne _08056E42 -_08056E3E: - movs r0, 0x1 - b _08056E44 -_08056E42: - movs r0, 0 -_08056E44: - pop {r1} - bx r1 - thumb_func_end MetatileBehavior_IsSandOrDeepSand - - thumb_func_start MetatileBehavior_IsDeepSand -MetatileBehavior_IsDeepSand: @ 8056E48 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x6 - beq _08056E56 - movs r0, 0 - b _08056E58 -_08056E56: - movs r0, 0x1 -_08056E58: - pop {r1} - bx r1 - thumb_func_end MetatileBehavior_IsDeepSand - - thumb_func_start MetatileBehavior_IsReflective -MetatileBehavior_IsReflective: @ 8056E5C - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x10 - beq _08056E7A - cmp r0, 0x16 - beq _08056E7A - cmp r0, 0x1A - beq _08056E7A - cmp r0, 0x20 - beq _08056E7A - cmp r0, 0x14 - beq _08056E7A - cmp r0, 0x2B - bne _08056E7E -_08056E7A: - movs r0, 0x1 - b _08056E80 -_08056E7E: - movs r0, 0 -_08056E80: - pop {r1} - bx r1 - thumb_func_end MetatileBehavior_IsReflective - - thumb_func_start MetatileBehavior_IsIce -MetatileBehavior_IsIce: @ 8056E84 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x20 - beq _08056E92 - movs r0, 0 - b _08056E94 -_08056E92: - movs r0, 0x1 -_08056E94: - pop {r1} - bx r1 - thumb_func_end MetatileBehavior_IsIce - - thumb_func_start is_tile_x69_2_warp_door -is_tile_x69_2_warp_door: @ 8056E98 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x69 - beq _08056EA6 - movs r0, 0 - b _08056EA8 -_08056EA6: - movs r0, 0x1 -_08056EA8: - pop {r1} - bx r1 - thumb_func_end is_tile_x69_2_warp_door - - thumb_func_start MetatileBehavior_IsDoor -MetatileBehavior_IsDoor: @ 8056EAC - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x8D - beq _08056EBA - cmp r0, 0x69 - bne _08056EBE -_08056EBA: - movs r0, 0x1 - b _08056EC0 -_08056EBE: - movs r0, 0 -_08056EC0: - pop {r1} - bx r1 - thumb_func_end MetatileBehavior_IsDoor - - thumb_func_start MetatileBehavior_IsEscalator -MetatileBehavior_IsEscalator: @ 8056EC4 - push {lr} - lsls r0, 24 - movs r1, 0x96 - lsls r1, 24 - adds r0, r1 - lsrs r0, 24 - cmp r0, 0x1 - bls _08056ED8 - movs r0, 0 - b _08056EDA -_08056ED8: - movs r0, 0x1 -_08056EDA: - pop {r1} - bx r1 - thumb_func_end MetatileBehavior_IsEscalator - - thumb_func_start unref_sub_8056EE0 -unref_sub_8056EE0: @ 8056EE0 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - beq _08056EEE - movs r0, 0 - b _08056EF0 -_08056EEE: - movs r0, 0x1 -_08056EF0: - pop {r1} - bx r1 - thumb_func_end unref_sub_8056EE0 - - thumb_func_start MetatileBehavior_IsLadder -MetatileBehavior_IsLadder: @ 8056EF4 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x61 - beq _08056F02 - movs r0, 0 - b _08056F04 -_08056F02: - movs r0, 0x1 -_08056F04: - pop {r1} - bx r1 - thumb_func_end MetatileBehavior_IsLadder - - thumb_func_start sub_8056F08 -sub_8056F08: @ 8056F08 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x60 - beq _08056F1A - cmp r0, 0x6C - beq _08056F1A - cmp r0, 0x6E - bne _08056F1E -_08056F1A: - movs r0, 0x1 - b _08056F20 -_08056F1E: - movs r0, 0 -_08056F20: - pop {r1} - bx r1 - thumb_func_end sub_8056F08 - - thumb_func_start sub_8056F24 -sub_8056F24: @ 8056F24 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x6E - beq _08056F32 - movs r0, 0 - b _08056F34 -_08056F32: - movs r0, 0x1 -_08056F34: - pop {r1} - bx r1 - thumb_func_end sub_8056F24 - - thumb_func_start MetatileBehavior_IsSurfableWaterOrUnderwater -MetatileBehavior_IsSurfableWaterOrUnderwater: @ 8056F38 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _08056F50 @ =gUnknown_08308E2C - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _08056F54 - movs r0, 0 - b _08056F56 - .align 2, 0 -_08056F50: .4byte gUnknown_08308E2C -_08056F54: - movs r0, 0x1 -_08056F56: - pop {r1} - bx r1 - thumb_func_end MetatileBehavior_IsSurfableWaterOrUnderwater - - thumb_func_start MetatileBehavior_IsEastArrowWarp -MetatileBehavior_IsEastArrowWarp: @ 8056F5C - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x62 - beq _08056F6A - movs r0, 0 - b _08056F6C -_08056F6A: - movs r0, 0x1 -_08056F6C: - pop {r1} - bx r1 - thumb_func_end MetatileBehavior_IsEastArrowWarp - - thumb_func_start MetatileBehavior_IsWestArrowWarp -MetatileBehavior_IsWestArrowWarp: @ 8056F70 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x63 - beq _08056F7E - movs r0, 0 - b _08056F80 -_08056F7E: - movs r0, 0x1 -_08056F80: - pop {r1} - bx r1 - thumb_func_end MetatileBehavior_IsWestArrowWarp - - thumb_func_start MetatileBehavior_IsNorthArrowWarp -MetatileBehavior_IsNorthArrowWarp: @ 8056F84 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x64 - beq _08056F92 - cmp r0, 0x1B - bne _08056F96 -_08056F92: - movs r0, 0x1 - b _08056F98 -_08056F96: - movs r0, 0 -_08056F98: - pop {r1} - bx r1 - thumb_func_end MetatileBehavior_IsNorthArrowWarp - - thumb_func_start MetatileBehavior_IsSouthArrowWarp -MetatileBehavior_IsSouthArrowWarp: @ 8056F9C - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x65 - beq _08056FAE - cmp r0, 0x6D - beq _08056FAE - cmp r0, 0x1C - bne _08056FB2 -_08056FAE: - movs r0, 0x1 - b _08056FB4 -_08056FB2: - movs r0, 0 -_08056FB4: - pop {r1} - bx r1 - thumb_func_end MetatileBehavior_IsSouthArrowWarp - - thumb_func_start unref_sub_8056FB8 -unref_sub_8056FB8: @ 8056FB8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r5, 0 - adds r0, r4, 0 - bl MetatileBehavior_IsEastArrowWarp - lsls r0, 24 - cmp r0, 0 - bne _08056FF0 - adds r0, r4, 0 - bl MetatileBehavior_IsWestArrowWarp - lsls r0, 24 - cmp r0, 0 - bne _08056FF0 - adds r0, r4, 0 - bl MetatileBehavior_IsNorthArrowWarp - lsls r0, 24 - cmp r0, 0 - bne _08056FF0 - adds r0, r4, 0 - bl MetatileBehavior_IsSouthArrowWarp - lsls r0, 24 - cmp r0, 0 - beq _08056FF2 -_08056FF0: - movs r5, 0x1 -_08056FF2: - adds r0, r5, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end unref_sub_8056FB8 - - thumb_func_start sub_8056FFC -sub_8056FFC: @ 8056FFC - push {lr} - lsls r0, 24 - lsrs r1, r0, 24 - movs r2, 0xC0 - lsls r2, 24 - adds r0, r2 - lsrs r0, 24 - cmp r0, 0x8 - bls _08057032 - adds r0, r1, 0 - subs r0, 0x50 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bls _08057032 - cmp r1, 0xD0 - beq _08057032 - cmp r1, 0xD2 - beq _08057032 - cmp r1, 0x13 - beq _08057032 - cmp r1, 0x20 - beq _08057032 - cmp r1, 0xBB - beq _08057032 - cmp r1, 0xBC - bne _08057036 -_08057032: - movs r0, 0x1 - b _08057038 -_08057036: - movs r0, 0 -_08057038: - pop {r1} - bx r1 - thumb_func_end sub_8056FFC - - thumb_func_start MetatileBehavior_IsIce_2 -MetatileBehavior_IsIce_2: @ 805703C - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x20 - beq _0805704A - movs r0, 0 - b _0805704C -_0805704A: - movs r0, 0x1 -_0805704C: - pop {r1} - bx r1 - thumb_func_end MetatileBehavior_IsIce_2 - - thumb_func_start MetatileBehavior_IsTrickHouseSlipperyFloor -MetatileBehavior_IsTrickHouseSlipperyFloor: @ 8057050 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x48 - beq _0805705E - movs r0, 0 - b _08057060 -_0805705E: - movs r0, 0x1 -_08057060: - pop {r1} - bx r1 - thumb_func_end MetatileBehavior_IsTrickHouseSlipperyFloor - - thumb_func_start MetatileBehavior_0x05 -MetatileBehavior_0x05: @ 8057064 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x5 - beq _08057072 - movs r0, 0 - b _08057074 -_08057072: - movs r0, 0x1 -_08057074: - pop {r1} - bx r1 - thumb_func_end MetatileBehavior_0x05 - - thumb_func_start MetatileBehavior_IsWalkNorth -MetatileBehavior_IsWalkNorth: @ 8057078 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x42 - beq _08057086 - movs r0, 0 - b _08057088 -_08057086: - movs r0, 0x1 -_08057088: - pop {r1} - bx r1 - thumb_func_end MetatileBehavior_IsWalkNorth - - thumb_func_start MetatileBehavior_IsWalkSouth -MetatileBehavior_IsWalkSouth: @ 805708C - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x43 - beq _0805709A - movs r0, 0 - b _0805709C -_0805709A: - movs r0, 0x1 -_0805709C: - pop {r1} - bx r1 - thumb_func_end MetatileBehavior_IsWalkSouth - - thumb_func_start MetatileBehavior_IsWalkWest -MetatileBehavior_IsWalkWest: @ 80570A0 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x41 - beq _080570AE - movs r0, 0 - b _080570B0 -_080570AE: - movs r0, 0x1 -_080570B0: - pop {r1} - bx r1 - thumb_func_end MetatileBehavior_IsWalkWest - - thumb_func_start MetatileBehavior_IsWalkEast -MetatileBehavior_IsWalkEast: @ 80570B4 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _080570C2 - movs r0, 0 - b _080570C4 -_080570C2: - movs r0, 0x1 -_080570C4: - pop {r1} - bx r1 - thumb_func_end MetatileBehavior_IsWalkEast - - thumb_func_start MetatileBehavior_IsNorthwardCurrent -MetatileBehavior_IsNorthwardCurrent: @ 80570C8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x52 - beq _080570D6 - movs r0, 0 - b _080570D8 -_080570D6: - movs r0, 0x1 -_080570D8: - pop {r1} - bx r1 - thumb_func_end MetatileBehavior_IsNorthwardCurrent - - thumb_func_start MetatileBehavior_IsSouthwardCurrent -MetatileBehavior_IsSouthwardCurrent: @ 80570DC - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x53 - beq _080570EA - movs r0, 0 - b _080570EC -_080570EA: - movs r0, 0x1 -_080570EC: - pop {r1} - bx r1 - thumb_func_end MetatileBehavior_IsSouthwardCurrent - - thumb_func_start MetatileBehavior_IsWestwardCurrent -MetatileBehavior_IsWestwardCurrent: @ 80570F0 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x51 - beq _080570FE - movs r0, 0 - b _08057100 -_080570FE: - movs r0, 0x1 -_08057100: - pop {r1} - bx r1 - thumb_func_end MetatileBehavior_IsWestwardCurrent - - thumb_func_start MetatileBehavior_IsEastwardCurrent -MetatileBehavior_IsEastwardCurrent: @ 8057104 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x50 - beq _08057112 - movs r0, 0 - b _08057114 -_08057112: - movs r0, 0x1 -_08057114: - pop {r1} - bx r1 - thumb_func_end MetatileBehavior_IsEastwardCurrent - - thumb_func_start MetatileBehavior_IsSlideNorth -MetatileBehavior_IsSlideNorth: @ 8057118 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x46 - beq _08057126 - movs r0, 0 - b _08057128 -_08057126: - movs r0, 0x1 -_08057128: - pop {r1} - bx r1 - thumb_func_end MetatileBehavior_IsSlideNorth - - thumb_func_start MetatileBehavior_IsSlideSouth -MetatileBehavior_IsSlideSouth: @ 805712C - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x47 - beq _0805713A - movs r0, 0 - b _0805713C -_0805713A: - movs r0, 0x1 -_0805713C: - pop {r1} - bx r1 - thumb_func_end MetatileBehavior_IsSlideSouth - - thumb_func_start MetatileBehavior_IsSlideWest -MetatileBehavior_IsSlideWest: @ 8057140 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x45 - beq _0805714E - movs r0, 0 - b _08057150 -_0805714E: - movs r0, 0x1 -_08057150: - pop {r1} - bx r1 - thumb_func_end MetatileBehavior_IsSlideWest - - thumb_func_start MetatileBehavior_IsSlideEast -MetatileBehavior_IsSlideEast: @ 8057154 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x44 - beq _08057162 - movs r0, 0 - b _08057164 -_08057162: - movs r0, 0x1 -_08057164: - pop {r1} - bx r1 - thumb_func_end MetatileBehavior_IsSlideEast - - thumb_func_start MetatileBehavior_IsCounter -MetatileBehavior_IsCounter: @ 8057168 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x80 - beq _08057176 - movs r0, 0 - b _08057178 -_08057176: - movs r0, 0x1 -_08057178: - pop {r1} - bx r1 - thumb_func_end MetatileBehavior_IsCounter - - thumb_func_start MetatileBehavior_IsPlayerFacingTVScreen -MetatileBehavior_IsPlayerFacingTVScreen: @ 805717C - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - cmp r1, 0x2 - bne _0805718E - cmp r0, 0x86 - beq _08057192 -_0805718E: - movs r0, 0 - b _08057194 -_08057192: - movs r0, 0x1 -_08057194: - pop {r1} - bx r1 - thumb_func_end MetatileBehavior_IsPlayerFacingTVScreen - - thumb_func_start MetatileBehavior_IsPC -MetatileBehavior_IsPC: @ 8057198 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x83 - beq _080571A6 - movs r0, 0 - b _080571A8 -_080571A6: - movs r0, 0x1 -_080571A8: - pop {r1} - bx r1 - thumb_func_end MetatileBehavior_IsPC - - thumb_func_start is_tile_x84 -is_tile_x84: @ 80571AC - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x84 - beq _080571BA - movs r0, 0 - b _080571BC -_080571BA: - movs r0, 0x1 -_080571BC: - pop {r1} - bx r1 - thumb_func_end is_tile_x84 - - thumb_func_start sub_80571C0 -sub_80571C0: @ 80571C0 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x91 - beq _080571E2 - cmp r0, 0x93 - beq _080571E2 - cmp r0, 0x95 - beq _080571E2 - cmp r0, 0x97 - beq _080571E2 - cmp r0, 0x99 - beq _080571E2 - cmp r0, 0x9B - beq _080571E2 - cmp r0, 0x9D - bne _080571E6 -_080571E2: - movs r0, 0x1 - b _080571E8 -_080571E6: - movs r0, 0 -_080571E8: - pop {r1} - bx r1 - thumb_func_end sub_80571C0 - - thumb_func_start sub_80571EC -sub_80571EC: @ 80571EC - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x90 - beq _08057202 - cmp r0, 0x92 - beq _08057202 - cmp r0, 0x94 - beq _08057202 - cmp r0, 0x9A - bne _08057206 -_08057202: - movs r0, 0x1 - b _08057208 -_08057206: - movs r0, 0 -_08057208: - pop {r1} - bx r1 - thumb_func_end sub_80571EC - - thumb_func_start sub_805720C -sub_805720C: @ 805720C - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x96 - beq _0805721A - cmp r0, 0x9C - bne _0805721E -_0805721A: - movs r0, 0x1 - b _08057220 -_0805721E: - movs r0, 0 -_08057220: - pop {r1} - bx r1 - thumb_func_end sub_805720C - - thumb_func_start is_tile_x98 -is_tile_x98: @ 8057224 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x98 - beq _08057232 - movs r0, 0 - b _08057234 -_08057232: - movs r0, 0x1 -_08057234: - pop {r1} - bx r1 - thumb_func_end is_tile_x98 - - thumb_func_start sub_8057238 -sub_8057238: @ 8057238 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xB0 - beq _08057246 - movs r0, 0 - b _08057248 -_08057246: - movs r0, 0x1 -_08057248: - pop {r1} - bx r1 - thumb_func_end sub_8057238 - - thumb_func_start sub_805724C -sub_805724C: @ 805724C - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xB1 - beq _0805725A - movs r0, 0 - b _0805725C -_0805725A: - movs r0, 0x1 -_0805725C: - pop {r1} - bx r1 - thumb_func_end sub_805724C - - thumb_func_start unref_sub_8057260 -unref_sub_8057260: @ 8057260 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xB2 - beq _0805726E - movs r0, 0 - b _08057270 -_0805726E: - movs r0, 0x1 -_08057270: - pop {r1} - bx r1 - thumb_func_end unref_sub_8057260 - - thumb_func_start sub_8057274 -sub_8057274: @ 8057274 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xB3 - beq _08057282 - movs r0, 0 - b _08057284 -_08057282: - movs r0, 0x1 -_08057284: - pop {r1} - bx r1 - thumb_func_end sub_8057274 - - thumb_func_start sub_8057288 -sub_8057288: @ 8057288 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xB9 - beq _08057296 - movs r0, 0 - b _08057298 -_08057296: - movs r0, 0x1 -_08057298: - pop {r1} - bx r1 - thumb_func_end sub_8057288 - - thumb_func_start sub_805729C -sub_805729C: @ 805729C - push {lr} - lsls r0, 24 - cmp r0, 0 - beq _080572A8 - movs r0, 0 - b _080572AA -_080572A8: - movs r0, 0x1 -_080572AA: - pop {r1} - bx r1 - thumb_func_end sub_805729C - - thumb_func_start sub_80572B0 -sub_80572B0: @ 80572B0 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xB7 - beq _080572BE - movs r0, 0 - b _080572C0 -_080572BE: - movs r0, 0x1 -_080572C0: - pop {r1} - bx r1 - thumb_func_end sub_80572B0 - - thumb_func_start unref_sub_80572C4 -unref_sub_80572C4: @ 80572C4 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xB2 - beq _080572D2 - movs r0, 0 - b _080572D4 -_080572D2: - movs r0, 0x1 -_080572D4: - pop {r1} - bx r1 - thumb_func_end unref_sub_80572C4 - - thumb_func_start sub_80572D8 -sub_80572D8: @ 80572D8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xB5 - beq _080572E6 - movs r0, 0 - b _080572E8 -_080572E6: - movs r0, 0x1 -_080572E8: - pop {r1} - bx r1 - thumb_func_end sub_80572D8 - - thumb_func_start sub_80572EC -sub_80572EC: @ 80572EC - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xC3 - beq _080572FA - movs r0, 0 - b _080572FC -_080572FA: - movs r0, 0x1 -_080572FC: - pop {r1} - bx r1 - thumb_func_end sub_80572EC - - thumb_func_start sub_8057300 -sub_8057300: @ 8057300 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xC2 - beq _0805730E - movs r0, 0 - b _08057310 -_0805730E: - movs r0, 0x1 -_08057310: - pop {r1} - bx r1 - thumb_func_end sub_8057300 - - thumb_func_start sub_8057314 -sub_8057314: @ 8057314 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xB8 - beq _08057322 - movs r0, 0 - b _08057324 -_08057322: - movs r0, 0x1 -_08057324: - pop {r1} - bx r1 - thumb_func_end sub_8057314 - - thumb_func_start sub_8057328 -sub_8057328: @ 8057328 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xBE - beq _08057336 - movs r0, 0 - b _08057338 -_08057336: - movs r0, 0x1 -_08057338: - pop {r1} - bx r1 - thumb_func_end sub_8057328 - - thumb_func_start sub_805733C -sub_805733C: @ 805733C - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xBD - beq _0805734A - movs r0, 0 - b _0805734C -_0805734A: - movs r0, 0x1 -_0805734C: - pop {r1} - bx r1 - thumb_func_end sub_805733C - - thumb_func_start sub_8057350 -sub_8057350: @ 8057350 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xBA - beq _0805735E - movs r0, 0 - b _08057360 -_0805735E: - movs r0, 0x1 -_08057360: - pop {r1} - bx r1 - thumb_func_end sub_8057350 - - thumb_func_start sub_8057364 -sub_8057364: @ 8057364 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xBF - beq _08057372 - movs r0, 0 - b _08057374 -_08057372: - movs r0, 0x1 -_08057374: - pop {r1} - bx r1 - thumb_func_end sub_8057364 - - thumb_func_start sub_8057378 -sub_8057378: @ 8057378 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xC4 - beq _08057386 - movs r0, 0 - b _08057388 -_08057386: - movs r0, 0x1 -_08057388: - pop {r1} - bx r1 - thumb_func_end sub_8057378 - - thumb_func_start sub_805738C -sub_805738C: @ 805738C - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xC5 - beq _0805739A - movs r0, 0 - b _0805739C -_0805739A: - movs r0, 0x1 -_0805739C: - pop {r1} - bx r1 - thumb_func_end sub_805738C - - thumb_func_start MetatileBehavior_HasRipples -MetatileBehavior_HasRipples: @ 80573A0 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x10 - beq _080573B2 - cmp r0, 0x16 - beq _080573B2 - cmp r0, 0x14 - bne _080573B6 -_080573B2: - movs r0, 0x1 - b _080573B8 -_080573B6: - movs r0, 0 -_080573B8: - pop {r1} - bx r1 - thumb_func_end MetatileBehavior_HasRipples - - thumb_func_start MetatileBehavior_IsPuddle -MetatileBehavior_IsPuddle: @ 80573BC - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x16 - beq _080573CA - movs r0, 0 - b _080573CC -_080573CA: - movs r0, 0x1 -_080573CC: - pop {r1} - bx r1 - thumb_func_end MetatileBehavior_IsPuddle - - thumb_func_start MetatileBehavior_IsTallGrass -MetatileBehavior_IsTallGrass: @ 80573D0 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - beq _080573DE - movs r0, 0 - b _080573E0 -_080573DE: - movs r0, 0x1 -_080573E0: - pop {r1} - bx r1 - thumb_func_end MetatileBehavior_IsTallGrass - - thumb_func_start MetatileBehavior_IsLongGrass -MetatileBehavior_IsLongGrass: @ 80573E4 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - beq _080573F2 - movs r0, 0 - b _080573F4 -_080573F2: - movs r0, 0x1 -_080573F4: - pop {r1} - bx r1 - thumb_func_end MetatileBehavior_IsLongGrass - - thumb_func_start MetatileBehavior_IsBerryTreeSoil -MetatileBehavior_IsBerryTreeSoil: @ 80573F8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xA0 - beq _08057406 - movs r0, 0 - b _08057408 -_08057406: - movs r0, 0x1 -_08057408: - pop {r1} - bx r1 - thumb_func_end MetatileBehavior_IsBerryTreeSoil - - thumb_func_start MetatileBehavior_IsAsh -MetatileBehavior_IsAsh: @ 805740C - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x24 - beq _0805741A - movs r0, 0 - b _0805741C -_0805741A: - movs r0, 0x1 -_0805741C: - pop {r1} - bx r1 - thumb_func_end MetatileBehavior_IsAsh - - thumb_func_start MetatileBehavior_IsUnusedFootprintMetatile -MetatileBehavior_IsUnusedFootprintMetatile: @ 8057420 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x25 - beq _0805742E - movs r0, 0 - b _08057430 -_0805742E: - movs r0, 0x1 -_08057430: - pop {r1} - bx r1 - thumb_func_end MetatileBehavior_IsUnusedFootprintMetatile - - thumb_func_start MetatileBehavior_IsBridge -MetatileBehavior_IsBridge: @ 8057434 - push {lr} - lsls r0, 24 - movs r1, 0x90 - lsls r1, 24 - adds r0, r1 - lsrs r0, 24 - cmp r0, 0x3 - bls _08057448 - movs r0, 0 - b _0805744A -_08057448: - movs r0, 0x1 -_0805744A: - pop {r1} - bx r1 - thumb_func_end MetatileBehavior_IsBridge - - thumb_func_start sub_8057450 -sub_8057450: @ 8057450 - push {lr} - lsls r0, 24 - movs r1, 0x90 - lsls r1, 24 - adds r0, r1 - lsrs r0, 24 - cmp r0, 0x3 - bls _08057462 - movs r0, 0 -_08057462: - pop {r1} - bx r1 - thumb_func_end sub_8057450 - - thumb_func_start MetatileBehavior_IsLandWildEncounter -MetatileBehavior_IsLandWildEncounter: @ 8057468 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl MetatileBehavior_IsSurfableWaterOrUnderwater - lsls r0, 24 - cmp r0, 0 - bne _0805748C - adds r0, r4, 0 - bl sub_8056DA0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0805748C - movs r0, 0x1 - b _0805748E -_0805748C: - movs r0, 0 -_0805748E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end MetatileBehavior_IsLandWildEncounter - - thumb_func_start MetatileBehavior_IsWaterWildEncounter -MetatileBehavior_IsWaterWildEncounter: @ 8057494 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl MetatileBehavior_IsSurfableWaterOrUnderwater - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080574BA - adds r0, r4, 0 - bl sub_8056DA0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080574BA - movs r0, 0x1 - b _080574BC -_080574BA: - movs r0, 0 -_080574BC: - pop {r4} - pop {r1} - bx r1 - thumb_func_end MetatileBehavior_IsWaterWildEncounter - - thumb_func_start sub_80574C4 -sub_80574C4: @ 80574C4 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xB - beq _080574D2 - movs r0, 0 - b _080574D4 -_080574D2: - movs r0, 0x1 -_080574D4: - pop {r1} - bx r1 - thumb_func_end sub_80574C4 - - thumb_func_start sub_80574D8 -sub_80574D8: @ 80574D8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xC - beq _080574E6 - movs r0, 0 - b _080574E8 -_080574E6: - movs r0, 0x1 -_080574E8: - pop {r1} - bx r1 - thumb_func_end sub_80574D8 - - thumb_func_start sub_80574EC -sub_80574EC: @ 80574EC - push {lr} - lsls r0, 24 - lsrs r1, r0, 24 - movs r2, 0xEF - lsls r2, 24 - adds r0, r2 - lsrs r0, 24 - cmp r0, 0x1 - bls _08057502 - cmp r1, 0x14 - bne _08057506 -_08057502: - movs r0, 0x1 - b _08057508 -_08057506: - movs r0, 0 -_08057508: - pop {r1} - bx r1 - thumb_func_end sub_80574EC - - thumb_func_start sub_805750C -sub_805750C: @ 805750C - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x19 - beq _0805751A - cmp r0, 0x2A - bne _0805751E -_0805751A: - movs r0, 0x1 - b _08057520 -_0805751E: - movs r0, 0 -_08057520: - pop {r1} - bx r1 - thumb_func_end sub_805750C - - thumb_func_start MetatileBehavior_IsShallowFlowingWater -MetatileBehavior_IsShallowFlowingWater: @ 8057524 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x17 - beq _08057536 - cmp r0, 0x1B - beq _08057536 - cmp r0, 0x1C - bne _0805753A -_08057536: - movs r0, 0x1 - b _0805753C -_0805753A: - movs r0, 0 -_0805753C: - pop {r1} - bx r1 - thumb_func_end MetatileBehavior_IsShallowFlowingWater - - thumb_func_start sub_8057540 -sub_8057540: @ 8057540 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x26 - beq _0805754E - movs r0, 0 - b _08057550 -_0805754E: - movs r0, 0x1 -_08057550: - pop {r1} - bx r1 - thumb_func_end sub_8057540 - - thumb_func_start sub_8057554 -sub_8057554: @ 8057554 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x27 - beq _08057562 - movs r0, 0 - b _08057564 -_08057562: - movs r0, 0x1 -_08057564: - pop {r1} - bx r1 - thumb_func_end sub_8057554 - - thumb_func_start sub_8057568 -sub_8057568: @ 8057568 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x15 - beq _0805757A - cmp r0, 0x11 - beq _0805757A - cmp r0, 0x12 - bne _0805757E -_0805757A: - movs r0, 0x1 - b _08057580 -_0805757E: - movs r0, 0 -_08057580: - pop {r1} - bx r1 - thumb_func_end sub_8057568 - - thumb_func_start unref_sub_8057584 -unref_sub_8057584: @ 8057584 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x18 - beq _08057592 - cmp r0, 0x1A - bne _08057596 -_08057592: - movs r0, 0x1 - b _08057598 -_08057596: - movs r0, 0 -_08057598: - pop {r1} - bx r1 - thumb_func_end unref_sub_8057584 - - thumb_func_start sub_805759C -sub_805759C: @ 805759C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl MetatileBehavior_IsSurfableWaterOrUnderwater - lsls r0, 24 - cmp r0, 0 - beq _080575BE - adds r0, r4, 0 - bl MetatileBehavior_IsWaterfall - lsls r0, 24 - cmp r0, 0 - bne _080575BE - movs r0, 0x1 - b _080575C0 -_080575BE: - movs r0, 0 -_080575C0: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_805759C - - thumb_func_start MetatileBehavior_IsEastBlocked -MetatileBehavior_IsEastBlocked: @ 80575C8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x30 - beq _080575E2 - cmp r0, 0x34 - beq _080575E2 - cmp r0, 0x36 - beq _080575E2 - cmp r0, 0xC1 - beq _080575E2 - cmp r0, 0xBE - bne _080575E6 -_080575E2: - movs r0, 0x1 - b _080575E8 -_080575E6: - movs r0, 0 -_080575E8: - pop {r1} - bx r1 - thumb_func_end MetatileBehavior_IsEastBlocked - - thumb_func_start MetatileBehavior_IsWestBlocked -MetatileBehavior_IsWestBlocked: @ 80575EC - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x31 - beq _08057606 - cmp r0, 0x35 - beq _08057606 - cmp r0, 0x37 - beq _08057606 - cmp r0, 0xC1 - beq _08057606 - cmp r0, 0xBE - bne _0805760A -_08057606: - movs r0, 0x1 - b _0805760C -_0805760A: - movs r0, 0 -_0805760C: - pop {r1} - bx r1 - thumb_func_end MetatileBehavior_IsWestBlocked - - thumb_func_start MetatileBehavior_IsNorthBlocked -MetatileBehavior_IsNorthBlocked: @ 8057610 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x32 - beq _08057626 - cmp r0, 0x34 - beq _08057626 - cmp r0, 0x35 - beq _08057626 - cmp r0, 0xC0 - bne _0805762A -_08057626: - movs r0, 0x1 - b _0805762C -_0805762A: - movs r0, 0 -_0805762C: - pop {r1} - bx r1 - thumb_func_end MetatileBehavior_IsNorthBlocked - - thumb_func_start MetatileBehavior_IsSouthBlocked -MetatileBehavior_IsSouthBlocked: @ 8057630 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x33 - beq _08057646 - cmp r0, 0x36 - beq _08057646 - cmp r0, 0x37 - beq _08057646 - cmp r0, 0xC0 - bne _0805764A -_08057646: - movs r0, 0x1 - b _0805764C -_0805764A: - movs r0, 0 -_0805764C: - pop {r1} - bx r1 - thumb_func_end MetatileBehavior_IsSouthBlocked - - thumb_func_start MetatileBehavior_IsShortGrass -MetatileBehavior_IsShortGrass: @ 8057650 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x7 - beq _0805765E - movs r0, 0 - b _08057660 -_0805765E: - movs r0, 0x1 -_08057660: - pop {r1} - bx r1 - thumb_func_end MetatileBehavior_IsShortGrass - - thumb_func_start MetatileBehavior_IsHotSprings -MetatileBehavior_IsHotSprings: @ 8057664 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x28 - beq _08057672 - movs r0, 0 - b _08057674 -_08057672: - movs r0, 0x1 -_08057674: - pop {r1} - bx r1 - thumb_func_end MetatileBehavior_IsHotSprings - - thumb_func_start MetatileBehavior_IsWaterfall -MetatileBehavior_IsWaterfall: @ 8057678 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x13 - beq _08057686 - movs r0, 0 - b _08057688 -_08057686: - movs r0, 0x1 -_08057688: - pop {r1} - bx r1 - thumb_func_end MetatileBehavior_IsWaterfall - - thumb_func_start MetatileBehavior_IsFortreeBridge -MetatileBehavior_IsFortreeBridge: @ 805768C - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x78 - beq _0805769A - movs r0, 0 - b _0805769C -_0805769A: - movs r0, 0x1 -_0805769C: - pop {r1} - bx r1 - thumb_func_end MetatileBehavior_IsFortreeBridge - - thumb_func_start sub_80576A0 -sub_80576A0: @ 80576A0 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x74 - beq _080576AE - movs r0, 0 - b _080576B0 -_080576AE: - movs r0, 0x1 -_080576B0: - pop {r1} - bx r1 - thumb_func_end sub_80576A0 - - thumb_func_start sub_80576B4 -sub_80576B4: @ 80576B4 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x75 - beq _080576C2 - movs r0, 0 - b _080576C4 -_080576C2: - movs r0, 0x1 -_080576C4: - pop {r1} - bx r1 - thumb_func_end sub_80576B4 - - thumb_func_start sub_80576C8 -sub_80576C8: @ 80576C8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x76 - beq _080576D6 - movs r0, 0 - b _080576D8 -_080576D6: - movs r0, 0x1 -_080576D8: - pop {r1} - bx r1 - thumb_func_end sub_80576C8 - - thumb_func_start sub_80576DC -sub_80576DC: @ 80576DC - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x77 - beq _080576EA - movs r0, 0 - b _080576EC -_080576EA: - movs r0, 0x1 -_080576EC: - pop {r1} - bx r1 - thumb_func_end sub_80576DC - - thumb_func_start MetatileBehavior_IsPacifidlogLog -MetatileBehavior_IsPacifidlogLog: @ 80576F0 - push {lr} - lsls r0, 24 - movs r1, 0x8C - lsls r1, 24 - adds r0, r1 - lsrs r0, 24 - cmp r0, 0x3 - bls _08057704 - movs r0, 0 - b _08057706 -_08057704: - movs r0, 0x1 -_08057706: - pop {r1} - bx r1 - thumb_func_end MetatileBehavior_IsPacifidlogLog - - thumb_func_start is_tile_x8C -is_tile_x8C: @ 805770C - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x8C - beq _0805771A - movs r0, 0 - b _0805771C -_0805771A: - movs r0, 0x1 -_0805771C: - pop {r1} - bx r1 - thumb_func_end is_tile_x8C - - thumb_func_start is_tile_x85 -is_tile_x85: @ 8057720 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x85 - beq _0805772E - movs r0, 0 - b _08057730 -_0805772E: - movs r0, 0x1 -_08057730: - pop {r1} - bx r1 - thumb_func_end is_tile_x85 - - thumb_func_start is_tile_x8B -is_tile_x8B: @ 8057734 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x8B - beq _08057742 - movs r0, 0 - b _08057744 -_08057742: - movs r0, 0x1 -_08057744: - pop {r1} - bx r1 - thumb_func_end is_tile_x8B - - thumb_func_start is_tile_x8A -is_tile_x8A: @ 8057748 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x8A - beq _08057756 - movs r0, 0 - b _08057758 -_08057756: - movs r0, 0x1 -_08057758: - pop {r1} - bx r1 - thumb_func_end is_tile_x8A - - thumb_func_start is_tile_x87 -is_tile_x87: @ 805775C - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x87 - beq _0805776A - movs r0, 0 - b _0805776C -_0805776A: - movs r0, 0x1 -_0805776C: - pop {r1} - bx r1 - thumb_func_end is_tile_x87 - - thumb_func_start MetatileBehavior_0xBB -MetatileBehavior_0xBB: @ 8057770 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xBB - beq _0805777E - movs r0, 0 - b _08057780 -_0805777E: - movs r0, 0x1 -_08057780: - pop {r1} - bx r1 - thumb_func_end MetatileBehavior_0xBB - - thumb_func_start MetatileBehavior_0xBC -MetatileBehavior_0xBC: @ 8057784 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xBC - beq _08057792 - movs r0, 0 - b _08057794 -_08057792: - movs r0, 0x1 -_08057794: - pop {r1} - bx r1 - thumb_func_end MetatileBehavior_0xBC - - thumb_func_start sub_8057798 -sub_8057798: @ 8057798 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x29 - beq _080577A6 - movs r0, 0 - b _080577A8 -_080577A6: - movs r0, 0x1 -_080577A8: - pop {r1} - bx r1 - thumb_func_end sub_8057798 - - thumb_func_start is_role_x68 -is_role_x68: @ 80577AC - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x68 - beq _080577BA - movs r0, 0 - b _080577BC -_080577BA: - movs r0, 0x1 -_080577BC: - pop {r1} - bx r1 - thumb_func_end is_role_x68 - - thumb_func_start MetatileBehavior_IsAquaHideoutWarp -MetatileBehavior_IsAquaHideoutWarp: @ 80577C0 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x67 - beq _080577CE - movs r0, 0 - b _080577D0 -_080577CE: - movs r0, 0x1 -_080577D0: - pop {r1} - bx r1 - thumb_func_end MetatileBehavior_IsAquaHideoutWarp - - thumb_func_start MetatileBehavior_IsSurfableFishableWater -MetatileBehavior_IsSurfableFishableWater: @ 80577D4 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x10 - beq _080577F8 - cmp r0, 0x15 - beq _080577F8 - cmp r0, 0x11 - beq _080577F8 - cmp r0, 0x12 - beq _080577F8 - cmp r0, 0x14 - beq _080577F8 - subs r0, 0x50 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bhi _080577FC -_080577F8: - movs r0, 0x1 - b _080577FE -_080577FC: - movs r0, 0 -_080577FE: - pop {r1} - bx r1 - thumb_func_end MetatileBehavior_IsSurfableFishableWater - - thumb_func_start sub_8057804 -sub_8057804: @ 8057804 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xF - beq _08057812 - movs r0, 0 - b _08057814 -_08057812: - movs r0, 0x1 -_08057814: - pop {r1} - bx r1 - thumb_func_end sub_8057804 - - thumb_func_start sub_8057818 -sub_8057818: @ 8057818 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x66 - beq _08057826 - movs r0, 0 - b _08057828 -_08057826: - movs r0, 0x1 -_08057828: - pop {r1} - bx r1 - thumb_func_end sub_8057818 - - thumb_func_start sub_805782C -sub_805782C: @ 805782C - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xD2 - beq _0805783A - movs r0, 0 - b _0805783C -_0805783A: - movs r0, 0x1 -_0805783C: - pop {r1} - bx r1 - thumb_func_end sub_805782C - - thumb_func_start MetatileBehavior_IsMuddySlope -MetatileBehavior_IsMuddySlope: @ 8057840 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xD0 - beq _0805784E - movs r0, 0 - b _08057850 -_0805784E: - movs r0, 0x1 -_08057850: - pop {r1} - bx r1 - thumb_func_end MetatileBehavior_IsMuddySlope - - thumb_func_start MetatileBehavior_IsBumpySlope -MetatileBehavior_IsBumpySlope: @ 8057854 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xD1 - beq _08057862 - movs r0, 0 - b _08057864 -_08057862: - movs r0, 0x1 -_08057864: - pop {r1} - bx r1 - thumb_func_end MetatileBehavior_IsBumpySlope - - thumb_func_start MetatileBehavior_IsIsolatedVerticalRail -MetatileBehavior_IsIsolatedVerticalRail: @ 8057868 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xD3 - beq _08057876 - movs r0, 0 - b _08057878 -_08057876: - movs r0, 0x1 -_08057878: - pop {r1} - bx r1 - thumb_func_end MetatileBehavior_IsIsolatedVerticalRail - - thumb_func_start MetatileBehavior_IsIsolatedHorizontalRail -MetatileBehavior_IsIsolatedHorizontalRail: @ 805787C - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xD4 - beq _0805788A - movs r0, 0 - b _0805788C -_0805788A: - movs r0, 0x1 -_0805788C: - pop {r1} - bx r1 - thumb_func_end MetatileBehavior_IsIsolatedHorizontalRail - - thumb_func_start MetatileBehavior_IsVerticalRail -MetatileBehavior_IsVerticalRail: @ 8057890 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xD5 - beq _0805789E - movs r0, 0 - b _080578A0 -_0805789E: - movs r0, 0x1 -_080578A0: - pop {r1} - bx r1 - thumb_func_end MetatileBehavior_IsVerticalRail - - thumb_func_start MetatileBehavior_IsHorizontalRail -MetatileBehavior_IsHorizontalRail: @ 80578A4 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xD6 - beq _080578B2 - movs r0, 0 - b _080578B4 -_080578B2: - movs r0, 0x1 -_080578B4: - pop {r1} - bx r1 - thumb_func_end MetatileBehavior_IsHorizontalRail - - thumb_func_start MetatileBehavior_IsSeaweed -MetatileBehavior_IsSeaweed: @ 80578B8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x22 - beq _080578C6 - cmp r0, 0x2A - bne _080578CA -_080578C6: - movs r0, 0x1 - b _080578CC -_080578CA: - movs r0, 0 -_080578CC: - pop {r1} - bx r1 - thumb_func_end MetatileBehavior_IsSeaweed - - thumb_func_start MetatileBehavior_IsRunningDisallowed -MetatileBehavior_IsRunningDisallowed: @ 80578D0 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xA - beq _080578EC - cmp r0, 0x3 - beq _080578EC - cmp r0, 0x28 - beq _080578EC - bl MetatileBehavior_IsPacifidlogLog - lsls r0, 24 - cmp r0, 0 - beq _080578F0 -_080578EC: - movs r0, 0x1 - b _080578F2 -_080578F0: - movs r0, 0 -_080578F2: - pop {r1} - bx r1 - thumb_func_end MetatileBehavior_IsRunningDisallowed - - thumb_func_start sub_80578F8 -sub_80578F8: @ 80578F8 - push {lr} - lsls r0, 24 - lsrs r1, r0, 24 - movs r2, 0xFE - lsls r2, 24 - adds r0, r2 - lsrs r0, 24 - cmp r0, 0x1 - bls _08057912 - cmp r1, 0x24 - beq _08057912 - cmp r1, 0x9 - bne _08057916 -_08057912: - movs r0, 0x1 - b _08057918 -_08057916: - movs r0, 0 -_08057918: - pop {r1} - bx r1 - thumb_func_end sub_80578F8 - - thumb_func_start sub_805791C -sub_805791C: @ 805791C - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x8E - beq _0805792A - movs r0, 0 - b _0805792C -_0805792A: - movs r0, 0x1 -_0805792C: - pop {r1} - bx r1 - thumb_func_end sub_805791C - - thumb_func_start sub_8057930 -sub_8057930: @ 8057930 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xE0 - beq _0805793E - movs r0, 0 - b _08057940 -_0805793E: - movs r0, 0x1 -_08057940: - pop {r1} - bx r1 - thumb_func_end sub_8057930 - - thumb_func_start sub_8057944 -sub_8057944: @ 8057944 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xE1 - beq _08057952 - movs r0, 0 - b _08057954 -_08057952: - movs r0, 0x1 -_08057954: - pop {r1} - bx r1 - thumb_func_end sub_8057944 - - thumb_func_start sub_8057958 -sub_8057958: @ 8057958 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xE2 - beq _08057966 - movs r0, 0 - b _08057968 -_08057966: - movs r0, 0x1 -_08057968: - pop {r1} - bx r1 - thumb_func_end sub_8057958 - - thumb_func_start sub_805796C -sub_805796C: @ 805796C - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xE3 - beq _0805797A - movs r0, 0 - b _0805797C -_0805797A: - movs r0, 0x1 -_0805797C: - pop {r1} - bx r1 - thumb_func_end sub_805796C - - thumb_func_start sub_8057980 -sub_8057980: @ 8057980 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xE4 - beq _0805798E - movs r0, 0 - b _08057990 -_0805798E: - movs r0, 0x1 -_08057990: - pop {r1} - bx r1 - thumb_func_end sub_8057980 - - thumb_func_start sub_8057994 -sub_8057994: @ 8057994 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xE5 - beq _080579A2 - movs r0, 0 - b _080579A4 -_080579A2: - movs r0, 0x1 -_080579A4: - pop {r1} - bx r1 - thumb_func_end sub_8057994 - - thumb_func_start sub_80579A8 -sub_80579A8: @ 80579A8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xE6 - beq _080579B6 - movs r0, 0 - b _080579B8 -_080579B6: - movs r0, 0x1 -_080579B8: - pop {r1} - bx r1 - thumb_func_end sub_80579A8 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/money.s b/asm/money.s deleted file mode 100644 index 65d8b87a1..000000000 --- a/asm/money.s +++ /dev/null @@ -1,480 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start IsEnoughMoney -IsEnoughMoney: @ 80B79A8 - push {lr} - cmp r0, r1 - bcs _080B79B2 - movs r0, 0 - b _080B79B4 -_080B79B2: - movs r0, 0x1 -_080B79B4: - pop {r1} - bx r1 - thumb_func_end IsEnoughMoney - - thumb_func_start sub_80B79B8 -sub_80B79B8: @ 80B79B8 - push {lr} - adds r2, r0, 0 - ldr r0, [r2] - adds r1, r0, r1 - cmp r0, r1 - bls _080B79CC - ldr r0, _080B79C8 @ =0x000f423f - b _080B79D4 - .align 2, 0 -_080B79C8: .4byte 0x000f423f -_080B79CC: - str r1, [r2] - ldr r0, _080B79DC @ =0x000f423f - cmp r1, r0 - bls _080B79D6 -_080B79D4: - str r0, [r2] -_080B79D6: - pop {r0} - bx r0 - .align 2, 0 -_080B79DC: .4byte 0x000f423f - thumb_func_end sub_80B79B8 - - thumb_func_start sub_80B79E0 -sub_80B79E0: @ 80B79E0 - push {lr} - adds r2, r0, 0 - ldr r0, [r2] - cmp r0, r1 - bcs _080B79EE - movs r0, 0 - b _080B79F0 -_080B79EE: - subs r0, r1 -_080B79F0: - str r0, [r2] - pop {r0} - bx r0 - thumb_func_end sub_80B79E0 - - thumb_func_start sub_80B79F8 -sub_80B79F8: @ 80B79F8 - push {r4,lr} - adds r3, r0, 0 - lsls r2, 24 - lsrs r4, r2, 24 - ldr r0, _080B7A0C @ =0x000f423f - cmp r1, r0 - bls _080B7A10 - movs r2, 0x7 - b _080B7A46 - .align 2, 0 -_080B7A0C: .4byte 0x000f423f -_080B7A10: - ldr r0, _080B7A1C @ =0x0001869f - cmp r1, r0 - bls _080B7A20 - movs r2, 0x6 - b _080B7A46 - .align 2, 0 -_080B7A1C: .4byte 0x0001869f -_080B7A20: - ldr r0, _080B7A2C @ =0x00002710 - cmp r1, r0 - bls _080B7A30 - movs r2, 0x5 - b _080B7A46 - .align 2, 0 -_080B7A2C: .4byte 0x00002710 -_080B7A30: - ldr r0, _080B7A90 @ =0x000003e7 - movs r2, 0x4 - cmp r1, r0 - bhi _080B7A46 - movs r2, 0x3 - cmp r1, 0x63 - bhi _080B7A46 - movs r2, 0x1 - cmp r1, 0x9 - bls _080B7A46 - movs r2, 0x2 -_080B7A46: - movs r0, 0xFC - strb r0, [r3] - movs r0, 0x14 - strb r0, [r3, 0x1] - movs r0, 0x6 - strb r0, [r3, 0x2] - adds r3, 0x3 - movs r0, 0 - subs r2, r4, r2 - cmp r0, r2 - bge _080B7A6C - movs r4, 0 -_080B7A5E: - strb r4, [r3] - adds r3, 0x1 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - cmp r0, r2 - blt _080B7A5E -_080B7A6C: - movs r0, 0xB7 - strb r0, [r3] - adds r3, 0x1 - adds r0, r3, 0 - bl ConvertIntToDecimalString - adds r3, r0, 0 - movs r0, 0xFC - strb r0, [r3] - movs r0, 0x14 - strb r0, [r3, 0x1] - movs r0, 0 - strb r0, [r3, 0x2] - movs r0, 0xFF - strb r0, [r3, 0x3] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B7A90: .4byte 0x000003e7 - thumb_func_end sub_80B79F8 - - thumb_func_start sub_80B7A94 -sub_80B7A94: @ 80B7A94 - push {r4-r7,lr} - sub sp, 0x10 - adds r4, r0, 0 - lsls r1, 24 - lsrs r5, r1, 24 - lsls r2, 24 - lsrs r6, r2, 24 - lsls r3, 24 - lsrs r7, r3, 24 - mov r0, sp - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_80B79F8 - mov r0, sp - bl sub_8072CA4 - lsls r0, 24 - lsrs r2, r0, 24 - adds r0, r5, 0x1 - lsls r0, 3 - cmp r2, r0 - blt _080B7ACE - mov r0, sp - adds r1, r6, 0 - adds r2, r7, 0 - bl MenuPrint - b _080B7AE4 -_080B7ACE: - adds r1, r6, 0x1 - adds r1, r5 - lsls r1, 3 - subs r1, r2 - lsls r1, 24 - lsrs r1, 24 - lsls r2, r7, 3 - mov r0, sp - movs r3, 0x1 - bl MenuPrint_PixelCoords -_080B7AE4: - add sp, 0x10 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80B7A94 - - thumb_func_start sub_80B7AEC -sub_80B7AEC: @ 80B7AEC - push {r4-r6,lr} - sub sp, 0x20 - adds r3, r0, 0 - adds r4, r1, 0 - adds r5, r2, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - mov r6, sp - movs r0, 0xB7 - strb r0, [r6] - adds r6, 0x1 - adds r0, r6, 0 - adds r1, r3, 0 - bl ConvertIntToDecimalString - adds r6, r0, 0 - mov r0, sp - adds r1, r4, 0 - adds r2, r5, 0 - bl MenuPrint_RightAligned - movs r0, 0xFC - strb r0, [r6] - movs r0, 0x14 - strb r0, [r6, 0x1] - movs r0, 0 - strb r0, [r6, 0x2] - movs r0, 0xFF - strb r0, [r6, 0x3] - add sp, 0x20 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80B7AEC - - thumb_func_start sub_80B7B34 -sub_80B7B34: @ 80B7B34 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - mov r8, r0 - adds r5, r1, 0 - mov r9, r2 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r5, 24 - lsrs r5, 24 - mov r1, r9 - lsls r1, 8 - mov r9, r1 - ldr r4, _080B7BD8 @ =gDecoration10000_Gfx - adds r0, r1, r4 - lsls r6, r5, 4 - subs r6, r5 - lsls r1, r6, 6 - mov r3, r8 - adds r3, 0x1 - lsls r3, 5 - ldr r2, _080B7BDC @ =0x06008000 - adds r3, r2 - adds r1, r3 - movs r2, 0x20 - str r3, [sp] - bl CpuFastSet - adds r4, 0x80 - add r9, r4 - adds r0, r5, 0x1 - lsls r4, r0, 4 - subs r4, r0 - lsls r1, r4, 6 - ldr r3, [sp] - adds r1, r3 - mov r0, r9 - movs r2, 0x20 - bl CpuFastSet - movs r3, 0 - lsls r5, 5 - mov r0, r8 - adds r7, r5, r0 - lsls r6, 1 - adds r6, 0x1 - add r6, r8 - ldr r1, _080B7BE0 @ =0xfffff000 - adds r5, r1, 0 - ldr r0, _080B7BE4 @ =0x0600f800 - mov r12, r0 - ldr r1, _080B7BE8 @ =0x0600f840 - mov r9, r1 - lsls r4, 1 - adds r4, 0x1 - add r4, r8 -_080B7BAA: - adds r1, r7, r3 - lsls r1, 1 - mov r0, r12 - adds r2, r1, r0 - adds r0, r3, r6 - adds r0, r5 - strh r0, [r2] - add r1, r9 - adds r0, r3, r4 - adds r0, r5 - strh r0, [r1] - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x3 - bls _080B7BAA - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B7BD8: .4byte gDecoration10000_Gfx -_080B7BDC: .4byte 0x06008000 -_080B7BE0: .4byte 0xfffff000 -_080B7BE4: .4byte 0x0600f800 -_080B7BE8: .4byte 0x0600f840 - thumb_func_end sub_80B7B34 - - thumb_func_start sub_80B7BEC -sub_80B7BEC: @ 80B7BEC - push {r4,lr} - adds r4, r1, 0 - adds r3, r2, 0 - lsls r4, 24 - lsls r3, 24 - movs r1, 0xC0 - lsls r1, 19 - adds r4, r1 - lsrs r4, 24 - movs r1, 0x80 - lsls r1, 17 - adds r3, r1 - lsrs r3, 24 - movs r1, 0x6 - adds r2, r4, 0 - bl sub_80B7A94 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_80B7BEC - - thumb_func_start sub_80B7C14 -sub_80B7C14: @ 80B7C14 - push {r4-r6,lr} - mov r6, r8 - push {r6} - mov r8, r0 - adds r4, r1, 0 - adds r3, r2, 0 - lsls r4, 24 - lsls r3, 24 - lsrs r6, r4, 24 - movs r0, 0xD0 - lsls r0, 20 - adds r4, r0 - lsrs r4, 24 - lsrs r5, r3, 24 - movs r1, 0xC0 - lsls r1, 18 - adds r3, r1 - lsrs r3, 24 - adds r0, r6, 0 - adds r1, r5, 0 - adds r2, r4, 0 - bl MenuDrawTextWindow - mov r0, r8 - adds r1, r6, 0 - adds r2, r5, 0 - bl sub_80B7BEC - ldr r0, _080B7C88 @ =gUnknown_083CF584 - bl LoadCompressedObjectPic - ldr r0, _080B7C8C @ =gUnknown_083CF58C - bl LoadCompressedObjectPalette - ldr r0, _080B7C90 @ =gSpriteTemplate_83CF56C - lsls r6, 19 - movs r1, 0x98 - lsls r1, 13 - adds r6, r1 - asrs r6, 16 - lsls r5, 19 - movs r1, 0xB0 - lsls r1, 12 - adds r5, r1 - asrs r5, 16 - adds r1, r6, 0 - adds r2, r5, 0 - movs r3, 0 - bl CreateSprite - ldr r1, _080B7C94 @ =gUnknown_02038734 - strb r0, [r1] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080B7C88: .4byte gUnknown_083CF584 -_080B7C8C: .4byte gUnknown_083CF58C -_080B7C90: .4byte gSpriteTemplate_83CF56C -_080B7C94: .4byte gUnknown_02038734 - thumb_func_end sub_80B7C14 - - thumb_func_start RemoveMoneyLabelObject -RemoveMoneyLabelObject: @ 80B7C98 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - ldr r0, _080B7CDC @ =gUnknown_02038734 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080B7CE0 @ =gSprites - adds r0, r1 - bl DestroySpriteAndFreeResources - ldr r0, _080B7CE4 @ =0x00002722 - bl FreeSpritePaletteByTag - adds r2, r4, 0 - adds r2, 0xD - lsls r2, 24 - lsrs r2, 24 - adds r3, r5, 0x3 - lsls r3, 24 - lsrs r3, 24 - adds r0, r4, 0 - adds r1, r5, 0 - bl MenuZeroFillWindowRect - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B7CDC: .4byte gUnknown_02038734 -_080B7CE0: .4byte gSprites -_080B7CE4: .4byte 0x00002722 - thumb_func_end RemoveMoneyLabelObject - - thumb_func_start sub_80B7CE8 -sub_80B7CE8: @ 80B7CE8 - push {lr} - ldr r0, _080B7D04 @ =gSaveBlock1 - movs r1, 0x92 - lsls r1, 3 - adds r0, r1 - ldr r0, [r0] - ldr r1, _080B7D08 @ =gSpecialVar_0x8005 - ldrh r1, [r1] - bl IsEnoughMoney - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_080B7D04: .4byte gSaveBlock1 -_080B7D08: .4byte gSpecialVar_0x8005 - thumb_func_end sub_80B7CE8 - - thumb_func_start sub_80B7D0C -sub_80B7D0C: @ 80B7D0C - push {lr} - ldr r0, _080B7D1C @ =gSaveBlock1 + 0x490 - ldr r1, _080B7D20 @ =gSpecialVar_0x8005 - ldrh r1, [r1] - bl sub_80B79E0 - pop {r0} - bx r0 - .align 2, 0 -_080B7D1C: .4byte gSaveBlock1 + 0x490 -_080B7D20: .4byte gSpecialVar_0x8005 - thumb_func_end sub_80B7D0C - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/mystery_event_menu.s b/asm/mystery_event_menu.s deleted file mode 100644 index 6331199de..000000000 --- a/asm/mystery_event_menu.s +++ /dev/null @@ -1,581 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start sub_8146900 -sub_8146900: @ 8146900 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_8146900 - - thumb_func_start sub_8146914 -sub_8146914: @ 8146914 - push {lr} - movs r2, 0 - ldr r1, _0814692C @ =gLinkPlayers - ldrh r0, [r1, 0x1A] - ldrh r1, [r1, 0x36] - cmp r0, r1 - bne _08146924 - movs r2, 0x1 -_08146924: - adds r0, r2, 0 - pop {r1} - bx r1 - .align 2, 0 -_0814692C: .4byte gLinkPlayers - thumb_func_end sub_8146914 - - thumb_func_start CB2_InitMysteryEventMenu -CB2_InitMysteryEventMenu: @ 8146930 - push {r4,lr} - bl ResetSpriteData - bl FreeAllSpritePalettes - bl ResetTasks - ldr r0, _0814699C @ =sub_8146900 - bl SetVBlankCallback - ldr r4, _081469A0 @ =gWindowConfig_81E6CE4 - adds r0, r4, 0 - bl SetUpWindowConfig - adds r0, r4, 0 - bl InitMenuWindow - bl MenuZeroFillScreen - movs r1, 0x80 - lsls r1, 19 - movs r2, 0xA0 - lsls r2, 1 - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x50 - movs r0, 0 - strh r0, [r1] - ldr r0, _081469A4 @ =Task_DestroySelf - movs r1, 0 - bl CreateTask - bl StopMapMusic - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - movs r0, 0 - movs r1, 0 - movs r2, 0x2 - bl FillPalette - ldr r0, _081469A8 @ =sub_81469E4 - bl SetMainCallback2 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0814699C: .4byte sub_8146900 -_081469A0: .4byte gWindowConfig_81E6CE4 -_081469A4: .4byte Task_DestroySelf -_081469A8: .4byte sub_81469E4 - thumb_func_end CB2_InitMysteryEventMenu - - thumb_func_start sub_81469AC -sub_81469AC: @ 81469AC - push {r4-r6,lr} - adds r6, r0, 0 - adds r4, r1, 0 - movs r5, 0x1 - cmp r4, 0 - bne _081469C0 - ldr r1, _081469DC @ =gSystemText_EventLoadSuccess - bl StringCopy - movs r5, 0 -_081469C0: - cmp r4, 0x2 - bne _081469C6 - movs r5, 0 -_081469C6: - cmp r4, 0x1 - bne _081469D2 - ldr r1, _081469E0 @ =gSystemText_LoadingError - adds r0, r6, 0 - bl StringCopy -_081469D2: - adds r0, r5, 0 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_081469DC: .4byte gSystemText_EventLoadSuccess -_081469E0: .4byte gSystemText_LoadingError - thumb_func_end sub_81469AC - - thumb_func_start sub_81469E4 -sub_81469E4: @ 81469E4 - push {r4-r6,lr} - sub sp, 0x8 - ldr r1, _08146A04 @ =gMain - ldr r2, _08146A08 @ =0x0000043c - adds r0, r1, r2 - ldrb r0, [r0] - adds r4, r1, 0 - cmp r0, 0x10 - bls _081469F8 - b _08146DA4 -_081469F8: - lsls r0, 2 - ldr r1, _08146A0C @ =_08146A10 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08146A04: .4byte gMain -_08146A08: .4byte 0x0000043c -_08146A0C: .4byte _08146A10 - .align 2, 0 -_08146A10: - .4byte _08146A54 - .4byte _08146A6E - .4byte _08146A9C - .4byte _08146AD4 - .4byte _08146B18 - .4byte _08146B26 - .4byte _08146B90 - .4byte _08146C64 - .4byte _08146C72 - .4byte _08146C94 - .4byte _08146CA0 - .4byte _08146CB4 - .4byte _08146CFC - .4byte _08146D18 - .4byte _08146D50 - .4byte _08146D6C - .4byte _08146D94 -_08146A54: - movs r0, 0 - movs r1, 0xE - movs r2, 0x1D - movs r3, 0x13 - bl MenuDrawTextWindow - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - b _08146D78 -_08146A6E: - ldr r0, _08146A8C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08146A7C - b _08146DA4 -_08146A7C: - ldr r0, _08146A90 @ =gSystemText_LinkStandby - bl sub_8072044 - ldr r1, _08146A94 @ =gMain - ldr r2, _08146A98 @ =0x0000043c - adds r1, r2 - b _08146D82 - .align 2, 0 -_08146A8C: .4byte gPaletteFade -_08146A90: .4byte gSystemText_LinkStandby -_08146A94: .4byte gMain -_08146A98: .4byte 0x0000043c -_08146A9C: - bl MenuUpdateWindowText - lsls r0, 24 - cmp r0, 0 - bne _08146AA8 - b _08146DA4 -_08146AA8: - ldr r1, _08146AC4 @ =gMain - ldr r0, _08146AC8 @ =0x0000043c - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r1, _08146ACC @ =gLinkType - ldr r2, _08146AD0 @ =0x00005501 - adds r0, r2, 0 - strh r0, [r1] - bl OpenLink - b _08146DA4 - .align 2, 0 -_08146AC4: .4byte gMain -_08146AC8: .4byte 0x0000043c -_08146ACC: .4byte gLinkType -_08146AD0: .4byte 0x00005501 -_08146AD4: - ldr r0, _08146B08 @ =gLinkStatus - ldr r1, [r0] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - bne _08146AE2 - b _08146C38 -_08146AE2: - movs r0, 0x1C - ands r1, r0 - cmp r1, 0x4 - bhi _08146AEC - b _08146C38 -_08146AEC: - movs r0, 0x15 - bl PlaySE - ldr r0, _08146B0C @ =gSystemText_LoadEventPressA - bl sub_8072044 - ldr r1, _08146B10 @ =gMain - ldr r0, _08146B14 @ =0x0000043c - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08146C38 - .align 2, 0 -_08146B08: .4byte gLinkStatus -_08146B0C: .4byte gSystemText_LoadEventPressA -_08146B10: .4byte gMain -_08146B14: .4byte 0x0000043c -_08146B18: - bl MenuUpdateWindowText - lsls r0, 24 - cmp r0, 0 - bne _08146B24 - b _08146DA4 -_08146B24: - b _08146D7C -_08146B26: - bl GetLinkPlayerCount_2 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x2 - bne _08146C10 - ldr r4, _08146B64 @ =gMain - ldrh r1, [r4, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08146B70 - movs r0, 0x5 - bl PlaySE - bl sub_8007F4C - movs r0, 0x6 - movs r1, 0x5 - movs r2, 0x17 - movs r3, 0x8 - bl MenuDrawTextWindow - ldr r0, _08146B68 @ =gSystemText_LoadingEvent - movs r1, 0x7 - movs r2, 0x6 - bl MenuPrint - ldr r2, _08146B6C @ =0x0000043c - adds r1, r4, r2 - b _08146D82 - .align 2, 0 -_08146B64: .4byte gMain -_08146B68: .4byte gSystemText_LoadingEvent -_08146B6C: .4byte 0x0000043c -_08146B70: - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0 - bne _08146B7A - b _08146DA4 -_08146B7A: - movs r0, 0x5 - bl PlaySE - bl CloseLink - ldr r0, _08146B8C @ =0x0000043c - adds r1, r4, r0 - b _08146C54 - .align 2, 0 -_08146B8C: .4byte 0x0000043c -_08146B90: - bl IsLinkConnectionEstablished - lsls r0, 24 - cmp r0, 0 - beq _08146C38 - ldr r0, _08146BD8 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _08146BA4 - b _08146DA4 -_08146BA4: - bl GetLinkPlayerDataExchangeStatusTimed - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bne _08146BE8 - bl sub_800832C - movs r0, 0x6 - movs r1, 0x5 - movs r2, 0x17 - movs r3, 0x8 - bl MenuZeroFillWindowRect - ldr r4, _08146BDC @ =gStringVar4 - adds r0, r4, 0 - movs r1, 0x1 - bl sub_81469AC - adds r0, r4, 0 - bl sub_8072044 - ldr r0, _08146BE0 @ =gMain - ldr r2, _08146BE4 @ =0x0000043c - adds r0, r2 - b _08146C26 - .align 2, 0 -_08146BD8: .4byte gReceivedRemoteLinkPlayers -_08146BDC: .4byte gStringVar4 -_08146BE0: .4byte gMain -_08146BE4: .4byte 0x0000043c -_08146BE8: - bl sub_8146914 - lsls r0, 24 - cmp r0, 0 - beq _08146C00 - ldr r0, _08146BFC @ =gSystemText_DontCutLink - bl sub_8072044 - b _08146D7C - .align 2, 0 -_08146BFC: .4byte gSystemText_DontCutLink -_08146C00: - bl CloseLink - movs r0, 0x6 - movs r1, 0x5 - movs r2, 0x17 - movs r3, 0x8 - bl MenuZeroFillWindowRect -_08146C10: - ldr r4, _08146C2C @ =gStringVar4 - adds r0, r4, 0 - movs r1, 0x1 - bl sub_81469AC - adds r0, r4, 0 - bl sub_8072044 - ldr r0, _08146C30 @ =gMain - ldr r1, _08146C34 @ =0x0000043c - adds r0, r1 -_08146C26: - movs r1, 0xD - strb r1, [r0] - b _08146DA4 - .align 2, 0 -_08146C2C: .4byte gStringVar4 -_08146C30: .4byte gMain -_08146C34: .4byte 0x0000043c -_08146C38: - ldr r4, _08146C5C @ =gMain - ldrh r1, [r4, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _08146C46 - b _08146DA4 -_08146C46: - movs r0, 0x5 - bl PlaySE - bl CloseLink - ldr r2, _08146C60 @ =0x0000043c - adds r1, r4, r2 -_08146C54: - movs r0, 0xF - strb r0, [r1] - b _08146DA4 - .align 2, 0 -_08146C5C: .4byte gMain -_08146C60: .4byte 0x0000043c -_08146C64: - bl MenuUpdateWindowText - lsls r0, 24 - cmp r0, 0 - bne _08146C70 - b _08146DA4 -_08146C70: - b _08146D7C -_08146C72: - bl GetBlockReceivedStatus - lsls r0, 24 - cmp r0, 0 - bne _08146C7E - b _08146DA4 -_08146C7E: - bl ResetBlockReceivedFlags - ldr r1, _08146C8C @ =gMain - ldr r2, _08146C90 @ =0x0000043c - adds r1, r2 - b _08146D82 - .align 2, 0 -_08146C8C: .4byte gMain -_08146C90: .4byte 0x0000043c -_08146C94: - ldr r0, _08146C9C @ =0x0000043c - adds r1, r4, r0 - b _08146D82 - .align 2, 0 -_08146C9C: .4byte 0x0000043c -_08146CA0: - bl sub_800832C - ldr r1, _08146CAC @ =gMain - ldr r2, _08146CB0 @ =0x0000043c - adds r1, r2 - b _08146D82 - .align 2, 0 -_08146CAC: .4byte gMain -_08146CB0: .4byte 0x0000043c -_08146CB4: - ldr r0, _08146CEC @ =gReceivedRemoteLinkPlayers - ldrb r6, [r0] - cmp r6, 0 - bne _08146DA4 - ldr r5, _08146CF0 @ =0x02000000 - adds r0, r5, 0 - bl sub_812613C - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - str r6, [sp, 0x4] - ldr r2, _08146CF4 @ =0x050001f5 - add r0, sp, 0x4 - adds r1, r5, 0 - bl CpuSet - ldr r0, _08146CF8 @ =gStringVar4 - adds r1, r4, 0 - bl sub_81469AC - lsls r0, 24 - cmp r0, 0 - bne _08146D7C - movs r0, 0 - bl sub_8125D44 - b _08146D7C - .align 2, 0 -_08146CEC: .4byte gReceivedRemoteLinkPlayers -_08146CF0: .4byte 0x02000000 -_08146CF4: .4byte 0x050001f5 -_08146CF8: .4byte gStringVar4 -_08146CFC: - ldr r0, _08146D0C @ =gStringVar4 - bl sub_8072044 - ldr r1, _08146D10 @ =gMain - ldr r2, _08146D14 @ =0x0000043c - adds r1, r2 - b _08146D82 - .align 2, 0 -_08146D0C: .4byte gStringVar4 -_08146D10: .4byte gMain -_08146D14: .4byte 0x0000043c -_08146D18: - movs r0, 0x6 - movs r1, 0x5 - movs r2, 0x17 - movs r3, 0x8 - bl MenuZeroFillWindowRect - bl MenuUpdateWindowText - lsls r0, 24 - cmp r0, 0 - beq _08146DA4 - ldr r1, _08146D44 @ =gMain - ldr r0, _08146D48 @ =0x0000043c - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - movs r2, 0 - strb r0, [r1] - ldr r0, _08146D4C @ =gUnknown_02039338 - strb r2, [r0] - b _08146DA4 - .align 2, 0 -_08146D44: .4byte gMain -_08146D48: .4byte 0x0000043c -_08146D4C: .4byte gUnknown_02039338 -_08146D50: - ldrh r1, [r4, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08146DA4 - movs r0, 0x5 - bl PlaySE - ldr r2, _08146D68 @ =0x0000043c - adds r1, r4, r2 - b _08146D82 - .align 2, 0 -_08146D68: .4byte 0x0000043c -_08146D6C: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 -_08146D78: - bl BeginNormalPaletteFade -_08146D7C: - ldr r1, _08146D8C @ =gMain - ldr r0, _08146D90 @ =0x0000043c - adds r1, r0 -_08146D82: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08146DA4 - .align 2, 0 -_08146D8C: .4byte gMain -_08146D90: .4byte 0x0000043c -_08146D94: - ldr r0, _08146DFC @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08146DA4 - bl DoSoftReset -_08146DA4: - ldr r0, _08146E00 @ =gLinkStatus - ldr r0, [r0] - movs r1, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08146DE4 - bl IsLinkMaster - lsls r0, 24 - cmp r0, 0 - bne _08146DE4 - bl CloseLink - movs r0, 0x6 - movs r1, 0x5 - movs r2, 0x17 - movs r3, 0x8 - bl MenuZeroFillWindowRect - ldr r4, _08146E04 @ =gStringVar4 - adds r0, r4, 0 - movs r1, 0x1 - bl sub_81469AC - adds r0, r4, 0 - bl sub_8072044 - ldr r0, _08146E08 @ =gMain - ldr r1, _08146E0C @ =0x0000043c - adds r0, r1 - movs r1, 0xD - strb r1, [r0] -_08146DE4: - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08146DFC: .4byte gPaletteFade -_08146E00: .4byte gLinkStatus -_08146E04: .4byte gStringVar4 -_08146E08: .4byte gMain -_08146E0C: .4byte 0x0000043c - thumb_func_end sub_81469E4 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/mystery_event_script.s b/asm/mystery_event_script.s index 4b8717bac..d182ebd87 100644 --- a/asm/mystery_event_script.s +++ b/asm/mystery_event_script.s @@ -6,181 +6,6 @@ .text - thumb_func_start sub_8126098 -sub_8126098: @ 8126098 - push {r4,lr} - adds r4, r3, 0 - lsls r0, 16 - lsrs r0, 16 - lsls r2, 16 - lsrs r2, 16 - movs r3, 0x2 - ands r0, r3 - cmp r0, 0 - beq _081260C6 - ands r1, r3 - cmp r1, 0 - beq _081260C6 - movs r0, 0x4 - ands r2, r0 - cmp r2, 0 - beq _081260C6 - movs r0, 0x80 - .ifdef SAPPHIRE - lsls r0, 1 @ unknown difference - .endif - ands r0, r4 - cmp r0, 0 - beq _081260C6 - movs r0, 0x1 - b _081260C8 -_081260C6: - movs r0, 0 -_081260C8: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8126098 - - thumb_func_start sub_81260D0 -sub_81260D0: @ 81260D0 - push {lr} - ldr r0, _081260E4 @ =gStringVar4 - ldr r1, _081260E8 @ =gOtherText_DataCannotUseVersion - bl StringExpandPlaceholders - movs r0, 0x3 - bl sub_8126160 - pop {r0} - bx r0 - .align 2, 0 -_081260E4: .4byte gStringVar4 -_081260E8: .4byte gOtherText_DataCannotUseVersion - thumb_func_end sub_81260D0 - - thumb_func_start sub_81260EC -sub_81260EC: @ 81260EC - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldr r1, _08126114 @ =gScriptFuncs - ldr r2, _08126118 @ =gScriptFuncs_End - bl InitScriptContext - adds r0, r4, 0 - adds r1, r5, 0 - bl SetupBytecodeScript - str r5, [r4, 0x64] - movs r0, 0 - str r0, [r4, 0x68] - str r0, [r4, 0x6C] - str r0, [r4, 0x70] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08126114: .4byte gScriptFuncs -_08126118: .4byte gScriptFuncs_End - thumb_func_end sub_81260EC - - thumb_func_start sub_812611C -sub_812611C: @ 812611C - push {r4,lr} - adds r4, r0, 0 - bl RunScript - lsls r0, 24 - cmp r0, 0 - beq _08126134 - ldr r0, [r4, 0x70] - cmp r0, 0 - beq _08126134 - movs r0, 0x1 - b _08126136 -_08126134: - movs r0, 0 -_08126136: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_812611C - - thumb_func_start sub_812613C -sub_812613C: @ 812613C - push {r4,lr} - adds r1, r0, 0 - ldr r4, _0812615C @ =gUnknown_02039288 - adds r0, r4, 0 - bl sub_81260EC -_08126148: - adds r0, r4, 0 - bl sub_812611C - cmp r0, 0 - bne _08126148 - ldr r0, [r4, 0x6C] - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0812615C: .4byte gUnknown_02039288 - thumb_func_end sub_812613C - - thumb_func_start sub_8126160 -sub_8126160: @ 8126160 - ldr r1, _08126168 @ =gUnknown_02039288 - str r0, [r1, 0x6C] - bx lr - .align 2, 0 -_08126168: .4byte gUnknown_02039288 - thumb_func_end sub_8126160 - - thumb_func_start sub_812616C -sub_812616C: @ 812616C - push {r4,lr} - adds r4, r0, 0 - movs r3, 0 - movs r2, 0 - cmp r3, r1 - bcs _08126184 -_08126178: - adds r0, r4, r2 - ldrb r0, [r0] - adds r3, r0 - adds r2, 0x1 - cmp r2, r1 - bcc _08126178 -_08126184: - adds r0, r3, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_812616C - - thumb_func_start sub_812618C -sub_812618C: @ 812618C - adds r2, r0, 0 - ldrb r0, [r2] - ldrb r1, [r2, 0x1] - lsls r1, 8 - orrs r0, r1 - ldrb r1, [r2, 0x2] - lsls r1, 16 - orrs r0, r1 - ldrb r1, [r2, 0x3] - lsls r1, 24 - orrs r0, r1 - bx lr - thumb_func_end sub_812618C - - thumb_func_start sub_81261A4 -sub_81261A4: @ 81261A4 - strb r1, [r0] - lsrs r2, r1, 8 - strb r2, [r0, 0x1] - lsrs r2, r1, 16 - strb r2, [r0, 0x2] - lsrs r1, 24 - strb r1, [r0, 0x3] - bx lr - thumb_func_end sub_81261A4 - thumb_func_start unref_sub_81261B4 unref_sub_81261B4: @ 81261B4 push {r4-r7,lr} diff --git a/asm/player_pc.s b/asm/player_pc.s index da2792564..7bd8b6c28 100644 --- a/asm/player_pc.s +++ b/asm/player_pc.s @@ -6,1185 +6,6 @@ .text - thumb_func_start NewGameInitPCItems -NewGameInitPCItems: @ 8139C18 - push {r4-r6,lr} - movs r4, 0 - ldr r0, _08139C6C @ =gSaveBlock1 + 0x498 - movs r1, 0x32 - bl ClearItemSlots - ldr r1, _08139C70 @ =gNewGamePCItems - ldrh r0, [r1] - cmp r0, 0 - beq _08139C64 - ldrh r0, [r1, 0x2] - cmp r0, 0 - beq _08139C64 - adds r5, r1, 0 - adds r6, r5, 0x2 -_08139C36: - lsls r1, r4, 2 - adds r0, r1, r5 - ldrh r0, [r0] - adds r1, r6 - ldrh r1, [r1] - bl AddPCItem - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08139C64 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, r4, 2 - adds r0, r1, r5 - ldrh r0, [r0] - cmp r0, 0 - beq _08139C64 - adds r0, r1, r6 - ldrh r0, [r0] - cmp r0, 0 - bne _08139C36 -_08139C64: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08139C6C: .4byte gSaveBlock1 + 0x498 -_08139C70: .4byte gNewGamePCItems - thumb_func_end NewGameInitPCItems - - thumb_func_start BedroomPC -BedroomPC: @ 8139C74 - push {lr} - ldr r1, _08139C9C @ =gUnknown_02039314 - ldr r0, _08139CA0 @ =gUnknown_084062B8 - str r0, [r1] - ldr r1, _08139CA4 @ =gUnknown_030007B4 - movs r0, 0x4 - strb r0, [r1] - ldr r0, _08139CA8 @ =TaskDummy - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r1, _08139CAC @ =gOtherText_WhatWillYouDo - ldr r2, _08139CB0 @ =InitPlayerPCMenu - movs r3, 0 - bl DisplayItemMessageOnField - pop {r0} - bx r0 - .align 2, 0 -_08139C9C: .4byte gUnknown_02039314 -_08139CA0: .4byte gUnknown_084062B8 -_08139CA4: .4byte gUnknown_030007B4 -_08139CA8: .4byte TaskDummy -_08139CAC: .4byte gOtherText_WhatWillYouDo -_08139CB0: .4byte InitPlayerPCMenu - thumb_func_end BedroomPC - - thumb_func_start PlayerPC -PlayerPC: @ 8139CB4 - push {lr} - ldr r1, _08139CDC @ =gUnknown_02039314 - ldr r0, _08139CE0 @ =gUnknown_084062BC - str r0, [r1] - ldr r1, _08139CE4 @ =gUnknown_030007B4 - movs r0, 0x3 - strb r0, [r1] - ldr r0, _08139CE8 @ =TaskDummy - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r1, _08139CEC @ =gOtherText_WhatWillYouDo - ldr r2, _08139CF0 @ =InitPlayerPCMenu - movs r3, 0 - bl DisplayItemMessageOnField - pop {r0} - bx r0 - .align 2, 0 -_08139CDC: .4byte gUnknown_02039314 -_08139CE0: .4byte gUnknown_084062BC -_08139CE4: .4byte gUnknown_030007B4 -_08139CE8: .4byte TaskDummy -_08139CEC: .4byte gOtherText_WhatWillYouDo -_08139CF0: .4byte InitPlayerPCMenu - thumb_func_end PlayerPC - - thumb_func_start InitPlayerPCMenu -InitPlayerPCMenu: @ 8139CF4 - push {r4,r5,lr} - sub sp, 0x8 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r5, _08139D50 @ =gUnknown_030007B4 - ldrb r3, [r5] - lsls r3, 1 - adds r3, 0x1 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0 - movs r1, 0 - movs r2, 0xA - bl MenuDrawTextWindow - ldrb r2, [r5] - ldr r3, _08139D54 @ =gUnknown_08406298 - ldr r0, _08139D58 @ =gUnknown_02039314 - ldr r0, [r0] - str r0, [sp] - movs r0, 0x1 - movs r1, 0x1 - bl PrintMenuItemsReordered - ldrb r3, [r5] - movs r0, 0 - str r0, [sp] - movs r0, 0x9 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl InitMenu - ldr r1, _08139D5C @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _08139D60 @ =PlayerPCProcessMenuInput - str r1, [r0] - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08139D50: .4byte gUnknown_030007B4 -_08139D54: .4byte gUnknown_08406298 -_08139D58: .4byte gUnknown_02039314 -_08139D5C: .4byte gTasks -_08139D60: .4byte PlayerPCProcessMenuInput - thumb_func_end InitPlayerPCMenu - - thumb_func_start PlayerPCProcessMenuInput -PlayerPCProcessMenuInput: @ 8139D64 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r4, r5, 0 - ldr r2, _08139D88 @ =gMain - ldrh r1, [r2, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08139D8C - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - negs r0, r0 - bl MoveMenuCursor - b _08139E10 - .align 2, 0 -_08139D88: .4byte gMain -_08139D8C: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08139DA2 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - bl MoveMenuCursor - b _08139E10 -_08139DA2: - ldrh r1, [r2, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08139DE0 - bl sub_8072DEC - movs r0, 0x5 - bl PlaySE - ldr r4, _08139DD8 @ =gUnknown_08406298 - bl GetMenuCursorPos - lsls r0, 24 - lsrs r0, 24 - ldr r1, _08139DDC @ =gUnknown_02039314 - ldr r1, [r1] - adds r1, r0 - ldrb r0, [r1] - lsls r0, 3 - adds r4, 0x4 - adds r0, r4 - ldr r1, [r0] - adds r0, r5, 0 - bl _call_via_r1 - b _08139E10 - .align 2, 0 -_08139DD8: .4byte gUnknown_08406298 -_08139DDC: .4byte gUnknown_02039314 -_08139DE0: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08139E10 - bl sub_8072DEC - movs r0, 0x5 - bl PlaySE - ldr r2, _08139E18 @ =gUnknown_08406298 - ldr r0, _08139E1C @ =gUnknown_030007B4 - ldrb r0, [r0] - ldr r1, _08139E20 @ =gUnknown_02039314 - ldr r1, [r1] - adds r0, r1 - subs r0, 0x1 - ldrb r0, [r0] - lsls r0, 3 - adds r2, 0x4 - adds r0, r2 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 -_08139E10: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08139E18: .4byte gUnknown_08406298 -_08139E1C: .4byte gUnknown_030007B4 -_08139E20: .4byte gUnknown_02039314 - thumb_func_end PlayerPCProcessMenuInput - - thumb_func_start ReshowPlayerPC -ReshowPlayerPC: @ 8139E24 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _08139E38 @ =gOtherText_WhatWillYouDo - ldr r2, _08139E3C @ =InitPlayerPCMenu - movs r3, 0 - bl DisplayItemMessageOnField - pop {r0} - bx r0 - .align 2, 0 -_08139E38: .4byte gOtherText_WhatWillYouDo -_08139E3C: .4byte InitPlayerPCMenu - thumb_func_end ReshowPlayerPC - - thumb_func_start PlayerPC_ItemStorage -PlayerPC_ItemStorage: @ 8139E40 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - bl InitItemStorageMenu - ldr r1, _08139E64 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _08139E68 @ =ItemStorageMenuProcessInput - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08139E64: .4byte gTasks -_08139E68: .4byte ItemStorageMenuProcessInput - thumb_func_end PlayerPC_ItemStorage - - thumb_func_start PlayerPC_Mailbox -PlayerPC_Mailbox: @ 8139E6C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0 - movs r1, 0 - movs r2, 0xA - movs r3, 0x9 - bl MenuZeroFillWindowRect - bl sub_813AF3C - ldr r1, _08139E9C @ =0x0201fe00 - movs r2, 0 - strb r0, [r1, 0x3] - lsls r0, 24 - cmp r0, 0 - bne _08139EA8 - ldr r1, _08139EA0 @ =gOtherText_NoMailHere - ldr r2, _08139EA4 @ =ReshowPlayerPC - adds r0, r4, 0 - movs r3, 0 - bl DisplayItemMessageOnField - b _08139ECA - .align 2, 0 -_08139E9C: .4byte 0x0201fe00 -_08139EA0: .4byte gOtherText_NoMailHere -_08139EA4: .4byte ReshowPlayerPC -_08139EA8: - strb r2, [r1] - strb r2, [r1, 0x2] - bl sub_813AF78 - adds r0, r4, 0 - bl sub_813A240 - adds r0, r4, 0 - bl sub_813B108 - ldr r0, _08139ED0 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _08139ED4 @ =sub_813B174 - str r0, [r1] -_08139ECA: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08139ED0: .4byte gTasks -_08139ED4: .4byte sub_813B174 - thumb_func_end PlayerPC_Mailbox - - thumb_func_start PlayerPC_Decoration -PlayerPC_Decoration: @ 8139ED8 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - movs r1, 0 - movs r2, 0xA - movs r3, 0x9 - bl MenuZeroFillWindowRect - adds r0, r4, 0 - bl DoPlayerPCDecoration - pop {r4} - pop {r0} - bx r0 - thumb_func_end PlayerPC_Decoration - - thumb_func_start PlayerPC_TurnOff -PlayerPC_TurnOff: @ 8139EF8 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _08139F24 @ =gUnknown_030007B4 - ldrb r0, [r0] - cmp r0, 0x4 - bne _08139F3C - movs r0, 0 - movs r1, 0 - movs r2, 0x1D - movs r3, 0x13 - bl MenuZeroFillWindowRect - ldr r0, _08139F28 @ =gSaveBlock2 - ldrb r0, [r0, 0x8] - cmp r0, 0 - bne _08139F30 - ldr r0, _08139F2C @ =gUnknown_08152850 - bl ScriptContext1_SetupScript - b _08139F4C - .align 2, 0 -_08139F24: .4byte gUnknown_030007B4 -_08139F28: .4byte gSaveBlock2 -_08139F2C: .4byte gUnknown_08152850 -_08139F30: - ldr r0, _08139F38 @ =gUnknown_08152C75 - bl ScriptContext1_SetupScript - b _08139F4C - .align 2, 0 -_08139F38: .4byte gUnknown_08152C75 -_08139F3C: - movs r0, 0 - movs r1, 0 - movs r2, 0xA - movs r3, 0x9 - bl MenuZeroFillWindowRect - bl EnableBothScriptContexts -_08139F4C: - adds r0, r4, 0 - bl DestroyTask - pop {r4} - pop {r0} - bx r0 - thumb_func_end PlayerPC_TurnOff - - thumb_func_start InitItemStorageMenu -InitItemStorageMenu: @ 8139F58 - push {r4,lr} - sub sp, 0x8 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - movs r1, 0 - movs r2, 0xA - movs r3, 0x9 - bl MenuZeroFillWindowRect - movs r0, 0 - movs r1, 0 - movs r2, 0xB - movs r3, 0x9 - bl MenuDrawTextWindow - ldr r3, _08139FAC @ =gUnknown_084062C0 - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0x4 - bl PrintMenuItems - str r4, [sp] - movs r0, 0xA - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - movs r3, 0x4 - bl InitMenu - ldr r0, _08139FB0 @ =gUnknown_08406288 - lsls r4, 2 - adds r4, r0 - ldr r0, [r4] - bl ItemStorageMenuPrint - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08139FAC: .4byte gUnknown_084062C0 -_08139FB0: .4byte gUnknown_08406288 - thumb_func_end InitItemStorageMenu - - thumb_func_start ItemStorageMenuPrint -ItemStorageMenuPrint: @ 8139FB4 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x2 - movs r1, 0xF - movs r2, 0x1B - movs r3, 0x12 - bl MenuFillWindowRectWithBlankTile - adds r0, r4, 0 - movs r1, 0x2 - movs r2, 0xF - bl MenuPrint - pop {r4} - pop {r0} - bx r0 - thumb_func_end ItemStorageMenuPrint - - thumb_func_start ItemStorageMenuProcessInput -ItemStorageMenuProcessInput: @ 8139FD4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r4, r5, 0 - ldr r2, _08139FF4 @ =gMain - ldrh r1, [r2, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08139FF8 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - negs r0, r0 - b _0813A008 - .align 2, 0 -_08139FF4: .4byte gMain -_08139FF8: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0813A024 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 -_0813A008: - bl MoveMenuCursor - ldr r4, _0813A020 @ =gUnknown_08406288 - bl GetMenuCursorPos - lsls r0, 24 - lsrs r0, 22 - adds r0, r4 - ldr r0, [r0] - bl ItemStorageMenuPrint - b _0813A06C - .align 2, 0 -_0813A020: .4byte gUnknown_08406288 -_0813A024: - ldrh r1, [r2, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0813A050 - movs r0, 0x5 - bl PlaySE - ldr r4, _0813A04C @ =gUnknown_084062C0 - bl GetMenuCursorPos - lsls r0, 24 - lsrs r0, 21 - adds r4, 0x4 - adds r0, r4 - ldr r1, [r0] - adds r0, r5, 0 - bl _call_via_r1 - b _0813A06C - .align 2, 0 -_0813A04C: .4byte gUnknown_084062C0 -_0813A050: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0813A06C - bl sub_8072DEC - movs r0, 0x5 - bl PlaySE - ldr r0, _0813A074 @ =gUnknown_084062C0 - ldr r1, [r0, 0x1C] - adds r0, r4, 0 - bl _call_via_r1 -_0813A06C: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0813A074: .4byte gUnknown_084062C0 - thumb_func_end ItemStorageMenuProcessInput - - thumb_func_start Task_ItemStorage_Deposit -Task_ItemStorage_Deposit: @ 813A078 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0813A09C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0813A094 - bl sub_80A6A30 - adds r0, r4, 0 - bl DestroyTask -_0813A094: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0813A09C: .4byte gPaletteFade - thumb_func_end Task_ItemStorage_Deposit - - thumb_func_start ItemStorage_Deposit -ItemStorage_Deposit: @ 813A0A0 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0813A0C0 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, _0813A0C4 @ =Task_ItemStorage_Deposit - str r0, [r1] - movs r0, 0x1 - movs r1, 0 - bl fade_screen - pop {r0} - bx r0 - .align 2, 0 -_0813A0C0: .4byte gTasks -_0813A0C4: .4byte Task_ItemStorage_Deposit - thumb_func_end ItemStorage_Deposit - - thumb_func_start sub_813A0C8 -sub_813A0C8: @ 813A0C8 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_807D770 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0813A0E8 - ldr r0, _0813A0F0 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _0813A0F4 @ =ItemStorageMenuProcessInput - str r0, [r1] -_0813A0E8: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0813A0F0: .4byte gTasks -_0813A0F4: .4byte ItemStorageMenuProcessInput - thumb_func_end sub_813A0C8 - - thumb_func_start sub_813A0F8 -sub_813A0F8: @ 813A0F8 - push {lr} - bl MenuDisplayMessageBox - movs r0, 0x1 - bl InitItemStorageMenu - ldr r0, _0813A114 @ =sub_813A0C8 - movs r1, 0 - bl CreateTask - bl pal_fill_black - pop {r0} - bx r0 - .align 2, 0 -_0813A114: .4byte sub_813A0C8 - thumb_func_end sub_813A0F8 - - thumb_func_start ItemStorage_Withdraw -ItemStorage_Withdraw: @ 813A118 - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r6, r0, 3 - ldr r7, _0813A174 @ =gTasks + 0x8 - adds r4, r6, r7 - bl sub_8072DEC - movs r0, 0 - movs r1, 0 - movs r2, 0xB - movs r3, 0x9 - bl MenuZeroFillWindowRect - bl CountUsedPCItemSlots - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x4] - cmp r0, 0 - beq _0813A17C - movs r0, 0 - movs r1, 0xE - movs r2, 0x1D - movs r3, 0x13 - bl MenuZeroFillWindowRect - movs r0, 0 - strh r0, [r4, 0xC] - strh r0, [r4] - strh r0, [r4, 0x2] - adds r0, r5, 0 - bl sub_813A240 - adds r0, r5, 0 - movs r1, 0 - bl sub_813AE6C - adds r0, r7, 0 - subs r0, 0x8 - adds r0, r6, r0 - ldr r1, _0813A178 @ =sub_813A280 - str r1, [r0] - b _0813A188 - .align 2, 0 -_0813A174: .4byte gTasks + 0x8 -_0813A178: .4byte sub_813A280 -_0813A17C: - ldr r1, _0813A190 @ =gOtherText_NoItems - ldr r2, _0813A194 @ =PlayerPC_ItemStorage - adds r0, r5, 0 - movs r3, 0 - bl DisplayItemMessageOnField -_0813A188: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0813A190: .4byte gOtherText_NoItems -_0813A194: .4byte PlayerPC_ItemStorage - thumb_func_end ItemStorage_Withdraw - - thumb_func_start ItemStorage_Toss -ItemStorage_Toss: @ 813A198 - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r6, r0, 3 - ldr r7, _0813A1F8 @ =gTasks + 0x8 - adds r4, r6, r7 - bl sub_8072DEC - movs r0, 0 - movs r1, 0 - movs r2, 0xB - movs r3, 0x9 - bl MenuZeroFillWindowRect - bl CountUsedPCItemSlots - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x4] - cmp r0, 0 - beq _0813A200 - movs r0, 0 - movs r1, 0xE - movs r2, 0x1D - movs r3, 0x13 - bl MenuZeroFillWindowRect - movs r0, 0x2 - strh r0, [r4, 0xC] - movs r0, 0 - strh r0, [r4] - strh r0, [r4, 0x2] - adds r0, r5, 0 - bl sub_813A240 - adds r0, r5, 0 - movs r1, 0x2 - bl sub_813AE6C - adds r0, r7, 0 - subs r0, 0x8 - adds r0, r6, r0 - ldr r1, _0813A1FC @ =sub_813A280 - str r1, [r0] - b _0813A20C - .align 2, 0 -_0813A1F8: .4byte gTasks + 0x8 -_0813A1FC: .4byte sub_813A280 -_0813A200: - ldr r1, _0813A214 @ =gOtherText_NoItems - ldr r2, _0813A218 @ =PlayerPC_ItemStorage - adds r0, r5, 0 - movs r3, 0 - bl DisplayItemMessageOnField -_0813A20C: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0813A214: .4byte gOtherText_NoItems -_0813A218: .4byte PlayerPC_ItemStorage - thumb_func_end ItemStorage_Toss - - thumb_func_start ItemStorage_Exit -ItemStorage_Exit: @ 813A21C - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_8072DEC - movs r0, 0 - movs r1, 0 - movs r2, 0xB - movs r3, 0x9 - bl MenuZeroFillWindowRect - adds r0, r4, 0 - bl ReshowPlayerPC - pop {r4} - pop {r0} - bx r0 - thumb_func_end ItemStorage_Exit - - thumb_func_start sub_813A240 -sub_813A240: @ 813A240 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _0813A260 @ =gTasks + 0x8 - adds r1, r0 - ldrh r2, [r1, 0x4] - movs r3, 0x4 - ldrsh r0, [r1, r3] - cmp r0, 0x7 - ble _0813A264 - movs r0, 0x8 - b _0813A266 - .align 2, 0 -_0813A260: .4byte gTasks + 0x8 -_0813A264: - adds r0, r2, 0x1 -_0813A266: - strh r0, [r1, 0x8] - ldr r1, _0813A274 @ =0x0201fe00 - ldrb r0, [r1, 0x3] - cmp r0, 0x7 - bls _0813A278 - movs r0, 0x8 - b _0813A27A - .align 2, 0 -_0813A274: .4byte 0x0201fe00 -_0813A278: - adds r0, 0x1 -_0813A27A: - strb r0, [r1, 0x1] - pop {r0} - bx r0 - thumb_func_end sub_813A240 - - thumb_func_start sub_813A280 -sub_813A280: @ 813A280 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r6, r5, 0 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0813A2DC @ =gTasks + 0x8 - adds r4, r0, r1 - ldr r2, _0813A2E0 @ =gMain - ldrh r1, [r2, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0813A306 - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _0813A2E4 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - negs r0, r0 - bl MoveMenuCursor - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4] - ldrh r1, [r4, 0x2] - adds r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r2, 0x12 - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _0813A2CC - b _0813A460 -_0813A2CC: - lsls r0, r1, 16 - asrs r1, r0, 16 - movs r2, 0x4 - ldrsh r0, [r4, r2] - cmp r1, r0 - beq _0813A34C - b _0813A358 - .align 2, 0 -_0813A2DC: .4byte gTasks + 0x8 -_0813A2E0: .4byte gMain -_0813A2E4: - movs r1, 0x2 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0813A2EE - b _0813A460 -_0813A2EE: - movs r0, 0x5 - bl PlaySE - ldrh r0, [r4, 0x2] - subs r0, 0x1 - strh r0, [r4, 0x2] - adds r0, r5, 0 - bl sub_813AE0C - movs r2, 0x12 - ldrsh r0, [r4, r2] - b _0813A394 -_0813A306: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0813A3A0 - movs r0, 0 - ldrsh r1, [r4, r0] - movs r2, 0x8 - ldrsh r0, [r4, r2] - subs r0, 0x1 - cmp r1, r0 - beq _0813A370 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - bl MoveMenuCursor - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4] - ldrh r1, [r4, 0x2] - adds r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r2, 0x12 - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _0813A340 - b _0813A460 -_0813A340: - lsls r0, r1, 16 - asrs r1, r0, 16 - movs r2, 0x4 - ldrsh r0, [r4, r2] - cmp r1, r0 - bne _0813A358 -_0813A34C: - ldr r0, _0813A354 @ =0x0000ffff - bl sub_813AD58 - b _0813A460 - .align 2, 0 -_0813A354: .4byte 0x0000ffff -_0813A358: - ldr r0, _0813A36C @ =gSaveBlock1 - lsls r1, 2 - adds r1, r0 - movs r0, 0x93 - lsls r0, 3 - adds r1, r0 - ldrh r0, [r1] - bl sub_813AD58 - b _0813A460 - .align 2, 0 -_0813A36C: .4byte gSaveBlock1 -_0813A370: - movs r2, 0x2 - ldrsh r0, [r4, r2] - adds r0, r1 - movs r2, 0x4 - ldrsh r1, [r4, r2] - cmp r0, r1 - beq _0813A460 - movs r0, 0x5 - bl PlaySE - ldrh r0, [r4, 0x2] - adds r0, 0x1 - strh r0, [r4, 0x2] - adds r0, r5, 0 - bl sub_813AE0C - movs r1, 0x12 - ldrsh r0, [r4, r1] -_0813A394: - cmp r0, 0 - beq _0813A460 - movs r0, 0 - bl MoveMenuCursor - b _0813A460 -_0813A3A0: - ldrh r1, [r2, 0x2E] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0813A3F0 - movs r2, 0x12 - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _0813A3E8 - movs r1, 0 - ldrsh r0, [r4, r1] - movs r2, 0x2 - ldrsh r1, [r4, r2] - adds r0, r1 - movs r2, 0x4 - ldrsh r1, [r4, r2] - cmp r0, r1 - beq _0813A3DC - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - strh r0, [r4, 0x12] - ldrh r0, [r4] - ldrh r1, [r4, 0x2] - adds r0, r1 - strh r0, [r4, 0x10] - ldr r0, _0813A3E4 @ =0x0000fff7 - bl sub_813AD58 -_0813A3DC: - adds r0, r5, 0 - bl sub_813ABE8 - b _0813A460 - .align 2, 0 -_0813A3E4: .4byte 0x0000fff7 -_0813A3E8: - movs r0, 0x5 - bl PlaySE - b _0813A420 -_0813A3F0: - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0813A430 - movs r0, 0x5 - bl PlaySE - movs r2, 0x12 - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _0813A420 - movs r1, 0x2 - ldrsh r0, [r4, r1] - movs r2, 0 - ldrsh r1, [r4, r2] - adds r0, r1 - movs r2, 0x4 - ldrsh r1, [r4, r2] - cmp r0, r1 - beq _0813A44A - adds r0, r5, 0 - bl sub_813A4B4 - b _0813A460 -_0813A420: - adds r0, r5, 0 - movs r1, 0 - bl sub_813AA30 - adds r0, r5, 0 - bl sub_813AE0C - b _0813A460 -_0813A430: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0813A460 - movs r0, 0x5 - bl PlaySE - movs r1, 0x12 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0813A452 - bl sub_8072DEC -_0813A44A: - adds r0, r5, 0 - bl sub_813A468 - b _0813A460 -_0813A452: - adds r0, r6, 0 - movs r1, 0x1 - bl sub_813AA30 - adds r0, r6, 0 - bl sub_813AE0C -_0813A460: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_813A280 - - thumb_func_start sub_813A468 -sub_813A468: @ 813A468 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - bl BuyMenuFreeMemory - movs r0, 0 - bl DestroyVerticalScrollIndicator - movs r0, 0x1 - bl DestroyVerticalScrollIndicator - movs r0, 0 - movs r1, 0 - movs r2, 0x1D - movs r3, 0x13 - bl MenuZeroFillWindowRect - bl MenuDisplayMessageBox - ldr r0, _0813A4AC @ =gTasks - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - adds r4, r0 - ldrb r0, [r4, 0x14] - bl InitItemStorageMenu - ldr r0, _0813A4B0 @ =ItemStorageMenuProcessInput - str r0, [r4] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0813A4AC: .4byte gTasks -_0813A4B0: .4byte ItemStorageMenuProcessInput - thumb_func_end sub_813A468 - - thumb_func_start sub_813A4B4 -sub_813A4B4: @ 813A4B4 - push {r4-r6,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, _0813A500 @ =gTasks + 0x8 - adds r4, r0, r1 - ldrb r0, [r4, 0x2] - ldrb r1, [r4] - adds r0, r1 - lsls r0, 24 - lsrs r5, r0, 24 - movs r0, 0 - bl sub_80F996C - movs r0, 0x1 - bl sub_80F996C - movs r1, 0xC - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0813A518 - ldr r1, _0813A504 @ =gSaveBlock1 - lsls r0, r5, 2 - adds r0, r1 - ldr r1, _0813A508 @ =0x0000049a - adds r0, r1 - ldrh r0, [r0] - cmp r0, 0x1 - bne _0813A50C - strh r0, [r4, 0x6] - adds r0, r6, 0 - bl sub_813A6FC - b _0813A570 - .align 2, 0 -_0813A500: .4byte gTasks + 0x8 -_0813A504: .4byte gSaveBlock1 -_0813A508: .4byte 0x0000049a -_0813A50C: - ldr r0, _0813A514 @ =0x0000fffe - bl sub_813AD58 - b _0813A542 - .align 2, 0 -_0813A514: .4byte 0x0000fffe -_0813A518: - ldr r1, _0813A534 @ =gSaveBlock1 - lsls r0, r5, 2 - adds r0, r1 - ldr r1, _0813A538 @ =0x0000049a - adds r0, r1 - ldrh r0, [r0] - cmp r0, 0x1 - bne _0813A53C - strh r0, [r4, 0x6] - adds r0, r6, 0 - bl sub_813A794 - b _0813A570 - .align 2, 0 -_0813A534: .4byte gSaveBlock1 -_0813A538: .4byte 0x0000049a -_0813A53C: - ldr r0, _0813A578 @ =0x0000fffc - bl sub_813AD58 -_0813A542: - movs r0, 0x1 - strh r0, [r4, 0x6] - movs r0, 0x6 - movs r1, 0x8 - movs r2, 0xD - movs r3, 0xB - bl MenuDrawTextWindow - ldrh r0, [r4, 0x6] - movs r1, 0x3 - str r1, [sp] - movs r1, 0x1 - movs r2, 0x8 - movs r3, 0x9 - bl sub_80A418C - ldr r1, _0813A57C @ =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, _0813A580 @ =sub_813A584 - str r1, [r0] -_0813A570: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0813A578: .4byte 0x0000fffc -_0813A57C: .4byte gTasks -_0813A580: .4byte sub_813A584 - thumb_func_end sub_813A4B4 - thumb_func_start sub_813A584 sub_813A584: @ 813A584 push {r4-r7,lr} diff --git a/asm/pokeball.s b/asm/pokeball.s new file mode 100644 index 000000000..a3eb6dd16 --- /dev/null +++ b/asm/pokeball.s @@ -0,0 +1,2787 @@ + .include "constants/gba_constants.inc" + .include "constants/species_constants.inc" + .include "asm/macros.inc" + + .syntax unified + + .text + + thumb_func_start sub_8046400 +sub_8046400: @ 8046400 + push {r4-r6,lr} + adds r4, r0, 0 + adds r5, r1, 0 + lsls r4, 16 + lsrs r4, 16 + lsls r5, 24 + lsrs r5, 24 + ldr r1, _08046450 @ =gUnknown_02024E6D + movs r0, 0x1 + strb r0, [r1] + ldr r6, _08046454 @ =gUnknown_02024A60 + ldrb r1, [r6] + lsls r0, r1, 1 + adds r0, r1 + lsls r0, 2 + ldr r1, _08046458 @ =0x02017810 + adds r0, r1 + ldrb r1, [r0] + movs r2, 0x8 + orrs r1, r2 + strb r1, [r0] + ldr r0, _0804645C @ =sub_8046464 + movs r1, 0x5 + bl CreateTask + lsls r0, 24 + lsrs r0, 24 + ldr r2, _08046460 @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + strh r4, [r1, 0xA] + strh r5, [r1, 0xC] + ldrb r0, [r6] + strh r0, [r1, 0xE] + movs r0, 0 + pop {r4-r6} + pop {r1} + bx r1 + .align 2, 0 +_08046450: .4byte gUnknown_02024E6D +_08046454: .4byte gUnknown_02024A60 +_08046458: .4byte 0x02017810 +_0804645C: .4byte sub_8046464 +_08046460: .4byte gTasks + thumb_func_end sub_8046400 + + thumb_func_start sub_8046464 +sub_8046464: @ 8046464 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x4 + lsls r0, 24 + lsrs r0, 24 + mov r10, r0 + movs r0, 0 + str r0, [sp] + ldr r1, _08046498 @ =gTasks + mov r2, r10 + lsls r0, r2, 2 + add r0, r10 + lsls r0, 3 + adds r1, r0, r1 + ldrh r2, [r1, 0x8] + movs r3, 0x8 + ldrsh r0, [r1, r3] + cmp r0, 0 + bne _0804649C + adds r0, r2, 0x1 + strh r0, [r1, 0x8] + b _08046616 + .align 2, 0 +_08046498: .4byte gTasks +_0804649C: + ldrh r0, [r1, 0xC] + mov r8, r0 + ldrb r5, [r1, 0xE] + adds r0, r5, 0 + bl battle_side_get_owner + lsls r0, 24 + cmp r0, 0 + beq _080464C8 + ldr r1, _080464C0 @ =gUnknown_02024A6A + lsls r0, r5, 1 + adds r0, r1 + ldrh r1, [r0] + movs r0, 0x64 + muls r0, r1 + ldr r1, _080464C4 @ =gEnemyParty + b _080464D6 + .align 2, 0 +_080464C0: .4byte gUnknown_02024A6A +_080464C4: .4byte gEnemyParty +_080464C8: + ldr r1, _08046544 @ =gUnknown_02024A6A + lsls r0, r5, 1 + adds r0, r1 + ldrh r1, [r0] + movs r0, 0x64 + muls r0, r1 + ldr r1, _08046548 @ =gPlayerParty +_080464D6: + adds r0, r1 + movs r1, 0x26 + bl GetMonData + lsls r0, 16 + lsrs r0, 16 + bl ball_number_to_ball_processing_index + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + adds r0, r4, 0 + bl sub_80478DC + lsls r0, r4, 1 + adds r0, r4 + lsls r0, 3 + ldr r1, _0804654C @ =gSpriteTemplate_820AAB4 + adds r0, r1 + movs r1, 0x20 + movs r2, 0x50 + movs r3, 0x1D + bl CreateSprite + lsls r0, 24 + lsrs r7, r0, 24 + ldr r2, _08046550 @ =gSprites + mov r9, r2 + lsls r0, r7, 4 + adds r0, r7 + lsls r6, r0, 2 + adds r4, r6, r2 + movs r0, 0x80 + strh r0, [r4, 0x2E] + movs r3, 0 + strh r3, [r4, 0x30] + mov r0, r8 + strh r0, [r4, 0x3C] + mov r2, r8 + cmp r2, 0xFE + beq _0804655C + cmp r2, 0xFF + bne _08046598 + ldr r0, _08046554 @ =gUnknown_02024C08 + strb r5, [r0] + movs r0, 0x18 + strh r0, [r4, 0x20] + movs r0, 0x44 + strh r0, [r4, 0x22] + mov r0, r9 + adds r0, 0x1C + adds r0, r6, r0 + ldr r1, _08046558 @ =sub_8047074 + str r1, [r0] + b _080465A6 + .align 2, 0 +_08046544: .4byte gUnknown_02024A6A +_08046548: .4byte gPlayerParty +_0804654C: .4byte gSpriteTemplate_820AAB4 +_08046550: .4byte gSprites +_08046554: .4byte gUnknown_02024C08 +_08046558: .4byte sub_8047074 +_0804655C: + adds r0, r5, 0 + movs r1, 0 + bl sub_8077ABC + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x20] + adds r0, r5, 0 + movs r1, 0x1 + bl sub_8077ABC + lsls r0, 24 + lsrs r0, 24 + adds r0, 0x18 + strh r0, [r4, 0x22] + ldr r0, _08046590 @ =gUnknown_02024C08 + strb r5, [r0] + movs r3, 0 + strh r3, [r4, 0x2E] + mov r0, r9 + adds r0, 0x1C + adds r0, r6, r0 + ldr r1, _08046594 @ =sub_8047254 + str r1, [r0] + b _080465A6 + .align 2, 0 +_08046590: .4byte gUnknown_02024C08 +_08046594: .4byte sub_8047254 +_08046598: + movs r0, 0x1 + bl battle_get_side_with_given_state + ldr r1, _080465C4 @ =gUnknown_02024C08 + strb r0, [r1] + movs r0, 0x1 + str r0, [sp] +_080465A6: + ldr r0, _080465C8 @ =gSprites + lsls r1, r7, 4 + adds r1, r7 + lsls r1, 2 + adds r4, r1, r0 + ldr r5, _080465C4 @ =gUnknown_02024C08 + ldrb r0, [r5] + strh r0, [r4, 0x3A] + ldr r2, [sp] + cmp r2, 0 + bne _080465CC + mov r0, r10 + bl DestroyTask + b _08046616 + .align 2, 0 +_080465C4: .4byte gUnknown_02024C08 +_080465C8: .4byte gSprites +_080465CC: + movs r0, 0x22 + strh r0, [r4, 0x2E] + ldrb r0, [r5] + movs r1, 0 + bl sub_8077ABC + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x32] + ldrb r0, [r5] + movs r1, 0x1 + bl sub_8077ABC + lsls r0, 24 + lsrs r0, 24 + subs r0, 0x10 + strh r0, [r4, 0x36] + ldr r0, _08046628 @ =0x0000ffd8 + strh r0, [r4, 0x38] + adds r0, r4, 0 + bl sub_80786EC + mov r3, r10 + strh r3, [r4, 0x6] + ldr r1, _0804662C @ =gTasks + mov r2, r10 + lsls r0, r2, 2 + add r0, r10 + lsls r0, 3 + adds r0, r1 + ldrb r1, [r5] + strh r1, [r0, 0x10] + ldr r1, _08046630 @ =TaskDummy + str r1, [r0] + movs r0, 0x3D + bl PlaySE +_08046616: + add sp, 0x4 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08046628: .4byte 0x0000ffd8 +_0804662C: .4byte gTasks +_08046630: .4byte TaskDummy + thumb_func_end sub_8046464 + + thumb_func_start objc_0804ABD4 +objc_0804ABD4: @ 8046634 + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x4 + adds r7, r0, 0 + bl sub_8078718 + lsls r0, 24 + cmp r0, 0 + beq _080466D4 + ldrb r6, [r7, 0x6] + ldr r1, _080466E0 @ =gTasks + lsls r0, r6, 2 + adds r0, r6 + lsls r0, 3 + adds r0, r1 + ldrb r5, [r0, 0x10] + ldrb r0, [r0, 0xC] + mov r8, r0 + adds r0, r7, 0 + movs r1, 0x1 + bl StartSpriteAnim + adds r2, r7, 0 + adds r2, 0x2C + ldrb r0, [r2] + movs r1, 0x80 + orrs r0, r1 + strb r0, [r2] + ldrh r0, [r7, 0x24] + ldrh r1, [r7, 0x20] + adds r0, r1 + movs r1, 0 + strh r0, [r7, 0x20] + ldrh r0, [r7, 0x26] + ldrh r2, [r7, 0x22] + adds r0, r2 + strh r0, [r7, 0x22] + strh r1, [r7, 0x24] + strh r1, [r7, 0x26] + strh r1, [r7, 0x38] + adds r0, r5, 0 + bl sub_8047978 + lsls r0, 16 + lsrs r0, 16 + bl ball_number_to_ball_processing_index + adds r4, r0, 0 + ldrh r0, [r7, 0x20] + lsls r0, 24 + lsrs r0, 24 + ldrh r1, [r7, 0x22] + subs r1, 0x5 + lsls r1, 24 + lsrs r1, 24 + lsls r4, 24 + lsrs r4, 24 + str r4, [sp] + movs r2, 0x1 + movs r3, 0x1C + bl sub_814086C + movs r0, 0 + adds r1, r5, 0 + movs r2, 0xE + adds r3, r4, 0 + bl sub_8141314 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r7, 0x2E] + strh r5, [r7, 0x3A] + mov r0, r8 + strh r0, [r7, 0x3C] + adds r0, r6, 0 + bl DestroyTask + ldr r0, _080466E4 @ =sub_80466E8 + str r0, [r7, 0x1C] +_080466D4: + add sp, 0x4 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080466E0: .4byte gTasks +_080466E4: .4byte sub_80466E8 + thumb_func_end objc_0804ABD4 + + thumb_func_start sub_80466E8 +sub_80466E8: @ 80466E8 + ldr r1, _080466F0 @ =sub_80466F4 + str r1, [r0, 0x1C] + bx lr + .align 2, 0 +_080466F0: .4byte sub_80466F4 + thumb_func_end sub_80466E8 + + thumb_func_start sub_80466F4 +sub_80466F4: @ 80466F4 + push {r4-r7,lr} + adds r6, r0, 0 + ldrh r0, [r6, 0x38] + adds r0, 0x1 + movs r7, 0 + strh r0, [r6, 0x38] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0xA + bne _0804674E + strh r7, [r6, 0x38] + ldr r0, _08046754 @ =sub_8046760 + str r0, [r6, 0x1C] + ldr r5, _08046758 @ =gUnknown_02024BE0 + movs r1, 0x3A + ldrsh r0, [r6, r1] + adds r0, r5 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + ldr r4, _0804675C @ =gSprites + adds r0, r4 + movs r1, 0x2 + bl StartSpriteAffineAnim + movs r1, 0x3A + ldrsh r0, [r6, r1] + adds r0, r5 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r4 + bl AnimateSprite + movs r1, 0x3A + ldrsh r0, [r6, r1] + adds r0, r5 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r4 + strh r7, [r0, 0x30] +_0804674E: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08046754: .4byte sub_8046760 +_08046758: .4byte gUnknown_02024BE0 +_0804675C: .4byte gSprites + thumb_func_end sub_80466F4 + + thumb_func_start sub_8046760 +sub_8046760: @ 8046760 + push {r4-r6,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x38] + adds r0, 0x1 + strh r0, [r4, 0x38] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0xB + bne _08046778 + movs r0, 0x3C + bl PlaySE +_08046778: + ldr r6, _080467C4 @ =gSprites + ldr r5, _080467C8 @ =gUnknown_02024BE0 + movs r1, 0x3A + ldrsh r0, [r4, r1] + adds r0, r5 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r1, r0, r6 + adds r0, r1, 0 + adds r0, 0x3F + ldrb r0, [r0] + lsls r0, 26 + cmp r0, 0 + bge _080467D0 + adds r0, r4, 0 + movs r1, 0x2 + bl StartSpriteAnim + movs r2, 0x3A + ldrsh r0, [r4, r2] + adds r0, r5 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r6 + adds r0, 0x3E + ldrb r1, [r0] + movs r2, 0x4 + orrs r1, r2 + strb r1, [r0] + movs r0, 0 + strh r0, [r4, 0x38] + ldr r0, _080467CC @ =sub_80467F8 + str r0, [r4, 0x1C] + b _080467F0 + .align 2, 0 +_080467C4: .4byte gSprites +_080467C8: .4byte gUnknown_02024BE0 +_080467CC: .4byte sub_80467F8 +_080467D0: + ldrh r0, [r1, 0x30] + adds r0, 0x60 + strh r0, [r1, 0x30] + movs r1, 0x3A + ldrsh r0, [r4, r1] + adds r0, r5 + ldrb r0, [r0] + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r6 + movs r2, 0x30 + ldrsh r0, [r1, r2] + negs r0, r0 + asrs r0, 8 + strh r0, [r1, 0x26] +_080467F0: + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_8046760 + + thumb_func_start sub_80467F8 +sub_80467F8: @ 80467F8 + push {r4,lr} + adds r4, r0, 0 + adds r0, 0x3F + ldrb r1, [r0] + movs r0, 0x10 + ands r0, r1 + cmp r0, 0 + beq _08046840 + ldrh r0, [r4, 0x38] + adds r0, 0x1 + movs r1, 0 + strh r0, [r4, 0x38] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + bne _08046840 + strh r1, [r4, 0x34] + movs r0, 0x20 + strh r0, [r4, 0x36] + strh r1, [r4, 0x38] + movs r0, 0 + movs r1, 0x20 + bl Cos + ldrh r1, [r4, 0x22] + adds r0, r1 + strh r0, [r4, 0x22] + movs r0, 0x36 + ldrsh r1, [r4, r0] + movs r0, 0 + bl Cos + negs r0, r0 + strh r0, [r4, 0x26] + ldr r0, _08046848 @ =sub_804684C + str r0, [r4, 0x1C] +_08046840: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08046848: .4byte sub_804684C + thumb_func_end sub_80467F8 + + thumb_func_start sub_804684C +sub_804684C: @ 804684C + push {r4,r5,lr} + adds r4, r0, 0 + movs r5, 0 + ldrh r0, [r4, 0x34] + movs r1, 0xFF + ands r1, r0 + cmp r1, 0 + beq _08046862 + cmp r1, 0x1 + beq _080468D6 + b _08046902 +_08046862: + movs r1, 0x38 + ldrsh r0, [r4, r1] + movs r2, 0x36 + ldrsh r1, [r4, r2] + bl Cos + negs r0, r0 + strh r0, [r4, 0x26] + ldrh r1, [r4, 0x38] + adds r1, 0x4 + ldrh r2, [r4, 0x34] + lsls r0, r2, 16 + asrs r0, 24 + adds r1, r0 + strh r1, [r4, 0x38] + lsls r1, 16 + asrs r1, 16 + cmp r1, 0x3F + ble _08046902 + ldrh r0, [r4, 0x36] + subs r0, 0xA + strh r0, [r4, 0x36] + ldr r1, _080468AC @ =0x00000101 + adds r0, r2, r1 + strh r0, [r4, 0x34] + lsls r0, 16 + asrs r0, 24 + cmp r0, 0x4 + bne _0804689E + movs r5, 0x1 +_0804689E: + cmp r0, 0x2 + beq _080468BE + cmp r0, 0x2 + bgt _080468B0 + cmp r0, 0x1 + beq _080468B6 + b _080468CE + .align 2, 0 +_080468AC: .4byte 0x00000101 +_080468B0: + cmp r0, 0x3 + beq _080468C6 + b _080468CE +_080468B6: + movs r0, 0x38 + bl PlaySE + b _08046902 +_080468BE: + movs r0, 0x39 + bl PlaySE + b _08046902 +_080468C6: + movs r0, 0x3A + bl PlaySE + b _08046902 +_080468CE: + movs r0, 0x3B + bl PlaySE + b _08046902 +_080468D6: + movs r2, 0x38 + ldrsh r0, [r4, r2] + movs r2, 0x36 + ldrsh r1, [r4, r2] + bl Cos + negs r0, r0 + strh r0, [r4, 0x26] + ldrh r1, [r4, 0x38] + subs r1, 0x4 + ldrh r2, [r4, 0x34] + lsls r0, r2, 16 + asrs r0, 24 + subs r1, r0 + strh r1, [r4, 0x38] + lsls r1, 16 + cmp r1, 0 + bgt _08046902 + strh r5, [r4, 0x38] + ldr r0, _08046928 @ =0xffffff00 + ands r0, r2 + strh r0, [r4, 0x34] +_08046902: + cmp r5, 0 + beq _0804693A + movs r5, 0 + strh r5, [r4, 0x34] + movs r0, 0x40 + movs r1, 0x20 + bl Cos + ldrh r1, [r4, 0x22] + adds r0, r1 + strh r0, [r4, 0x22] + strh r5, [r4, 0x26] + movs r2, 0x3C + ldrsh r0, [r4, r2] + cmp r0, 0 + bne _08046930 + ldr r0, _0804692C @ =sub_8046C78 + str r0, [r4, 0x1C] + b _0804693A + .align 2, 0 +_08046928: .4byte 0xffffff00 +_0804692C: .4byte sub_8046C78 +_08046930: + ldr r0, _08046940 @ =sub_8046944 + str r0, [r4, 0x1C] + movs r0, 0x1 + strh r0, [r4, 0x36] + strh r5, [r4, 0x38] +_0804693A: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08046940: .4byte sub_8046944 + thumb_func_end sub_804684C + + thumb_func_start sub_8046944 +sub_8046944: @ 8046944 + push {r4,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x34] + adds r0, 0x1 + strh r0, [r4, 0x34] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1F + bne _08046978 + movs r0, 0 + strh r0, [r4, 0x34] + adds r2, r4, 0 + adds r2, 0x2C + ldrb r0, [r2] + movs r1, 0x80 + orrs r0, r1 + strb r0, [r2] + adds r0, r4, 0 + movs r1, 0x1 + bl StartSpriteAffineAnim + ldr r0, _08046980 @ =sub_8046984 + str r0, [r4, 0x1C] + movs r0, 0x17 + bl PlaySE +_08046978: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08046980: .4byte sub_8046984 + thumb_func_end sub_8046944 + + thumb_func_start sub_8046984 +sub_8046984: @ 8046984 + push {r4,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x34] + movs r1, 0xFF + ands r1, r0 + cmp r1, 0x4 + bhi _08046A84 + lsls r0, r1, 2 + ldr r1, _0804699C @ =_080469A0 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0804699C: .4byte _080469A0 + .align 2, 0 +_080469A0: + .4byte _080469B4 + .4byte _080469E6 + .4byte _080469B4 + .4byte _08046A3A + .4byte _08046A84 +_080469B4: + ldrh r0, [r4, 0x36] + ldrh r2, [r4, 0x24] + adds r1, r0, r2 + strh r1, [r4, 0x24] + ldrh r1, [r4, 0x38] + adds r0, r1 + strh r0, [r4, 0x38] + adds r2, r4, 0 + adds r2, 0x2C + ldrb r1, [r2] + movs r0, 0x7F + ands r0, r1 + strb r0, [r2] + ldrh r0, [r4, 0x38] + adds r0, 0x3 + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x6 + bls _08046ACA + ldrh r0, [r4, 0x34] + adds r0, 0x1 + strh r0, [r4, 0x34] + movs r0, 0 + strh r0, [r4, 0x38] + b _08046ACA +_080469E6: + ldrh r0, [r4, 0x38] + adds r0, 0x1 + strh r0, [r4, 0x38] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1 + bne _08046A2C + movs r0, 0 + strh r0, [r4, 0x38] + ldrh r0, [r4, 0x36] + negs r0, r0 + strh r0, [r4, 0x36] + ldrh r0, [r4, 0x34] + adds r0, 0x1 + strh r0, [r4, 0x34] + adds r2, r4, 0 + adds r2, 0x2C + ldrb r1, [r2] + movs r0, 0x7F + ands r0, r1 + strb r0, [r2] + movs r2, 0x36 + ldrsh r0, [r4, r2] + cmp r0, 0 + bge _08046A22 + adds r0, r4, 0 + movs r1, 0x2 + bl ChangeSpriteAffineAnim + b _08046ACA +_08046A22: + adds r0, r4, 0 + movs r1, 0x1 + bl ChangeSpriteAffineAnim + b _08046ACA +_08046A2C: + adds r0, r4, 0 + adds r0, 0x2C + ldrb r1, [r0] + movs r2, 0x80 + orrs r1, r2 + strb r1, [r0] + b _08046ACA +_08046A3A: + movs r1, 0x80 + lsls r1, 1 + adds r0, r1, 0 + ldrh r2, [r4, 0x34] + adds r0, r2 + strh r0, [r4, 0x34] + lsls r0, 16 + asrs r0, 24 + movs r2, 0x3C + ldrsh r1, [r4, r2] + cmp r0, r1 + bne _08046A5C + ldr r0, _08046A58 @ =sub_8046C78 + str r0, [r4, 0x1C] + b _08046ACA + .align 2, 0 +_08046A58: .4byte sub_8046C78 +_08046A5C: + cmp r1, 0x4 + bne _08046A70 + cmp r0, 0x3 + bne _08046A70 + ldr r0, _08046A6C @ =sub_8046E7C + str r0, [r4, 0x1C] + b _08046A76 + .align 2, 0 +_08046A6C: .4byte sub_8046E7C +_08046A70: + ldrh r0, [r4, 0x34] + adds r0, 0x1 + strh r0, [r4, 0x34] +_08046A76: + adds r2, r4, 0 + adds r2, 0x2C + ldrb r0, [r2] + movs r1, 0x80 + orrs r0, r1 + strb r0, [r2] + b _08046ACA +_08046A84: + ldrh r0, [r4, 0x38] + adds r0, 0x1 + strh r0, [r4, 0x38] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1F + bne _08046ACA + movs r0, 0 + strh r0, [r4, 0x38] + ldrh r1, [r4, 0x34] + ldr r0, _08046AB8 @ =0xffffff00 + ands r0, r1 + strh r0, [r4, 0x34] + adds r0, r4, 0 + movs r1, 0x3 + bl StartSpriteAffineAnim + movs r1, 0x36 + ldrsh r0, [r4, r1] + cmp r0, 0 + bge _08046ABC + adds r0, r4, 0 + movs r1, 0x2 + bl StartSpriteAffineAnim + b _08046AC4 + .align 2, 0 +_08046AB8: .4byte 0xffffff00 +_08046ABC: + adds r0, r4, 0 + movs r1, 0x1 + bl StartSpriteAffineAnim +_08046AC4: + movs r0, 0x17 + bl PlaySE +_08046ACA: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_8046984 + + thumb_func_start sub_8046AD0 +sub_8046AD0: @ 8046AD0 + push {r4-r6,lr} + lsls r0, 24 + lsrs r4, r0, 24 + ldr r1, _08046AFC @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + ldrb r6, [r0, 0xC] + ldrb r3, [r0, 0xA] + ldrh r5, [r0, 0x8] + movs r2, 0x26 + ldrsh r0, [r0, r2] + adds r2, r1, 0 + cmp r0, 0x20 + bhi _08046B88 + lsls r0, 2 + ldr r1, _08046B00 @ =_08046B04 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08046AFC: .4byte gTasks +_08046B00: .4byte _08046B04 + .align 2, 0 +_08046B04: + .4byte _08046B88 + .4byte _08046BA6 + .4byte _08046BB2 + .4byte _08046BF6 + .4byte _08046B88 + .4byte _08046B88 + .4byte _08046B88 + .4byte _08046B88 + .4byte _08046B88 + .4byte _08046B88 + .4byte _08046B88 + .4byte _08046B88 + .4byte _08046B88 + .4byte _08046B88 + .4byte _08046B88 + .4byte _08046B88 + .4byte _08046B88 + .4byte _08046B88 + .4byte _08046B88 + .4byte _08046B88 + .4byte _08046BD0 + .4byte _08046B88 + .4byte _08046B88 + .4byte _08046B88 + .4byte _08046B88 + .4byte _08046B88 + .4byte _08046B88 + .4byte _08046B88 + .4byte _08046B88 + .4byte _08046B88 + .4byte _08046C08 + .4byte _08046C20 + .4byte _08046C48 +_08046B88: + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r1, r0, r2 + ldrh r2, [r1, 0x18] + movs r3, 0x18 + ldrsh r0, [r1, r3] + cmp r0, 0x2 + bgt _08046BA0 + adds r0, r2, 0x1 + strh r0, [r1, 0x18] + b _08046C72 +_08046BA0: + adds r0, r6, 0x1 + strh r0, [r1, 0x26] + b _08046C72 +_08046BA6: + lsls r1, r3, 24 + asrs r1, 24 + adds r0, r5, 0 + bl PlayCry1 + b _08046BEE +_08046BB2: + bl StopCryAndClearCrySongs + ldr r1, _08046BCC @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + movs r1, 0x3 + strh r1, [r0, 0x1C] + movs r1, 0x14 + strh r1, [r0, 0x26] + b _08046C72 + .align 2, 0 +_08046BCC: .4byte gTasks +_08046BD0: + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r1, r0, r2 + ldrh r2, [r1, 0x1C] + movs r6, 0x1C + ldrsh r0, [r1, r6] + cmp r0, 0 + bne _08046C5A + lsls r1, r3, 24 + asrs r1, 24 + adds r0, r5, 0 + movs r2, 0x1 + bl PlayCry4 +_08046BEE: + adds r0, r4, 0 + bl DestroyTask + b _08046C72 +_08046BF6: + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r2 + movs r1, 0x6 + strh r1, [r0, 0x1C] + movs r1, 0x1E + strh r1, [r0, 0x26] + b _08046C72 +_08046C08: + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r1, r0, r2 + ldrh r2, [r1, 0x1C] + movs r3, 0x1C + ldrsh r0, [r1, r3] + cmp r0, 0 + bne _08046C5A + ldrh r0, [r1, 0x26] + adds r0, 0x1 + strh r0, [r1, 0x26] +_08046C20: + bl IsCryPlayingOrClearCrySongs + lsls r0, 24 + cmp r0, 0 + bne _08046C72 + bl StopCryAndClearCrySongs + ldr r0, _08046C44 @ =gTasks + lsls r1, r4, 2 + adds r1, r4 + lsls r1, 3 + adds r1, r0 + movs r0, 0x3 + strh r0, [r1, 0x1C] + ldrh r0, [r1, 0x26] + adds r0, 0x1 + strh r0, [r1, 0x26] + b _08046C72 + .align 2, 0 +_08046C44: .4byte gTasks +_08046C48: + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r1, r0, r2 + ldrh r2, [r1, 0x1C] + movs r6, 0x1C + ldrsh r0, [r1, r6] + cmp r0, 0 + beq _08046C60 +_08046C5A: + subs r0, r2, 0x1 + strh r0, [r1, 0x1C] + b _08046C72 +_08046C60: + lsls r1, r3, 24 + asrs r1, 24 + adds r0, r5, 0 + movs r2, 0 + bl PlayCry4 + adds r0, r4, 0 + bl DestroyTask +_08046C72: + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_8046AD0 + + thumb_func_start sub_8046C78 +sub_8046C78: @ 8046C78 + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x4 + adds r6, r0, 0 + ldrh r0, [r6, 0x3A] + lsls r0, 24 + lsrs r5, r0, 24 + adds r0, r6, 0 + movs r1, 0x1 + bl StartSpriteAnim + adds r0, r5, 0 + bl sub_8047978 + lsls r0, 16 + lsrs r0, 16 + bl ball_number_to_ball_processing_index + adds r4, r0, 0 + ldrh r0, [r6, 0x20] + lsls r0, 24 + lsrs r0, 24 + ldrh r1, [r6, 0x22] + subs r1, 0x5 + lsls r1, 24 + lsrs r1, 24 + lsls r4, 24 + lsrs r4, 24 + str r4, [sp] + movs r2, 0x1 + movs r3, 0x1C + bl sub_814086C + ldrh r1, [r6, 0x3A] + lsls r1, 24 + lsrs r1, 24 + movs r0, 0x1 + movs r2, 0xE + adds r3, r4, 0 + bl sub_8141314 + lsls r0, 24 + lsrs r0, 24 + strh r0, [r6, 0x2E] + ldr r0, _08046D0C @ =sub_8046E9C + str r0, [r6, 0x1C] + ldr r0, _08046D10 @ =gMain + ldr r1, _08046D14 @ =0x0000043d + adds r0, r1 + ldrb r1, [r0] + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + bne _08046CE8 + b _08046E1C +_08046CE8: + adds r0, r5, 0 + bl battle_side_get_owner + lsls r0, 24 + cmp r0, 0 + beq _08046D20 + ldr r1, _08046D18 @ =gUnknown_02024A6A + lsls r0, r5, 1 + adds r0, r1 + ldrh r1, [r0] + movs r0, 0x64 + muls r1, r0 + ldr r0, _08046D1C @ =gEnemyParty + adds r0, r1, r0 + movs r3, 0x19 + mov r8, r3 + b _08046D34 + .align 2, 0 +_08046D0C: .4byte sub_8046E9C +_08046D10: .4byte gMain +_08046D14: .4byte 0x0000043d +_08046D18: .4byte gUnknown_02024A6A +_08046D1C: .4byte gEnemyParty +_08046D20: + ldr r1, _08046D90 @ =gUnknown_02024A6A + lsls r0, r5, 1 + adds r0, r1 + ldrh r1, [r0] + movs r0, 0x64 + muls r1, r0 + ldr r0, _08046D94 @ =gPlayerParty + adds r0, r1, r0 + movs r1, 0xE7 + mov r8, r1 +_08046D34: + movs r1, 0xB + bl GetMonData + lsls r0, 16 + lsrs r7, r0, 16 + movs r0, 0 + bl battle_get_side_with_given_state + lsls r0, 24 + lsrs r0, 24 + cmp r5, r0 + beq _08046D5A + movs r0, 0x1 + bl battle_get_side_with_given_state + lsls r0, 24 + lsrs r0, 24 + cmp r5, r0 + bne _08046DAE +_08046D5A: + bl battle_type_is_double + lsls r0, 24 + cmp r0, 0 + beq _08046DAE + ldr r0, _08046D98 @ =0x02017840 + ldrb r1, [r0, 0x9] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _08046DAE + ldr r0, _08046D9C @ =gUnknown_020239F8 + ldrh r1, [r0] + movs r0, 0x40 + ands r0, r1 + cmp r0, 0 + beq _08046DA4 + bl IsBGMPlaying + lsls r0, 24 + cmp r0, 0 + beq _08046DAE + ldr r0, _08046DA0 @ =gMPlay_BGM + bl m4aMPlayStop + b _08046DAE + .align 2, 0 +_08046D90: .4byte gUnknown_02024A6A +_08046D94: .4byte gPlayerParty +_08046D98: .4byte 0x02017840 +_08046D9C: .4byte gUnknown_020239F8 +_08046DA0: .4byte gMPlay_BGM +_08046DA4: + ldr r0, _08046DC8 @ =gMPlay_BGM + ldr r1, _08046DCC @ =0x0000ffff + movs r2, 0x80 + bl m4aMPlayVolumeControl +_08046DAE: + bl battle_type_is_double + lsls r0, 24 + cmp r0, 0 + beq _08046DC4 + ldr r0, _08046DD0 @ =0x02017840 + ldrb r1, [r0, 0x9] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + bne _08046DD4 +_08046DC4: + movs r4, 0 + b _08046DF6 + .align 2, 0 +_08046DC8: .4byte gMPlay_BGM +_08046DCC: .4byte 0x0000ffff +_08046DD0: .4byte 0x02017840 +_08046DD4: + movs r0, 0 + bl battle_get_side_with_given_state + lsls r0, 24 + lsrs r0, 24 + cmp r5, r0 + beq _08046DF0 + movs r0, 0x1 + bl battle_get_side_with_given_state + lsls r0, 24 + lsrs r0, 24 + cmp r5, r0 + bne _08046DF4 +_08046DF0: + movs r4, 0x1 + b _08046DF6 +_08046DF4: + movs r4, 0x2 +_08046DF6: + ldr r0, _08046E6C @ =sub_8046AD0 + movs r1, 0x3 + bl CreateTask + lsls r0, 24 + lsrs r0, 24 + ldr r2, _08046E70 @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + movs r2, 0 + strh r7, [r1, 0x8] + mov r3, r8 + lsls r0, r3, 24 + asrs r0, 24 + strh r0, [r1, 0xA] + strh r4, [r1, 0xC] + strh r2, [r1, 0x26] +_08046E1C: + ldr r5, _08046E74 @ =gUnknown_02024BE0 + movs r1, 0x3A + ldrsh r0, [r6, r1] + adds r0, r5 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + ldr r4, _08046E78 @ =gSprites + adds r0, r4 + movs r1, 0x1 + bl StartSpriteAffineAnim + movs r3, 0x3A + ldrsh r0, [r6, r3] + adds r0, r5 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r4 + bl AnimateSprite + movs r1, 0x3A + ldrsh r0, [r6, r1] + adds r0, r5 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r4 + movs r1, 0x80 + lsls r1, 5 + strh r1, [r0, 0x30] + add sp, 0x4 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08046E6C: .4byte sub_8046AD0 +_08046E70: .4byte gTasks +_08046E74: .4byte gUnknown_02024BE0 +_08046E78: .4byte gSprites + thumb_func_end sub_8046C78 + + thumb_func_start sub_8046E7C +sub_8046E7C: @ 8046E7C + adds r3, r0, 0 + adds r3, 0x2C + ldrb r1, [r3] + movs r2, 0x40 + orrs r1, r2 + strb r1, [r3] + ldr r1, _08046E98 @ =sub_8046FBC + str r1, [r0, 0x1C] + movs r1, 0 + strh r1, [r0, 0x34] + strh r1, [r0, 0x36] + strh r1, [r0, 0x38] + bx lr + .align 2, 0 +_08046E98: .4byte sub_8046FBC + thumb_func_end sub_8046E7C + + thumb_func_start sub_8046E9C +sub_8046E9C: @ 8046E9C + push {r4-r7,lr} + adds r5, r0, 0 + movs r7, 0 + ldrh r0, [r5, 0x3A] + lsls r0, 24 + lsrs r4, r0, 24 + ldr r6, _08046F00 @ =gSprites + ldr r0, _08046F04 @ =gUnknown_02024BE0 + adds r3, r4, r0 + ldrb r1, [r3] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r6 + adds r0, 0x3E + ldrb r2, [r0] + movs r1, 0x5 + negs r1, r1 + ands r1, r2 + strb r1, [r0] + adds r0, r5, 0 + adds r0, 0x3F + ldrb r1, [r0] + movs r0, 0x10 + ands r0, r1 + cmp r0, 0 + beq _08046EDE + adds r2, r5, 0 + adds r2, 0x3E + ldrb r0, [r2] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r2] +_08046EDE: + ldrb r0, [r3] + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r6 + adds r0, r1, 0 + adds r0, 0x3F + ldrb r0, [r0] + lsls r0, 26 + cmp r0, 0 + bge _08046F08 + adds r0, r1, 0 + movs r1, 0 + bl StartSpriteAffineAnim + movs r7, 0x1 + b _08046F24 + .align 2, 0 +_08046F00: .4byte gSprites +_08046F04: .4byte gUnknown_02024BE0 +_08046F08: + ldr r2, _08046FA8 @ =0xfffffee0 + adds r0, r2, 0 + ldrh r2, [r1, 0x30] + adds r0, r2 + strh r0, [r1, 0x30] + ldrb r0, [r3] + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r6 + ldrh r0, [r1, 0x30] + lsls r0, 16 + asrs r0, 24 + strh r0, [r1, 0x26] +_08046F24: + adds r0, r5, 0 + adds r0, 0x3F + ldrb r1, [r0] + movs r0, 0x10 + ands r0, r1 + cmp r0, 0 + beq _08046FA0 + cmp r7, 0 + beq _08046FA0 + ldr r2, _08046FAC @ =gSprites + ldr r0, _08046FB0 @ =gUnknown_02024BE0 + adds r0, r4, r0 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + movs r2, 0 + movs r1, 0 + strh r1, [r0, 0x26] + ldr r0, _08046FB4 @ =gUnknown_02024E6D + strb r2, [r0] + lsls r1, r4, 1 + adds r1, r4 + lsls r1, 2 + ldr r4, _08046FB8 @ =0x02017810 + adds r1, r4 + ldrb r2, [r1] + movs r0, 0x9 + negs r0, r0 + ands r0, r2 + strb r0, [r1] + adds r0, r5, 0 + bl FreeSpriteOamMatrix + adds r0, r5, 0 + bl DestroySprite + movs r3, 0 + movs r5, 0x8 + adds r2, r4, 0 + movs r4, 0x3 +_08046F78: + ldrb r1, [r2] + adds r0, r5, 0 + ands r0, r1 + cmp r0, 0 + bne _08046F84 + adds r3, 0x1 +_08046F84: + adds r2, 0xC + subs r4, 0x1 + cmp r4, 0 + bge _08046F78 + cmp r3, 0x4 + bne _08046FA0 + movs r4, 0 +_08046F92: + lsls r0, r4, 24 + lsrs r0, 24 + bl sub_804794C + adds r4, 0x1 + cmp r4, 0xB + ble _08046F92 +_08046FA0: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08046FA8: .4byte 0xfffffee0 +_08046FAC: .4byte gSprites +_08046FB0: .4byte gUnknown_02024BE0 +_08046FB4: .4byte gUnknown_02024E6D +_08046FB8: .4byte 0x02017810 + thumb_func_end sub_8046E9C + + thumb_func_start sub_8046FBC +sub_8046FBC: @ 8046FBC + push {r4-r7,lr} + adds r6, r0, 0 + ldrh r0, [r6, 0x3A] + lsls r0, 24 + lsrs r7, r0, 24 + ldrh r0, [r6, 0x36] + adds r0, 0x1 + strh r0, [r6, 0x36] + lsls r0, 16 + asrs r1, r0, 16 + cmp r1, 0x28 + beq _08047056 + cmp r1, 0x5F + bne _08046FF4 + ldr r0, _08046FEC @ =gUnknown_02024E6D + movs r1, 0 + strb r1, [r0] + bl m4aMPlayAllStop + ldr r0, _08046FF0 @ =0x00000173 + bl PlaySE + b _08047056 + .align 2, 0 +_08046FEC: .4byte gUnknown_02024E6D +_08046FF0: .4byte 0x00000173 +_08046FF4: + ldr r0, _0804705C @ =0x0000013b + cmp r1, r0 + bne _08047056 + ldr r5, _08047060 @ =gSprites + ldr r4, _08047064 @ =gUnknown_02024BE0 + movs r1, 0x3A + ldrsh r0, [r6, r1] + adds r0, r4 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r5 + ldrb r0, [r0, 0x3] + lsls r0, 26 + lsrs r0, 27 + bl FreeOamMatrix + movs r1, 0x3A + ldrsh r0, [r6, r1] + adds r0, r4 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r5 + bl DestroySprite + adds r0, r6, 0 + bl DestroySpriteAndFreeResources + ldr r0, _08047068 @ =gMain + ldr r1, _0804706C @ =0x0000043d + adds r0, r1 + ldrb r1, [r0] + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _08047056 + lsls r1, r7, 1 + adds r1, r7 + lsls r1, 2 + ldr r0, _08047070 @ =0x02017810 + adds r1, r0 + ldrb r2, [r1] + movs r0, 0x9 + negs r0, r0 + ands r0, r2 + strb r0, [r1] +_08047056: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0804705C: .4byte 0x0000013b +_08047060: .4byte gSprites +_08047064: .4byte gUnknown_02024BE0 +_08047068: .4byte gMain +_0804706C: .4byte 0x0000043d +_08047070: .4byte 0x02017810 + thumb_func_end sub_8046FBC + + thumb_func_start sub_8047074 +sub_8047074: @ 8047074 + push {r4,lr} + adds r4, r0, 0 + movs r0, 0x19 + strh r0, [r4, 0x2E] + ldrh r0, [r4, 0x3A] + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x2 + bl sub_8077ABC + lsls r0, 24 + lsrs r0, 24 + strh r0, [r4, 0x32] + ldrh r0, [r4, 0x3A] + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x3 + bl sub_8077ABC + lsls r0, 24 + lsrs r0, 24 + adds r0, 0x18 + strh r0, [r4, 0x36] + ldr r0, _080470BC @ =0x0000ffe2 + strh r0, [r4, 0x38] + ldrh r0, [r4, 0x3A] + strh r0, [r4, 0x6] + adds r0, r4, 0 + bl sub_80786EC + ldr r0, _080470C0 @ =sub_80470C4 + str r0, [r4, 0x1C] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080470BC: .4byte 0x0000ffe2 +_080470C0: .4byte sub_80470C4 + thumb_func_end sub_8047074 + + thumb_func_start sub_80470C4 +sub_80470C4: @ 80470C4 + push {r4-r7,lr} + mov r7, r8 + push {r7} + adds r5, r0, 0 + ldrh r0, [r5, 0x3C] + movs r1, 0xFF + mov r8, r1 + lsrs r0, 8 + subs r0, 0x23 + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x2C + bhi _080471B8 + ldrh r1, [r5, 0x6] + movs r0, 0xFF + lsls r0, 8 + ands r0, r1 + cmp r0, 0 + bne _08047126 + ldrh r0, [r5, 0x30] + movs r1, 0x1 + adds r6, r1, 0 + ands r6, r0 + ldrh r0, [r5, 0x32] + adds r7, r1, 0 + ands r7, r0 + movs r2, 0x30 + ldrsh r0, [r5, r2] + movs r1, 0x3 + bl __divsi3 + movs r1, 0x2 + negs r1, r1 + adds r4, r1, 0 + ands r0, r4 + orrs r6, r0 + strh r6, [r5, 0x30] + movs r2, 0x32 + ldrsh r0, [r5, r2] + movs r1, 0x3 + bl __divsi3 + ands r0, r4 + orrs r7, r0 + strh r7, [r5, 0x32] + adds r0, r5, 0 + movs r1, 0x4 + bl StartSpriteAffineAnim +_08047126: + ldrh r4, [r5, 0x2E] + adds r0, r5, 0 + bl sub_8078B5C + movs r1, 0x3A + ldrsh r0, [r5, r1] + movs r1, 0x3 + bl __divsi3 + adds r1, r0, 0 + ldrh r0, [r5, 0x3C] + adds r0, r1 + strh r0, [r5, 0x3C] + lsls r0, 16 + asrs r0, 24 + mov r2, r8 + ands r0, r2 + movs r2, 0x38 + ldrsh r1, [r5, r2] + bl Sin + ldrh r1, [r5, 0x26] + adds r0, r1 + strh r0, [r5, 0x26] + movs r2, 0x80 + lsls r2, 1 + adds r0, r2, 0 + ldrh r1, [r5, 0x6] + adds r0, r1 + strh r0, [r5, 0x6] + lsls r0, 16 + lsrs r0, 24 + movs r1, 0x3 + bl __umodsi3 + lsls r0, 16 + cmp r0, 0 + beq _08047176 + strh r4, [r5, 0x2E] + b _0804717E +_08047176: + lsls r0, r4, 16 + asrs r0, 16 + subs r0, 0x1 + strh r0, [r5, 0x2E] +_0804717E: + ldrh r0, [r5, 0x3C] + lsrs r0, 8 + cmp r0, 0x4F + ble _08047220 + ldrh r0, [r5, 0x30] + movs r1, 0x1 + adds r6, r1, 0 + ands r6, r0 + ldrh r0, [r5, 0x32] + adds r7, r1, 0 + ands r7, r0 + movs r2, 0x30 + ldrsh r1, [r5, r2] + lsls r0, r1, 1 + adds r0, r1 + movs r1, 0x2 + negs r1, r1 + adds r2, r1, 0 + ands r0, r2 + orrs r0, r6 + strh r0, [r5, 0x30] + movs r0, 0x32 + ldrsh r1, [r5, r0] + lsls r0, r1, 1 + adds r0, r1 + ands r0, r2 + orrs r0, r7 + strh r0, [r5, 0x32] + b _08047220 +_080471B8: + adds r0, r5, 0 + bl sub_8078718 + lsls r0, 24 + cmp r0, 0 + beq _08047220 + ldrh r0, [r5, 0x24] + ldrh r1, [r5, 0x20] + adds r0, r1 + movs r1, 0 + strh r0, [r5, 0x20] + ldrh r0, [r5, 0x26] + ldrh r2, [r5, 0x22] + adds r0, r2 + strh r0, [r5, 0x22] + strh r1, [r5, 0x26] + strh r1, [r5, 0x24] + ldrb r0, [r5, 0x6] + strh r0, [r5, 0x3A] + strh r1, [r5, 0x2E] + bl battle_type_is_double + lsls r0, 24 + cmp r0, 0 + beq _08047214 + ldr r0, _0804720C @ =0x02017840 + ldrb r1, [r0, 0x9] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _08047214 + movs r0, 0x3A + ldrsh r4, [r5, r0] + movs r0, 0x2 + bl battle_get_side_with_given_state + lsls r0, 24 + lsrs r0, 24 + cmp r4, r0 + bne _08047214 + ldr r0, _08047210 @ =sub_8047230 + b _08047216 + .align 2, 0 +_0804720C: .4byte 0x02017840 +_08047210: .4byte sub_8047230 +_08047214: + ldr r0, _0804722C @ =sub_8046C78 +_08047216: + str r0, [r5, 0x1C] + adds r0, r5, 0 + movs r1, 0 + bl StartSpriteAffineAnim +_08047220: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0804722C: .4byte sub_8046C78 + thumb_func_end sub_80470C4 + + thumb_func_start sub_8047230 +sub_8047230: @ 8047230 + push {lr} + adds r2, r0, 0 + ldrh r0, [r2, 0x2E] + adds r1, r0, 0x1 + strh r1, [r2, 0x2E] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x18 + ble _0804724A + movs r0, 0 + strh r0, [r2, 0x2E] + ldr r0, _08047250 @ =sub_8046C78 + str r0, [r2, 0x1C] +_0804724A: + pop {r0} + bx r0 + .align 2, 0 +_08047250: .4byte sub_8046C78 + thumb_func_end sub_8047230 + + thumb_func_start sub_8047254 +sub_8047254: @ 8047254 + push {r4,r5,lr} + adds r5, r0, 0 + ldrh r0, [r5, 0x2E] + adds r0, 0x1 + strh r0, [r5, 0x2E] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0xF + ble _080472A4 + movs r0, 0 + strh r0, [r5, 0x2E] + bl battle_type_is_double + lsls r0, 24 + cmp r0, 0 + beq _080472A0 + ldr r0, _08047298 @ =0x02017840 + ldrb r1, [r0, 0x9] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _080472A0 + movs r0, 0x3A + ldrsh r4, [r5, r0] + movs r0, 0x3 + bl battle_get_side_with_given_state + lsls r0, 24 + lsrs r0, 24 + cmp r4, r0 + bne _080472A0 + ldr r0, _0804729C @ =sub_8047230 + b _080472A2 + .align 2, 0 +_08047298: .4byte 0x02017840 +_0804729C: .4byte sub_8047230 +_080472A0: + ldr r0, _080472AC @ =sub_8046C78 +_080472A2: + str r0, [r5, 0x1C] +_080472A4: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080472AC: .4byte sub_8046C78 + thumb_func_end sub_8047254 + + thumb_func_start sub_80472B0 +sub_80472B0: @ 80472B0 + push {r4,lr} + sub sp, 0x4 + lsls r0, 24 + lsrs r0, 24 + lsls r1, 24 + lsrs r1, 24 + lsls r2, 24 + lsrs r2, 24 + lsls r3, 24 + lsrs r3, 24 + movs r4, 0 + str r4, [sp] + bl sub_814086C + lsls r0, 24 + lsrs r0, 24 + add sp, 0x4 + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_80472B0 + + thumb_func_start sub_80472D8 +sub_80472D8: @ 80472D8 + push {lr} + lsls r0, 24 + lsrs r0, 24 + lsls r1, 24 + lsrs r1, 24 + movs r3, 0 + bl sub_8141314 + lsls r0, 24 + lsrs r0, 24 + pop {r1} + bx r1 + thumb_func_end sub_80472D8 + + thumb_func_start CreatePokeballSprite +CreatePokeballSprite: @ 80472F0 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x4 + adds r5, r0, 0 + mov r9, r2 + mov r10, r3 + ldr r6, [sp, 0x24] + ldr r4, [sp, 0x28] + ldr r0, [sp, 0x2C] + lsls r5, 24 + lsrs r5, 24 + lsls r1, 24 + lsrs r1, 24 + str r1, [sp] + mov r1, r9 + lsls r1, 24 + lsrs r1, 24 + mov r9, r1 + mov r2, r10 + lsls r2, 24 + lsrs r2, 24 + mov r10, r2 + lsls r6, 24 + lsrs r6, 24 + lsls r4, 24 + lsrs r4, 24 + lsls r0, 24 + lsrs r7, r0, 24 + ldr r0, _080473BC @ =gUnknown_0820A92C + bl LoadCompressedObjectPic + ldr r0, _080473C0 @ =gUnknown_0820A98C + bl LoadCompressedObjectPalette + ldr r0, _080473C4 @ =gSpriteTemplate_820AAB4 + mov r1, r9 + mov r2, r10 + adds r3, r4, 0 + bl CreateSprite + lsls r0, 24 + lsrs r0, 24 + ldr r3, _080473C8 @ =gSprites + mov r8, r3 + lsls r4, r0, 4 + adds r4, r0 + lsls r4, 2 + adds r1, r4, r3 + strh r5, [r1, 0x2E] + lsls r2, r5, 4 + adds r2, r5 + lsls r2, 2 + add r2, r8 + ldrh r0, [r2, 0x20] + strh r0, [r1, 0x38] + ldrh r0, [r2, 0x22] + strh r0, [r1, 0x3A] + mov r0, r9 + strh r0, [r2, 0x20] + mov r3, r10 + strh r3, [r2, 0x22] + strh r7, [r1, 0x30] + mov r0, sp + ldrh r0, [r0] + strh r0, [r1, 0x32] + mov r3, sp + ldrh r3, [r3, 0x30] + strh r3, [r1, 0x34] + ldr r3, [sp, 0x30] + lsrs r0, r3, 16 + strh r0, [r1, 0x36] + movs r0, 0x3 + ands r6, r0 + lsls r6, 2 + ldrb r3, [r1, 0x5] + movs r0, 0xD + negs r0, r0 + ands r0, r3 + orrs r0, r6 + strb r0, [r1, 0x5] + movs r0, 0x1C + add r8, r0 + add r4, r8 + ldr r0, _080473CC @ =sub_80473D0 + str r0, [r4] + adds r2, 0x3E + ldrb r0, [r2] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r2] + add sp, 0x4 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_080473BC: .4byte gUnknown_0820A92C +_080473C0: .4byte gUnknown_0820A98C +_080473C4: .4byte gSpriteTemplate_820AAB4 +_080473C8: .4byte gSprites +_080473CC: .4byte sub_80473D0 + thumb_func_end CreatePokeballSprite + + thumb_func_start sub_80473D0 +sub_80473D0: @ 80473D0 + push {r4-r7,lr} + mov r7, r8 + push {r7} + adds r6, r0, 0 + ldrh r1, [r6, 0x30] + movs r2, 0x30 + ldrsh r0, [r6, r2] + cmp r0, 0 + bne _0804747C + ldrh r0, [r6, 0x2E] + lsls r0, 24 + lsrs r7, r0, 24 + ldrh r0, [r6, 0x32] + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + ldrh r4, [r6, 0x34] + ldrh r0, [r6, 0x36] + lsls r0, 16 + orrs r4, r0 + adds r0, r6, 0 + adds r0, 0x43 + ldrb r0, [r0] + cmp r0, 0 + beq _0804740A + subs r0, 0x1 + lsls r0, 24 + lsrs r5, r0, 24 + b _0804740C +_0804740A: + movs r5, 0 +_0804740C: + adds r0, r6, 0 + movs r1, 0x1 + bl StartSpriteAnim + ldrh r0, [r6, 0x20] + lsls r0, 24 + lsrs r0, 24 + ldrh r1, [r6, 0x22] + subs r1, 0x5 + lsls r1, 24 + lsrs r1, 24 + ldrb r2, [r6, 0x5] + lsls r2, 28 + lsrs r2, 30 + adds r3, r5, 0 + bl sub_80472B0 + movs r0, 0x1 + mov r1, r8 + adds r2, r4, 0 + bl sub_80472D8 + lsls r0, 24 + lsrs r0, 24 + movs r5, 0 + strh r0, [r6, 0x30] + ldr r0, _08047474 @ =sub_804748C + str r0, [r6, 0x1C] + ldr r0, _08047478 @ =gSprites + lsls r4, r7, 4 + adds r4, r7 + lsls r4, 2 + adds r4, r0 + adds r2, r4, 0 + adds r2, 0x3E + ldrb r1, [r2] + movs r0, 0x5 + negs r0, r0 + ands r0, r1 + strb r0, [r2] + adds r0, r4, 0 + movs r1, 0x1 + bl StartSpriteAffineAnim + adds r0, r4, 0 + bl AnimateSprite + movs r0, 0x80 + lsls r0, 5 + strh r0, [r4, 0x30] + strh r5, [r6, 0x3C] + b _08047480 + .align 2, 0 +_08047474: .4byte sub_804748C +_08047478: .4byte gSprites +_0804747C: + subs r0, r1, 0x1 + strh r0, [r6, 0x30] +_08047480: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_80473D0 + + thumb_func_start sub_804748C +sub_804748C: @ 804748C + push {r4-r7,lr} + adds r4, r0, 0 + movs r0, 0 + mov r12, r0 + movs r6, 0 + ldrh r0, [r4, 0x2E] + lsls r0, 24 + lsrs r3, r0, 24 + adds r0, r4, 0 + adds r0, 0x3F + ldrb r1, [r0] + movs r0, 0x10 + ands r0, r1 + cmp r0, 0 + beq _080474B6 + adds r2, r4, 0 + adds r2, 0x3E + ldrb r0, [r2] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r2] +_080474B6: + ldr r0, _08047544 @ =gSprites + lsls r1, r3, 4 + adds r1, r3 + lsls r1, 2 + adds r5, r1, r0 + adds r0, r5, 0 + adds r0, 0x3F + ldrb r0, [r0] + lsls r0, 26 + cmp r0, 0 + bge _080474D8 + adds r0, r5, 0 + movs r1, 0 + bl StartSpriteAffineAnim + movs r1, 0x1 + mov r12, r1 +_080474D8: + movs r2, 0x38 + ldrsh r0, [r4, r2] + movs r7, 0x20 + ldrsh r1, [r4, r7] + subs r0, r1 + movs r1, 0x3C + ldrsh r2, [r4, r1] + muls r0, r2 + cmp r0, 0 + bge _080474EE + adds r0, 0x7F +_080474EE: + asrs r0, 7 + ldrh r7, [r4, 0x20] + adds r0, r7 + lsls r0, 16 + lsrs r3, r0, 16 + movs r1, 0x3A + ldrsh r0, [r4, r1] + movs r7, 0x22 + ldrsh r1, [r4, r7] + subs r0, r1 + muls r0, r2 + cmp r0, 0 + bge _0804750A + adds r0, 0x7F +_0804750A: + asrs r0, 7 + ldrh r1, [r4, 0x22] + adds r0, r1 + strh r3, [r5, 0x20] + strh r0, [r5, 0x22] + ldrh r2, [r4, 0x3C] + movs r7, 0x3C + ldrsh r0, [r4, r7] + cmp r0, 0x7F + bgt _0804754C + ldr r1, _08047548 @ =gSineTable + lsls r0, r2, 24 + lsrs r0, 23 + adds r0, r1 + movs r1, 0 + ldrsh r0, [r0, r1] + cmp r0, 0 + bge _08047530 + adds r0, 0x7 +_08047530: + asrs r0, 3 + negs r0, r0 + lsls r0, 16 + lsrs r0, 16 + adds r1, r2, 0x4 + strh r1, [r4, 0x3C] + strh r0, [r5, 0x24] + strh r0, [r5, 0x26] + b _0804755A + .align 2, 0 +_08047544: .4byte gSprites +_08047548: .4byte gSineTable +_0804754C: + ldrh r0, [r4, 0x38] + strh r0, [r5, 0x20] + ldrh r0, [r4, 0x3A] + strh r0, [r5, 0x22] + strh r6, [r5, 0x24] + strh r6, [r5, 0x26] + movs r6, 0x1 +_0804755A: + adds r0, r4, 0 + adds r0, 0x3F + ldrb r1, [r0] + movs r0, 0x10 + ands r0, r1 + cmp r0, 0 + beq _08047578 + mov r2, r12 + cmp r2, 0 + beq _08047578 + cmp r6, 0 + beq _08047578 + adds r0, r4, 0 + bl DestroySpriteAndFreeResources +_08047578: + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_804748C + + thumb_func_start sub_8047580 +sub_8047580: @ 8047580 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + mov r10, r0 + adds r6, r2, 0 + mov r8, r3 + ldr r5, [sp, 0x20] + ldr r4, [sp, 0x24] + ldr r0, [sp, 0x28] + mov r9, r0 + mov r0, r10 + lsls r0, 24 + lsrs r0, 24 + mov r10, r0 + lsls r1, 24 + lsrs r7, r1, 24 + lsls r6, 24 + lsrs r6, 24 + mov r1, r8 + lsls r1, 24 + lsrs r1, 24 + mov r8, r1 + lsls r5, 24 + lsrs r5, 24 + lsls r4, 24 + lsrs r4, 24 + mov r0, r9 + lsls r0, 24 + lsrs r0, 24 + mov r9, r0 + ldr r0, _08047624 @ =gUnknown_0820A92C + bl LoadCompressedObjectPic + ldr r0, _08047628 @ =gUnknown_0820A98C + bl LoadCompressedObjectPalette + ldr r0, _0804762C @ =gSpriteTemplate_820AAB4 + adds r1, r6, 0 + mov r2, r8 + adds r3, r4, 0 + bl CreateSprite + lsls r0, 24 + lsrs r0, 24 + ldr r6, _08047630 @ =gSprites + lsls r3, r0, 4 + adds r3, r0 + lsls r3, 2 + adds r2, r3, r6 + mov r1, r10 + strh r1, [r2, 0x2E] + mov r4, r9 + strh r4, [r2, 0x30] + strh r7, [r2, 0x32] + mov r1, sp + ldrh r1, [r1, 0x2C] + strh r1, [r2, 0x34] + ldr r4, [sp, 0x2C] + lsrs r1, r4, 16 + strh r1, [r2, 0x36] + movs r1, 0x3 + ands r5, r1 + lsls r5, 2 + ldrb r4, [r2, 0x5] + movs r1, 0xD + negs r1, r1 + ands r1, r4 + orrs r1, r5 + strb r1, [r2, 0x5] + adds r6, 0x1C + adds r3, r6 + ldr r1, _08047634 @ =sub_8047638 + str r1, [r3] + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_08047624: .4byte gUnknown_0820A92C +_08047628: .4byte gUnknown_0820A98C +_0804762C: .4byte gSpriteTemplate_820AAB4 +_08047630: .4byte gSprites +_08047634: .4byte sub_8047638 + thumb_func_end sub_8047580 + + thumb_func_start sub_8047638 +sub_8047638: @ 8047638 + push {r4-r7,lr} + mov r7, r8 + push {r7} + adds r4, r0, 0 + ldrh r1, [r4, 0x30] + movs r2, 0x30 + ldrsh r0, [r4, r2] + cmp r0, 0 + bne _080476D0 + ldrh r0, [r4, 0x2E] + lsls r0, 24 + lsrs r7, r0, 24 + ldrh r0, [r4, 0x32] + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + ldrh r5, [r4, 0x34] + ldrh r0, [r4, 0x36] + lsls r0, 16 + orrs r5, r0 + adds r0, r4, 0 + adds r0, 0x43 + ldrb r0, [r0] + cmp r0, 0 + beq _08047672 + subs r0, 0x1 + lsls r0, 24 + lsrs r6, r0, 24 + b _08047674 +_08047672: + movs r6, 0 +_08047674: + adds r0, r4, 0 + movs r1, 0x1 + bl StartSpriteAnim + ldrh r0, [r4, 0x20] + lsls r0, 24 + lsrs r0, 24 + ldrh r1, [r4, 0x22] + subs r1, 0x5 + lsls r1, 24 + lsrs r1, 24 + ldrb r2, [r4, 0x5] + lsls r2, 28 + lsrs r2, 30 + adds r3, r6, 0 + bl sub_80472B0 + movs r0, 0x1 + mov r1, r8 + adds r2, r5, 0 + bl sub_80472D8 + lsls r0, 24 + lsrs r0, 24 + movs r5, 0 + strh r0, [r4, 0x30] + ldr r0, _080476C8 @ =sub_80476E0 + str r0, [r4, 0x1C] + lsls r4, r7, 4 + adds r4, r7 + lsls r4, 2 + ldr r0, _080476CC @ =gSprites + adds r4, r0 + adds r0, r4, 0 + movs r1, 0x2 + bl StartSpriteAffineAnim + adds r0, r4, 0 + bl AnimateSprite + strh r5, [r4, 0x30] + b _080476D4 + .align 2, 0 +_080476C8: .4byte sub_80476E0 +_080476CC: .4byte gSprites +_080476D0: + subs r0, r1, 0x1 + strh r0, [r4, 0x30] +_080476D4: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_8047638 + + thumb_func_start sub_80476E0 +sub_80476E0: @ 80476E0 + push {r4,r5,lr} + adds r5, r0, 0 + ldrh r0, [r5, 0x38] + adds r0, 0x1 + strh r0, [r5, 0x38] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0xB + bne _080476F8 + movs r0, 0x3C + bl PlaySE +_080476F8: + ldrh r1, [r5, 0x2E] + lsls r1, 24 + lsrs r1, 24 + ldr r2, _08047734 @ =gSprites + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r4, r0, r2 + adds r0, r4, 0 + adds r0, 0x3F + ldrb r0, [r0] + lsls r0, 26 + cmp r0, 0 + bge _0804773C + adds r0, r5, 0 + movs r1, 0x2 + bl StartSpriteAnim + adds r2, r4, 0 + adds r2, 0x3E + ldrb r0, [r2] + movs r1, 0x4 + orrs r0, r1 + strb r0, [r2] + movs r0, 0 + strh r0, [r5, 0x38] + ldr r0, _08047738 @ =sub_8047754 + str r0, [r5, 0x1C] + b _0804774C + .align 2, 0 +_08047734: .4byte gSprites +_08047738: .4byte sub_8047754 +_0804773C: + ldrh r0, [r4, 0x30] + adds r0, 0x60 + strh r0, [r4, 0x30] + movs r1, 0x30 + ldrsh r0, [r4, r1] + negs r0, r0 + asrs r0, 8 + strh r0, [r4, 0x26] +_0804774C: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_80476E0 + + thumb_func_start sub_8047754 +sub_8047754: @ 8047754 + push {lr} + adds r2, r0, 0 + adds r0, 0x3F + ldrb r1, [r0] + movs r0, 0x10 + ands r0, r1 + cmp r0, 0 + beq _08047768 + ldr r0, _0804776C @ =SpriteCallbackDummy + str r0, [r2, 0x1C] +_08047768: + pop {r0} + bx r0 + .align 2, 0 +_0804776C: .4byte SpriteCallbackDummy + thumb_func_end sub_8047754 + + thumb_func_start obj_delete_and_free_associated_resources_ +obj_delete_and_free_associated_resources_: @ 8047770 + push {lr} + bl DestroySpriteAndFreeResources + pop {r0} + bx r0 + thumb_func_end obj_delete_and_free_associated_resources_ + + thumb_func_start sub_804777C +sub_804777C: @ 804777C + push {r4-r6,lr} + lsls r0, 24 + lsrs r0, 24 + adds r5, r0, 0 + ldr r0, _080477FC @ =gUnknown_03004340 + adds r0, r5, r0 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + ldr r6, _08047800 @ =gSprites + adds r4, r0, r6 + movs r1, 0 + movs r0, 0x5 + strh r0, [r4, 0x2E] + strh r1, [r4, 0x30] + movs r0, 0x73 + strh r0, [r4, 0x24] + strh r1, [r4, 0x26] + ldr r0, _08047804 @ =sub_8047830 + str r0, [r4, 0x1C] + adds r0, r5, 0 + bl battle_side_get_owner + lsls r0, 24 + cmp r0, 0 + beq _080477CA + ldrh r0, [r4, 0x2E] + negs r0, r0 + strh r0, [r4, 0x2E] + ldrh r0, [r4, 0x30] + negs r0, r0 + strh r0, [r4, 0x30] + ldrh r0, [r4, 0x24] + negs r0, r0 + strh r0, [r4, 0x24] + ldrh r0, [r4, 0x26] + negs r0, r0 + strh r0, [r4, 0x26] +_080477CA: + movs r0, 0x38 + ldrsh r1, [r4, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r1, r6, 0 + adds r1, 0x1C + adds r1, r0, r1 + adds r0, r6 + ldr r1, [r1] + bl _call_via_r1 + adds r0, r5, 0 + bl battle_get_per_side_status + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x2 + bne _080477F4 + ldr r0, _08047808 @ =sub_804780C + str r0, [r4, 0x1C] +_080477F4: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080477FC: .4byte gUnknown_03004340 +_08047800: .4byte gSprites +_08047804: .4byte sub_8047830 +_08047808: .4byte sub_804780C + thumb_func_end sub_804777C + + thumb_func_start sub_804780C +sub_804780C: @ 804780C + push {lr} + adds r1, r0, 0 + ldrh r0, [r1, 0x30] + adds r0, 0x1 + strh r0, [r1, 0x30] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x14 + bne _08047826 + movs r0, 0 + strh r0, [r1, 0x30] + ldr r0, _0804782C @ =sub_8047830 + str r0, [r1, 0x1C] +_08047826: + pop {r0} + bx r0 + .align 2, 0 +_0804782C: .4byte sub_8047830 + thumb_func_end sub_804780C + + thumb_func_start sub_8047830 +sub_8047830: @ 8047830 + push {lr} + adds r2, r0, 0 + ldrh r0, [r2, 0x24] + ldrh r1, [r2, 0x2E] + subs r0, r1 + strh r0, [r2, 0x24] + ldrh r0, [r2, 0x26] + ldrh r1, [r2, 0x30] + subs r0, r1 + strh r0, [r2, 0x26] + ldr r0, [r2, 0x24] + cmp r0, 0 + bne _0804784E + ldr r0, _08047854 @ =SpriteCallbackDummy + str r0, [r2, 0x1C] +_0804784E: + pop {r0} + bx r0 + .align 2, 0 +_08047854: .4byte SpriteCallbackDummy + thumb_func_end sub_8047830 + + thumb_func_start sub_8047858 +sub_8047858: @ 8047858 + push {r4,r5,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldr r5, _08047890 @ =oamc_804BEB4 + adds r0, r5, 0 + bl object_new_hidden_with_callback + lsls r0, 24 + lsrs r0, 24 + ldr r2, _08047894 @ =gSprites + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r3, r1, r2 + movs r0, 0x1 + strh r0, [r3, 0x2E] + ldr r0, _08047898 @ =gUnknown_03004340 + adds r4, r0 + ldrb r0, [r4] + strh r0, [r3, 0x30] + adds r2, 0x1C + adds r1, r2 + str r5, [r1] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08047890: .4byte oamc_804BEB4 +_08047894: .4byte gSprites +_08047898: .4byte gUnknown_03004340 + thumb_func_end sub_8047858 + + thumb_func_start oamc_804BEB4 +oamc_804BEB4: @ 804789C + push {lr} + adds r3, r0, 0 + ldrh r1, [r3, 0x30] + lsls r1, 24 + lsrs r1, 24 + ldr r2, _080478D8 @ =gSprites + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r1, r0, r2 + ldrh r0, [r3, 0x2E] + movs r2, 0 + strh r0, [r1, 0x26] + ldrh r0, [r3, 0x2E] + negs r0, r0 + strh r0, [r3, 0x2E] + ldrh r0, [r3, 0x32] + adds r0, 0x1 + strh r0, [r3, 0x32] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x15 + bne _080478D4 + strh r2, [r1, 0x24] + strh r2, [r1, 0x26] + adds r0, r3, 0 + bl DestroySprite +_080478D4: + pop {r0} + bx r0 + .align 2, 0 +_080478D8: .4byte gSprites + thumb_func_end oamc_804BEB4 + + thumb_func_start sub_80478DC +sub_80478DC: @ 80478DC + push {r4-r6,lr} + lsls r0, 24 + lsrs r4, r0, 24 + ldr r0, _08047938 @ =gUnknown_0820A92C + lsls r6, r4, 3 + adds r5, r6, r0 + ldrh r0, [r5, 0x6] + bl GetSpriteTileStartByTag + lsls r0, 16 + ldr r1, _0804793C @ =0xffff0000 + cmp r0, r1 + bne _08047904 + adds r0, r5, 0 + bl LoadCompressedObjectPic + ldr r0, _08047940 @ =gUnknown_0820A98C + adds r0, r6, r0 + bl LoadCompressedObjectPalette +_08047904: + cmp r4, 0x6 + beq _08047930 + cmp r4, 0x6 + blt _08047914 + cmp r4, 0xB + bgt _08047914 + cmp r4, 0xA + bge _08047930 +_08047914: + ldr r1, _08047938 @ =gUnknown_0820A92C + lsls r0, r4, 3 + adds r0, r1 + ldrh r0, [r0, 0x6] + bl GetSpriteTileStartByTag + adds r1, r0, 0 + lsls r1, 16 + ldr r0, _08047944 @ =gUnknown_08D030D0 + lsrs r1, 11 + ldr r2, _08047948 @ =0x06010100 + adds r1, r2 + bl LZDecompressVram +_08047930: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_08047938: .4byte gUnknown_0820A92C +_0804793C: .4byte 0xffff0000 +_08047940: .4byte gUnknown_0820A98C +_08047944: .4byte gUnknown_08D030D0 +_08047948: .4byte 0x06010100 + thumb_func_end sub_80478DC + + thumb_func_start sub_804794C +sub_804794C: @ 804794C + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + ldr r0, _08047970 @ =gUnknown_0820A92C + lsrs r4, 21 + adds r0, r4, r0 + ldrh r0, [r0, 0x6] + bl FreeSpriteTilesByTag + ldr r0, _08047974 @ =gUnknown_0820A98C + adds r4, r0 + ldrh r0, [r4, 0x4] + bl FreeSpritePaletteByTag + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08047970: .4byte gUnknown_0820A92C +_08047974: .4byte gUnknown_0820A98C + thumb_func_end sub_804794C + + thumb_func_start sub_8047978 +sub_8047978: @ 8047978 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + adds r0, r4, 0 + bl battle_side_get_owner + lsls r0, 24 + cmp r0, 0 + beq _080479A4 + ldr r1, _0804799C @ =gUnknown_02024A6A + lsls r0, r4, 1 + adds r0, r1 + ldrh r1, [r0] + movs r0, 0x64 + muls r0, r1 + ldr r1, _080479A0 @ =gEnemyParty + b _080479B2 + .align 2, 0 +_0804799C: .4byte gUnknown_02024A6A +_080479A0: .4byte gEnemyParty +_080479A4: + ldr r1, _080479C4 @ =gUnknown_02024A6A + lsls r0, r4, 1 + adds r0, r1 + ldrh r1, [r0] + movs r0, 0x64 + muls r0, r1 + ldr r1, _080479C8 @ =gPlayerParty +_080479B2: + adds r0, r1 + movs r1, 0x26 + bl GetMonData + lsls r0, 16 + lsrs r0, 16 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_080479C4: .4byte gUnknown_02024A6A +_080479C8: .4byte gPlayerParty + thumb_func_end sub_8047978 + + .align 2, 0 @ Don't pad with nop. diff --git a/asm/pokeblock.s b/asm/pokeblock.s new file mode 100644 index 000000000..d39a4b3ca --- /dev/null +++ b/asm/pokeblock.s @@ -0,0 +1,2675 @@ + .include "constants/gba_constants.inc" + .include "constants/species_constants.inc" + .include "asm/macros.inc" + + .syntax unified + + .text + + thumb_func_start sub_810B674 +sub_810B674: @ 810B674 + push {lr} + bl AnimateSprites + bl BuildOamBuffer + bl RunTasks + bl UpdatePaletteFade + pop {r0} + bx r0 + thumb_func_end sub_810B674 + + thumb_func_start sub_810B68C +sub_810B68C: @ 810B68C + push {lr} + bl LoadOam + bl ProcessSpriteCopyRequests + bl TransferPlttBuffer + ldr r1, _0810B6B0 @ =gBGTilemapBuffers + 0x1000 + ldr r2, _0810B6B4 @ =0x06007800 + ldr r0, _0810B6B8 @ =0x040000d4 + str r1, [r0] + str r2, [r0, 0x4] + ldr r1, _0810B6BC @ =0x80000400 + str r1, [r0, 0x8] + ldr r0, [r0, 0x8] + pop {r0} + bx r0 + .align 2, 0 +_0810B6B0: .4byte gBGTilemapBuffers + 0x1000 +_0810B6B4: .4byte 0x06007800 +_0810B6B8: .4byte 0x040000d4 +_0810B6BC: .4byte 0x80000400 + thumb_func_end sub_810B68C + + thumb_func_start sub_810B6C0 +sub_810B6C0: @ 810B6C0 + push {r4,lr} + sub sp, 0x4 + ldr r0, _0810B6DC @ =gMain + ldr r1, _0810B6E0 @ =0x0000043c + adds r0, r1 + ldrb r0, [r0] + cmp r0, 0x12 + bls _0810B6D2 + b _0810B960 +_0810B6D2: + lsls r0, 2 + ldr r1, _0810B6E4 @ =_0810B6E8 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0810B6DC: .4byte gMain +_0810B6E0: .4byte 0x0000043c +_0810B6E4: .4byte _0810B6E8 + .align 2, 0 +_0810B6E8: + .4byte _0810B734 + .4byte _0810B764 + .4byte _0810B76A + .4byte _0810B78C + .4byte _0810B792 + .4byte _0810B7B4 + .4byte _0810B7C0 + .4byte _0810B7DC + .4byte _0810B7E8 + .4byte _0810B804 + .4byte _0810B810 + .4byte _0810B830 + .4byte _0810B84C + .4byte _0810B86A + .4byte _0810B894 + .4byte _0810B89E + .4byte _0810B8C4 + .4byte _0810B914 + .4byte _0810B934 +_0810B734: + bl sub_80F9438 + bl sub_80F9368 + ldr r1, _0810B754 @ =REG_BG2CNT + ldr r2, _0810B758 @ =0x00000f0a + adds r0, r2, 0 + strh r0, [r1] + adds r1, 0x44 + movs r0, 0 + strh r0, [r1] + ldr r1, _0810B75C @ =gMain + ldr r0, _0810B760 @ =0x0000043c + adds r1, r0 + b _0810B922 + .align 2, 0 +_0810B754: .4byte REG_BG2CNT +_0810B758: .4byte 0x00000f0a +_0810B75C: .4byte gMain +_0810B760: .4byte 0x0000043c +_0810B764: + bl remove_some_task + b _0810B91C +_0810B76A: + bl ResetPaletteFade + ldr r2, _0810B780 @ =gPaletteFade + ldrb r0, [r2, 0x8] + movs r1, 0x80 + orrs r0, r1 + strb r0, [r2, 0x8] + ldr r1, _0810B784 @ =gMain + ldr r0, _0810B788 @ =0x0000043c + adds r1, r0 + b _0810B922 + .align 2, 0 +_0810B780: .4byte gPaletteFade +_0810B784: .4byte gMain +_0810B788: .4byte 0x0000043c +_0810B78C: + bl ResetSpriteData + b _0810B91C +_0810B792: + ldr r0, _0810B7A8 @ =gUnknown_02039244 + ldrb r0, [r0] + cmp r0, 0x2 + beq _0810B79E + bl ResetTasks +_0810B79E: + ldr r1, _0810B7AC @ =gMain + ldr r0, _0810B7B0 @ =0x0000043c + adds r1, r0 + b _0810B922 + .align 2, 0 +_0810B7A8: .4byte gUnknown_02039244 +_0810B7AC: .4byte gMain +_0810B7B0: .4byte 0x0000043c +_0810B7B4: + ldr r0, _0810B7BC @ =gWindowConfig_81E6E34 + bl SetUpWindowConfig + b _0810B91C + .align 2, 0 +_0810B7BC: .4byte gWindowConfig_81E6E34 +_0810B7C0: + ldr r0, _0810B7D0 @ =gWindowConfig_81E6E50 + bl SetUpWindowConfig + ldr r1, _0810B7D4 @ =gMain + ldr r0, _0810B7D8 @ =0x0000043c + adds r1, r0 + b _0810B922 + .align 2, 0 +_0810B7D0: .4byte gWindowConfig_81E6E50 +_0810B7D4: .4byte gMain +_0810B7D8: .4byte 0x0000043c +_0810B7DC: + ldr r0, _0810B7E4 @ =gWindowConfig_81E6E34 + bl MultistepInitMenuWindowBegin + b _0810B91C + .align 2, 0 +_0810B7E4: .4byte gWindowConfig_81E6E34 +_0810B7E8: + bl MultistepInitMenuWindowContinue + cmp r0, 0 + bne _0810B7F2 + b _0810B960 +_0810B7F2: + ldr r1, _0810B7FC @ =gMain + ldr r0, _0810B800 @ =0x0000043c + adds r1, r0 + b _0810B922 + .align 2, 0 +_0810B7FC: .4byte gMain +_0810B800: .4byte 0x0000043c +_0810B804: + ldr r0, _0810B80C @ =gWindowConfig_81E6E50 + bl MultistepInitMenuWindowBegin + b _0810B91C + .align 2, 0 +_0810B80C: .4byte gWindowConfig_81E6E50 +_0810B810: + bl MultistepInitMenuWindowContinue + cmp r0, 0 + bne _0810B81A + b _0810B960 +_0810B81A: + ldr r0, _0810B828 @ =0x02000000 + ldr r1, _0810B82C @ =0x0001ffff + adds r0, r1 + movs r1, 0 + strb r1, [r0] + b _0810B91C + .align 2, 0 +_0810B828: .4byte 0x02000000 +_0810B82C: .4byte 0x0001ffff +_0810B830: + bl sub_810B998 + lsls r0, 24 + cmp r0, 0 + bne _0810B83C + b _0810B960 +_0810B83C: + ldr r1, _0810B844 @ =gMain + ldr r0, _0810B848 @ =0x0000043c + adds r1, r0 + b _0810B922 + .align 2, 0 +_0810B844: .4byte gMain +_0810B848: .4byte 0x0000043c +_0810B84C: + bl sub_80F944C + bl LoadScrollIndicatorPalette + movs r0, 0 + movs r1, 0xB0 + movs r2, 0x8 + bl CreateVerticalScrollIndicators + movs r0, 0x1 + movs r1, 0xB0 + movs r2, 0x98 + bl CreateVerticalScrollIndicators + b _0810B91C +_0810B86A: + movs r0, 0x38 + movs r1, 0x40 + movs r2, 0 + bl sub_810BA50 + ldr r1, _0810B884 @ =0x02000000 + ldr r2, _0810B888 @ =0x0001fffe + adds r1, r2 + strb r0, [r1] + ldr r1, _0810B88C @ =gMain + ldr r0, _0810B890 @ =0x0000043c + adds r1, r0 + b _0810B922 + .align 2, 0 +_0810B884: .4byte 0x02000000 +_0810B888: .4byte 0x0001fffe +_0810B88C: .4byte gMain +_0810B890: .4byte 0x0000043c +_0810B894: + bl sub_810BC98 + bl sub_810BD08 + b _0810B91C +_0810B89E: + bl sub_810BB0C + bl sub_810BB30 + ldr r0, _0810B8B8 @ =gUnknown_02039248 + ldrb r0, [r0, 0x1] + bl sub_810BC84 + ldr r1, _0810B8BC @ =gMain + ldr r0, _0810B8C0 @ =0x0000043c + adds r1, r0 + b _0810B922 + .align 2, 0 +_0810B8B8: .4byte gUnknown_02039248 +_0810B8BC: .4byte gMain +_0810B8C0: .4byte 0x0000043c +_0810B8C4: + ldr r3, _0810B8FC @ =0x04000208 + ldrh r2, [r3] + movs r0, 0 + strh r0, [r3] + ldr r4, _0810B900 @ =0x04000200 + ldrh r0, [r4] + movs r1, 0x1 + orrs r0, r1 + strh r0, [r4] + strh r2, [r3] + ldr r2, _0810B904 @ =REG_DISPSTAT + ldrh r0, [r2] + movs r1, 0x8 + orrs r0, r1 + strh r0, [r2] + ldr r0, _0810B908 @ =sub_810B68C + bl SetVBlankCallback + movs r1, 0x80 + lsls r1, 19 + movs r2, 0xBA + lsls r2, 5 + adds r0, r2, 0 + strh r0, [r1] + ldr r1, _0810B90C @ =gMain + ldr r0, _0810B910 @ =0x0000043c + adds r1, r0 + b _0810B922 + .align 2, 0 +_0810B8FC: .4byte 0x04000208 +_0810B900: .4byte 0x04000200 +_0810B904: .4byte REG_DISPSTAT +_0810B908: .4byte sub_810B68C +_0810B90C: .4byte gMain +_0810B910: .4byte 0x0000043c +_0810B914: + bl sub_8055870 + cmp r0, 0x1 + beq _0810B960 +_0810B91C: + ldr r1, _0810B92C @ =gMain + ldr r2, _0810B930 @ =0x0000043c + adds r1, r2 +_0810B922: + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] + b _0810B960 + .align 2, 0 +_0810B92C: .4byte gMain +_0810B930: .4byte 0x0000043c +_0810B934: + movs r0, 0x1 + negs r0, r0 + movs r1, 0 + str r1, [sp] + movs r2, 0x10 + movs r3, 0 + bl BeginNormalPaletteFade + ldr r2, _0810B958 @ =gPaletteFade + ldrb r1, [r2, 0x8] + movs r0, 0x7F + ands r0, r1 + strb r0, [r2, 0x8] + ldr r0, _0810B95C @ =sub_810B674 + bl SetMainCallback2 + movs r0, 0x1 + b _0810B962 + .align 2, 0 +_0810B958: .4byte gPaletteFade +_0810B95C: .4byte sub_810B674 +_0810B960: + movs r0, 0 +_0810B962: + add sp, 0x4 + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_810B6C0 + + thumb_func_start sub_810B96C +sub_810B96C: @ 810B96C + push {lr} +_0810B96E: + bl sub_810B6C0 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _0810B988 + ldr r0, _0810B984 @ =sub_810BF7C + movs r1, 0 + bl CreateTask + b _0810B994 + .align 2, 0 +_0810B984: .4byte sub_810BF7C +_0810B988: + bl sub_80F9344 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _0810B96E +_0810B994: + pop {r0} + bx r0 + thumb_func_end sub_810B96C + + thumb_func_start sub_810B998 +sub_810B998: @ 810B998 + push {lr} + ldr r0, _0810B9B0 @ =0x02000000 + ldr r1, _0810B9B4 @ =0x0001ffff + adds r0, r1 + ldrb r0, [r0] + cmp r0, 0x4 + bhi _0810BA48 + lsls r0, 2 + ldr r1, _0810B9B8 @ =_0810B9BC + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0810B9B0: .4byte 0x02000000 +_0810B9B4: .4byte 0x0001ffff +_0810B9B8: .4byte _0810B9BC + .align 2, 0 +_0810B9BC: + .4byte _0810B9D0 + .4byte _0810B9E4 + .4byte _0810B9F8 + .4byte _0810BA08 + .4byte _0810BA28 +_0810B9D0: + ldr r0, _0810B9DC @ =gMenuPokeblock_Gfx + ldr r1, _0810B9E0 @ =0x06008000 + bl LZDecompressVram + b _0810BA0E + .align 2, 0 +_0810B9DC: .4byte gMenuPokeblock_Gfx +_0810B9E0: .4byte 0x06008000 +_0810B9E4: + ldr r0, _0810B9F0 @ =gMenuPokeblock_Tilemap + ldr r1, _0810B9F4 @ =gBGTilemapBuffers + 0x1000 + bl sub_800D238 + b _0810BA0E + .align 2, 0 +_0810B9F0: .4byte gMenuPokeblock_Tilemap +_0810B9F4: .4byte gBGTilemapBuffers + 0x1000 +_0810B9F8: + ldr r0, _0810BA04 @ =gMenuPokeblock_Pal + movs r1, 0 + movs r2, 0xC0 + bl LoadCompressedPalette + b _0810BA0E + .align 2, 0 +_0810BA04: .4byte gMenuPokeblock_Pal +_0810BA08: + ldr r0, _0810BA1C @ =gUnknown_083F7F74 + bl LoadCompressedObjectPic +_0810BA0E: + ldr r1, _0810BA20 @ =0x02000000 + ldr r0, _0810BA24 @ =0x0001ffff + adds r1, r0 + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] + b _0810BA48 + .align 2, 0 +_0810BA1C: .4byte gUnknown_083F7F74 +_0810BA20: .4byte 0x02000000 +_0810BA24: .4byte 0x0001ffff +_0810BA28: + ldr r0, _0810BA3C @ =gUnknown_083F7F7C + bl LoadCompressedObjectPalette + ldr r0, _0810BA40 @ =0x02000000 + ldr r1, _0810BA44 @ =0x0001ffff + adds r0, r1 + movs r1, 0 + strb r1, [r0] + movs r0, 0x1 + b _0810BA4A + .align 2, 0 +_0810BA3C: .4byte gUnknown_083F7F7C +_0810BA40: .4byte 0x02000000 +_0810BA44: .4byte 0x0001ffff +_0810BA48: + movs r0, 0 +_0810BA4A: + pop {r1} + bx r1 + thumb_func_end sub_810B998 + + thumb_func_start sub_810BA50 +sub_810BA50: @ 810BA50 + push {r4,r5,lr} + adds r4, r0, 0 + adds r5, r1, 0 + adds r3, r2, 0 + lsls r3, 24 + lsrs r3, 24 + ldr r0, _0810BA78 @ =gSpriteTemplate_83F7F84 + lsls r4, 16 + asrs r4, 16 + lsls r5, 16 + asrs r5, 16 + adds r1, r4, 0 + adds r2, r5, 0 + bl CreateSprite + lsls r0, 24 + lsrs r0, 24 + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_0810BA78: .4byte gSpriteTemplate_83F7F84 + thumb_func_end sub_810BA50 + + thumb_func_start sub_810BA7C +sub_810BA7C: @ 810BA7C + push {lr} + ldr r1, _0810BA98 @ =gUnknown_02039244 + strb r0, [r1] + ldrb r2, [r1] + cmp r2, 0x2 + beq _0810BAA8 + cmp r2, 0x3 + beq _0810BAC0 + ldr r1, _0810BA9C @ =gUnknown_03000758 + ldr r0, _0810BAA0 @ =gUnknown_083F7F1C + str r0, [r1] + ldr r1, _0810BAA4 @ =gUnknown_0203924C + movs r0, 0x3 + b _0810BACA + .align 2, 0 +_0810BA98: .4byte gUnknown_02039244 +_0810BA9C: .4byte gUnknown_03000758 +_0810BAA0: .4byte gUnknown_083F7F1C +_0810BAA4: .4byte gUnknown_0203924C +_0810BAA8: + ldr r0, _0810BAB4 @ =gUnknown_03000758 + ldr r1, _0810BAB8 @ =gUnknown_083F7F1F + str r1, [r0] + ldr r0, _0810BABC @ =gUnknown_0203924C + strb r2, [r0] + b _0810BACC + .align 2, 0 +_0810BAB4: .4byte gUnknown_03000758 +_0810BAB8: .4byte gUnknown_083F7F1F +_0810BABC: .4byte gUnknown_0203924C +_0810BAC0: + ldr r1, _0810BAD0 @ =gUnknown_03000758 + ldr r0, _0810BAD4 @ =gUnknown_083F7F21 + str r0, [r1] + ldr r1, _0810BAD8 @ =gUnknown_0203924C + movs r0, 0x2 +_0810BACA: + strb r0, [r1] +_0810BACC: + pop {r0} + bx r0 + .align 2, 0 +_0810BAD0: .4byte gUnknown_03000758 +_0810BAD4: .4byte gUnknown_083F7F21 +_0810BAD8: .4byte gUnknown_0203924C + thumb_func_end sub_810BA7C + + thumb_func_start sub_810BADC +sub_810BADC: @ 810BADC + push {lr} + movs r0, 0x2 + bl sub_810BA7C + ldr r0, _0810BAF0 @ =sub_810B96C + bl SetMainCallback2 + pop {r0} + bx r0 + .align 2, 0 +_0810BAF0: .4byte sub_810B96C + thumb_func_end sub_810BADC + + thumb_func_start sub_810BAF4 +sub_810BAF4: @ 810BAF4 + push {lr} + movs r0, 0x3 + bl sub_810BA7C + ldr r0, _0810BB08 @ =sub_810B96C + bl SetMainCallback2 + pop {r0} + bx r0 + .align 2, 0 +_0810BB08: .4byte sub_810B96C + thumb_func_end sub_810BAF4 + + thumb_func_start sub_810BB0C +sub_810BB0C: @ 810BB0C + push {lr} + ldr r0, _0810BB28 @ =gWindowConfig_81E6E34 + bl BasicInitMenuWindow + ldr r0, _0810BB2C @ =0x00000111 + bl ItemId_GetItem + movs r1, 0x2 + movs r2, 0x1 + movs r3, 0x48 + bl sub_8072BD8 + pop {r0} + bx r0 + .align 2, 0 +_0810BB28: .4byte gWindowConfig_81E6E34 +_0810BB2C: .4byte 0x00000111 + thumb_func_end sub_810BB0C + + thumb_func_start sub_810BB30 +sub_810BB30: @ 810BB30 + push {lr} + ldr r0, _0810BB70 @ =gWindowConfig_81E6E34 + bl BasicInitMenuWindow + ldr r0, _0810BB74 @ =gContestStatsText_Spicy + movs r1, 0x2 + movs r2, 0xD + bl MenuPrint + ldr r0, _0810BB78 @ =gContestStatsText_Dry + movs r1, 0x2 + movs r2, 0xF + bl MenuPrint + ldr r0, _0810BB7C @ =gContestStatsText_Sweet + movs r1, 0x2 + movs r2, 0x11 + bl MenuPrint + ldr r0, _0810BB80 @ =gContestStatsText_Bitter + movs r1, 0x8 + movs r2, 0xD + bl MenuPrint + ldr r0, _0810BB84 @ =gContestStatsText_Sour + movs r1, 0x8 + movs r2, 0xF + bl MenuPrint + pop {r0} + bx r0 + .align 2, 0 +_0810BB70: .4byte gWindowConfig_81E6E34 +_0810BB74: .4byte gContestStatsText_Spicy +_0810BB78: .4byte gContestStatsText_Dry +_0810BB7C: .4byte gContestStatsText_Sweet +_0810BB80: .4byte gContestStatsText_Bitter +_0810BB84: .4byte gContestStatsText_Sour + thumb_func_end sub_810BB30 + + thumb_func_start sub_810BB88 +sub_810BB88: @ 810BB88 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + ldr r0, _0810BBF4 @ =gWindowConfig_81E6E34 + bl BasicInitMenuWindow + mov r6, r8 + adds r0, r6, 0 + adds r0, 0x8 + cmp r6, r0 + bgt _0810BC6C + ldr r0, _0810BBF8 @ =gStringVar1 + mov r9, r0 + ldr r1, _0810BBFC @ =gSaveBlock1 + mov r10, r1 +_0810BBB0: + mov r1, r8 + subs r0, r6, r1 + lsls r0, 25 + lsrs r7, r0, 24 + ldr r0, _0810BC00 @ =gUnknown_02039248 + ldrb r0, [r0, 0x2] + cmp r6, r0 + bne _0810BC08 + mov r0, r9 + ldr r1, _0810BC04 @ =gContestStatsText_StowCase + movs r2, 0x78 + movs r3, 0 + bl sub_8072C74 + movs r2, 0x1 + orrs r2, r7 + mov r0, r9 + movs r1, 0xF + bl MenuPrint + mov r0, r8 + adds r0, 0x8 + cmp r6, r0 + beq _0810BC6C + adds r1, r7, 0x3 + lsls r1, 24 + lsrs r1, 24 + movs r0, 0xF + movs r2, 0x1D + movs r3, 0x12 + bl MenuZeroFillWindowRect + b _0810BC6C + .align 2, 0 +_0810BBF4: .4byte gWindowConfig_81E6E34 +_0810BBF8: .4byte gStringVar1 +_0810BBFC: .4byte gSaveBlock1 +_0810BC00: .4byte gUnknown_02039248 +_0810BC04: .4byte gContestStatsText_StowCase +_0810BC08: + lsls r5, r6, 3 + mov r1, r10 + adds r0, r5, r1 + movs r1, 0xFF + lsls r1, 3 + adds r0, r1 + ldrb r0, [r0] + lsls r0, 2 + ldr r1, _0810BC7C @ =gPokeblockNames + adds r0, r1 + ldr r1, [r0] + mov r0, r9 + movs r2, 0x5E + movs r3, 0 + bl sub_8072C74 + adds r4, r0, 0 + movs r0, 0xFC + strb r0, [r4] + movs r0, 0x14 + strb r0, [r4, 0x1] + movs r0, 0x6 + strb r0, [r4, 0x2] + adds r4, 0x3 + ldr r0, _0810BC80 @ =gSaveBlock1 + 0x7F8 + adds r5, r0 + adds r0, r5, 0 + bl sub_810C9B0 + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + adds r0, r4, 0 + movs r2, 0x1 + movs r3, 0x3 + bl ConvertIntToDecimalStringN + movs r2, 0x1 + orrs r2, r7 + mov r0, r9 + movs r1, 0xF + bl MenuPrint + adds r0, r6, 0x1 + lsls r0, 24 + lsrs r6, r0, 24 + mov r0, r8 + adds r0, 0x8 + cmp r6, r0 + ble _0810BBB0 +_0810BC6C: + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0810BC7C: .4byte gPokeblockNames +_0810BC80: .4byte gSaveBlock1 + 0x7F8 + thumb_func_end sub_810BB88 + + thumb_func_start sub_810BC84 +sub_810BC84: @ 810BC84 + push {lr} + lsls r0, 24 + lsrs r0, 24 + bl sub_810BB88 + movs r0, 0 + bl sub_810BDAC + pop {r0} + bx r0 + thumb_func_end sub_810BC84 + + thumb_func_start sub_810BC98 +sub_810BC98: @ 810BC98 + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + movs r2, 0 + ldr r0, _0810BD00 @ =gSaveBlock1 + mov r9, r0 +_0810BCA6: + adds r1, r2, 0x1 + lsls r0, r1, 16 + lsrs r5, r0, 16 + mov r8, r1 + cmp r5, 0x27 + bhi _0810BCE8 + lsls r1, r2, 3 + mov r2, r9 + adds r0, r1, r2 + movs r2, 0xFF + lsls r2, 3 + adds r7, r0, r2 + ldr r0, _0810BD04 @ =gSaveBlock1 + 0x7F8 + mov r12, r0 + adds r6, r1, r0 +_0810BCC4: + ldrb r0, [r7] + cmp r0, 0 + bne _0810BCDE + ldr r3, [r6] + ldr r4, [r6, 0x4] + lsls r2, r5, 3 + add r2, r12 + ldr r0, [r2] + ldr r1, [r2, 0x4] + str r0, [r6] + str r1, [r6, 0x4] + str r3, [r2] + str r4, [r2, 0x4] +_0810BCDE: + adds r0, r5, 0x1 + lsls r0, 16 + lsrs r5, r0, 16 + cmp r5, 0x27 + bls _0810BCC4 +_0810BCE8: + mov r1, r8 + lsls r0, r1, 16 + lsrs r2, r0, 16 + cmp r2, 0x26 + bls _0810BCA6 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0810BD00: .4byte gSaveBlock1 +_0810BD04: .4byte gSaveBlock1 + 0x7F8 + thumb_func_end sub_810BC98 + + thumb_func_start sub_810BD08 +sub_810BD08: @ 810BD08 + push {r4,r5,lr} + ldr r1, _0810BD5C @ =gUnknown_02039248 + movs r0, 0 + strb r0, [r1, 0x2] + movs r2, 0 + ldr r5, _0810BD60 @ =gSaveBlock1 + movs r4, 0xFF + lsls r4, 3 + adds r3, r1, 0 +_0810BD1A: + lsls r0, r2, 3 + adds r0, r5 + adds r0, r4 + ldrb r0, [r0] + cmp r0, 0 + beq _0810BD2C + ldrb r0, [r3, 0x2] + adds r0, 0x1 + strb r0, [r3, 0x2] +_0810BD2C: + adds r0, r2, 0x1 + lsls r0, 24 + lsrs r2, r0, 24 + cmp r2, 0x27 + bls _0810BD1A + ldrb r0, [r1, 0x2] + cmp r0, 0x7 + bls _0810BD3E + movs r0, 0x8 +_0810BD3E: + strb r0, [r1, 0x3] + ldrb r2, [r1, 0x1] + adds r0, r2, 0 + adds r0, 0x8 + ldrb r3, [r1, 0x2] + cmp r0, r3 + ble _0810BD54 + cmp r2, 0 + beq _0810BD54 + subs r0, r2, 0x1 + strb r0, [r1, 0x1] +_0810BD54: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0810BD5C: .4byte gUnknown_02039248 +_0810BD60: .4byte gSaveBlock1 + thumb_func_end sub_810BD08 + + thumb_func_start sub_810BD64 +sub_810BD64: @ 810BD64 + push {r4,r5,lr} + lsls r0, 16 + lsrs r3, r0, 16 + movs r2, 0 + ldr r5, _0810BDA4 @ =gUnknown_02039248 + ldr r4, _0810BDA8 @ =gBGTilemapBuffers + 0x1000 +_0810BD70: + ldrb r0, [r5] + lsls r0, 1 + adds r0, 0x1 + lsls r0, 5 + adds r1, r2, 0 + adds r1, 0xF + adds r0, r1 + lsls r0, 1 + adds r0, r4 + strh r3, [r0] + ldrb r0, [r5] + lsls r0, 6 + adds r0, 0x40 + adds r0, r1 + lsls r0, 1 + adds r0, r4 + strh r3, [r0] + adds r0, r2, 0x1 + lsls r0, 24 + lsrs r2, r0, 24 + cmp r2, 0xD + bls _0810BD70 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0810BDA4: .4byte gUnknown_02039248 +_0810BDA8: .4byte gBGTilemapBuffers + 0x1000 + thumb_func_end sub_810BD64 + + thumb_func_start sub_810BDAC +sub_810BDAC: @ 810BDAC + push {r4-r7,lr} + mov r7, r8 + push {r7} + lsls r0, 24 + cmp r0, 0 + bne _0810BDCC + ldr r0, _0810BDC4 @ =0x00001005 + ldr r1, _0810BDC8 @ =0x00001014 + bl sub_810BD64 + b _0810BDD4 + .align 2, 0 +_0810BDC4: .4byte 0x00001005 +_0810BDC8: .4byte 0x00001014 +_0810BDCC: + ldr r0, _0810BDE8 @ =0x00002005 + ldr r1, _0810BDEC @ =0x00002014 + bl sub_810BD64 +_0810BDD4: + ldr r0, _0810BDF0 @ =gUnknown_02039248 + ldrb r0, [r0, 0x1] + cmp r0, 0 + beq _0810BDF4 + movs r0, 0 + movs r1, 0 + bl sub_80F979C + b _0810BDFC + .align 2, 0 +_0810BDE8: .4byte 0x00002005 +_0810BDEC: .4byte 0x00002014 +_0810BDF0: .4byte gUnknown_02039248 +_0810BDF4: + movs r0, 0 + movs r1, 0x1 + bl sub_80F979C +_0810BDFC: + ldr r2, _0810BE1C @ =gUnknown_02039248 + ldrb r0, [r2, 0x2] + ldrb r1, [r2, 0x3] + cmp r0, r1 + bls _0810BE20 + ldrb r0, [r2, 0x1] + ldrb r1, [r2, 0x3] + adds r0, r1 + ldrb r2, [r2, 0x2] + cmp r0, r2 + beq _0810BE20 + movs r0, 0x1 + movs r1, 0 + bl sub_80F979C + b _0810BE28 + .align 2, 0 +_0810BE1C: .4byte gUnknown_02039248 +_0810BE20: + movs r0, 0x1 + movs r1, 0x1 + bl sub_80F979C +_0810BE28: + movs r6, 0 + ldr r7, _0810BE94 @ =gBGTilemapBuffers + 0x1000 + movs r0, 0xF + mov r8, r0 +_0810BE30: + adds r0, r6, 0 + movs r1, 0x3 + bl __umodsi3 + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 18 + ldr r1, _0810BE98 @ =0x000001a1 + adds r4, r1 + adds r0, r6, 0 + movs r1, 0x3 + bl __udivsi3 + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 1 + adds r1, r0 + lsls r1, 1 + adds r5, r4, r1 + ldr r1, _0810BE9C @ =gUnknown_02039248 + ldrb r2, [r1] + ldrb r0, [r1, 0x1] + adds r0, r2, r0 + ldrb r1, [r1, 0x2] + cmp r0, r1 + beq _0810BEB8 + lsls r0, 3 + ldr r1, _0810BEA0 @ =gSaveBlock1 + 0x7F8 + adds r0, r1 + adds r4, r6, 0x1 + lsls r1, r4, 24 + lsrs r1, 24 + bl sub_810CA9C + lsls r0, 16 + cmp r0, 0 + ble _0810BEA4 + lsls r1, r5, 1 + adds r1, r7 + lsls r2, r6, 12 + adds r0, r2, 0 + adds r0, 0x17 + strh r0, [r1] + adds r0, r5, 0 + adds r0, 0x20 + lsls r0, 1 + adds r0, r7 + adds r2, 0x18 + strh r2, [r0] + b _0810BECC + .align 2, 0 +_0810BE94: .4byte gBGTilemapBuffers + 0x1000 +_0810BE98: .4byte 0x000001a1 +_0810BE9C: .4byte gUnknown_02039248 +_0810BEA0: .4byte gSaveBlock1 + 0x7F8 +_0810BEA4: + lsls r0, r5, 1 + adds r0, r7 + mov r1, r8 + strh r1, [r0] + adds r0, r5, 0 + adds r0, 0x20 + lsls r0, 1 + adds r0, r7 + strh r1, [r0] + b _0810BECC +_0810BEB8: + lsls r0, r5, 1 + adds r0, r7 + mov r1, r8 + strh r1, [r0] + adds r0, r5, 0 + adds r0, 0x20 + lsls r0, 1 + adds r0, r7 + strh r1, [r0] + adds r4, r6, 0x1 +_0810BECC: + lsls r0, r4, 24 + lsrs r6, r0, 24 + cmp r6, 0x4 + bls _0810BE30 + ldr r0, _0810BF10 @ =gWindowConfig_81E6E34 + bl BasicInitMenuWindow + ldr r0, _0810BF14 @ =gUnknown_02039248 + ldrb r2, [r0] + ldrb r1, [r0, 0x1] + adds r2, r1 + ldrb r0, [r0, 0x2] + cmp r2, r0 + beq _0810BF20 + ldr r4, _0810BF18 @ =gStringVar1 + lsls r0, r2, 3 + ldr r1, _0810BF1C @ =gSaveBlock1 + 0x7F8 + adds r0, r1 + bl sub_810C9E8 + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + adds r0, r4, 0 + movs r2, 0x10 + movs r3, 0x1 + bl sub_8072C14 + adds r0, r4, 0 + movs r1, 0xB + movs r2, 0x11 + bl MenuPrint + b _0810BF2C + .align 2, 0 +_0810BF10: .4byte gWindowConfig_81E6E34 +_0810BF14: .4byte gUnknown_02039248 +_0810BF18: .4byte gStringVar1 +_0810BF1C: .4byte gSaveBlock1 + 0x7F8 +_0810BF20: + movs r0, 0xB + movs r1, 0x11 + movs r2, 0xC + movs r3, 0x12 + bl MenuZeroFillWindowRect +_0810BF2C: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_810BDAC + + thumb_func_start sub_810BF38 +sub_810BF38: @ 810BF38 + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + movs r0, 0x5 + bl PlaySE + ldr r2, _0810BF6C @ =gSprites + ldr r0, _0810BF70 @ =0x02000000 + ldr r1, _0810BF74 @ =0x0001fffe + adds r0, r1 + ldrb r1, [r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r2, 0x1C + adds r0, r2 + ldr r1, _0810BF78 @ =sub_810C8D4 + str r1, [r0] + adds r0, r4, 0 + bl sub_810BDAC + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0810BF6C: .4byte gSprites +_0810BF70: .4byte 0x02000000 +_0810BF74: .4byte 0x0001fffe +_0810BF78: .4byte sub_810C8D4 + thumb_func_end sub_810BF38 + + thumb_func_start sub_810BF7C +sub_810BF7C: @ 810BF7C + push {r4,r5,lr} + lsls r0, 24 + lsrs r5, r0, 24 + adds r4, r5, 0 + ldr r0, _0810BFB8 @ =gPaletteFade + ldrb r1, [r0, 0x7] + movs r3, 0x80 + adds r0, r3, 0 + ands r0, r1 + cmp r0, 0 + beq _0810BF94 + b _0810C0B8 +_0810BF94: + ldr r2, _0810BFBC @ =gMain + ldrh r1, [r2, 0x30] + movs r0, 0x40 + ands r0, r1 + cmp r0, 0 + beq _0810BFCE + ldr r4, _0810BFC0 @ =gUnknown_02039248 + ldrb r0, [r4] + cmp r0, 0 + beq _0810BFC4 + movs r0, 0x5 + movs r1, 0x14 + bl sub_810BD64 + ldrb r0, [r4] + subs r0, 0x1 + strb r0, [r4] + b _0810C00A + .align 2, 0 +_0810BFB8: .4byte gPaletteFade +_0810BFBC: .4byte gMain +_0810BFC0: .4byte gUnknown_02039248 +_0810BFC4: + ldrb r0, [r4, 0x1] + cmp r0, 0 + beq _0810C0B8 + subs r0, 0x1 + b _0810C002 +_0810BFCE: + adds r0, r3, 0 + ands r0, r1 + cmp r0, 0 + beq _0810C012 + ldr r4, _0810BFF0 @ =gUnknown_02039248 + ldrb r0, [r4] + ldrb r1, [r4, 0x3] + cmp r0, r1 + beq _0810BFF4 + movs r0, 0x5 + movs r1, 0x14 + bl sub_810BD64 + ldrb r0, [r4] + adds r0, 0x1 + strb r0, [r4] + b _0810C00A + .align 2, 0 +_0810BFF0: .4byte gUnknown_02039248 +_0810BFF4: + ldrb r1, [r4, 0x1] + ldrb r0, [r4] + adds r0, r1, r0 + ldrb r2, [r4, 0x2] + cmp r0, r2 + beq _0810C0B8 + adds r0, r1, 0x1 +_0810C002: + strb r0, [r4, 0x1] + ldrb r0, [r4, 0x1] + bl sub_810BB88 +_0810C00A: + movs r0, 0 + bl sub_810BF38 + b _0810C0B8 +_0810C012: + ldrh r1, [r2, 0x2E] + movs r0, 0x4 + ands r0, r1 + cmp r0, 0 + beq _0810C05C + ldr r4, _0810C050 @ =gUnknown_02039248 + ldrb r0, [r4, 0x1] + ldrb r1, [r4] + adds r0, r1 + ldrb r1, [r4, 0x2] + cmp r0, r1 + beq _0810C0B8 + movs r0, 0x5 + bl PlaySE + movs r0, 0x1 + bl sub_810BDAC + ldr r1, _0810C054 @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r0, r1 + ldrb r1, [r4, 0x1] + ldrb r2, [r4] + adds r1, r2 + strh r1, [r0, 0x8] + ldr r1, _0810C058 @ =sub_810C0C8 + str r1, [r0] + b _0810C0B8 + .align 2, 0 +_0810C050: .4byte gUnknown_02039248 +_0810C054: .4byte gTasks +_0810C058: .4byte sub_810C0C8 +_0810C05C: + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _0810C09C + movs r0, 0x5 + bl PlaySE + ldr r0, _0810C088 @ =gUnknown_02039248 + ldrb r1, [r0, 0x1] + ldrb r2, [r0] + adds r1, r2 + ldrb r0, [r0, 0x2] + cmp r1, r0 + bne _0810C094 + ldr r1, _0810C08C @ =gScriptResult + ldr r2, _0810C090 @ =0x0000ffff + adds r0, r2, 0 + strh r0, [r1] + adds r0, r5, 0 + bl sub_810C31C + b _0810C0B8 + .align 2, 0 +_0810C088: .4byte gUnknown_02039248 +_0810C08C: .4byte gScriptResult +_0810C090: .4byte 0x0000ffff +_0810C094: + adds r0, r5, 0 + bl sub_810C368 + b _0810C0B8 +_0810C09C: + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _0810C0B8 + movs r0, 0x5 + bl PlaySE + ldr r1, _0810C0C0 @ =gScriptResult + ldr r2, _0810C0C4 @ =0x0000ffff + adds r0, r2, 0 + strh r0, [r1] + adds r0, r4, 0 + bl sub_810C31C +_0810C0B8: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0810C0C0: .4byte gScriptResult +_0810C0C4: .4byte 0x0000ffff + thumb_func_end sub_810BF7C + + thumb_func_start sub_810C0C8 +sub_810C0C8: @ 810C0C8 + push {r4,r5,lr} + lsls r0, 24 + lsrs r5, r0, 24 + ldr r2, _0810C0F4 @ =gMain + ldrh r1, [r2, 0x30] + movs r0, 0x40 + ands r0, r1 + cmp r0, 0 + beq _0810C110 + ldr r4, _0810C0F8 @ =gUnknown_02039248 + ldrb r0, [r4] + cmp r0, 0 + beq _0810C0FC + movs r0, 0x5 + movs r1, 0x14 + bl sub_810BD64 + ldrb r0, [r4] + subs r0, 0x1 + strb r0, [r4] + b _0810C158 + .align 2, 0 +_0810C0F4: .4byte gMain +_0810C0F8: .4byte gUnknown_02039248 +_0810C0FC: + ldrb r0, [r4, 0x1] + cmp r0, 0 + beq _0810C1BA + adds r0, r5, 0 + movs r1, 0 + bl sub_810C1C8 + ldrb r0, [r4, 0x1] + subs r0, 0x1 + b _0810C150 +_0810C110: + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + beq _0810C168 + ldr r4, _0810C134 @ =gUnknown_02039248 + ldrb r0, [r4] + ldrb r1, [r4, 0x3] + cmp r0, r1 + beq _0810C138 + movs r0, 0x5 + movs r1, 0x14 + bl sub_810BD64 + ldrb r0, [r4] + adds r0, 0x1 + strb r0, [r4] + b _0810C158 + .align 2, 0 +_0810C134: .4byte gUnknown_02039248 +_0810C138: + ldrb r0, [r4, 0x1] + ldrb r1, [r4] + adds r0, r1 + ldrb r1, [r4, 0x2] + cmp r0, r1 + beq _0810C1BA + adds r0, r5, 0 + movs r1, 0 + bl sub_810C1C8 + ldrb r0, [r4, 0x1] + adds r0, 0x1 +_0810C150: + strb r0, [r4, 0x1] + ldrb r0, [r4, 0x1] + bl sub_810BB88 +_0810C158: + movs r0, 0x1 + bl sub_810BF38 + adds r0, r5, 0 + movs r1, 0x1 + bl sub_810C1C8 + b _0810C1BA +_0810C168: + ldrh r1, [r2, 0x2E] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + bne _0810C17A + movs r0, 0x4 + ands r0, r1 + cmp r0, 0 + beq _0810C190 +_0810C17A: + movs r0, 0x5 + bl PlaySE + adds r0, r5, 0 + movs r1, 0 + bl sub_810C1C8 + adds r0, r5, 0 + bl sub_810C23C + b _0810C1AC +_0810C190: + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _0810C1BA + movs r0, 0x5 + bl PlaySE + adds r0, r5, 0 + movs r1, 0 + bl sub_810C1C8 + movs r0, 0 + bl sub_810BDAC +_0810C1AC: + ldr r0, _0810C1C0 @ =gTasks + lsls r1, r5, 2 + adds r1, r5 + lsls r1, 3 + adds r1, r0 + ldr r0, _0810C1C4 @ =sub_810BF7C + str r0, [r1] +_0810C1BA: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0810C1C0: .4byte gTasks +_0810C1C4: .4byte sub_810BF7C + thumb_func_end sub_810C0C8 + + thumb_func_start sub_810C1C8 +sub_810C1C8: @ 810C1C8 + push {r4-r6,lr} + lsls r0, 24 + lsrs r2, r0, 24 + lsls r1, 24 + ldr r6, _0810C22C @ =0x00001005 + cmp r1, 0 + bne _0810C1D8 + movs r6, 0x5 +_0810C1D8: + ldr r1, _0810C230 @ =gTasks + lsls r0, r2, 2 + adds r0, r2 + lsls r0, 3 + adds r0, r1 + ldr r2, _0810C234 @ =gUnknown_02039248 + ldrb r1, [r2, 0x1] + ldrh r0, [r0, 0x8] + subs r0, r1 + lsls r1, r0, 16 + lsrs r0, r1, 16 + cmp r0, 0x8 + bhi _0810C226 + asrs r0, r1, 16 + ldrb r2, [r2] + cmp r0, r2 + beq _0810C226 + movs r2, 0 + lsls r0, 1 + adds r1, r0, 0x1 + lsls r5, r1, 5 + ldr r3, _0810C238 @ =gBGTilemapBuffers + 0x1000 + adds r0, 0x2 + lsls r4, r0, 5 +_0810C208: + adds r0, r2, 0 + adds r0, 0xF + adds r1, r5, r0 + lsls r1, 1 + adds r1, r3 + strh r6, [r1] + adds r0, r4, r0 + lsls r0, 1 + adds r0, r3 + strh r6, [r0] + adds r0, r2, 0x1 + lsls r0, 24 + lsrs r2, r0, 24 + cmp r2, 0xD + bls _0810C208 +_0810C226: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0810C22C: .4byte 0x00001005 +_0810C230: .4byte gTasks +_0810C234: .4byte gUnknown_02039248 +_0810C238: .4byte gBGTilemapBuffers + 0x1000 + thumb_func_end sub_810C1C8 + + thumb_func_start sub_810C23C +sub_810C23C: @ 810C23C + push {r4-r7,lr} + lsls r0, 24 + lsrs r1, r0, 24 + ldr r7, _0810C25C @ =gUnknown_02039248 + ldrb r0, [r7] + ldrb r2, [r7, 0x1] + adds r0, r2 + lsls r0, 24 + lsrs r0, 24 + ldrb r2, [r7, 0x2] + cmp r0, r2 + bne _0810C260 + movs r0, 0 + bl sub_810BDAC + b _0810C2A2 + .align 2, 0 +_0810C25C: .4byte gUnknown_02039248 +_0810C260: + ldr r4, _0810C2A8 @ =gSaveBlock1 + lsls r3, r0, 3 + movs r0, 0xFF + lsls r0, 3 + adds r4, r0 + adds r3, r4 + ldr r5, [r3] + ldr r6, [r3, 0x4] + ldr r0, _0810C2AC @ =gTasks + lsls r2, r1, 2 + adds r2, r1 + lsls r2, 3 + adds r2, r0 + movs r1, 0x8 + ldrsh r0, [r2, r1] + lsls r0, 3 + adds r0, r4 + ldr r1, [r0, 0x4] + ldr r0, [r0] + str r0, [r3] + str r1, [r3, 0x4] + movs r1, 0x8 + ldrsh r0, [r2, r1] + lsls r0, 3 + adds r0, r4 + str r5, [r0] + str r6, [r0, 0x4] + ldrb r0, [r7, 0x1] + bl sub_810BB88 + movs r0, 0 + bl sub_810BDAC +_0810C2A2: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0810C2A8: .4byte gSaveBlock1 +_0810C2AC: .4byte gTasks + thumb_func_end sub_810C23C + + thumb_func_start sub_810C2B0 +sub_810C2B0: @ 810C2B0 + push {lr} + movs r0, 0 + bl DestroyVerticalScrollIndicator + movs r0, 0x1 + bl DestroyVerticalScrollIndicator + bl BuyMenuFreeMemory + pop {r0} + bx r0 + thumb_func_end sub_810C2B0 + + thumb_func_start sub_810C2C8 +sub_810C2C8: @ 810C2C8 + push {r4,r5,lr} + lsls r0, 24 + lsrs r5, r0, 24 + ldr r0, _0810C308 @ =gPaletteFade + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + bne _0810C300 + ldr r4, _0810C30C @ =gUnknown_02039244 + ldrb r0, [r4] + cmp r0, 0x3 + bne _0810C2E8 + ldr r1, _0810C310 @ =gUnknown_0300485C + ldr r0, _0810C314 @ =sub_8080990 + str r0, [r1] +_0810C2E8: + bl sub_810C2B0 + ldr r0, _0810C318 @ =gUnknown_083F7EA8 + ldrb r1, [r4] + lsls r1, 2 + adds r1, r0 + ldr r0, [r1] + bl SetMainCallback2 + adds r0, r5, 0 + bl DestroyTask +_0810C300: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0810C308: .4byte gPaletteFade +_0810C30C: .4byte gUnknown_02039244 +_0810C310: .4byte gUnknown_0300485C +_0810C314: .4byte sub_8080990 +_0810C318: .4byte gUnknown_083F7EA8 + thumb_func_end sub_810C2C8 + + thumb_func_start sub_810C31C +sub_810C31C: @ 810C31C + push {r4,r5,lr} + sub sp, 0x4 + lsls r0, 24 + lsrs r4, r0, 24 + movs r0, 0x1 + negs r0, r0 + movs r5, 0 + str r5, [sp] + movs r1, 0 + movs r2, 0 + movs r3, 0x10 + bl BeginNormalPaletteFade + ldr r0, _0810C358 @ =gUnknown_02039244 + ldrb r0, [r0] + cmp r0, 0x1 + bls _0810C342 + ldr r0, _0810C35C @ =gScriptItemId + strh r5, [r0] +_0810C342: + ldr r0, _0810C360 @ =gTasks + lsls r1, r4, 2 + adds r1, r4 + lsls r1, 3 + adds r1, r0 + ldr r0, _0810C364 @ =sub_810C2C8 + str r0, [r1] + add sp, 0x4 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0810C358: .4byte gUnknown_02039244 +_0810C35C: .4byte gScriptItemId +_0810C360: .4byte gTasks +_0810C364: .4byte sub_810C2C8 + thumb_func_end sub_810C31C + + thumb_func_start sub_810C368 +sub_810C368: @ 810C368 + push {r4-r6,lr} + sub sp, 0x8 + lsls r0, 24 + lsrs r6, r0, 24 + movs r4, 0 + ldr r0, _0810C3E8 @ =gUnknown_02039244 + ldrb r0, [r0] + cmp r0, 0x1 + bls _0810C37C + movs r4, 0x2 +_0810C37C: + movs r0, 0 + bl sub_80F98A4 + movs r0, 0x1 + bl sub_80F98A4 + ldr r0, _0810C3EC @ =gWindowConfig_81E6E50 + bl BasicInitMenuWindow + adds r1, r4, 0x4 + movs r0, 0x7 + movs r2, 0xD + movs r3, 0xB + bl MenuDrawTextWindow + adds r4, 0x5 + ldr r5, _0810C3F0 @ =gUnknown_0203924C + ldrb r2, [r5] + ldr r3, _0810C3F4 @ =gUnknown_083F7EF4 + ldr r0, _0810C3F8 @ =gUnknown_03000758 + ldr r0, [r0] + str r0, [sp] + movs r0, 0x8 + adds r1, r4, 0 + bl PrintMenuItemsReordered + ldrb r3, [r5] + movs r0, 0 + str r0, [sp] + movs r0, 0x5 + str r0, [sp, 0x4] + movs r0, 0 + movs r1, 0x8 + adds r2, r4, 0 + bl InitMenu + ldr r2, _0810C3FC @ =gScriptItemId + ldr r1, _0810C400 @ =gUnknown_02039248 + ldrb r0, [r1] + ldrb r1, [r1, 0x1] + adds r0, r1 + strh r0, [r2] + ldr r1, _0810C404 @ =gTasks + lsls r0, r6, 2 + adds r0, r6 + lsls r0, 3 + adds r0, r1 + ldr r1, _0810C408 @ =sub_810C40C + str r1, [r0] + add sp, 0x8 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0810C3E8: .4byte gUnknown_02039244 +_0810C3EC: .4byte gWindowConfig_81E6E50 +_0810C3F0: .4byte gUnknown_0203924C +_0810C3F4: .4byte gUnknown_083F7EF4 +_0810C3F8: .4byte gUnknown_03000758 +_0810C3FC: .4byte gScriptItemId +_0810C400: .4byte gUnknown_02039248 +_0810C404: .4byte gTasks +_0810C408: .4byte sub_810C40C + thumb_func_end sub_810C368 + + thumb_func_start sub_810C40C +sub_810C40C: @ 810C40C + push {r4,r5,lr} + lsls r0, 24 + lsrs r5, r0, 24 + adds r4, r5, 0 + ldr r2, _0810C43C @ =gMain + ldrh r1, [r2, 0x30] + movs r0, 0x40 + ands r0, r1 + cmp r0, 0 + beq _0810C440 + bl GetMenuCursorPos + lsls r0, 24 + cmp r0, 0 + beq _0810C4BC + movs r0, 0x5 + bl PlaySE + movs r0, 0x1 + negs r0, r0 + bl MoveMenuCursor + b _0810C4BC + .align 2, 0 +_0810C43C: .4byte gMain +_0810C440: + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + beq _0810C46C + bl GetMenuCursorPos + lsls r0, 24 + lsrs r0, 24 + ldr r1, _0810C468 @ =gUnknown_0203924C + ldrb r1, [r1] + subs r1, 0x1 + cmp r0, r1 + beq _0810C4BC + movs r0, 0x5 + bl PlaySE + movs r0, 0x1 + bl MoveMenuCursor + b _0810C4BC + .align 2, 0 +_0810C468: .4byte gUnknown_0203924C +_0810C46C: + ldrh r1, [r2, 0x2E] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _0810C4A8 + movs r0, 0x5 + bl PlaySE + ldr r4, _0810C4A0 @ =gUnknown_083F7EF4 + bl GetMenuCursorPos + lsls r0, 24 + lsrs r0, 24 + ldr r1, _0810C4A4 @ =gUnknown_03000758 + ldr r1, [r1] + adds r1, r0 + ldrb r0, [r1] + lsls r0, 3 + adds r4, 0x4 + adds r0, r4 + ldr r1, [r0] + adds r0, r5, 0 + bl _call_via_r1 + b _0810C4BC + .align 2, 0 +_0810C4A0: .4byte gUnknown_083F7EF4 +_0810C4A4: .4byte gUnknown_03000758 +_0810C4A8: + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _0810C4BC + movs r0, 0x5 + bl PlaySE + adds r0, r4, 0 + bl sub_810C748 +_0810C4BC: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_810C40C + + thumb_func_start sub_810C4C4 +sub_810C4C4: @ 810C4C4 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + ldr r0, _0810C4F8 @ =gPaletteFade + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + bne _0810C4F0 + bl sub_810C2B0 + ldr r0, _0810C4FC @ =gScriptItemId + ldrh r0, [r0] + lsls r0, 3 + ldr r1, _0810C500 @ =gSaveBlock1 + 0x7F8 + adds r0, r1 + ldr r1, _0810C504 @ =sub_810B96C + bl sub_8136130 + adds r0, r4, 0 + bl DestroyTask +_0810C4F0: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0810C4F8: .4byte gPaletteFade +_0810C4FC: .4byte gScriptItemId +_0810C500: .4byte gSaveBlock1 + 0x7F8 +_0810C504: .4byte sub_810B96C + thumb_func_end sub_810C4C4 + + thumb_func_start sub_810C508 +sub_810C508: @ 810C508 + push {r4,lr} + sub sp, 0x4 + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + movs r0, 0x1 + negs r0, r0 + movs r1, 0 + str r1, [sp] + movs r2, 0 + movs r3, 0x10 + bl BeginNormalPaletteFade + ldr r1, _0810C538 @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + ldr r1, _0810C53C @ =sub_810C4C4 + str r1, [r0] + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0810C538: .4byte gTasks +_0810C53C: .4byte sub_810C4C4 + thumb_func_end sub_810C508 + + thumb_func_start sub_810C540 +sub_810C540: @ 810C540 + push {r4,r5,lr} + adds r5, r0, 0 + lsls r5, 24 + lsrs r5, 24 + ldr r0, _0810C5A0 @ =gWindowConfig_81E6E50 + bl BasicInitMenuWindow + bl sub_8072DEC + movs r0, 0x7 + movs r1, 0x4 + movs r2, 0xD + movs r3, 0xB + bl MenuZeroFillWindowRect + ldr r0, _0810C5A4 @ =gStringVar1 + ldr r4, _0810C5A8 @ =gPokeblockNames + ldr r3, _0810C5AC @ =gSaveBlock1 + ldr r2, _0810C5B0 @ =gUnknown_02039248 + ldrb r1, [r2] + ldrb r2, [r2, 0x1] + adds r1, r2 + lsls r1, 3 + adds r1, r3 + movs r2, 0xFF + lsls r2, 3 + adds r1, r2 + ldrb r1, [r1] + lsls r1, 2 + adds r1, r4 + ldr r1, [r1] + bl StringCopy + ldr r4, _0810C5B4 @ =gStringVar4 + ldr r1, _0810C5B8 @ =gContestStatsText_ThrowAwayPrompt + adds r0, r4, 0 + bl StringExpandPlaceholders + ldr r2, _0810C5BC @ =sub_810C5EC + adds r0, r5, 0 + adds r1, r4, 0 + movs r3, 0 + bl DisplayItemMessageOnField + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0810C5A0: .4byte gWindowConfig_81E6E50 +_0810C5A4: .4byte gStringVar1 +_0810C5A8: .4byte gPokeblockNames +_0810C5AC: .4byte gSaveBlock1 +_0810C5B0: .4byte gUnknown_02039248 +_0810C5B4: .4byte gStringVar4 +_0810C5B8: .4byte gContestStatsText_ThrowAwayPrompt +_0810C5BC: .4byte sub_810C5EC + thumb_func_end sub_810C540 + + thumb_func_start sub_810C5C0 +sub_810C5C0: @ 810C5C0 + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + movs r0, 0x1 + movs r1, 0x1 + bl sub_80F979C + ldr r1, _0810C5E4 @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + ldr r1, _0810C5E8 @ =sub_810C540 + str r1, [r0] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0810C5E4: .4byte gTasks +_0810C5E8: .4byte sub_810C540 + thumb_func_end sub_810C5C0 + + thumb_func_start sub_810C5EC +sub_810C5EC: @ 810C5EC + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + movs r0, 0x7 + movs r1, 0x6 + movs r2, 0x1 + bl DisplayYesNoMenu + ldr r1, _0810C60C @ =gUnknown_083F7F24 + adds r0, r4, 0 + bl sub_80F914C + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0810C60C: .4byte gUnknown_083F7F24 + thumb_func_end sub_810C5EC + + thumb_func_start sub_810C610 +sub_810C610: @ 810C610 + push {r4,r5,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + movs r0, 0x7 + movs r1, 0x6 + movs r2, 0xD + movs r3, 0xB + bl MenuZeroFillWindowRect + ldr r1, _0810C658 @ =gUnknown_02039248 + ldrb r0, [r1, 0x1] + ldrb r1, [r1] + adds r0, r1 + lsls r0, 24 + lsrs r0, 24 + bl sub_810CA6C + ldr r5, _0810C65C @ =gStringVar4 + ldr r1, _0810C660 @ =gContestStatsText_WasThrownAway + adds r0, r5, 0 + bl StringExpandPlaceholders + ldr r2, _0810C664 @ =sub_810C704 + adds r0, r4, 0 + adds r1, r5, 0 + movs r3, 0 + bl DisplayItemMessageOnField + bl sub_810BC98 + bl sub_810BD08 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0810C658: .4byte gUnknown_02039248 +_0810C65C: .4byte gStringVar4 +_0810C660: .4byte gContestStatsText_WasThrownAway +_0810C664: .4byte sub_810C704 + thumb_func_end sub_810C610 + + thumb_func_start sub_810C668 +sub_810C668: @ 810C668 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + movs r0, 0 + bl sub_80F98DC + movs r0, 0x1 + bl sub_80F98DC + ldr r2, _0810C6CC @ =gUnknown_02039248 + ldrb r0, [r2, 0x2] + ldrb r1, [r2, 0x3] + cmp r0, r1 + bls _0810C698 + ldrb r0, [r2, 0x1] + ldrb r1, [r2, 0x3] + adds r0, r1 + ldrb r2, [r2, 0x2] + cmp r0, r2 + beq _0810C698 + movs r0, 0x1 + movs r1, 0 + bl sub_80F979C +_0810C698: + ldr r0, _0810C6D0 @ =gWindowConfig_81E6E50 + bl BasicInitMenuWindow + movs r0, 0x7 + movs r1, 0x6 + movs r2, 0xD + movs r3, 0xB + bl MenuZeroFillWindowRect + movs r0, 0 + movs r1, 0xE + movs r2, 0x1D + movs r3, 0x13 + bl MenuZeroFillWindowRect + ldr r1, _0810C6D4 @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + ldr r1, _0810C6D8 @ =sub_810BF7C + str r1, [r0] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0810C6CC: .4byte gUnknown_02039248 +_0810C6D0: .4byte gWindowConfig_81E6E50 +_0810C6D4: .4byte gTasks +_0810C6D8: .4byte sub_810BF7C + thumb_func_end sub_810C668 + + thumb_func_start sub_810C6DC +sub_810C6DC: @ 810C6DC + push {lr} + lsls r0, 24 + lsrs r2, r0, 24 + ldr r0, _0810C700 @ =gMain + ldrh r1, [r0, 0x2E] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + bne _0810C6F6 + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _0810C6FC +_0810C6F6: + adds r0, r2, 0 + bl sub_810C668 +_0810C6FC: + pop {r0} + bx r0 + .align 2, 0 +_0810C700: .4byte gMain + thumb_func_end sub_810C6DC + + thumb_func_start sub_810C704 +sub_810C704: @ 810C704 + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldr r0, _0810C738 @ =gWindowConfig_81E6E34 + bl BasicInitMenuWindow + ldr r0, _0810C73C @ =gUnknown_02039248 + ldrb r0, [r0, 0x1] + bl sub_810BC84 + movs r0, 0x1 + movs r1, 0x1 + bl sub_80F979C + ldr r1, _0810C740 @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + ldr r1, _0810C744 @ =sub_810C6DC + str r1, [r0] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0810C738: .4byte gWindowConfig_81E6E34 +_0810C73C: .4byte gUnknown_02039248 +_0810C740: .4byte gTasks +_0810C744: .4byte sub_810C6DC + thumb_func_end sub_810C704 + + thumb_func_start sub_810C748 +sub_810C748: @ 810C748 + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + movs r0, 0 + bl sub_80F98DC + movs r0, 0x1 + bl sub_80F98DC + bl sub_8072DEC + movs r0, 0x7 + movs r1, 0x4 + movs r2, 0xD + movs r3, 0xB + bl MenuZeroFillWindowRect + ldr r1, _0810C780 @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + ldr r1, _0810C784 @ =sub_810BF7C + str r1, [r0] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0810C780: .4byte gTasks +_0810C784: .4byte sub_810BF7C + thumb_func_end sub_810C748 + + thumb_func_start sub_810C788 +sub_810C788: @ 810C788 + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x4 + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + ldr r0, _0810C834 @ =gEnemyParty + bl GetNature + lsls r0, 24 + lsrs r0, 24 + ldr r7, _0810C838 @ =gScriptItemId + ldrh r1, [r7] + lsls r1, 3 + ldr r5, _0810C83C @ =gSaveBlock1 + 0x7F8 + adds r1, r5 + bl sub_810CAE4 + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + ldr r0, _0810C840 @ =gUnknown_030041C0 + ldr r2, _0810C844 @ =gPokeblockNames + ldr r1, _0810C848 @ =0xfffff808 + adds r5, r1 + ldrh r1, [r7] + lsls r1, 3 + adds r1, r5 + movs r6, 0xFF + lsls r6, 3 + adds r1, r6 + ldrb r1, [r1] + lsls r1, 2 + adds r1, r2 + ldr r1, [r1] + bl StringCopy + ldrb r0, [r7] + bl sub_810CA6C + ldrh r0, [r7] + lsls r0, 3 + adds r0, r5 + adds r0, r6 + ldrb r0, [r0] + lsls r0, 8 + strh r0, [r7] + lsls r4, 16 + asrs r4, 16 + cmp r4, 0 + bne _0810C7F4 + adds r0, 0x1 + strh r0, [r7] +_0810C7F4: + cmp r4, 0 + ble _0810C7FE + ldrh r0, [r7] + adds r0, 0x2 + strh r0, [r7] +_0810C7FE: + cmp r4, 0 + bge _0810C808 + ldrh r0, [r7] + adds r0, 0x3 + strh r0, [r7] +_0810C808: + movs r0, 0x1 + negs r0, r0 + movs r1, 0 + str r1, [sp] + movs r2, 0 + movs r3, 0x10 + bl BeginNormalPaletteFade + ldr r1, _0810C84C @ =gTasks + mov r2, r8 + lsls r0, r2, 2 + add r0, r8 + lsls r0, 3 + adds r0, r1 + ldr r1, _0810C850 @ =sub_810C2C8 + str r1, [r0] + add sp, 0x4 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0810C834: .4byte gEnemyParty +_0810C838: .4byte gScriptItemId +_0810C83C: .4byte gSaveBlock1 + 0x7F8 +_0810C840: .4byte gUnknown_030041C0 +_0810C844: .4byte gPokeblockNames +_0810C848: .4byte 0xfffff808 +_0810C84C: .4byte gTasks +_0810C850: .4byte sub_810C2C8 + thumb_func_end sub_810C788 + + thumb_func_start sub_810C854 +sub_810C854: @ 810C854 + push {r4,r5,lr} + sub sp, 0x4 + adds r5, r0, 0 + lsls r5, 24 + lsrs r5, 24 + ldr r4, _0810C8B8 @ =gScriptItemId + ldrb r0, [r4] + bl SafariZoneActivatePokeblockFeeder + ldr r0, _0810C8BC @ =gStringVar1 + ldr r3, _0810C8C0 @ =gPokeblockNames + ldr r2, _0810C8C4 @ =gSaveBlock1 + ldrh r1, [r4] + lsls r1, 3 + adds r1, r2 + movs r2, 0xFF + lsls r2, 3 + adds r1, r2 + ldrb r1, [r1] + lsls r1, 2 + adds r1, r3 + ldr r1, [r1] + bl StringCopy + ldr r1, _0810C8C8 @ =gScriptResult + ldrh r0, [r4] + strh r0, [r1] + lsls r0, 24 + lsrs r0, 24 + bl sub_810CA6C + movs r0, 0x1 + negs r0, r0 + movs r1, 0 + str r1, [sp] + movs r2, 0 + movs r3, 0x10 + bl BeginNormalPaletteFade + ldr r1, _0810C8CC @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r0, r1 + ldr r1, _0810C8D0 @ =sub_810C2C8 + str r1, [r0] + add sp, 0x4 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0810C8B8: .4byte gScriptItemId +_0810C8BC: .4byte gStringVar1 +_0810C8C0: .4byte gPokeblockNames +_0810C8C4: .4byte gSaveBlock1 +_0810C8C8: .4byte gScriptResult +_0810C8CC: .4byte gTasks +_0810C8D0: .4byte sub_810C2C8 + thumb_func_end sub_810C854 + + thumb_func_start sub_810C8D4 +sub_810C8D4: @ 810C8D4 + push {r4,r5,lr} + adds r4, r0, 0 + movs r1, 0x2E + ldrsh r0, [r4, r1] + cmp r0, 0x1 + ble _0810C8E4 + movs r0, 0 + strh r0, [r4, 0x2E] +_0810C8E4: + movs r0, 0x2E + ldrsh r5, [r4, r0] + cmp r5, 0 + beq _0810C8F2 + cmp r5, 0x1 + beq _0810C918 + b _0810C944 +_0810C8F2: + ldrb r1, [r4, 0x1] + movs r0, 0x4 + negs r0, r0 + ands r0, r1 + movs r1, 0x1 + orrs r0, r1 + strb r0, [r4, 0x1] + ldr r0, _0810C914 @ =gUnknown_083F7F70 + str r0, [r4, 0x10] + adds r0, r4, 0 + bl InitSpriteAffineAnim + movs r0, 0x1 + strh r0, [r4, 0x2E] + strh r5, [r4, 0x30] + b _0810C944 + .align 2, 0 +_0810C914: .4byte gUnknown_083F7F70 +_0810C918: + ldrh r0, [r4, 0x30] + adds r0, 0x1 + movs r2, 0 + strh r0, [r4, 0x30] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0xB + ble _0810C944 + ldrb r1, [r4, 0x1] + movs r0, 0x4 + negs r0, r0 + ands r0, r1 + strb r0, [r4, 0x1] + strh r2, [r4, 0x2E] + strh r2, [r4, 0x30] + ldrb r0, [r4, 0x3] + lsls r0, 26 + lsrs r0, 27 + bl FreeOamMatrix + ldr r0, _0810C94C @ =SpriteCallbackDummy + str r0, [r4, 0x1C] +_0810C944: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0810C94C: .4byte SpriteCallbackDummy + thumb_func_end sub_810C8D4 + + thumb_func_start sub_810C950 +sub_810C950: @ 810C950 + lsls r0, 24 + ldr r1, _0810C988 @ =gSaveBlock1 + lsrs r0, 21 + adds r0, r1 + movs r2, 0xFF + lsls r2, 3 + adds r1, r0, r2 + movs r2, 0 + strb r2, [r1] + ldr r3, _0810C98C @ =0x000007f9 + adds r1, r0, r3 + strb r2, [r1] + adds r3, 0x1 + adds r1, r0, r3 + strb r2, [r1] + adds r3, 0x1 + adds r1, r0, r3 + strb r2, [r1] + adds r3, 0x1 + adds r1, r0, r3 + strb r2, [r1] + adds r3, 0x1 + adds r1, r0, r3 + strb r2, [r1] + ldr r1, _0810C990 @ =0x000007fe + adds r0, r1 + strb r2, [r0] + bx lr + .align 2, 0 +_0810C988: .4byte gSaveBlock1 +_0810C98C: .4byte 0x000007f9 +_0810C990: .4byte 0x000007fe + thumb_func_end sub_810C950 + + thumb_func_start sub_810C994 +sub_810C994: @ 810C994 + push {r4,lr} + movs r4, 0 +_0810C998: + adds r0, r4, 0 + bl sub_810C950 + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0x27 + bls _0810C998 + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_810C994 + + thumb_func_start sub_810C9B0 +sub_810C9B0: @ 810C9B0 + push {r4-r6,lr} + adds r6, r0, 0 + movs r1, 0x1 + bl sub_810CA9C + lsls r0, 24 + lsrs r5, r0, 24 + movs r1, 0x1 +_0810C9C0: + adds r0, r1, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + adds r0, r6, 0 + adds r1, r4, 0 + bl sub_810CA9C + lsls r0, 24 + lsrs r0, 24 + cmp r5, r0 + bcs _0810C9D8 + adds r5, r0, 0 +_0810C9D8: + adds r1, r4, 0 + cmp r1, 0x4 + bls _0810C9C0 + adds r0, r5, 0 + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_810C9B0 + + thumb_func_start sub_810C9E8 +sub_810C9E8: @ 810C9E8 + push {lr} + movs r1, 0x6 + bl sub_810CA9C + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x63 + bls _0810C9FA + movs r0, 0x63 +_0810C9FA: + pop {r1} + bx r1 + thumb_func_end sub_810C9E8 + + thumb_func_start sub_810CA00 +sub_810CA00: @ 810CA00 + push {lr} + movs r1, 0 + ldr r3, _0810CA1C @ =gSaveBlock1 + movs r2, 0xFF + lsls r2, 3 +_0810CA0A: + lsls r0, r1, 3 + adds r0, r3 + adds r0, r2 + ldrb r0, [r0] + cmp r0, 0 + bne _0810CA20 + lsls r0, r1, 24 + asrs r0, 24 + b _0810CA2E + .align 2, 0 +_0810CA1C: .4byte gSaveBlock1 +_0810CA20: + adds r0, r1, 0x1 + lsls r0, 24 + lsrs r1, r0, 24 + cmp r1, 0x27 + bls _0810CA0A + movs r0, 0x1 + negs r0, r0 +_0810CA2E: + pop {r1} + bx r1 + thumb_func_end sub_810CA00 + + thumb_func_start sub_810CA34 +sub_810CA34: @ 810CA34 + push {r4,lr} + adds r4, r0, 0 + bl sub_810CA00 + lsls r0, 24 + asrs r2, r0, 24 + movs r0, 0x1 + negs r0, r0 + cmp r2, r0 + beq _0810CA64 + ldr r0, _0810CA60 @ =gSaveBlock1 + lsls r2, 3 + movs r1, 0xFF + lsls r1, 3 + adds r0, r1 + adds r2, r0 + ldr r0, [r4] + ldr r1, [r4, 0x4] + str r0, [r2] + str r1, [r2, 0x4] + movs r0, 0x1 + b _0810CA66 + .align 2, 0 +_0810CA60: .4byte gSaveBlock1 +_0810CA64: + movs r0, 0 +_0810CA66: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_810CA34 + + thumb_func_start sub_810CA6C +sub_810CA6C: @ 810CA6C + push {lr} + lsls r0, 24 + lsrs r2, r0, 24 + ldr r1, _0810CA90 @ =gSaveBlock1 + lsls r0, r2, 3 + adds r0, r1 + movs r1, 0xFF + lsls r1, 3 + adds r0, r1 + ldrb r0, [r0] + cmp r0, 0 + beq _0810CA94 + adds r0, r2, 0 + bl sub_810C950 + movs r0, 0x1 + b _0810CA96 + .align 2, 0 +_0810CA90: .4byte gSaveBlock1 +_0810CA94: + movs r0, 0 +_0810CA96: + pop {r1} + bx r1 + thumb_func_end sub_810CA6C + + thumb_func_start sub_810CA9C +sub_810CA9C: @ 810CA9C + push {lr} + lsls r1, 24 + lsrs r1, 24 + adds r2, r1, 0 + cmp r1, 0 + bne _0810CAAC + ldrb r0, [r0] + b _0810CADE +_0810CAAC: + cmp r1, 0x1 + bne _0810CAB4 + ldrb r0, [r0, 0x1] + b _0810CADE +_0810CAB4: + cmp r1, 0x2 + bne _0810CABC + ldrb r0, [r0, 0x2] + b _0810CADE +_0810CABC: + cmp r1, 0x3 + bne _0810CAC4 + ldrb r0, [r0, 0x3] + b _0810CADE +_0810CAC4: + cmp r1, 0x4 + bne _0810CACC + ldrb r0, [r0, 0x4] + b _0810CADE +_0810CACC: + cmp r1, 0x5 + bne _0810CAD4 + ldrb r0, [r0, 0x5] + b _0810CADE +_0810CAD4: + cmp r2, 0x6 + beq _0810CADC + movs r0, 0 + b _0810CADE +_0810CADC: + ldrb r0, [r0, 0x6] +_0810CADE: + pop {r1} + bx r1 + thumb_func_end sub_810CA9C + + thumb_func_start sub_810CAE4 +sub_810CAE4: @ 810CAE4 + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + mov r8, r1 + lsls r0, 24 + lsrs r0, 24 + movs r6, 0 + movs r4, 0 + ldr r1, _0810CB40 @ =gUnknown_083F7E28 + mov r9, r1 + lsls r1, r0, 2 + adds r7, r1, r0 +_0810CAFE: + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r5, r0, 24 + mov r0, r8 + adds r1, r5, 0 + bl sub_810CA9C + lsls r0, 16 + asrs r1, r0, 16 + cmp r1, 0 + ble _0810CB2A + adds r0, r7, r4 + add r0, r9 + ldrb r0, [r0] + lsls r0, 24 + asrs r0, 24 + muls r1, r0 + lsls r0, r6, 16 + asrs r0, 16 + adds r0, r1 + lsls r0, 16 + lsrs r6, r0, 16 +_0810CB2A: + adds r4, r5, 0 + cmp r4, 0x4 + bls _0810CAFE + lsls r0, r6, 16 + asrs r0, 16 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_0810CB40: .4byte gUnknown_083F7E28 + thumb_func_end sub_810CAE4 + + thumb_func_start sub_810CB44 +sub_810CB44: @ 810CB44 + push {r4,lr} + adds r4, r1, 0 + movs r1, 0 + bl sub_810CA9C + lsls r0, 24 + ldr r1, _0810CB64 @ =gPokeblockNames + lsrs r0, 22 + adds r0, r1 + ldr r1, [r0] + adds r0, r4, 0 + bl StringCopy + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0810CB64: .4byte gPokeblockNames + thumb_func_end sub_810CB44 + + thumb_func_start sub_810CB68 +sub_810CB68: @ 810CB68 + push {r4-r7,lr} + adds r6, r1, 0 + lsls r0, 24 + lsrs r5, r0, 24 + movs r4, 0 + ldr r7, _0810CB98 @ =gPokeblockNames +_0810CB74: + lsls r1, r4, 3 + ldr r0, _0810CB9C @ =gUnknown_083F7F9C + adds r1, r0 + adds r0, r5, 0 + bl sub_810CAE4 + lsls r0, 16 + cmp r0, 0 + ble _0810CBA0 + adds r0, r4, 0x1 + lsls r0, 2 + adds r0, r7 + ldr r1, [r0] + adds r0, r6, 0 + bl StringCopy + movs r0, 0x1 + b _0810CBAC + .align 2, 0 +_0810CB98: .4byte gPokeblockNames +_0810CB9C: .4byte gUnknown_083F7F9C +_0810CBA0: + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0x4 + bls _0810CB74 + movs r0, 0 +_0810CBAC: + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_810CB68 + + .align 2, 0 @ Don't pad with nop. diff --git a/asm/pokeblock_feed.s b/asm/pokeblock_feed.s new file mode 100644 index 000000000..fafc452a3 --- /dev/null +++ b/asm/pokeblock_feed.s @@ -0,0 +1,1836 @@ + .include "constants/gba_constants.inc" + .include "constants/species_constants.inc" + .include "asm/macros.inc" + + .syntax unified + + .text + + thumb_func_start sub_8147890 +sub_8147890: @ 8147890 + push {lr} + bl AnimateSprites + bl BuildOamBuffer + bl RunTasks + bl UpdatePaletteFade + pop {r0} + bx r0 + thumb_func_end sub_8147890 + + thumb_func_start sub_81478A8 +sub_81478A8: @ 81478A8 + push {lr} + bl LoadOam + bl ProcessSpriteCopyRequests + bl TransferPlttBuffer + pop {r0} + bx r0 + thumb_func_end sub_81478A8 + + thumb_func_start sub_81478BC +sub_81478BC: @ 81478BC + push {r4,lr} + sub sp, 0x4 + ldr r0, _081478D8 @ =gMain + ldr r1, _081478DC @ =0x0000043c + adds r0, r1 + ldrb r0, [r0] + cmp r0, 0xD + bls _081478CE + b _08147AD0 +_081478CE: + lsls r0, 2 + ldr r1, _081478E0 @ =_081478E4 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_081478D8: .4byte gMain +_081478DC: .4byte 0x0000043c +_081478E0: .4byte _081478E4 + .align 2, 0 +_081478E4: + .4byte _0814791C + .4byte _08147938 + .4byte _0814794C + .4byte _08147960 + .4byte _08147966 + .4byte _08147980 + .4byte _0814798C + .4byte _081479B8 + .4byte _081479DC + .4byte _081479F4 + .4byte _08147A20 + .4byte _08147A3C + .4byte _08147A5C + .4byte _08147A8C +_0814791C: + bl sub_80F9438 + bl sub_80F9368 + bl sub_8147B04 + ldr r1, _08147930 @ =gMain + ldr r2, _08147934 @ =0x0000043c + adds r1, r2 + b _08147A4A + .align 2, 0 +_08147930: .4byte gMain +_08147934: .4byte 0x0000043c +_08147938: + bl ResetPaletteFade + ldr r2, _08147948 @ =gPaletteFade + ldrb r0, [r2, 0x8] + movs r1, 0x80 + orrs r0, r1 + strb r0, [r2, 0x8] + b _08147A44 + .align 2, 0 +_08147948: .4byte gPaletteFade +_0814794C: + bl ResetSpriteData + ldr r1, _08147958 @ =gMain + ldr r2, _0814795C @ =0x0000043c + adds r1, r2 + b _08147A4A + .align 2, 0 +_08147958: .4byte gMain +_0814795C: .4byte 0x0000043c +_08147960: + bl FreeAllSpritePalettes + b _08147A44 +_08147966: + ldr r0, _08147974 @ =gWindowConfig_81E6E50 + bl SetUpWindowConfig + ldr r1, _08147978 @ =gMain + ldr r2, _0814797C @ =0x0000043c + adds r1, r2 + b _08147A4A + .align 2, 0 +_08147974: .4byte gWindowConfig_81E6E50 +_08147978: .4byte gMain +_0814797C: .4byte 0x0000043c +_08147980: + ldr r0, _08147988 @ =gWindowConfig_81E6E50 + bl MultistepInitMenuWindowBegin + b _08147A44 + .align 2, 0 +_08147988: .4byte gWindowConfig_81E6E50 +_0814798C: + bl MultistepInitMenuWindowContinue + cmp r0, 0 + bne _08147996 + b _08147AD0 +_08147996: + ldr r0, _081479A8 @ =0x02000000 + ldr r1, _081479AC @ =0x0001ffff + adds r0, r1 + movs r1, 0 + strb r1, [r0] + ldr r1, _081479B0 @ =gMain + ldr r2, _081479B4 @ =0x0000043c + adds r1, r2 + b _08147A4A + .align 2, 0 +_081479A8: .4byte 0x02000000 +_081479AC: .4byte 0x0001ffff +_081479B0: .4byte gMain +_081479B4: .4byte 0x0000043c +_081479B8: + ldr r0, _081479D4 @ =gUnknown_02039310 + ldrb r1, [r0] + movs r0, 0x64 + muls r0, r1 + ldr r1, _081479D8 @ =gPlayerParty + adds r0, r1 + bl sub_8147B20 + lsls r0, 24 + cmp r0, 0 + bne _081479D0 + b _08147AD0 +_081479D0: + b _08147A44 + .align 2, 0 +_081479D4: .4byte gUnknown_02039310 +_081479D8: .4byte gPlayerParty +_081479DC: + bl sub_81480B4 + ldr r1, _081479EC @ =0x02000000 + ldr r2, _081479F0 @ =0x0001fffd + adds r1, r2 + strb r0, [r1] + b _08147A44 + .align 2, 0 +_081479EC: .4byte 0x02000000 +_081479F0: .4byte 0x0001fffd +_081479F4: + ldr r0, _08147A10 @ =gUnknown_02039310 + ldrb r1, [r0] + movs r0, 0x64 + muls r0, r1 + ldr r1, _08147A14 @ =gPlayerParty + adds r0, r1 + bl sub_8147F84 + ldr r1, _08147A18 @ =0x02000000 + ldr r2, _08147A1C @ =0x0001fffe + adds r1, r2 + strb r0, [r1] + b _08147A44 + .align 2, 0 +_08147A10: .4byte gUnknown_02039310 +_08147A14: .4byte gPlayerParty +_08147A18: .4byte 0x02000000 +_08147A1C: .4byte 0x0001fffe +_08147A20: + movs r0, 0 + movs r1, 0xE + movs r2, 0x1D + movs r3, 0x13 + bl MenuDrawTextWindow + ldr r1, _08147A34 @ =gMain + ldr r2, _08147A38 @ =0x0000043c + adds r1, r2 + b _08147A4A + .align 2, 0 +_08147A34: .4byte gMain +_08147A38: .4byte 0x0000043c +_08147A3C: + bl sub_8055870 + cmp r0, 0x1 + beq _08147AD0 +_08147A44: + ldr r1, _08147A54 @ =gMain + ldr r0, _08147A58 @ =0x0000043c + adds r1, r0 +_08147A4A: + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] + b _08147AD0 + .align 2, 0 +_08147A54: .4byte gMain +_08147A58: .4byte 0x0000043c +_08147A5C: + ldr r3, _08147AB0 @ =0x04000208 + ldrh r2, [r3] + movs r0, 0 + strh r0, [r3] + ldr r4, _08147AB4 @ =0x04000200 + ldrh r0, [r4] + movs r1, 0x1 + orrs r0, r1 + strh r0, [r4] + strh r2, [r3] + ldr r2, _08147AB8 @ =REG_DISPSTAT + ldrh r0, [r2] + movs r1, 0x8 + orrs r0, r1 + strh r0, [r2] + ldr r0, _08147ABC @ =sub_81478A8 + bl SetVBlankCallback + ldr r1, _08147AC0 @ =gMain + ldr r2, _08147AC4 @ =0x0000043c + adds r1, r2 + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] +_08147A8C: + movs r0, 0x1 + negs r0, r0 + movs r1, 0 + str r1, [sp] + movs r2, 0x10 + movs r3, 0 + bl BeginNormalPaletteFade + ldr r2, _08147AC8 @ =gPaletteFade + ldrb r1, [r2, 0x8] + movs r0, 0x7F + ands r0, r1 + strb r0, [r2, 0x8] + ldr r0, _08147ACC @ =sub_8147890 + bl SetMainCallback2 + movs r0, 0x1 + b _08147AD2 + .align 2, 0 +_08147AB0: .4byte 0x04000208 +_08147AB4: .4byte 0x04000200 +_08147AB8: .4byte REG_DISPSTAT +_08147ABC: .4byte sub_81478A8 +_08147AC0: .4byte gMain +_08147AC4: .4byte 0x0000043c +_08147AC8: .4byte gPaletteFade +_08147ACC: .4byte sub_8147890 +_08147AD0: + movs r0, 0 +_08147AD2: + add sp, 0x4 + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81478BC + + thumb_func_start sub_8147ADC +sub_8147ADC: @ 8147ADC + push {lr} +_08147ADE: + bl sub_81478BC + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _08147AF2 + movs r0, 0x1 + bl sub_8147DDC + b _08147AFE +_08147AF2: + bl sub_80F9344 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _08147ADE +_08147AFE: + pop {r0} + bx r0 + thumb_func_end sub_8147ADC + + thumb_func_start sub_8147B04 +sub_8147B04: @ 8147B04 + ldr r1, _08147B18 @ =REG_BG1CNT + ldr r2, _08147B1C @ =0x00001d02 + adds r0, r2, 0 + strh r0, [r1] + subs r1, 0xA + movs r2, 0x9A + lsls r2, 5 + adds r0, r2, 0 + strh r0, [r1] + bx lr + .align 2, 0 +_08147B18: .4byte REG_BG1CNT +_08147B1C: .4byte 0x00001d02 + thumb_func_end sub_8147B04 + + thumb_func_start sub_8147B20 +sub_8147B20: @ 8147B20 + push {r4-r6,lr} + sub sp, 0xC + adds r4, r0, 0 + ldr r0, _08147B40 @ =0x02000000 + ldr r1, _08147B44 @ =0x0001ffff + adds r0, r1 + ldrb r0, [r0] + cmp r0, 0x8 + bls _08147B34 + b _08147C84 +_08147B34: + lsls r0, 2 + ldr r1, _08147B48 @ =_08147B4C + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08147B40: .4byte 0x02000000 +_08147B44: .4byte 0x0001ffff +_08147B48: .4byte _08147B4C + .align 2, 0 +_08147B4C: + .4byte _08147B70 + .4byte _08147BB8 + .4byte _08147BF0 + .4byte _08147BFC + .4byte _08147C08 + .4byte _08147C14 + .4byte _08147C2C + .4byte _08147C38 + .4byte _08147C60 +_08147B70: + adds r0, r4, 0 + movs r1, 0x41 + bl GetMonData + lsls r0, 16 + lsrs r5, r0, 16 + adds r0, r4, 0 + movs r1, 0 + bl GetMonData + adds r6, r0, 0 + lsls r0, r5, 3 + ldr r1, _08147BAC @ =gMonFrontPicTable + adds r0, r1 + ldr r1, _08147BB0 @ =gMonFrontPicCoords + lsls r2, r5, 2 + adds r2, r1 + ldrb r1, [r2] + ldrb r2, [r2, 0x1] + movs r3, 0x80 + lsls r3, 18 + ldr r4, _08147BB4 @ =gUnknown_081FAF4C + ldr r4, [r4, 0x4] + str r4, [sp] + str r5, [sp, 0x4] + str r6, [sp, 0x8] + bl sub_800D334 + b _08147C40 + .align 2, 0 +_08147BAC: .4byte gMonFrontPicTable +_08147BB0: .4byte gMonFrontPicCoords +_08147BB4: .4byte gUnknown_081FAF4C +_08147BB8: + adds r0, r4, 0 + movs r1, 0x41 + bl GetMonData + lsls r0, 16 + lsrs r5, r0, 16 + adds r0, r4, 0 + movs r1, 0 + bl GetMonData + adds r6, r0, 0 + adds r0, r4, 0 + movs r1, 0x1 + bl GetMonData + adds r1, r0, 0 + adds r0, r5, 0 + adds r2, r6, 0 + bl sub_80409C8 + adds r4, r0, 0 + bl LoadCompressedObjectPalette + ldrh r0, [r4, 0x4] + movs r1, 0x1 + bl GetMonSpriteTemplate_803C56C + b _08147C40 +_08147BF0: + ldr r0, _08147BF8 @ =gUnknown_083F7F74 + bl LoadCompressedObjectPic + b _08147C40 + .align 2, 0 +_08147BF8: .4byte gUnknown_083F7F74 +_08147BFC: + ldr r0, _08147C04 @ =gUnknown_083F7F7C + bl LoadCompressedObjectPalette + b _08147C40 + .align 2, 0 +_08147C04: .4byte gUnknown_083F7F7C +_08147C08: + ldr r0, _08147C10 @ =gUnknown_084121DC + bl LoadCompressedObjectPic + b _08147C40 + .align 2, 0 +_08147C10: .4byte gUnknown_084121DC +_08147C14: + ldr r0, _08147C24 @ =gScriptItemId + ldrb r0, [r0] + bl sub_8147C90 + ldr r0, _08147C28 @ =gUnknown_02039350 + bl LoadCompressedObjectPalette + b _08147C40 + .align 2, 0 +_08147C24: .4byte gScriptItemId +_08147C28: .4byte gUnknown_02039350 +_08147C2C: + ldr r0, _08147C34 @ =gBattleTerrainTiles_Building + movs r1, 0xC0 + lsls r1, 19 + b _08147C3C + .align 2, 0 +_08147C34: .4byte gBattleTerrainTiles_Building +_08147C38: + ldr r0, _08147C50 @ =gUnknown_08E782FC + ldr r1, _08147C54 @ =0x0600e800 +_08147C3C: + bl LZDecompressVram +_08147C40: + ldr r1, _08147C58 @ =0x02000000 + ldr r0, _08147C5C @ =0x0001ffff + adds r1, r0 + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] + b _08147C84 + .align 2, 0 +_08147C50: .4byte gUnknown_08E782FC +_08147C54: .4byte 0x0600e800 +_08147C58: .4byte 0x02000000 +_08147C5C: .4byte 0x0001ffff +_08147C60: + ldr r0, _08147C78 @ =gBattleTerrainPalette_BattleTower + movs r1, 0x20 + movs r2, 0x60 + bl LoadCompressedPalette + ldr r0, _08147C7C @ =0x02000000 + ldr r1, _08147C80 @ =0x0001ffff + adds r0, r1 + movs r1, 0 + strb r1, [r0] + movs r0, 0x1 + b _08147C86 + .align 2, 0 +_08147C78: .4byte gBattleTerrainPalette_BattleTower +_08147C7C: .4byte 0x02000000 +_08147C80: .4byte 0x0001ffff +_08147C84: + movs r0, 0 +_08147C86: + add sp, 0xC + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_8147B20 + + thumb_func_start sub_8147C90 +sub_8147C90: @ 8147C90 + push {lr} + lsls r0, 24 + lsrs r0, 21 + ldr r1, _08147CB8 @ =gSaveBlock1 + 0x7F8 + adds r0, r1 + movs r1, 0 + bl sub_810CA9C + lsls r0, 24 + ldr r2, _08147CBC @ =gUnknown_02039350 + ldr r1, _08147CC0 @ =gUnknown_084120A4 + lsrs r0, 22 + subs r0, 0x4 + adds r0, r1 + ldr r0, [r0] + str r0, [r2] + ldr r0, _08147CC4 @ =0x000039e2 + strh r0, [r2, 0x4] + pop {r0} + bx r0 + .align 2, 0 +_08147CB8: .4byte gSaveBlock1 + 0x7F8 +_08147CBC: .4byte gUnknown_02039350 +_08147CC0: .4byte gUnknown_084120A4 +_08147CC4: .4byte 0x000039e2 + thumb_func_end sub_8147C90 + + thumb_func_start sub_8147CC8 +sub_8147CC8: @ 8147CC8 + push {r4,r5,lr} + lsls r0, 24 + lsrs r4, r0, 24 + ldr r0, _08147D00 @ =gPaletteFade + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + beq _08147CDC + b _08147DCE +_08147CDC: + ldr r0, _08147D04 @ =gTasks + lsls r2, r4, 2 + adds r1, r2, r4 + lsls r1, 3 + adds r1, r0 + movs r0, 0x8 + ldrsh r3, [r1, r0] + ldr r0, _08147D08 @ =0x0000010d + adds r5, r2, 0 + cmp r3, r0 + beq _08147D50 + cmp r3, r0 + bgt _08147D0C + cmp r3, 0 + beq _08147D20 + cmp r3, 0xFF + beq _08147D38 + b _08147D8C + .align 2, 0 +_08147D00: .4byte gPaletteFade +_08147D04: .4byte gTasks +_08147D08: .4byte 0x0000010d +_08147D0C: + ldr r0, _08147D1C @ =0x00000119 + cmp r3, r0 + beq _08147D68 + adds r0, 0x10 + cmp r3, r0 + beq _08147D80 + b _08147D8C + .align 2, 0 +_08147D1C: .4byte 0x00000119 +_08147D20: + ldr r0, _08147D30 @ =gUnknown_03005F3C + strb r3, [r0] + ldr r0, _08147D34 @ =gUnknown_03005F94 + strh r3, [r0] + bl sub_81481DC + b _08147D8C + .align 2, 0 +_08147D30: .4byte gUnknown_03005F3C +_08147D34: .4byte gUnknown_03005F94 +_08147D38: + ldr r0, _08147D48 @ =0x02000000 + ldr r2, _08147D4C @ =0x0001fffd + adds r0, r2 + ldrb r0, [r0] + ldrb r1, [r1, 0xA] + bl sub_8148108 + b _08147D8C + .align 2, 0 +_08147D48: .4byte 0x02000000 +_08147D4C: .4byte 0x0001fffd +_08147D50: + bl sub_814817C + ldr r1, _08147D60 @ =0x02000000 + ldr r2, _08147D64 @ =0x0001fffc + adds r1, r2 + strb r0, [r1] + b _08147D8C + .align 2, 0 +_08147D60: .4byte 0x02000000 +_08147D64: .4byte 0x0001fffc +_08147D68: + ldr r0, _08147D78 @ =0x02000000 + ldr r1, _08147D7C @ =0x0001fffe + adds r0, r1 + ldrb r0, [r0] + bl sub_8148044 + b _08147D8C + .align 2, 0 +_08147D78: .4byte 0x02000000 +_08147D7C: .4byte 0x0001fffe +_08147D80: + ldr r0, _08147D88 @ =sub_8147E40 + str r0, [r1] + b _08147DCE + .align 2, 0 +_08147D88: .4byte sub_8147E40 +_08147D8C: + ldr r0, _08147DA0 @ =gUnknown_03005F94 + ldr r1, _08147DA4 @ =gUnknown_03005F34 + ldrh r2, [r0] + ldrh r0, [r1] + cmp r2, r0 + bcs _08147DA8 + bl sub_814825C + b _08147DB8 + .align 2, 0 +_08147DA0: .4byte gUnknown_03005F94 +_08147DA4: .4byte gUnknown_03005F34 +_08147DA8: + cmp r2, r0 + bne _08147DB8 + ldr r0, _08147DD4 @ =gTasks + adds r1, r5, r4 + lsls r1, 3 + adds r1, r0 + movs r0, 0xFE + strh r0, [r1, 0x8] +_08147DB8: + ldr r1, _08147DD8 @ =gUnknown_03005F94 + ldrh r0, [r1] + adds r0, 0x1 + strh r0, [r1] + ldr r0, _08147DD4 @ =gTasks + adds r1, r5, r4 + lsls r1, 3 + adds r1, r0 + ldrh r0, [r1, 0x8] + adds r0, 0x1 + strh r0, [r1, 0x8] +_08147DCE: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08147DD4: .4byte gTasks +_08147DD8: .4byte gUnknown_03005F94 + thumb_func_end sub_8147CC8 + + thumb_func_start sub_8147DDC +sub_8147DDC: @ 8147DDC + push {r4,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldr r0, _08147E08 @ =sub_8147CC8 + movs r1, 0 + bl CreateTask + lsls r0, 24 + lsrs r0, 24 + ldr r2, _08147E0C @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + movs r0, 0 + strh r0, [r1, 0x8] + strh r4, [r1, 0xA] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08147E08: .4byte sub_8147CC8 +_08147E0C: .4byte gTasks + thumb_func_end sub_8147DDC + + thumb_func_start sub_8147E10 +sub_8147E10: @ 8147E10 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + bl MenuUpdateWindowText + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _08147E30 + ldr r0, _08147E38 @ =gTasks + lsls r1, r4, 2 + adds r1, r4 + lsls r1, 3 + adds r1, r0 + ldr r0, _08147E3C @ =sub_8147F4C + str r0, [r1] +_08147E30: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08147E38: .4byte gTasks +_08147E3C: .4byte sub_8147F4C + thumb_func_end sub_8147E10 + + thumb_func_start sub_8147E40 +sub_8147E40: @ 8147E40 + push {r4-r7,lr} + lsls r0, 24 + lsrs r7, r0, 24 + ldr r0, _08147E94 @ =gUnknown_02039310 + ldrb r1, [r0] + movs r0, 0x64 + adds r5, r1, 0 + muls r5, r0 + ldr r0, _08147E98 @ =gPlayerParty + adds r5, r0 + ldr r0, _08147E9C @ =gScriptItemId + ldrh r4, [r0] + lsls r4, 3 + ldr r0, _08147EA0 @ =gSaveBlock1 + 0x7F8 + adds r4, r0 + adds r0, r5, 0 + bl GetNature + lsls r0, 24 + lsrs r0, 24 + adds r1, r4, 0 + bl sub_810CAE4 + ldr r6, _08147EA4 @ =gUnknown_02039312 + strh r0, [r6] + ldr r1, _08147EA8 @ =gStringVar1 + adds r0, r5, 0 + bl GetMonNickname + ldr r1, _08147EAC @ =gStringVar2 + adds r0, r4, 0 + bl sub_810CB44 + movs r1, 0 + ldrsh r0, [r6, r1] + cmp r0, 0 + bne _08147EB8 + ldr r0, _08147EB0 @ =gStringVar4 + ldr r1, _08147EB4 @ =gContestStatsText_NormallyAte + bl StringExpandPlaceholders + b _08147ED8 + .align 2, 0 +_08147E94: .4byte gUnknown_02039310 +_08147E98: .4byte gPlayerParty +_08147E9C: .4byte gScriptItemId +_08147EA0: .4byte gSaveBlock1 + 0x7F8 +_08147EA4: .4byte gUnknown_02039312 +_08147EA8: .4byte gStringVar1 +_08147EAC: .4byte gStringVar2 +_08147EB0: .4byte gStringVar4 +_08147EB4: .4byte gContestStatsText_NormallyAte +_08147EB8: + cmp r0, 0 + ble _08147ED0 + ldr r0, _08147EC8 @ =gStringVar4 + ldr r1, _08147ECC @ =gContestStatsText_HappilyAte + bl StringExpandPlaceholders + b _08147ED8 + .align 2, 0 +_08147EC8: .4byte gStringVar4 +_08147ECC: .4byte gContestStatsText_HappilyAte +_08147ED0: + ldr r0, _08147EF8 @ =gStringVar4 + ldr r1, _08147EFC @ =gContestStatsText_DisdainfullyAte + bl StringExpandPlaceholders +_08147ED8: + ldr r0, _08147EF8 @ =gStringVar4 + movs r1, 0x1 + movs r2, 0xF + bl MenuPrintMessage + ldr r1, _08147F00 @ =gTasks + lsls r0, r7, 2 + adds r0, r7 + lsls r0, 3 + adds r0, r1 + ldr r1, _08147F04 @ =sub_8147E10 + str r1, [r0] + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08147EF8: .4byte gStringVar4 +_08147EFC: .4byte gContestStatsText_DisdainfullyAte +_08147F00: .4byte gTasks +_08147F04: .4byte sub_8147E10 + thumb_func_end sub_8147E40 + + thumb_func_start sub_8147F08 +sub_8147F08: @ 8147F08 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + ldr r0, _08147F3C @ =gPaletteFade + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + bne _08147F34 + ldr r0, _08147F40 @ =gMPlay_BGM + ldr r1, _08147F44 @ =0x0000ffff + movs r2, 0x80 + lsls r2, 1 + bl m4aMPlayVolumeControl + ldr r0, _08147F48 @ =gMain + ldr r0, [r0, 0x8] + bl SetMainCallback2 + adds r0, r4, 0 + bl DestroyTask +_08147F34: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08147F3C: .4byte gPaletteFade +_08147F40: .4byte gMPlay_BGM +_08147F44: .4byte 0x0000ffff +_08147F48: .4byte gMain + thumb_func_end sub_8147F08 + + thumb_func_start sub_8147F4C +sub_8147F4C: @ 8147F4C + push {r4,lr} + sub sp, 0x4 + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + movs r0, 0x1 + negs r0, r0 + movs r1, 0 + str r1, [sp] + movs r2, 0 + movs r3, 0x10 + bl BeginNormalPaletteFade + ldr r1, _08147F7C @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + ldr r1, _08147F80 @ =sub_8147F08 + str r1, [r0] + add sp, 0x4 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_08147F7C: .4byte gTasks +_08147F80: .4byte sub_8147F08 + thumb_func_end sub_8147F4C + + thumb_func_start sub_8147F84 +sub_8147F84: @ 8147F84 + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + adds r5, r0, 0 + movs r1, 0x41 + bl GetMonData + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + ldr r0, _08148024 @ =gUnknown_02024E8C + movs r1, 0x30 + movs r2, 0x50 + movs r3, 0x2 + bl CreateSprite + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + ldr r0, _08148028 @ =gUnknown_03005F24 + strh r4, [r0] + ldr r0, _0814802C @ =gUnknown_03005F2C + mov r1, r8 + strb r1, [r0] + adds r0, r5, 0 + bl GetNature + ldr r1, _08148030 @ =gUnknown_03005F30 + strb r0, [r1] + ldr r7, _08148034 @ =gSprites + mov r1, r8 + lsls r0, r1, 4 + add r0, r8 + lsls r5, r0, 2 + adds r6, r5, r7 + strh r4, [r6, 0x32] + adds r0, r7, 0 + adds r0, 0x1C + adds r0, r5, r0 + ldr r1, _08148038 @ =SpriteCallbackDummy + str r1, [r0] + ldr r0, _0814803C @ =gUnknown_03005F28 + mov r9, r0 + movs r0, 0x1 + mov r1, r9 + strb r0, [r1] + adds r0, r4, 0 + bl sub_8040A3C + lsls r0, 24 + cmp r0, 0 + bne _08148016 + adds r0, r7, 0 + adds r0, 0x10 + adds r0, r5, r0 + ldr r1, _08148040 @ =gSpriteAffineAnimTable_84120EC + str r1, [r0] + ldrb r3, [r6, 0x1] + movs r0, 0x3 + orrs r3, r0 + strb r3, [r6, 0x1] + lsrs r1, r3, 6 + ldrb r2, [r6, 0x3] + lsrs r2, 6 + lsls r3, 30 + lsrs r3, 30 + adds r0, r6, 0 + bl CalcCenterToCornerVec + movs r0, 0 + mov r1, r9 + strb r0, [r1] +_08148016: + mov r0, r8 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_08148024: .4byte gUnknown_02024E8C +_08148028: .4byte gUnknown_03005F24 +_0814802C: .4byte gUnknown_03005F2C +_08148030: .4byte gUnknown_03005F30 +_08148034: .4byte gSprites +_08148038: .4byte SpriteCallbackDummy +_0814803C: .4byte gUnknown_03005F28 +_08148040: .4byte gSpriteAffineAnimTable_84120EC + thumb_func_end sub_8147F84 + + thumb_func_start sub_8148044 +sub_8148044: @ 8148044 + lsls r0, 24 + lsrs r0, 24 + ldr r3, _0814806C @ =gSprites + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r2, r1, r3 + movs r0, 0x30 + strh r0, [r2, 0x20] + movs r0, 0x50 + strh r0, [r2, 0x22] + ldr r0, _08148070 @ =0x0000fff8 + strh r0, [r2, 0x2E] + movs r0, 0x1 + strh r0, [r2, 0x30] + adds r3, 0x1C + adds r1, r3 + ldr r0, _08148074 @ =sub_8148078 + str r0, [r1] + bx lr + .align 2, 0 +_0814806C: .4byte gSprites +_08148070: .4byte 0x0000fff8 +_08148074: .4byte sub_8148078 + thumb_func_end sub_8148044 + + thumb_func_start sub_8148078 +sub_8148078: @ 8148078 + push {r4,lr} + adds r4, r0, 0 + ldrh r0, [r4, 0x20] + adds r0, 0x4 + strh r0, [r4, 0x20] + ldrh r0, [r4, 0x2E] + ldrh r2, [r4, 0x22] + adds r1, r0, r2 + strh r1, [r4, 0x22] + ldrh r1, [r4, 0x30] + adds r0, r1 + strh r0, [r4, 0x2E] + lsls r0, 16 + cmp r0, 0 + bne _0814809E + ldrh r0, [r4, 0x32] + movs r1, 0 + bl PlayCry1 +_0814809E: + movs r1, 0x2E + ldrsh r0, [r4, r1] + cmp r0, 0x9 + bne _081480AA + ldr r0, _081480B0 @ =SpriteCallbackDummy + str r0, [r4, 0x1C] +_081480AA: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_081480B0: .4byte SpriteCallbackDummy + thumb_func_end sub_8148078 + + thumb_func_start sub_81480B4 +sub_81480B4: @ 81480B4 + push {r4,r5,lr} + movs r0, 0xBC + movs r1, 0x64 + movs r2, 0x2 + bl sub_810BA50 + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + ldr r5, _081480FC @ =gSprites + lsls r3, r4, 4 + adds r3, r4 + lsls r3, 2 + adds r0, r3, r5 + ldrb r2, [r0, 0x1] + movs r1, 0x4 + negs r1, r1 + ands r1, r2 + movs r2, 0x1 + orrs r1, r2 + strb r1, [r0, 0x1] + adds r1, r5, 0 + adds r1, 0x10 + adds r1, r3, r1 + ldr r2, _08148100 @ =gSpriteAffineAnimTable_84121A0 + str r2, [r1] + adds r5, 0x1C + adds r3, r5 + ldr r1, _08148104 @ =SpriteCallbackDummy + str r1, [r3] + bl InitSpriteAffineAnim + adds r0, r4, 0 + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_081480FC: .4byte gSprites +_08148100: .4byte gSpriteAffineAnimTable_84121A0 +_08148104: .4byte SpriteCallbackDummy + thumb_func_end sub_81480B4 + + thumb_func_start sub_8148108 +sub_8148108: @ 8148108 + push {r4-r7,lr} + mov r7, r8 + push {r7} + adds r5, r1, 0 + lsls r0, 24 + lsrs r7, r0, 24 + lsls r5, 24 + lsrs r5, 24 + ldr r0, _08148148 @ =gSprites + mov r8, r0 + lsls r0, r7, 4 + adds r0, r7 + lsls r6, r0, 2 + mov r0, r8 + adds r4, r6, r0 + ldrb r0, [r4, 0x3] + lsls r0, 26 + lsrs r0, 27 + bl FreeOamMatrix + ldrb r0, [r4, 0x1] + movs r1, 0x3 + orrs r0, r1 + strb r0, [r4, 0x1] + cmp r5, 0 + bne _08148150 + mov r0, r8 + adds r0, 0x10 + adds r0, r6, r0 + ldr r1, _0814814C @ =gSpriteAffineAnimTable_84121A4 + b _08148158 + .align 2, 0 +_08148148: .4byte gSprites +_0814814C: .4byte gSpriteAffineAnimTable_84121A4 +_08148150: + mov r0, r8 + adds r0, 0x10 + adds r0, r6, r0 + ldr r1, _08148174 @ =gSpriteAffineAnimTable_84121A8 +_08148158: + str r1, [r0] + lsls r0, r7, 4 + adds r0, r7 + lsls r0, 2 + ldr r1, _08148178 @ =gSprites + adds r0, r1 + bl InitSpriteAffineAnim + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08148174: .4byte gSpriteAffineAnimTable_84121A8 +_08148178: .4byte gSprites + thumb_func_end sub_8148108 + + thumb_func_start sub_814817C +sub_814817C: @ 814817C + push {lr} + ldr r0, _081481A4 @ =gSpriteTemplate_84121E4 + movs r1, 0xAE + movs r2, 0x54 + movs r3, 0x1 + bl CreateSprite + lsls r0, 24 + lsrs r0, 24 + ldr r2, _081481A8 @ =gSprites + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + adds r1, r2 + ldr r2, _081481AC @ =0x0000fff4 + strh r2, [r1, 0x2E] + movs r2, 0x1 + strh r2, [r1, 0x30] + pop {r1} + bx r1 + .align 2, 0 +_081481A4: .4byte gSpriteTemplate_84121E4 +_081481A8: .4byte gSprites +_081481AC: .4byte 0x0000fff4 + thumb_func_end sub_814817C + + thumb_func_start sub_81481B0 +sub_81481B0: @ 81481B0 + push {lr} + adds r2, r0, 0 + ldrh r0, [r2, 0x20] + subs r0, 0x4 + strh r0, [r2, 0x20] + ldrh r0, [r2, 0x2E] + ldrh r3, [r2, 0x22] + adds r1, r0, r3 + strh r1, [r2, 0x22] + ldrh r1, [r2, 0x30] + adds r0, r1 + strh r0, [r2, 0x2E] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0xA + bne _081481D6 + adds r0, r2, 0 + bl DestroySprite +_081481D6: + pop {r0} + bx r0 + thumb_func_end sub_81481B0 + + thumb_func_start sub_81481DC +sub_81481DC: @ 81481DC + push {r4-r7,lr} + ldr r6, _0814824C @ =gUnknown_03005F34 + movs r0, 0x1 + strh r0, [r6] + ldr r1, _08148250 @ =gNatureToMonPokeblockAnim + ldr r0, _08148254 @ =gUnknown_03005F30 + ldrb r0, [r0] + lsls r0, 1 + adds r0, r1 + ldrb r3, [r0] + movs r4, 0 + ldr r2, _08148258 @ =gMonPokeblockAnims + lsls r1, r3, 2 + adds r1, r3 + lsls r1, 2 + adds r7, r2, 0 + adds r7, 0x8 + adds r0, r1, r7 + ldrh r0, [r0] + adds r0, 0x1 + strh r0, [r6] + adds r5, r2, 0 + adds r5, 0x12 + adds r1, r5 + movs r2, 0 + ldrsh r0, [r1, r2] + cmp r0, 0x1 + beq _08148244 + adds r2, r6, 0 + adds r6, r5, 0 + adds r5, r7, 0 +_0814821A: + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + adds r0, r3, 0x1 + lsls r0, 24 + lsrs r3, r0, 24 + cmp r4, 0x7 + bhi _08148244 + lsls r1, r3, 2 + adds r1, r3 + lsls r1, 2 + adds r0, r1, r5 + ldrh r0, [r0] + ldrh r7, [r2] + adds r0, r7 + strh r0, [r2] + adds r1, r6 + movs r7, 0 + ldrsh r0, [r1, r7] + cmp r0, 0x1 + bne _0814821A +_08148244: + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0814824C: .4byte gUnknown_03005F34 +_08148250: .4byte gNatureToMonPokeblockAnim +_08148254: .4byte gUnknown_03005F30 +_08148258: .4byte gMonPokeblockAnims + thumb_func_end sub_81481DC + + thumb_func_start sub_814825C +sub_814825C: @ 814825C + push {lr} + ldr r0, _08148274 @ =gUnknown_03005F3C + ldrb r0, [r0] + cmp r0, 0x5A + bls _08148268 + b _08148532 +_08148268: + lsls r0, 2 + ldr r1, _08148278 @ =_0814827C + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_08148274: .4byte gUnknown_03005F3C +_08148278: .4byte _0814827C + .align 2, 0 +_0814827C: + .4byte _081483E8 + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _0814843C + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _0814847A + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _081484CC + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _08148524 + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 + .4byte _08148532 +_081483E8: + ldr r2, _0814841C @ =gUnknown_03005F40 + ldr r1, _08148420 @ =gNatureToMonPokeblockAnim + ldr r0, _08148424 @ =gUnknown_03005F30 + ldrb r0, [r0] + lsls r0, 1 + adds r0, r1 + ldrb r0, [r0] + strb r0, [r2] + ldr r2, _08148428 @ =gUnknown_03005F20 + ldr r0, _0814842C @ =gUnknown_03005F2C + ldrb r0, [r0] + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + ldr r0, _08148430 @ =gSprites + adds r1, r0 + str r1, [r2] + ldr r0, _08148434 @ =gUnknown_03005F50 + movs r2, 0x44 + bl memcpy + ldr r1, _08148438 @ =gUnknown_03005F3C + movs r0, 0xA + strb r0, [r1] + b _08148532 + .align 2, 0 +_0814841C: .4byte gUnknown_03005F40 +_08148420: .4byte gNatureToMonPokeblockAnim +_08148424: .4byte gUnknown_03005F30 +_08148428: .4byte gUnknown_03005F20 +_0814842C: .4byte gUnknown_03005F2C +_08148430: .4byte gSprites +_08148434: .4byte gUnknown_03005F50 +_08148438: .4byte gUnknown_03005F3C +_0814843C: + bl sub_8148540 + ldr r1, _081484A4 @ =gNatureToMonPokeblockAnim + ldr r0, _081484A8 @ =gUnknown_03005F30 + ldrb r0, [r0] + lsls r0, 1 + adds r1, 0x1 + adds r0, r1 + ldrb r0, [r0] + cmp r0, 0 + beq _08148474 + ldr r3, _081484AC @ =gUnknown_03005F20 + ldr r2, [r3] + ldrb r0, [r2, 0x1] + movs r1, 0x3 + orrs r0, r1 + strb r0, [r2, 0x1] + ldr r2, [r3] + ldrb r1, [r2, 0x3] + movs r0, 0x3F + negs r0, r0 + ands r0, r1 + strb r0, [r2, 0x3] + ldr r0, [r3] + ldr r1, _081484B0 @ =gSpriteAffineAnimTable_8412050 + str r1, [r0, 0x10] + bl InitSpriteAffineAnim +_08148474: + ldr r1, _081484B4 @ =gUnknown_03005F3C + movs r0, 0x32 + strb r0, [r1] +_0814847A: + ldr r1, _081484A4 @ =gNatureToMonPokeblockAnim + ldr r0, _081484A8 @ =gUnknown_03005F30 + ldrb r0, [r0] + lsls r0, 1 + adds r1, 0x1 + adds r2, r0, r1 + ldrb r1, [r2] + cmp r1, 0 + beq _081484EE + ldr r0, _081484B8 @ =gUnknown_03005F28 + ldrb r0, [r0] + cmp r0, 0 + bne _081484BC + ldr r0, _081484AC @ =gUnknown_03005F20 + ldr r0, [r0] + adds r1, 0xA + lsls r1, 24 + lsrs r1, 24 + bl StartSpriteAffineAnim + b _081484EE + .align 2, 0 +_081484A4: .4byte gNatureToMonPokeblockAnim +_081484A8: .4byte gUnknown_03005F30 +_081484AC: .4byte gUnknown_03005F20 +_081484B0: .4byte gSpriteAffineAnimTable_8412050 +_081484B4: .4byte gUnknown_03005F3C +_081484B8: .4byte gUnknown_03005F28 +_081484BC: + ldr r0, _081484C8 @ =gUnknown_03005F20 + ldr r0, [r0] + ldrb r1, [r2] + bl StartSpriteAffineAnim + b _081484EE + .align 2, 0 +_081484C8: .4byte gUnknown_03005F20 +_081484CC: + bl sub_81485CC + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bne _08148532 + ldr r0, _081484F8 @ =gUnknown_03005FA0 + movs r1, 0x12 + ldrsh r0, [r0, r1] + cmp r0, 0 + bne _08148504 + ldr r1, _081484FC @ =gUnknown_03005F40 + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] + bl sub_8148540 +_081484EE: + ldr r1, _08148500 @ =gUnknown_03005F3C + movs r0, 0x3C + strb r0, [r1] + b _08148532 + .align 2, 0 +_081484F8: .4byte gUnknown_03005FA0 +_081484FC: .4byte gUnknown_03005F40 +_08148500: .4byte gUnknown_03005F3C +_08148504: + ldr r0, _0814851C @ =gUnknown_03005F20 + ldr r0, [r0] + ldrb r0, [r0, 0x3] + lsls r0, 26 + lsrs r0, 27 + bl FreeOamMatrix + ldr r1, _08148520 @ =gUnknown_03005F3C + movs r0, 0x46 + strb r0, [r1] + b _08148532 + .align 2, 0 +_0814851C: .4byte gUnknown_03005F20 +_08148520: .4byte gUnknown_03005F3C +_08148524: + bl sub_8148618 + ldr r0, _08148538 @ =gUnknown_03005F40 + movs r1, 0 + strb r1, [r0] + ldr r0, _0814853C @ =gUnknown_03005F3C + strb r1, [r0] +_08148532: + pop {r0} + bx r0 + .align 2, 0 +_08148538: .4byte gUnknown_03005F40 +_0814853C: .4byte gUnknown_03005F3C + thumb_func_end sub_814825C + + thumb_func_start sub_8148540 +sub_8148540: @ 8148540 + push {r4-r7,lr} + movs r4, 0 + ldr r5, _081485B4 @ =gUnknown_03005FA0 + mov r12, r5 + ldr r7, _081485B8 @ =gMonPokeblockAnims + ldr r6, _081485BC @ =gUnknown_03005F40 +_0814854C: + lsls r2, r4, 1 + mov r0, r12 + adds r3, r2, r0 + ldrb r1, [r6] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 2 + adds r2, r0 + adds r2, r7 + ldrh r0, [r2] + strh r0, [r3] + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0x9 + bls _0814854C + movs r1, 0x8 + ldrsh r0, [r5, r1] + cmp r0, 0 + beq _081485C4 + movs r2, 0 + ldrsh r0, [r5, r2] + movs r2, 0x4 + ldrsh r1, [r5, r2] + bl Sin + strh r0, [r5, 0x14] + movs r1, 0 + ldrsh r0, [r5, r1] + movs r2, 0x6 + ldrsh r1, [r5, r2] + bl Cos + strh r0, [r5, 0x16] + ldrh r0, [r5, 0x8] + strh r0, [r5, 0x18] + ldr r0, _081485C0 @ =gUnknown_03005F20 + ldr r1, [r0] + ldrh r0, [r1, 0x24] + strh r0, [r5, 0x1A] + ldrh r0, [r1, 0x26] + strh r0, [r5, 0x1C] + bl sub_8148710 + ldrh r0, [r5, 0x18] + strh r0, [r5, 0x8] + bl sub_814862C + ldrh r0, [r5, 0x18] + strh r0, [r5, 0x8] + movs r0, 0 + b _081485C6 + .align 2, 0 +_081485B4: .4byte gUnknown_03005FA0 +_081485B8: .4byte gMonPokeblockAnims +_081485BC: .4byte gUnknown_03005F40 +_081485C0: .4byte gUnknown_03005F20 +_081485C4: + movs r0, 0x1 +_081485C6: + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_8148540 + + thumb_func_start sub_81485CC +sub_81485CC: @ 81485CC + push {r4,lr} + ldr r3, _08148604 @ =gUnknown_03005FA0 + ldrh r0, [r3, 0x18] + ldrh r1, [r3, 0x8] + subs r0, r1 + lsls r0, 16 + ldr r1, _08148608 @ =gUnknown_03005F20 + ldr r4, [r1] + lsrs r0, 15 + ldr r1, _0814860C @ =0x0201d000 + adds r2, r0, r1 + ldrh r2, [r2] + strh r2, [r4, 0x24] + movs r2, 0x80 + lsls r2, 3 + adds r1, r2 + adds r0, r1 + ldrh r0, [r0] + strh r0, [r4, 0x26] + ldrh r0, [r3, 0x8] + subs r0, 0x1 + strh r0, [r3, 0x8] + lsls r0, 16 + cmp r0, 0 + beq _08148610 + movs r0, 0 + b _08148612 + .align 2, 0 +_08148604: .4byte gUnknown_03005FA0 +_08148608: .4byte gUnknown_03005F20 +_0814860C: .4byte 0x0201d000 +_08148610: + movs r0, 0x1 +_08148612: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_81485CC + + thumb_func_start sub_8148618 +sub_8148618: @ 8148618 + push {lr} + ldr r0, _08148628 @ =gUnknown_03005F20 + ldr r0, [r0] + bl FreeSpriteOamMatrix + movs r0, 0 + pop {r1} + bx r1 + .align 2, 0 +_08148628: .4byte gUnknown_03005F20 + thumb_func_end sub_8148618 + + thumb_func_start sub_814862C +sub_814862C: @ 814862C + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x10 + ldr r1, _08148700 @ =gUnknown_03005FA0 + ldrh r0, [r1, 0x10] + mov r8, r0 + ldrh r0, [r1, 0x18] + mov r2, r8 + subs r0, r2 + lsls r0, 16 + lsrs r7, r0, 16 + ldrh r0, [r1, 0xC] + ldrh r3, [r1, 0x1A] + adds r0, r3 + lsls r0, 16 + lsrs r0, 16 + str r0, [sp] + ldrh r0, [r1, 0xE] + ldrh r1, [r1, 0x1C] + adds r0, r1 + lsls r0, 16 + lsrs r0, 16 + mov r9, r0 + movs r6, 0 + subs r0, r7, 0x1 + ldr r4, _08148704 @ =0x0201cffe + mov r10, r4 + cmp r6, r0 + bge _081486D4 + ldr r1, [sp] + lsls r0, r1, 16 + asrs r0, 16 + str r0, [sp, 0x4] +_08148674: + mov r2, r8 + adds r5, r2, r6 + lsls r5, 1 + ldr r4, _08148708 @ =0x0201d000 + adds r3, r5, r4 + ldrh r2, [r3] + ldr r0, [sp, 0x4] + subs r1, r2, r0 + ldr r4, _0814870C @ =0x0201d400 + adds r5, r4 + ldrh r0, [r5] + mov r12, r0 + mov r4, r9 + lsls r0, r4, 16 + asrs r0, 16 + mov r4, r12 + subs r0, r4, r0 + lsls r4, r0, 16 + lsrs r4, 16 + lsls r1, 16 + asrs r1, 16 + adds r6, 0x1 + adds r0, r1, 0 + muls r0, r6 + adds r1, r7, 0 + str r2, [sp, 0x8] + str r3, [sp, 0xC] + bl __divsi3 + ldr r2, [sp, 0x8] + subs r2, r0 + ldr r3, [sp, 0xC] + strh r2, [r3] + lsls r4, 16 + asrs r4, 16 + adds r0, r4, 0 + muls r0, r6 + adds r1, r7, 0 + bl __divsi3 + ldrh r1, [r5] + subs r1, r0 + strh r1, [r5] + lsls r6, 16 + lsrs r6, 16 + subs r0, r7, 0x1 + cmp r6, r0 + blt _08148674 +_081486D4: + mov r1, r8 + adds r0, r1, r7 + lsls r0, 1 + mov r2, r10 + adds r1, r0, r2 + mov r3, sp + ldrh r3, [r3] + strh r3, [r1] + movs r1, 0x80 + lsls r1, 3 + add r1, r10 + adds r0, r1 + mov r4, r9 + strh r4, [r0] + add sp, 0x10 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_08148700: .4byte gUnknown_03005FA0 +_08148704: .4byte 0x0201cffe +_08148708: .4byte 0x0201d000 +_0814870C: .4byte 0x0201d400 + thumb_func_end sub_814862C + + thumb_func_start sub_8148710 +sub_8148710: @ 8148710 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x4 + movs r0, 0 + str r0, [sp] + ldr r1, _081487A4 @ =gUnknown_03005FA0 + ldrh r2, [r1, 0x1A] + ldrh r0, [r1, 0x14] + subs r2, r0 + ldrh r3, [r1, 0x1C] + ldrh r0, [r1, 0x16] + subs r3, r0 + adds r6, r1, 0 + ldr r1, _081487A8 @ =0x0201d000 + mov r9, r1 + lsls r2, 16 + asrs r2, 16 + mov r8, r2 + movs r2, 0x80 + lsls r2, 3 + add r2, r9 + mov r10, r2 + lsls r3, 16 + asrs r7, r3, 16 +_08148746: + movs r1, 0xA + ldrsh r0, [r6, r1] + cmp r0, 0 + bge _08148750 + negs r0, r0 +_08148750: + lsls r0, 16 + lsrs r0, 16 + ldrh r2, [r6, 0x6] + adds r0, r2 + lsls r5, r0, 16 + strh r0, [r6, 0x6] + ldrh r2, [r6, 0x4] + movs r1, 0x4 + ldrsh r0, [r6, r1] + cmp r0, 0 + bge _0814876A + movs r0, 0x1 + str r0, [sp] +_0814876A: + ldrh r0, [r6, 0x18] + ldrh r1, [r6, 0x8] + subs r0, r1 + lsls r0, 16 + lsrs r4, r0, 16 + cmp r1, 0 + beq _081487F0 + ldr r1, [sp] + cmp r1, 0 + bne _081487AC + movs r1, 0 + ldrsh r0, [r6, r1] + lsrs r5, 24 + adds r1, r2, r5 + lsls r1, 16 + asrs r1, 16 + bl Sin + lsls r4, 1 + mov r2, r9 + adds r1, r4, r2 + add r0, r8 + strh r0, [r1] + movs r1, 0 + ldrsh r0, [r6, r1] + ldrh r1, [r6, 0x6] + adds r1, r5 + b _081487CE + .align 2, 0 +_081487A4: .4byte gUnknown_03005FA0 +_081487A8: .4byte 0x0201d000 +_081487AC: + movs r1, 0 + ldrsh r0, [r6, r1] + lsrs r5, 24 + subs r1, r2, r5 + lsls r1, 16 + asrs r1, 16 + bl Sin + lsls r4, 1 + mov r2, r9 + adds r1, r4, r2 + add r0, r8 + strh r0, [r1] + movs r1, 0 + ldrsh r0, [r6, r1] + ldrh r1, [r6, 0x6] + subs r1, r5 +_081487CE: + lsls r1, 16 + asrs r1, 16 + bl Cos + add r4, r10 + adds r0, r7, r0 + strh r0, [r4] + ldrh r0, [r6, 0x2] + ldrh r2, [r6] + adds r0, r2 + movs r1, 0xFF + ands r0, r1 + strh r0, [r6] + ldrh r0, [r6, 0x8] + subs r0, 0x1 + strh r0, [r6, 0x8] + b _08148746 +_081487F0: + add sp, 0x4 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_8148710 + + .align 2, 0 @ Don't pad with nop. diff --git a/asm/pokemon_3.s b/asm/pokemon_3.s new file mode 100644 index 000000000..d647a7fc6 --- /dev/null +++ b/asm/pokemon_3.s @@ -0,0 +1,2826 @@ + .include "constants/gba_constants.inc" + .include "constants/species_constants.inc" + .include "asm/macros.inc" + + .syntax unified + + .text + + thumb_func_start unref_sub_803F938 +unref_sub_803F938: @ 803F938 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x8 + adds r5, r1, 0 + mov r10, r2 + lsls r0, 16 + movs r1, 0x9A + lsls r1, 17 + cmp r0, r1 + bne _0803FA42 + ldr r1, _0803FA04 @ =gUnknown_081FAF4C + ldr r0, [r1] + cmp r10, r0 + beq _0803FA42 + ldr r0, [r1, 0x8] + cmp r10, r0 + beq _0803FA42 + movs r6, 0 +_0803F962: + lsls r3, r6, 3 + adds r3, r6 + lsls r3, 2 + ldr r0, _0803FA08 @ =gSpindaSpotGraphics + adds r4, r3, r0 + ldrb r1, [r4] + adds r1, 0xF8 + movs r2, 0xF + adds r0, r5, 0 + ands r0, r2 + adds r1, r0 + lsls r1, 24 + lsrs r1, 24 + mov r12, r1 + ldrb r1, [r4, 0x1] + adds r1, 0xF8 + movs r0, 0xF0 + ands r0, r5 + lsrs r0, 4 + adds r1, r0 + lsls r1, 24 + lsrs r1, 24 + movs r2, 0 + lsrs r5, 8 + str r5, [sp, 0x4] + adds r6, 0x1 + str r6, [sp] + mov r9, r3 +_0803F99A: + lsls r0, r2, 1 + add r0, r9 + ldr r3, _0803FA0C @ =gSpindaSpotGraphics + 0x2 + adds r0, r3 + ldrh r3, [r0] + mov r4, r12 + adds r0, r4, 0 + adds r0, 0x10 + adds r7, r1, 0x1 + adds r2, 0x1 + mov r8, r2 + cmp r4, r0 + bge _0803FA30 + lsrs r0, r1, 3 + lsls r6, r0, 8 + movs r0, 0x7 + ands r1, r0 + lsls r5, r1, 2 +_0803F9BE: + adds r0, r4, 0 + cmp r4, 0 + bge _0803F9C6 + adds r0, r4, 0x7 +_0803F9C6: + asrs r0, 3 + lsls r2, r0, 5 + add r2, r10 + lsls r0, 3 + subs r0, r4, r0 + lsrs r1, r0, 31 + adds r0, r1 + asrs r0, 1 + adds r2, r0 + adds r2, r6 + adds r2, r5 + movs r1, 0x1 + adds r0, r3, 0 + ands r0, r1 + cmp r0, 0 + beq _0803FA24 + adds r0, r4, 0 + ands r0, r1 + cmp r0, 0 + beq _0803FA10 + ldrb r1, [r2] + movs r0, 0xF0 + ands r0, r1 + subs r0, 0x10 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x20 + bhi _0803FA24 + adds r0, r1, 0 + adds r0, 0x40 + b _0803FA22 + .align 2, 0 +_0803FA04: .4byte gUnknown_081FAF4C +_0803FA08: .4byte gSpindaSpotGraphics +_0803FA0C: .4byte gSpindaSpotGraphics + 0x2 +_0803FA10: + ldrb r1, [r2] + movs r0, 0xF + ands r0, r1 + subs r0, 0x1 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x2 + bhi _0803FA24 + adds r0, r1, 0x4 +_0803FA22: + strb r0, [r2] +_0803FA24: + asrs r3, 1 + adds r4, 0x1 + mov r0, r12 + adds r0, 0x10 + cmp r4, r0 + blt _0803F9BE +_0803FA30: + lsls r0, r7, 24 + lsrs r1, r0, 24 + mov r2, r8 + cmp r2, 0xF + ble _0803F99A + ldr r5, [sp, 0x4] + ldr r6, [sp] + cmp r6, 0x3 + ble _0803F962 +_0803FA42: + add sp, 0x8 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end unref_sub_803F938 + + thumb_func_start DrawSpindaSpots +DrawSpindaSpots: @ 803FA54 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x8 + adds r5, r1, 0 + str r2, [sp] + lsls r0, 16 + lsls r3, 24 + lsrs r3, 24 + movs r1, 0x9A + lsls r1, 17 + cmp r0, r1 + bne _0803FB56 + cmp r3, 0 + beq _0803FB56 + movs r6, 0 +_0803FA78: + lsls r3, r6, 3 + adds r3, r6 + lsls r3, 2 + ldr r0, _0803FB1C @ =gSpindaSpotGraphics + adds r4, r3, r0 + ldrb r1, [r4] + adds r1, 0xF8 + movs r2, 0xF + adds r0, r5, 0 + ands r0, r2 + adds r1, r0 + lsls r1, 24 + lsrs r1, 24 + mov r12, r1 + ldrb r1, [r4, 0x1] + adds r1, 0xF8 + movs r0, 0xF0 + ands r0, r5 + lsrs r0, 4 + adds r1, r0 + lsls r1, 24 + lsrs r1, 24 + movs r2, 0 + lsrs r5, 8 + str r5, [sp, 0x4] + adds r6, 0x1 + mov r10, r6 + mov r9, r3 +_0803FAB0: + lsls r0, r2, 1 + add r0, r9 + ldr r3, _0803FB20 @ =gSpindaSpotGraphics + 0x2 + adds r0, r3 + ldrh r3, [r0] + mov r4, r12 + adds r0, r4, 0 + adds r0, 0x10 + adds r7, r1, 0x1 + adds r2, 0x1 + mov r8, r2 + cmp r4, r0 + bge _0803FB44 + lsrs r0, r1, 3 + lsls r6, r0, 8 + movs r0, 0x7 + ands r1, r0 + lsls r5, r1, 2 +_0803FAD4: + adds r0, r4, 0 + cmp r4, 0 + bge _0803FADC + adds r0, r4, 0x7 +_0803FADC: + asrs r0, 3 + lsls r2, r0, 5 + ldr r1, [sp] + adds r2, r1, r2 + lsls r0, 3 + subs r0, r4, r0 + lsrs r1, r0, 31 + adds r0, r1 + asrs r0, 1 + adds r2, r0 + adds r2, r6 + adds r2, r5 + movs r1, 0x1 + adds r0, r3, 0 + ands r0, r1 + cmp r0, 0 + beq _0803FB38 + adds r0, r4, 0 + ands r0, r1 + cmp r0, 0 + beq _0803FB24 + ldrb r1, [r2] + movs r0, 0xF0 + ands r0, r1 + subs r0, 0x10 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x20 + bhi _0803FB38 + adds r0, r1, 0 + adds r0, 0x40 + b _0803FB36 + .align 2, 0 +_0803FB1C: .4byte gSpindaSpotGraphics +_0803FB20: .4byte gSpindaSpotGraphics + 0x2 +_0803FB24: + ldrb r1, [r2] + movs r0, 0xF + ands r0, r1 + subs r0, 0x1 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x2 + bhi _0803FB38 + adds r0, r1, 0x4 +_0803FB36: + strb r0, [r2] +_0803FB38: + asrs r3, 1 + adds r4, 0x1 + mov r0, r12 + adds r0, 0x10 + cmp r4, r0 + blt _0803FAD4 +_0803FB44: + lsls r0, r7, 24 + lsrs r1, r0, 24 + mov r2, r8 + cmp r2, 0xF + ble _0803FAB0 + ldr r5, [sp, 0x4] + mov r6, r10 + cmp r6, 0x3 + ble _0803FA78 +_0803FB56: + add sp, 0x8 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end DrawSpindaSpots + + .if REVISION >= 1 + thumb_func_start sub_803FB68 +sub_803FB68: @ 803FB68 + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + sub sp, 0x4 + adds r5, r0, 0 + lsls r1, 16 + lsrs r7, r1, 16 + lsls r2, 16 + lsrs r2, 16 + mov r8, r2 + ldr r0, =gStringVar1 + mov r9, r0 + adds r0, r5, 0 + movs r1, 0x2 + mov r2, r9 + bl GetMonData + mov r4, sp + adds r0, r5, 0 + movs r1, 0x3 + mov r2, sp + bl GetMonData + strb r0, [r4, 0x0] + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x2 + bne _0803FBC4 + movs r6, 0xB + adds r0, r7, 0 + muls r0, r6 + ldr r4, =gSpeciesNames + adds r0, r4 + mov r1, r9 + bl StringCompareWithoutExtCtrlCodes + cmp r0, 0 + bne _0803FBC4 + mov r2, r8 + muls r2, r6 + adds r2, r4 + adds r0, r5, 0 + movs r1, 0x2 + bl SetMonData +_0803FBC4: + add sp, 0x4 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + .pool + thumb_func_end sub_803FB68 + .else + thumb_func_start sub_803FB68 +sub_803FB68: @ 803FB68 + push {r4-r7,lr} + mov r7, r8 + push {r7} + adds r7, r0, 0 + adds r4, r1, 0 + lsls r4, 16 + lsrs r4, 16 + lsls r2, 16 + lsrs r2, 16 + mov r8, r2 + ldr r5, _0803FBB4 @ =gStringVar1 + movs r1, 0x2 + adds r2, r5, 0 + bl GetMonData + movs r6, 0xB + adds r0, r4, 0 + muls r0, r6 + ldr r4, _0803FBB8 @ =gSpeciesNames + adds r0, r4 + adds r1, r5, 0 + bl StringCompareWithoutExtCtrlCodes + cmp r0, 0 + bne _0803FBA8 + mov r2, r8 + muls r2, r6 + adds r2, r4 + adds r0, r7, 0 + movs r1, 0x2 + bl SetMonData +_0803FBA8: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0803FBB4: .4byte gStringVar1 +_0803FBB8: .4byte gSpeciesNames + thumb_func_end sub_803FB68 + .endif + + thumb_func_start sub_803FBBC +sub_803FBBC: @ 803FBBC + push {r4,r5,lr} + movs r5, 0 + ldr r4, _0803FBE4 @ =gLinkPlayers + bl GetMultiplayerId + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 3 + subs r1, r0 + lsls r1, 2 + adds r1, r4 + ldrh r0, [r1, 0x18] + cmp r0, 0x2 + bgt _0803FBE8 + cmp r0, 0x1 + bge _0803FBF0 + cmp r0, 0 + beq _0803FBEC + b _0803FBF2 + .align 2, 0 +_0803FBE4: .4byte gLinkPlayers +_0803FBE8: + cmp r0, 0x3 + bne _0803FBF2 +_0803FBEC: + movs r5, 0 + b _0803FBF2 +_0803FBF0: + movs r5, 0x1 +_0803FBF2: + adds r0, r5, 0 + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_803FBBC + + thumb_func_start sub_803FBFC +sub_803FBFC: @ 803FBFC + push {lr} + lsls r0, 24 + lsrs r0, 24 + movs r3, 0 + ldr r2, _0803FC20 @ =gLinkPlayers + lsls r1, r0, 3 + subs r1, r0 + lsls r1, 2 + adds r1, r2 + ldrh r0, [r1, 0x18] + cmp r0, 0x2 + bgt _0803FC24 + cmp r0, 0x1 + bge _0803FC2C + cmp r0, 0 + beq _0803FC28 + b _0803FC2E + .align 2, 0 +_0803FC20: .4byte gLinkPlayers +_0803FC24: + cmp r0, 0x3 + bne _0803FC2E +_0803FC28: + movs r3, 0 + b _0803FC2E +_0803FC2C: + movs r3, 0x1 +_0803FC2E: + adds r0, r3, 0 + pop {r1} + bx r1 + thumb_func_end sub_803FBFC + + thumb_func_start sub_803FC34 +sub_803FC34: @ 803FC34 + push {lr} + lsls r0, 16 + lsrs r3, r0, 16 + movs r2, 0 + ldr r1, _0803FC40 @ =gLinkPlayers + b _0803FC4C + .align 2, 0 +_0803FC40: .4byte gLinkPlayers +_0803FC44: + adds r1, 0x1C + adds r2, 0x1 + cmp r2, 0x3 + bgt _0803FC52 +_0803FC4C: + ldrh r0, [r1, 0x18] + cmp r0, r3 + bne _0803FC44 +_0803FC52: + adds r0, r2, 0 + pop {r1} + bx r1 + thumb_func_end sub_803FC34 + + thumb_func_start sub_803FC58 +sub_803FC58: @ 803FC58 + lsls r0, 16 + lsrs r0, 16 + ldr r2, _0803FC70 @ =gTrainers + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + ldrb r1, [r1, 0x2] + movs r0, 0x7F + ands r0, r1 + bx lr + .align 2, 0 +_0803FC70: .4byte gTrainers + thumb_func_end sub_803FC58 + + thumb_func_start nature_stat_mod +nature_stat_mod: @ 803FC74 + push {r4,r5,lr} + lsls r0, 24 + lsrs r4, r0, 24 + lsls r1, 16 + lsrs r3, r1, 16 + lsls r2, 24 + lsrs r5, r2, 24 + movs r0, 0xFF + lsls r0, 24 + adds r2, r0 + lsrs r2, 24 + cmp r2, 0x4 + bls _0803FC92 + adds r0, r3, 0 + b _0803FCCE +_0803FC92: + ldr r0, _0803FCB4 @ =gNatureStatTable + lsls r1, r4, 2 + adds r1, r4 + subs r1, 0x1 + adds r1, r5, r1 + adds r1, r0 + ldrb r1, [r1] + lsls r1, 24 + asrs r1, 24 + movs r0, 0x1 + negs r0, r0 + cmp r1, r0 + beq _0803FCB8 + cmp r1, 0x1 + bne _0803FCCC + movs r0, 0x6E + b _0803FCBA + .align 2, 0 +_0803FCB4: .4byte gNatureStatTable +_0803FCB8: + movs r0, 0x5A +_0803FCBA: + muls r0, r3 + lsls r0, 16 + lsrs r0, 16 + movs r1, 0x64 + bl __udivsi3 + lsls r0, 16 + lsrs r0, 16 + b _0803FCCE +_0803FCCC: + adds r0, r3, 0 +_0803FCCE: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end nature_stat_mod + + thumb_func_start AdjustFriendship +AdjustFriendship: @ 803FCD4 + push {r4-r7,lr} + sub sp, 0x4 + adds r7, r0, 0 + lsls r1, 24 + lsrs r5, r1, 24 + movs r1, 0x41 + movs r2, 0 + bl GetMonData + lsls r0, 16 + lsrs r6, r0, 16 + adds r0, r7, 0 + movs r1, 0xC + movs r2, 0 + bl GetMonData + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0xAF + bne _0803FD34 + ldr r0, _0803FD14 @ =gMain + ldr r1, _0803FD18 @ =0x0000043d + adds r0, r1 + ldrb r1, [r0] + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _0803FD20 + ldr r0, _0803FD1C @ =gEnigmaBerries + ldrb r4, [r0, 0x7] + b _0803FD3C + .align 2, 0 +_0803FD14: .4byte gMain +_0803FD18: .4byte 0x0000043d +_0803FD1C: .4byte gEnigmaBerries +_0803FD20: + ldr r0, _0803FD2C @ =gSaveBlock1 + ldr r1, _0803FD30 @ =0x00003688 + adds r0, r1 + ldrb r4, [r0] + b _0803FD3C + .align 2, 0 +_0803FD2C: .4byte gSaveBlock1 +_0803FD30: .4byte 0x00003688 +_0803FD34: + bl ItemId_GetHoldEffect + lsls r0, 24 + lsrs r4, r0, 24 +_0803FD3C: + cmp r6, 0 + bne _0803FD42 + b _0803FE56 +_0803FD42: + movs r0, 0xCE + lsls r0, 1 + cmp r6, r0 + bne _0803FD4C + b _0803FE56 +_0803FD4C: + movs r6, 0 + adds r0, r7, 0 + movs r1, 0x20 + movs r2, 0 + bl GetMonData + lsls r0, 16 + lsrs r0, 16 + mov r1, sp + strh r0, [r1] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x63 + ble _0803FD6A + movs r6, 0x1 +_0803FD6A: + cmp r0, 0xC7 + ble _0803FD74 + adds r0, r6, 0x1 + lsls r0, 24 + lsrs r6, r0, 24 +_0803FD74: + cmp r5, 0x5 + bne _0803FD84 + bl Random + movs r1, 0x1 + ands r1, r0 + cmp r1, 0 + bne _0803FE56 +_0803FD84: + cmp r5, 0x3 + bne _0803FDB4 + ldr r0, _0803FE60 @ =gUnknown_020239F8 + ldrh r1, [r0] + movs r0, 0x8 + ands r0, r1 + cmp r0, 0 + beq _0803FE56 + ldr r2, _0803FE64 @ =gTrainers + ldr r0, _0803FE68 @ =gTrainerBattleOpponent + ldrh r1, [r0] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r0, r2 + ldrb r1, [r0, 0x1] + adds r0, r1, 0 + subs r0, 0x18 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + bls _0803FDB4 + cmp r1, 0x20 + bne _0803FE56 +_0803FDB4: + ldr r1, _0803FE6C @ =gUnknown_082082FE + lsls r0, r5, 1 + adds r0, r5 + adds r0, r6, r0 + adds r0, r1 + ldrb r2, [r0] + movs r1, 0 + ldrsb r1, [r0, r1] + cmp r1, 0 + ble _0803FDDA + cmp r4, 0x1B + bne _0803FDDA + movs r0, 0x96 + muls r0, r1 + movs r1, 0x64 + bl __divsi3 + lsls r0, 24 + lsrs r2, r0, 24 +_0803FDDA: + lsls r2, 24 + asrs r2, 24 + mov r0, sp + movs r1, 0 + ldrsh r0, [r0, r1] + adds r0, r2 + mov r1, sp + strh r0, [r1] + cmp r2, 0 + ble _0803FE2C + adds r0, r7, 0 + movs r1, 0x26 + movs r2, 0 + bl GetMonData + cmp r0, 0xB + bne _0803FE08 + mov r0, sp + movs r1, 0 + ldrsh r0, [r0, r1] + adds r0, 0x1 + mov r1, sp + strh r0, [r1] +_0803FE08: + adds r0, r7, 0 + movs r1, 0x23 + movs r2, 0 + bl GetMonData + adds r4, r0, 0 + bl sav1_map_get_name + lsls r0, 24 + lsrs r0, 24 + cmp r4, r0 + bne _0803FE2C + mov r0, sp + movs r1, 0 + ldrsh r0, [r0, r1] + adds r0, 0x1 + mov r1, sp + strh r0, [r1] +_0803FE2C: + mov r0, sp + movs r1, 0 + ldrsh r0, [r0, r1] + cmp r0, 0 + bge _0803FE3C + movs r1, 0 + mov r0, sp + strh r1, [r0] +_0803FE3C: + mov r0, sp + movs r1, 0 + ldrsh r0, [r0, r1] + cmp r0, 0xFF + ble _0803FE4C + movs r1, 0xFF + mov r0, sp + strh r1, [r0] +_0803FE4C: + adds r0, r7, 0 + movs r1, 0x20 + mov r2, sp + bl SetMonData +_0803FE56: + add sp, 0x4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0803FE60: .4byte gUnknown_020239F8 +_0803FE64: .4byte gTrainers +_0803FE68: .4byte gTrainerBattleOpponent +_0803FE6C: .4byte gUnknown_082082FE + thumb_func_end AdjustFriendship + + thumb_func_start MonGainEVs +MonGainEVs: @ 803FE70 + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x8 + mov r8, r0 + lsls r1, 16 + lsrs r5, r1, 16 + movs r4, 0 + movs r7, 0 + movs r6, 0 +_0803FE84: + adds r1, r6, 0 + adds r1, 0x1A + mov r0, r8 + movs r2, 0 + bl GetMonData + mov r2, sp + adds r1, r2, r6 + strb r0, [r1] + ldrb r0, [r1] + adds r0, r7, r0 + lsls r0, 16 + lsrs r7, r0, 16 + adds r6, 0x1 + cmp r6, 0x5 + ble _0803FE84 + movs r6, 0 + b _08040006 +_0803FEA8: + mov r0, r8 + movs r1, 0 + bl CheckPartyHasHadPokerus + lsls r0, 24 + movs r2, 0x1 + cmp r0, 0 + beq _0803FEBA + movs r2, 0x2 +_0803FEBA: + cmp r6, 0x5 + bhi _0803FF5C + lsls r0, r6, 2 + ldr r1, _0803FEC8 @ =_0803FECC + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0803FEC8: .4byte _0803FECC + .align 2, 0 +_0803FECC: + .4byte _0803FEE4 + .4byte _0803FEF8 + .4byte _0803FF0C + .4byte _0803FF20 + .4byte _0803FF34 + .4byte _0803FF48 +_0803FEE4: + ldr r0, _0803FEF4 @ =gBaseStats + lsls r1, r5, 3 + subs r1, r5 + lsls r1, 2 + adds r1, r0 + ldrb r0, [r1, 0xA] + lsls r0, 30 + b _0803FF56 + .align 2, 0 +_0803FEF4: .4byte gBaseStats +_0803FEF8: + ldr r0, _0803FF08 @ =gBaseStats + lsls r1, r5, 3 + subs r1, r5 + lsls r1, 2 + adds r1, r0 + ldrb r0, [r1, 0xA] + b _0803FF54 + .align 2, 0 +_0803FF08: .4byte gBaseStats +_0803FF0C: + ldr r0, _0803FF1C @ =gBaseStats + lsls r1, r5, 3 + subs r1, r5 + lsls r1, 2 + adds r1, r0 + ldrb r0, [r1, 0xA] + lsls r0, 26 + b _0803FF56 + .align 2, 0 +_0803FF1C: .4byte gBaseStats +_0803FF20: + ldr r0, _0803FF30 @ =gBaseStats + lsls r1, r5, 3 + subs r1, r5 + lsls r1, 2 + adds r1, r0 + ldrb r0, [r1, 0xA] + lsrs r0, 6 + b _0803FF58 + .align 2, 0 +_0803FF30: .4byte gBaseStats +_0803FF34: + ldr r0, _0803FF44 @ =gBaseStats + lsls r1, r5, 3 + subs r1, r5 + lsls r1, 2 + adds r1, r0 + ldrb r0, [r1, 0xB] + lsls r0, 30 + b _0803FF56 + .align 2, 0 +_0803FF44: .4byte gBaseStats +_0803FF48: + ldr r0, _0803FF84 @ =gBaseStats + lsls r1, r5, 3 + subs r1, r5 + lsls r1, 2 + adds r1, r0 + ldrb r0, [r1, 0xB] +_0803FF54: + lsls r0, 28 +_0803FF56: + lsrs r0, 30 +_0803FF58: + adds r4, r0, 0 + muls r4, r2 +_0803FF5C: + mov r0, r8 + movs r1, 0xC + movs r2, 0 + bl GetMonData + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0xAF + bne _0803FFA8 + ldr r0, _0803FF88 @ =gMain + ldr r1, _0803FF8C @ =0x0000043d + adds r0, r1 + ldrb r1, [r0] + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _0803FF94 + ldr r0, _0803FF90 @ =gEnigmaBerries + ldrb r0, [r0, 0x7] + b _0803FFB0 + .align 2, 0 +_0803FF84: .4byte gBaseStats +_0803FF88: .4byte gMain +_0803FF8C: .4byte 0x0000043d +_0803FF90: .4byte gEnigmaBerries +_0803FF94: + ldr r0, _0803FFA0 @ =gSaveBlock1 + ldr r2, _0803FFA4 @ =0x00003688 + adds r0, r2 + ldrb r0, [r0] + b _0803FFB0 + .align 2, 0 +_0803FFA0: .4byte gSaveBlock1 +_0803FFA4: .4byte 0x00003688 +_0803FFA8: + bl ItemId_GetHoldEffect + lsls r0, 24 + lsrs r0, 24 +_0803FFB0: + cmp r0, 0x18 + bne _0803FFB8 + lsls r0, r4, 17 + lsrs r4, r0, 16 +_0803FFB8: + lsls r0, r4, 16 + asrs r2, r0, 16 + adds r1, r7, r2 + movs r0, 0xFF + lsls r0, 1 + cmp r1, r0 + ble _0803FFD0 + adds r0, r2, r0 + adds r1, r7, r4 + subs r0, r1 + lsls r0, 16 + lsrs r4, r0, 16 +_0803FFD0: + mov r0, sp + adds r2, r0, r6 + ldrb r3, [r2] + lsls r0, r4, 16 + asrs r1, r0, 16 + adds r0, r3, r1 + cmp r0, 0xFF + ble _0803FFEC + adds r0, r1, 0 + adds r0, 0xFF + adds r1, r3, r4 + subs r0, r1 + lsls r0, 16 + lsrs r4, r0, 16 +_0803FFEC: + adds r0, r3, r4 + strb r0, [r2] + adds r0, r7, r4 + lsls r0, 16 + lsrs r7, r0, 16 + adds r1, r6, 0 + adds r1, 0x1A + mov r0, r8 + bl SetMonData + adds r6, 0x1 + cmp r6, 0x5 + bgt _0804000E +_08040006: + ldr r0, _0804001C @ =0x000001fd + cmp r7, r0 + bhi _0804000E + b _0803FEA8 +_0804000E: + add sp, 0x8 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0804001C: .4byte 0x000001fd + thumb_func_end MonGainEVs + + thumb_func_start GetMonEVCount +GetMonEVCount: @ 8040020 + push {r4-r6,lr} + adds r6, r0, 0 + movs r5, 0 + movs r4, 0 +_08040028: + adds r1, r4, 0 + adds r1, 0x1A + adds r0, r6, 0 + movs r2, 0 + bl GetMonData + adds r0, r5, r0 + lsls r0, 16 + lsrs r5, r0, 16 + adds r4, 0x1 + cmp r4, 0x5 + ble _08040028 + adds r0, r5, 0 + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end GetMonEVCount + + thumb_func_start RandomlyGivePartyPokerus +RandomlyGivePartyPokerus: @ 8040048 + push {r4-r6,lr} + sub sp, 0x4 + adds r6, r0, 0 + bl Random + lsls r0, 16 + lsrs r5, r0, 16 + movs r0, 0x80 + lsls r0, 7 + cmp r5, r0 + beq _0804006E + movs r0, 0x80 + lsls r0, 8 + cmp r5, r0 + beq _0804006E + movs r0, 0xC0 + lsls r0, 8 + cmp r5, r0 + bne _08040104 +_0804006E: + bl Random + lsls r0, 16 + lsrs r0, 16 + movs r1, 0x6 + bl __umodsi3 + lsls r0, 16 + lsrs r5, r0, 16 + movs r0, 0x64 + muls r0, r5 + adds r4, r6, r0 + adds r0, r4, 0 + movs r1, 0xB + movs r2, 0 + bl GetMonData + cmp r0, 0 + beq _0804006E + adds r0, r4, 0 + movs r1, 0x2D + movs r2, 0 + bl GetMonData + cmp r0, 0 + bne _0804006E + ldr r1, _0804010C @ =gBitTable + lsls r0, r5, 2 + adds r0, r1 + ldrb r1, [r0] + adds r0, r6, 0 + bl CheckPartyHasHadPokerus + lsls r0, 24 + cmp r0, 0 + bne _08040104 + mov r4, sp +_080400B8: + bl Random + lsls r0, 24 + lsrs r0, 24 + strb r0, [r4] + cmp r0, 0 + beq _080400B8 + movs r0, 0xF0 + mov r1, sp + ldrb r1, [r1] + ands r0, r1 + cmp r0, 0 + beq _080400DA + movs r0, 0x7 + ands r1, r0 + mov r0, sp + strb r1, [r0] +_080400DA: + mov r0, sp + ldrb r0, [r0] + lsls r1, r0, 4 + orrs r0, r1 + lsls r0, 24 + lsrs r0, 24 + mov r1, sp + strb r0, [r1] + movs r1, 0xF3 + ands r1, r0 + mov r0, sp + strb r1, [r0] + adds r1, 0x1 + strb r1, [r0] + movs r0, 0x64 + muls r0, r5 + adds r0, r6, r0 + movs r1, 0x22 + mov r2, sp + bl SetMonData +_08040104: + add sp, 0x4 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0804010C: .4byte gBitTable + thumb_func_end RandomlyGivePartyPokerus + + thumb_func_start CheckPartyPokerus +CheckPartyPokerus: @ 8040110 + push {r4-r7,lr} + sub sp, 0x4 + adds r7, r0, 0 + lsls r1, 24 + lsrs r4, r1, 24 + movs r3, 0 + movs r6, 0x1 + movs r5, 0 + cmp r4, 0 + beq _08040158 +_08040124: + movs r0, 0x1 + ands r0, r4 + cmp r0, 0 + beq _0804014C + movs r0, 0x64 + muls r0, r3 + adds r0, r7, r0 + movs r1, 0x22 + movs r2, 0 + str r3, [sp] + bl GetMonData + movs r1, 0xF + ands r1, r0 + ldr r3, [sp] + cmp r1, 0 + beq _0804014C + orrs r5, r6 + lsls r0, r5, 24 + lsrs r5, r0, 24 +_0804014C: + adds r3, 0x1 + lsls r6, 1 + lsrs r4, 1 + cmp r4, 0 + bne _08040124 + b _0804016C +_08040158: + adds r0, r7, 0 + movs r1, 0x22 + movs r2, 0 + bl GetMonData + movs r1, 0xF + ands r1, r0 + cmp r1, 0 + beq _0804016C + movs r5, 0x1 +_0804016C: + adds r0, r5, 0 + add sp, 0x4 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end CheckPartyPokerus + + thumb_func_start CheckPartyHasHadPokerus +CheckPartyHasHadPokerus: @ 8040178 + push {r4-r7,lr} + sub sp, 0x4 + adds r7, r0, 0 + lsls r1, 24 + lsrs r4, r1, 24 + movs r3, 0 + movs r6, 0x1 + movs r5, 0 + cmp r4, 0 + beq _080401BC +_0804018C: + movs r0, 0x1 + ands r0, r4 + cmp r0, 0 + beq _080401B0 + movs r0, 0x64 + muls r0, r3 + adds r0, r7, r0 + movs r1, 0x22 + movs r2, 0 + str r3, [sp] + bl GetMonData + ldr r3, [sp] + cmp r0, 0 + beq _080401B0 + orrs r5, r6 + lsls r0, r5, 24 + lsrs r5, r0, 24 +_080401B0: + adds r3, 0x1 + lsls r6, 1 + lsrs r4, 1 + cmp r4, 0 + bne _0804018C + b _080401CC +_080401BC: + adds r0, r7, 0 + movs r1, 0x22 + movs r2, 0 + bl GetMonData + cmp r0, 0 + beq _080401CC + movs r5, 0x1 +_080401CC: + adds r0, r5, 0 + add sp, 0x4 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end CheckPartyHasHadPokerus + + thumb_func_start UpdatePartyPokerusTime +UpdatePartyPokerusTime: @ 80401D8 + push {r4-r7,lr} + sub sp, 0x4 + lsls r0, 16 + lsrs r7, r0, 16 + movs r5, 0 + mov r6, sp +_080401E4: + movs r0, 0x64 + adds r1, r5, 0 + muls r1, r0 + ldr r0, _08040224 @ =gPlayerParty + adds r4, r1, r0 + adds r0, r4, 0 + movs r1, 0xB + movs r2, 0 + bl GetMonData + cmp r0, 0 + beq _0804023C + adds r0, r4, 0 + movs r1, 0x22 + movs r2, 0 + bl GetMonData + lsls r0, 24 + lsrs r0, 24 + strb r0, [r6] + movs r1, 0xF + adds r2, r0, 0 + ands r1, r2 + cmp r1, 0 + beq _0804023C + cmp r1, r7 + bcc _0804021E + cmp r7, 0x4 + bls _08040228 +_0804021E: + movs r0, 0xF0 + ands r0, r2 + b _0804022A + .align 2, 0 +_08040224: .4byte gPlayerParty +_08040228: + subs r0, r2, r7 +_0804022A: + strb r0, [r6] + movs r0, 0x64 + muls r0, r5 + ldr r1, _0804024C @ =gPlayerParty + adds r0, r1 + movs r1, 0x22 + mov r2, sp + bl SetMonData +_0804023C: + adds r5, 0x1 + cmp r5, 0x5 + ble _080401E4 + add sp, 0x4 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0804024C: .4byte gPlayerParty + thumb_func_end UpdatePartyPokerusTime + + thumb_func_start PartySpreadPokerus +PartySpreadPokerus: @ 8040250 + push {r4-r7,lr} + sub sp, 0x4 + adds r7, r0, 0 + bl Random + lsls r0, 16 + lsrs r0, 16 + movs r1, 0x3 + bl __umodsi3 + lsls r0, 16 + cmp r0, 0 + bne _080402F6 + movs r5, 0 +_0804026C: + movs r0, 0x64 + adds r6, r5, 0 + muls r6, r0 + adds r4, r7, r6 + adds r0, r4, 0 + movs r1, 0xB + movs r2, 0 + bl GetMonData + cmp r0, 0 + beq _080402F0 + adds r0, r4, 0 + movs r1, 0x22 + movs r2, 0 + bl GetMonData + lsls r0, 24 + lsrs r1, r0, 24 + mov r0, sp + strb r1, [r0] + cmp r1, 0 + beq _080402F0 + movs r0, 0xF + ands r0, r1 + cmp r0, 0 + beq _080402F0 + cmp r5, 0 + beq _080402C6 + adds r0, r6, 0 + subs r0, 0x64 + adds r4, r7, r0 + adds r0, r4, 0 + movs r1, 0x22 + movs r2, 0 + bl GetMonData + movs r1, 0xF0 + ands r1, r0 + cmp r1, 0 + bne _080402C6 + adds r0, r4, 0 + movs r1, 0x22 + mov r2, sp + bl SetMonData +_080402C6: + cmp r5, 0x5 + beq _080402F0 + movs r0, 0x64 + muls r0, r5 + adds r0, 0x64 + adds r4, r7, r0 + adds r0, r4, 0 + movs r1, 0x22 + movs r2, 0 + bl GetMonData + movs r1, 0xF0 + ands r1, r0 + cmp r1, 0 + bne _080402F0 + adds r0, r4, 0 + movs r1, 0x22 + mov r2, sp + bl SetMonData + adds r5, 0x1 +_080402F0: + adds r5, 0x1 + cmp r5, 0x5 + ble _0804026C +_080402F6: + add sp, 0x4 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end PartySpreadPokerus + + thumb_func_start TryIncrementMonLevel +TryIncrementMonLevel: @ 8040300 + push {r4-r6,lr} + sub sp, 0x4 + adds r6, r0, 0 + movs r1, 0xB + movs r2, 0 + bl GetMonData + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + adds r0, r6, 0 + movs r1, 0x38 + movs r2, 0 + bl GetMonData + adds r0, 0x1 + mov r1, sp + strb r0, [r1] + adds r0, r6, 0 + movs r1, 0x19 + movs r2, 0 + bl GetMonData + ldr r5, _08040358 @ =gExperienceTables + mov r1, sp + ldrb r2, [r1] + lsls r2, 2 + ldr r3, _0804035C @ =gBaseStats + lsls r1, r4, 3 + subs r1, r4 + lsls r1, 2 + adds r1, r3 + ldrb r3, [r1, 0x13] + movs r1, 0xCA + lsls r1, 1 + muls r1, r3 + adds r2, r1 + adds r2, r5 + ldr r1, [r2] + cmp r0, r1 + bhi _08040360 + movs r0, 0 + b _0804036C + .align 2, 0 +_08040358: .4byte gExperienceTables +_0804035C: .4byte gBaseStats +_08040360: + adds r0, r6, 0 + movs r1, 0x38 + mov r2, sp + bl SetMonData + movs r0, 0x1 +_0804036C: + add sp, 0x4 + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end TryIncrementMonLevel + + thumb_func_start CanMonLearnTMHM +CanMonLearnTMHM: @ 8040374 + push {r4,r5,lr} + lsls r1, 24 + lsrs r4, r1, 24 + adds r5, r4, 0 + movs r1, 0x41 + movs r2, 0 + bl GetMonData + lsls r0, 16 + lsrs r1, r0, 16 + adds r3, r1, 0 + movs r0, 0xCE + lsls r0, 1 + cmp r1, r0 + bne _08040396 + movs r0, 0 + b _080403C2 +_08040396: + cmp r4, 0x1F + bls _080403B4 + adds r0, r4, 0 + subs r0, 0x20 + movs r2, 0x1 + lsls r2, r0 + ldr r0, _080403B0 @ =gTMHMLearnsets + lsls r1, 3 + adds r0, 0x4 + adds r1, r0 + ldr r0, [r1] + ands r0, r2 + b _080403C2 + .align 2, 0 +_080403B0: .4byte gTMHMLearnsets +_080403B4: + movs r1, 0x1 + lsls r1, r5 + ldr r2, _080403C8 @ =gTMHMLearnsets + lsls r0, r3, 3 + adds r0, r2 + ldr r0, [r0] + ands r0, r1 +_080403C2: + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_080403C8: .4byte gTMHMLearnsets + thumb_func_end CanMonLearnTMHM + + thumb_func_start sub_80403CC +sub_80403CC: @ 80403CC + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x18 + adds r6, r0, 0 + str r1, [sp, 0x8] + movs r0, 0 + mov r10, r0 + adds r0, r6, 0 + movs r1, 0xB + movs r2, 0 + bl GetMonData + lsls r0, 16 + lsrs r7, r0, 16 + adds r0, r6, 0 + movs r1, 0x38 + movs r2, 0 + bl GetMonData + lsls r0, 24 + lsrs r0, 24 + str r0, [sp, 0xC] + movs r5, 0 + mov r4, sp +_08040402: + adds r1, r5, 0 + adds r1, 0xD + adds r0, r6, 0 + movs r2, 0 + bl GetMonData + strh r0, [r4] + adds r4, 0x2 + adds r5, 0x1 + cmp r5, 0x3 + ble _08040402 + movs r5, 0 + ldr r6, _08040510 @ =gLevelUpLearnsets + lsls r1, r7, 2 + adds r2, r1, r6 + ldr r3, [r2] + ldrh r0, [r3] + ldr r4, _08040514 @ =0x0000ffff + str r1, [sp, 0x14] + cmp r0, r4 + beq _080404FC + mov r9, r2 + str r3, [sp, 0x10] +_08040430: + lsls r2, r5, 1 + ldr r1, [sp, 0x10] + adds r0, r2, r1 + ldrh r3, [r0] + movs r0, 0xFE + lsls r0, 8 + ands r0, r3 + ldr r4, [sp, 0xC] + lsls r1, r4, 9 + adds r7, r2, 0 + adds r5, 0x1 + mov r12, r5 + cmp r0, r1 + bgt _080404E6 + movs r4, 0 + mov r0, sp + ldrh r1, [r0] + ldr r0, _08040518 @ =0x000001ff + ands r0, r3 + cmp r1, r0 + beq _08040480 + ldr r0, [sp, 0x14] + ldr r1, _08040510 @ =gLevelUpLearnsets + adds r6, r0, r1 + ldr r2, _08040518 @ =0x000001ff + mov r8, r2 + mov r3, sp + adds r5, r7, 0 +_08040468: + adds r3, 0x2 + adds r4, 0x1 + cmp r4, 0x3 + bgt _08040480 + ldr r0, [r6] + adds r0, r5, r0 + ldrh r1, [r0] + ldrh r2, [r3] + mov r0, r8 + ands r0, r1 + cmp r2, r0 + bne _08040468 +_08040480: + cmp r4, 0x4 + bne _080404E6 + movs r4, 0 + cmp r4, r10 + bge _080404C4 + mov r1, r9 + ldr r0, [r1] + adds r0, r7, r0 + ldrh r1, [r0] + ldr r0, [sp, 0x8] + ldrh r2, [r0] + ldr r0, _08040518 @ =0x000001ff + ands r0, r1 + cmp r2, r0 + beq _080404C4 + ldr r1, [sp, 0x14] + ldr r2, _08040510 @ =gLevelUpLearnsets + adds r6, r1, r2 + ldr r0, _08040518 @ =0x000001ff + mov r8, r0 + ldr r3, [sp, 0x8] + adds r5, r7, 0 +_080404AC: + adds r3, 0x2 + adds r4, 0x1 + cmp r4, r10 + bge _080404C4 + ldr r0, [r6] + adds r0, r5, r0 + ldrh r1, [r0] + ldrh r2, [r3] + mov r0, r8 + ands r0, r1 + cmp r2, r0 + bne _080404AC +_080404C4: + cmp r4, r10 + bne _080404E6 + mov r0, r10 + adds r0, 0x1 + lsls r0, 24 + lsrs r0, 24 + mov r10, r0 + lsls r2, r4, 1 + ldr r1, [sp, 0x8] + adds r2, r1 + mov r4, r9 + ldr r0, [r4] + adds r0, r7, r0 + ldrh r1, [r0] + ldr r0, _08040518 @ =0x000001ff + ands r0, r1 + strh r0, [r2] +_080404E6: + mov r5, r12 + cmp r5, 0x13 + bgt _080404FC + mov r1, r9 + ldr r0, [r1] + lsls r1, r5, 1 + adds r1, r0 + ldrh r0, [r1] + ldr r2, _08040514 @ =0x0000ffff + cmp r0, r2 + bne _08040430 +_080404FC: + mov r0, r10 + add sp, 0x18 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_08040510: .4byte gLevelUpLearnsets +_08040514: .4byte 0x0000ffff +_08040518: .4byte 0x000001ff + thumb_func_end sub_80403CC + + thumb_func_start sub_804051C +sub_804051C: @ 804051C + push {r4-r7,lr} + adds r6, r1, 0 + lsls r0, 16 + movs r5, 0 + movs r4, 0 + ldr r1, _08040568 @ =gLevelUpLearnsets + lsrs r0, 14 + adds r0, r1 + ldr r2, [r0] + ldrh r0, [r2] + ldr r1, _0804056C @ =0x0000ffff + cmp r0, r1 + beq _08040560 + ldr r0, _08040570 @ =0x000001ff + mov r12, r0 + adds r7, r1, 0 + adds r3, r2, 0 +_0804053E: + adds r1, r5, 0 + adds r0, r1, 0x1 + lsls r0, 24 + lsrs r5, r0, 24 + lsls r1, 1 + adds r1, r6 + ldrh r2, [r3] + mov r0, r12 + ands r0, r2 + strh r0, [r1] + adds r3, 0x2 + adds r4, 0x1 + cmp r4, 0x13 + bgt _08040560 + ldrh r0, [r3] + cmp r0, r7 + bne _0804053E +_08040560: + adds r0, r5, 0 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_08040568: .4byte gLevelUpLearnsets +_0804056C: .4byte 0x0000ffff +_08040570: .4byte 0x000001ff + thumb_func_end sub_804051C + + thumb_func_start sub_8040574 +sub_8040574: @ 8040574 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x3C + adds r6, r0, 0 + movs r0, 0 + mov r10, r0 + adds r0, r6, 0 + movs r1, 0x41 + movs r2, 0 + bl GetMonData + lsls r0, 16 + lsrs r4, r0, 16 + adds r0, r6, 0 + movs r1, 0x38 + movs r2, 0 + bl GetMonData + lsls r0, 24 + lsrs r0, 24 + str r0, [sp, 0x30] + movs r0, 0xCE + lsls r0, 1 + cmp r4, r0 + bne _080405B0 + movs r0, 0 + b _080406BA +_080405B0: + movs r5, 0 + lsls r4, 2 + str r4, [sp, 0x38] + mov r4, sp +_080405B8: + adds r1, r5, 0 + adds r1, 0xD + adds r0, r6, 0 + movs r2, 0 + bl GetMonData + strh r0, [r4] + adds r4, 0x2 + adds r5, 0x1 + cmp r5, 0x3 + ble _080405B8 + movs r5, 0 + ldr r3, _080406CC @ =gLevelUpLearnsets + ldr r2, [sp, 0x38] + adds r1, r2, r3 + ldr r0, [r1] + ldrh r0, [r0] + ldr r2, _080406D0 @ =0x0000ffff + cmp r0, r2 + beq _080406B8 + mov r9, r1 + mov r4, sp + adds r4, 0x8 + str r4, [sp, 0x34] +_080405E8: + mov r1, r9 + ldr r0, [r1] + lsls r2, r5, 1 + adds r0, r2, r0 + ldrh r3, [r0] + movs r0, 0xFE + lsls r0, 8 + ands r0, r3 + ldr r4, [sp, 0x30] + lsls r1, r4, 9 + adds r7, r2, 0 + adds r5, 0x1 + mov r12, r5 + cmp r0, r1 + bgt _080406A2 + movs r4, 0 + mov r0, sp + ldrh r1, [r0] + ldr r0, _080406D4 @ =0x000001ff + ands r0, r3 + cmp r1, r0 + beq _0804063A + ldr r0, [sp, 0x38] + ldr r1, _080406CC @ =gLevelUpLearnsets + adds r6, r0, r1 + ldr r2, _080406D4 @ =0x000001ff + mov r8, r2 + mov r3, sp + adds r5, r7, 0 +_08040622: + adds r3, 0x2 + adds r4, 0x1 + cmp r4, 0x3 + bgt _0804063A + ldr r0, [r6] + adds r0, r5, r0 + ldrh r1, [r0] + ldrh r2, [r3] + mov r0, r8 + ands r0, r1 + cmp r2, r0 + bne _08040622 +_0804063A: + cmp r4, 0x4 + bne _080406A2 + movs r4, 0 + cmp r4, r10 + bge _08040680 + mov r1, r9 + ldr r0, [r1] + adds r0, r7, r0 + ldrh r1, [r0] + ldr r0, [sp, 0x34] + ldrh r2, [r0] + ldr r0, _080406D4 @ =0x000001ff + ands r0, r1 + add r1, sp, 0x8 + cmp r2, r0 + beq _08040680 + ldr r2, [sp, 0x38] + ldr r0, _080406CC @ =gLevelUpLearnsets + adds r6, r2, r0 + ldr r2, _080406D4 @ =0x000001ff + mov r8, r2 + adds r3, r1, 0 + adds r5, r7, 0 +_08040668: + adds r3, 0x2 + adds r4, 0x1 + cmp r4, r10 + bge _08040680 + ldr r0, [r6] + adds r0, r5, r0 + ldrh r1, [r0] + ldrh r2, [r3] + mov r0, r8 + ands r0, r1 + cmp r2, r0 + bne _08040668 +_08040680: + cmp r4, r10 + bne _080406A2 + mov r0, r10 + adds r0, 0x1 + lsls r0, 24 + lsrs r0, 24 + mov r10, r0 + lsls r2, r4, 1 + ldr r4, [sp, 0x34] + adds r2, r4, r2 + mov r1, r9 + ldr r0, [r1] + adds r0, r7, r0 + ldrh r1, [r0] + ldr r0, _080406D4 @ =0x000001ff + ands r0, r1 + strh r0, [r2] +_080406A2: + mov r5, r12 + cmp r5, 0x13 + bgt _080406B8 + mov r2, r9 + ldr r0, [r2] + lsls r1, r5, 1 + adds r1, r0 + ldrh r0, [r1] + ldr r4, _080406D0 @ =0x0000ffff + cmp r0, r4 + bne _080405E8 +_080406B8: + mov r0, r10 +_080406BA: + add sp, 0x3C + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_080406CC: .4byte gLevelUpLearnsets +_080406D0: .4byte 0x0000ffff +_080406D4: .4byte 0x000001ff + thumb_func_end sub_8040574 + + thumb_func_start SpeciesToPokedexNum +SpeciesToPokedexNum: @ 80406D8 + push {r4,lr} + lsls r0, 16 + lsrs r4, r0, 16 + bl IsNationalPokedex + cmp r0, 0 + beq _080406F2 + adds r0, r4, 0 + bl SpeciesToNationalPokedexNum + lsls r0, 16 + lsrs r0, 16 + b _0804070A +_080406F2: + adds r0, r4, 0 + bl SpeciesToHoennPokedexNum + adds r4, r0, 0 + cmp r4, 0xCA + bls _08040708 + ldr r0, _08040704 @ =0x0000ffff + b _0804070A + .align 2, 0 +_08040704: .4byte 0x0000ffff +_08040708: + adds r0, r4, 0 +_0804070A: + pop {r4} + pop {r1} + bx r1 + thumb_func_end SpeciesToPokedexNum + + thumb_func_start sub_8040710 +sub_8040710: @ 8040710 + push {lr} + ldr r1, _08040724 @ =gUnknown_02024E84 + movs r2, 0 + adds r0, r1, 0x3 +_08040718: + strb r2, [r0] + subs r0, 0x1 + cmp r0, r1 + bge _08040718 + pop {r0} + bx r0 + .align 2, 0 +_08040724: .4byte gUnknown_02024E84 + thumb_func_end sub_8040710 + + thumb_func_start sub_8040728 +sub_8040728: @ 8040728 + push {lr} + ldr r0, _0804073C @ =gUnknown_020239F8 + ldrh r1, [r0] + movs r0, 0x80 + lsls r0, 5 + ands r0, r1 + cmp r0, 0 + beq _08040744 + ldr r0, _08040740 @ =0x000001cf + b _080408B2 + .align 2, 0 +_0804073C: .4byte gUnknown_020239F8 +_08040740: .4byte 0x000001cf +_08040744: + movs r0, 0x80 + lsls r0, 7 + ands r0, r1 + cmp r0, 0 + beq _08040754 + movs r0, 0xE7 + lsls r0, 1 + b _080408B2 +_08040754: + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _0804075E + b _080408A8 +_0804075E: + movs r0, 0x8 + ands r0, r1 + cmp r0, 0 + bne _08040768 + b _080408B0 +_08040768: + ldr r3, _0804078C @ =gTrainers + ldr r2, _08040790 @ =gTrainerBattleOpponent + ldrh r1, [r2] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r0, r3 + ldrb r0, [r0, 0x1] + subs r0, 0x2 + cmp r0, 0x31 + bls _08040780 + b _080408A8 +_08040780: + lsls r0, 2 + ldr r1, _08040794 @ =_08040798 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0804078C: .4byte gTrainers +_08040790: .4byte gTrainerBattleOpponent +_08040794: .4byte _08040798 + .align 2, 0 +_08040798: + .4byte _08040860 + .4byte _08040866 + .4byte _08040866 + .4byte _080408A8 + .4byte _080408A8 + .4byte _080408A8 + .4byte _080408A8 + .4byte _080408A8 + .4byte _080408A8 + .4byte _080408A8 + .4byte _080408A8 + .4byte _080408A8 + .4byte _080408A8 + .4byte _080408A8 + .4byte _080408A8 + .4byte _080408A8 + .4byte _080408A8 + .4byte _080408A8 + .4byte _080408A8 + .4byte _080408A8 + .4byte _080408A8 + .4byte _080408A8 + .4byte _080408A0 + .4byte _0804086C + .4byte _080408A8 + .4byte _080408A8 + .4byte _080408A8 + .4byte _080408A8 + .4byte _080408A8 + .4byte _080408A8 + .4byte _08040872 + .4byte _080408A8 + .4byte _080408A8 + .4byte _080408A8 + .4byte _080408A8 + .4byte _080408A8 + .4byte _080408A8 + .4byte _080408A8 + .4byte _080408A8 + .4byte _080408A8 + .4byte _080408A8 + .4byte _080408A8 + .4byte _080408A8 + .4byte _080408A8 + .4byte _0804087C + .4byte _080408A8 + .4byte _080408A8 + .4byte _08040860 + .4byte _08040866 + .4byte _08040866 +_08040860: + movs r0, 0xE9 + lsls r0, 1 + b _080408B2 +_08040866: + movs r0, 0xE5 + lsls r0, 1 + b _080408B2 +_0804086C: + movs r0, 0xE6 + lsls r0, 1 + b _080408B2 +_08040872: + ldr r0, _08040878 @ =0x000001cd + b _080408B2 + .align 2, 0 +_08040878: .4byte 0x000001cd +_0804087C: + ldrh r1, [r2] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + ldr r1, _08040898 @ =gTrainers + 0x4 + adds r0, r1 + ldr r1, _0804089C @ =gUnknown_08400E42 + bl StringCompare + cmp r0, 0 + beq _080408A8 + movs r0, 0xE8 + lsls r0, 1 + b _080408B2 + .align 2, 0 +_08040898: .4byte gTrainers + 0x4 +_0804089C: .4byte gUnknown_08400E42 +_080408A0: + ldr r0, _080408A4 @ =0x000001d1 + b _080408B2 + .align 2, 0 +_080408A4: .4byte 0x000001d1 +_080408A8: + ldr r0, _080408AC @ =0x000001cb + b _080408B2 + .align 2, 0 +_080408AC: .4byte 0x000001cb +_080408B0: + ldr r0, _080408B8 @ =0x000001c9 +_080408B2: + pop {r1} + bx r1 + .align 2, 0 +_080408B8: .4byte 0x000001c9 + thumb_func_end sub_8040728 + + thumb_func_start sub_80408BC +sub_80408BC: @ 80408BC + push {lr} + bl ResetMapMusic + bl m4aMPlayAllStop + bl sub_8040728 + lsls r0, 16 + lsrs r0, 16 + bl PlayBGM + pop {r0} + bx r0 + thumb_func_end sub_80408BC + + thumb_func_start current_map_music_set__default_for_battle +current_map_music_set__default_for_battle: @ 80408D8 + push {r4,lr} + lsls r0, 16 + lsrs r4, r0, 16 + bl ResetMapMusic + bl m4aMPlayAllStop + cmp r4, 0 + beq _080408F2 + adds r0, r4, 0 + bl PlayNewMapMusic + b _080408FE +_080408F2: + bl sub_8040728 + lsls r0, 16 + lsrs r0, 16 + bl PlayNewMapMusic +_080408FE: + pop {r4} + pop {r0} + bx r0 + thumb_func_end current_map_music_set__default_for_battle + + thumb_func_start pokemon_get_pal +pokemon_get_pal: @ 8040904 + push {r4-r6,lr} + adds r5, r0, 0 + movs r1, 0x41 + movs r2, 0 + bl GetMonData + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + adds r0, r5, 0 + movs r1, 0x1 + movs r2, 0 + bl GetMonData + adds r6, r0, 0 + adds r0, r5, 0 + movs r1, 0 + movs r2, 0 + bl GetMonData + adds r2, r0, 0 + adds r0, r4, 0 + adds r1, r6, 0 + bl species_and_otid_get_pal + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end pokemon_get_pal + + thumb_func_start species_and_otid_get_pal +species_and_otid_get_pal: @ 804093C + push {r4,r5,lr} + adds r3, r2, 0 + lsls r0, 16 + lsrs r4, r0, 16 + adds r5, r4, 0 + movs r0, 0xCE + lsls r0, 1 + cmp r4, r0 + bls _08040958 + ldr r0, _08040954 @ =gMonPaletteTable + ldr r0, [r0] + b _08040984 + .align 2, 0 +_08040954: .4byte gMonPaletteTable +_08040958: + lsrs r0, r1, 16 + ldr r2, _08040974 @ =0x0000ffff + ands r1, r2 + eors r0, r1 + lsrs r1, r3, 16 + eors r0, r1 + ands r3, r2 + eors r0, r3 + cmp r0, 0x7 + bls _0804097C + ldr r0, _08040978 @ =gMonPaletteTable + lsls r1, r4, 3 + b _08040980 + .align 2, 0 +_08040974: .4byte 0x0000ffff +_08040978: .4byte gMonPaletteTable +_0804097C: + ldr r0, _0804098C @ =gMonShinyPaletteTable + lsls r1, r5, 3 +_08040980: + adds r1, r0 + ldr r0, [r1] +_08040984: + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_0804098C: .4byte gMonShinyPaletteTable + thumb_func_end species_and_otid_get_pal + + thumb_func_start sub_8040990 +sub_8040990: @ 8040990 + push {r4-r6,lr} + adds r5, r0, 0 + movs r1, 0x41 + movs r2, 0 + bl GetMonData + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + adds r0, r5, 0 + movs r1, 0x1 + movs r2, 0 + bl GetMonData + adds r6, r0, 0 + adds r0, r5, 0 + movs r1, 0 + movs r2, 0 + bl GetMonData + adds r2, r0, 0 + adds r0, r4, 0 + adds r1, r6, 0 + bl sub_80409C8 + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_8040990 + + thumb_func_start sub_80409C8 +sub_80409C8: @ 80409C8 + push {r4,lr} + lsls r0, 16 + lsrs r4, r0, 16 + lsrs r0, r1, 16 + ldr r3, _080409E8 @ =0x0000ffff + ands r1, r3 + eors r0, r1 + lsrs r1, r2, 16 + eors r0, r1 + ands r2, r3 + eors r0, r2 + cmp r0, 0x7 + bls _080409F0 + lsls r0, r4, 3 + ldr r1, _080409EC @ =gMonPaletteTable + b _080409F4 + .align 2, 0 +_080409E8: .4byte 0x0000ffff +_080409EC: .4byte gMonPaletteTable +_080409F0: + lsls r0, r4, 3 + ldr r1, _080409FC @ =gMonShinyPaletteTable +_080409F4: + adds r0, r1 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_080409FC: .4byte gMonShinyPaletteTable + thumb_func_end sub_80409C8 + + thumb_func_start sub_8040A00 +sub_8040A00: @ 8040A00 + push {r4,lr} + lsls r0, 16 + lsrs r3, r0, 16 + ldr r2, _08040A24 @ =gUnknown_0820831A + ldrh r0, [r2] + ldr r1, _08040A28 @ =0x0000ffff + cmp r0, r1 + beq _08040A32 + adds r4, r1, 0 + adds r1, r2, 0 +_08040A14: + ldrh r0, [r2] + adds r1, 0x2 + adds r2, 0x2 + cmp r0, r3 + bne _08040A2C + movs r0, 0x1 + b _08040A34 + .align 2, 0 +_08040A24: .4byte gUnknown_0820831A +_08040A28: .4byte 0x0000ffff +_08040A2C: + ldrh r0, [r1] + cmp r0, r4 + bne _08040A14 +_08040A32: + movs r0, 0 +_08040A34: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_8040A00 + + thumb_func_start sub_8040A3C +sub_8040A3C: @ 8040A3C + lsls r0, 16 + lsrs r0, 16 + ldr r2, _08040A50 @ =gBaseStats + lsls r1, r0, 3 + subs r1, r0 + lsls r1, 2 + adds r1, r2 + ldrb r0, [r1, 0x19] + lsrs r0, 7 + bx lr + .align 2, 0 +_08040A50: .4byte gBaseStats + thumb_func_end sub_8040A3C + + thumb_func_start sub_8040A54 +sub_8040A54: @ 8040A54 + push {r4,lr} + lsls r4, r1, 24 + lsrs r4, 24 + bl GetNature + lsls r0, 24 + lsrs r0, 24 + ldr r2, _08040A78 @ =gUnknown_083F7E28 + lsls r1, r0, 2 + adds r1, r0 + adds r1, r4 + adds r1, r2 + movs r0, 0 + ldrsb r0, [r1, r0] + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_08040A78: .4byte gUnknown_083F7E28 + thumb_func_end sub_8040A54 + + thumb_func_start sub_8040A7C +sub_8040A7C: @ 8040A7C + push {r4,lr} + lsls r4, r1, 24 + lsrs r4, 24 + bl GetNatureFromPersonality + lsls r0, 24 + lsrs r0, 24 + ldr r2, _08040AA0 @ =gUnknown_083F7E28 + lsls r1, r0, 2 + adds r1, r0 + adds r1, r4 + adds r1, r2 + movs r0, 0 + ldrsb r0, [r1, r0] + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_08040AA0: .4byte gUnknown_083F7E28 + thumb_func_end sub_8040A7C + + thumb_func_start sub_8040AA4 +sub_8040AA4: @ 8040AA4 + push {r4,lr} + sub sp, 0x8 + adds r4, r0, 0 + movs r1, 0x7 + mov r2, sp + bl GetMonData + adds r0, r4, 0 + movs r1, 0x1 + movs r2, 0 + bl GetMonData + mov r1, sp + bl sub_8040AD0 + lsls r0, 24 + lsrs r0, 24 + add sp, 0x8 + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_8040AA4 + + thumb_func_start sub_8040AD0 +sub_8040AD0: @ 8040AD0 + push {r4,r5,lr} + adds r5, r1, 0 + ldr r3, _08040B10 @ =gSaveBlock2 + ldrb r2, [r3, 0xA] + ldrb r1, [r3, 0xB] + lsls r1, 8 + orrs r2, r1 + ldrb r1, [r3, 0xC] + lsls r1, 16 + orrs r2, r1 + ldrb r1, [r3, 0xD] + lsls r1, 24 + orrs r2, r1 + cmp r0, r2 + bne _08040B14 + movs r4, 0 + ldrb r0, [r5] + cmp r0, 0xFF + beq _08040B0C + adds r2, r5, 0 +_08040AF8: + adds r1, r4, r3 + ldrb r0, [r2] + ldrb r1, [r1] + cmp r0, r1 + bne _08040B14 + adds r2, 0x1 + adds r4, 0x1 + ldrb r0, [r2] + cmp r0, 0xFF + bne _08040AF8 +_08040B0C: + movs r0, 0 + b _08040B16 + .align 2, 0 +_08040B10: .4byte gSaveBlock2 +_08040B14: + movs r0, 0x1 +_08040B16: + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_8040AD0 + + thumb_func_start sub_8040B1C +sub_8040B1C: @ 8040B1C + push {lr} + bl pokemon_restore_pp + pop {r0} + bx r0 + thumb_func_end sub_8040B1C + + thumb_func_start pokemon_restore_pp +pokemon_restore_pp: @ 8040B28 + push {r4-r6,lr} + sub sp, 0x4 + adds r5, r0, 0 + movs r6, 0 +_08040B30: + adds r4, r6, 0 + adds r4, 0xD + adds r0, r5, 0 + adds r1, r4, 0 + movs r2, 0 + bl GetBoxMonData + cmp r0, 0 + beq _08040B7C + adds r0, r5, 0 + adds r1, r4, 0 + movs r2, 0 + bl GetBoxMonData + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + adds r0, r5, 0 + movs r1, 0x15 + movs r2, 0 + bl GetBoxMonData + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + lsls r2, r6, 24 + lsrs r2, 24 + adds r0, r4, 0 + bl CalculatePPWithBonus + mov r1, sp + strb r0, [r1] + adds r1, r6, 0 + adds r1, 0x11 + adds r0, r5, 0 + mov r2, sp + bl SetBoxMonData +_08040B7C: + adds r6, 0x1 + cmp r6, 0x3 + ble _08040B30 + add sp, 0x4 + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end pokemon_restore_pp + + thumb_func_start sub_8040B8C +sub_8040B8C: @ 8040B8C + push {r4,r5,lr} + ldr r1, _08040BCC @ =byte_2024C06 + ldr r2, _08040BD0 @ =0x02000000 + ldr r3, _08040BD4 @ =0x000160c0 + adds r0, r2, r3 + ldrb r0, [r0] + strb r0, [r1] + ldr r5, _08040BD8 @ =gUnknown_030041C0 + movs r0, 0xFD + strb r0, [r5] + movs r0, 0x4 + strb r0, [r5, 0x1] + ldr r0, _08040BDC @ =0x00016054 + adds r4, r2, r0 + ldrb r0, [r4] + strb r0, [r5, 0x2] + movs r0, 0xFF + strb r0, [r5, 0x4] + ldrb r0, [r4] + bl battle_side_get_owner + lsls r0, 24 + cmp r0, 0 + bne _08040BE4 + ldr r1, _08040BE0 @ =gUnknown_02024A6A + ldrb r0, [r4] + lsls r0, 1 + adds r0, r1 + ldrb r0, [r0] + bl pokemon_order_func + b _08040BEE + .align 2, 0 +_08040BCC: .4byte byte_2024C06 +_08040BD0: .4byte 0x02000000 +_08040BD4: .4byte 0x000160c0 +_08040BD8: .4byte gUnknown_030041C0 +_08040BDC: .4byte 0x00016054 +_08040BE0: .4byte gUnknown_02024A6A +_08040BE4: + ldr r0, _08040C24 @ =gUnknown_02024A6A + ldrb r1, [r4] + lsls r1, 1 + adds r1, r0 + ldrh r0, [r1] +_08040BEE: + strb r0, [r5, 0x3] + ldr r4, _08040C28 @ =gUnknown_03004290 + movs r0, 0xFD + strb r0, [r4] + movs r0, 0x4 + strb r0, [r4, 0x1] + ldr r1, _08040C2C @ =gUnknown_02024E6C + ldrb r0, [r1] + strb r0, [r4, 0x2] + ldr r2, _08040C24 @ =gUnknown_02024A6A + ldrb r0, [r1] + lsls r0, 1 + adds r0, r2 + ldrb r0, [r0] + bl pokemon_order_func + strb r0, [r4, 0x3] + movs r0, 0xFF + strb r0, [r4, 0x4] + ldr r0, _08040C30 @ =gUnknown_083FFCCA + ldr r1, _08040C34 @ =gStringVar4 + bl sub_8120FFC + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_08040C24: .4byte gUnknown_02024A6A +_08040C28: .4byte gUnknown_03004290 +_08040C2C: .4byte gUnknown_02024E6C +_08040C30: .4byte gUnknown_083FFCCA +_08040C34: .4byte gStringVar4 + thumb_func_end sub_8040B8C + + thumb_func_start sub_8040C38 +sub_8040C38: @ 8040C38 + push {r4,r5,lr} + ldr r0, _08040C90 @ =gUnknown_020239F8 + ldrh r1, [r0] + ldr r0, _08040C94 @ =0x00002008 + ands r0, r1 + cmp r0, 0 + bne _08040CAC + bl Random + lsls r0, 16 + lsrs r0, 16 + movs r1, 0x64 + bl __umodsi3 + lsls r0, 16 + lsrs r5, r0, 16 + ldr r4, _08040C98 @ =gEnemyParty + adds r0, r4, 0 + movs r1, 0xB + movs r2, 0 + bl GetMonData + lsls r0, 16 + lsrs r0, 16 + ldr r2, _08040C9C @ =gBaseStats + lsls r1, r0, 3 + subs r1, r0 + lsls r3, r1, 2 + adds r1, r3, r2 + ldrh r0, [r1, 0xC] + ldrh r1, [r1, 0xE] + cmp r0, r1 + beq _08040C82 + cmp r5, 0x2C + bls _08040CAC + cmp r5, 0x5E + bhi _08040CA0 +_08040C82: + adds r2, 0xC + adds r2, r3, r2 + adds r0, r4, 0 + movs r1, 0xC + bl SetMonData + b _08040CAC + .align 2, 0 +_08040C90: .4byte gUnknown_020239F8 +_08040C94: .4byte 0x00002008 +_08040C98: .4byte gEnemyParty +_08040C9C: .4byte gBaseStats +_08040CA0: + adds r2, 0xE + adds r2, r3, r2 + adds r0, r4, 0 + movs r1, 0xC + bl SetMonData +_08040CAC: + pop {r4,r5} + pop {r0} + bx r0 + thumb_func_end sub_8040C38 + + thumb_func_start sub_8040CB4 +sub_8040CB4: @ 8040CB4 + push {r4,r5,lr} + adds r4, r0, 0 + movs r1, 0x1 + movs r2, 0 + bl GetMonData + adds r5, r0, 0 + adds r0, r4, 0 + movs r1, 0 + movs r2, 0 + bl GetMonData + adds r1, r0, 0 + adds r0, r5, 0 + bl sub_8040CE0 + lsls r0, 24 + lsrs r0, 24 + pop {r4,r5} + pop {r1} + bx r1 + thumb_func_end sub_8040CB4 + + thumb_func_start sub_8040CE0 +sub_8040CE0: @ 8040CE0 + push {r4,lr} + movs r4, 0 + lsrs r2, r0, 16 + ldr r3, _08040D04 @ =0x0000ffff + ands r0, r3 + eors r2, r0 + lsrs r0, r1, 16 + eors r2, r0 + ands r1, r3 + eors r2, r1 + cmp r2, 0x7 + bhi _08040CFA + movs r4, 0x1 +_08040CFA: + adds r0, r4, 0 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_08040D04: .4byte 0x0000ffff + thumb_func_end sub_8040CE0 + + thumb_func_start sub_8040D08 +sub_8040D08: @ 8040D08 + push {r4,lr} + bl GetMultiplayerId + lsls r0, 24 + lsrs r0, 24 + ldr r4, _08040D38 @ =gLinkPlayers + lsls r1, r0, 3 + subs r1, r0 + lsls r1, 2 + adds r1, r4 + ldrh r1, [r1, 0x18] + movs r0, 0x2 + eors r0, r1 + bl sub_803FC34 + adds r1, r0, 0 + lsls r0, r1, 3 + subs r0, r1 + lsls r0, 2 + adds r4, 0x8 + adds r0, r4 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_08040D38: .4byte gLinkPlayers + thumb_func_end sub_8040D08 + + thumb_func_start sub_8040D3C +sub_8040D3C: @ 8040D3C + push {r4,lr} + adds r4, r1, 0 + lsls r0, 16 + lsrs r1, r0, 16 + adds r0, r1, 0 + lsls r2, 24 + lsrs r2, 24 + movs r3, 0 + cmp r1, 0x20 + beq _08040D54 + cmp r1, 0x1D + bne _08040D7E +_08040D54: + cmp r2, 0x2 + bne _08040D68 + movs r0, 0xB + muls r1, r0 + ldr r0, _08040D64 @ =gSpeciesNames + adds r1, r0 + b _08040D70 + .align 2, 0 +_08040D64: .4byte gSpeciesNames +_08040D68: + ldr r1, _08040D88 @ =gUnknown_08208337 + cmp r0, 0x20 + bne _08040D70 + subs r1, 0xB +_08040D70: + adds r0, r4, 0 + bl StringCompareWithoutExtCtrlCodes + movs r3, 0 + cmp r0, 0 + bne _08040D7E + movs r3, 0x1 +_08040D7E: + adds r0, r3, 0 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_08040D88: .4byte gUnknown_08208337 + thumb_func_end sub_8040D3C + + thumb_func_start sub_8040D8C +sub_8040D8C: @ 8040D8C + push {lr} + lsls r0, 16 + lsrs r3, r0, 16 + movs r2, 0x2 + ldrb r0, [r1] + cmp r0, 0xFC + bne _08040DA2 + ldrb r0, [r1, 0x1] + cmp r0, 0x15 + bne _08040DA2 + movs r2, 0x1 +_08040DA2: + adds r0, r3, 0 + bl sub_8040D3C + pop {r1} + bx r1 + thumb_func_end sub_8040D8C + + thumb_func_start unref_sub_8040DAC +unref_sub_8040DAC: @ 8040DAC + push {r4-r6,lr} + sub sp, 0xC + adds r6, r0, 0 + movs r1, 0xB + movs r2, 0 + bl GetMonData + adds r5, r0, 0 + lsls r5, 16 + lsrs r5, 16 + adds r0, r6, 0 + movs r1, 0x3 + movs r2, 0 + bl GetMonData + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + adds r0, r6, 0 + movs r1, 0x2 + mov r2, sp + bl GetMonData + adds r0, r5, 0 + mov r1, sp + adds r2, r4, 0 + bl sub_8040D3C + add sp, 0xC + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end unref_sub_8040DAC + + .align 2, 0 @ Don't pad with nop. diff --git a/asm/pokemon_item_effect.s b/asm/pokemon_item_effect.s new file mode 100644 index 000000000..a8a0ce89d --- /dev/null +++ b/asm/pokemon_item_effect.s @@ -0,0 +1,1970 @@ + .include "constants/gba_constants.inc" + .include "constants/species_constants.inc" + .include "asm/macros.inc" + + .syntax unified + + .text + + thumb_func_start ExecuteTableBasedItemEffect_ +ExecuteTableBasedItemEffect_: @ 803E18C + push {r4,lr} + sub sp, 0x4 + lsls r1, 16 + lsrs r1, 16 + lsls r2, 24 + lsrs r2, 24 + lsls r3, 24 + lsrs r3, 24 + movs r4, 0 + str r4, [sp] + bl sub_803E1B0 + lsls r0, 24 + lsrs r0, 24 + add sp, 0x4 + pop {r4} + pop {r1} + bx r1 + thumb_func_end ExecuteTableBasedItemEffect_ + + thumb_func_start sub_803E1B0 +sub_803E1B0: @ 803E1B0 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x3C + mov r8, r0 + ldr r0, [sp, 0x5C] + lsls r1, 16 + lsrs r1, 16 + str r1, [sp, 0x8] + lsls r2, 24 + lsrs r2, 24 + str r2, [sp, 0xC] + lsls r3, 24 + lsrs r3, 24 + str r3, [sp, 0x10] + lsls r0, 24 + lsrs r0, 24 + str r0, [sp, 0x14] + movs r0, 0x1 + str r0, [sp, 0x1C] + movs r1, 0x6 + str r1, [sp, 0x24] + movs r2, 0 + str r2, [sp, 0x2C] + movs r3, 0x4 + str r3, [sp, 0x34] + mov r0, r8 + movs r1, 0xC + bl GetMonData + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0xAF + bne _0803E240 + ldr r0, _0803E21C @ =gMain + ldr r4, _0803E220 @ =0x0000043d + adds r0, r4 + ldrb r1, [r0] + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _0803E22C + ldr r2, _0803E224 @ =gEnigmaBerries + ldr r0, _0803E228 @ =gUnknown_02024E6C + ldrb r1, [r0] + lsls r0, r1, 3 + subs r0, r1 + lsls r0, 2 + adds r0, r2 + ldrb r0, [r0, 0x7] + b _0803E248 + .align 2, 0 +_0803E21C: .4byte gMain +_0803E220: .4byte 0x0000043d +_0803E224: .4byte gEnigmaBerries +_0803E228: .4byte gUnknown_02024E6C +_0803E22C: + ldr r0, _0803E238 @ =gSaveBlock1 + ldr r5, _0803E23C @ =0x00003688 + adds r0, r5 + ldrb r0, [r0] + b _0803E248 + .align 2, 0 +_0803E238: .4byte gSaveBlock1 +_0803E23C: .4byte 0x00003688 +_0803E240: + bl ItemId_GetHoldEffect + lsls r0, 24 + lsrs r0, 24 +_0803E248: + str r0, [sp, 0x30] + ldr r1, _0803E2A4 @ =gUnknown_02024C0B + ldr r0, _0803E2A8 @ =gUnknown_02024E6C + ldrb r2, [r0] + strb r2, [r1] + ldr r0, _0803E2AC @ =gMain + ldr r1, _0803E2B0 @ =0x0000043d + adds r0, r1 + ldrb r1, [r0] + movs r0, 0x2 + ands r0, r1 + lsls r0, 24 + lsrs r1, r0, 24 + cmp r1, 0 + beq _0803E2E8 + ldr r0, _0803E2B4 @ =gUnknown_02024A60 + strb r2, [r0] + ldrb r0, [r0] + bl battle_side_get_owner + lsls r0, 24 + lsrs r0, 24 + negs r1, r0 + orrs r1, r0 + lsrs r1, 31 + str r1, [sp, 0x18] + ldr r0, _0803E2B8 @ =gUnknown_02024A68 + ldr r4, [sp, 0x8] + subs r4, 0xD + ldrb r0, [r0] + cmp r1, r0 + bge _0803E2F4 + ldr r2, _0803E2BC @ =gUnknown_02024A6A + lsls r0, r1, 1 + adds r0, r2 + ldrh r3, [r0] + ldr r5, [sp, 0xC] + lsls r0, r5, 16 + lsrs r1, r0, 16 + adds r5, r0, 0 + cmp r3, r1 + bne _0803E2C0 + ldr r0, [sp, 0x18] + str r0, [sp, 0x34] + b _0803E2F4 + .align 2, 0 +_0803E2A4: .4byte gUnknown_02024C0B +_0803E2A8: .4byte gUnknown_02024E6C +_0803E2AC: .4byte gMain +_0803E2B0: .4byte 0x0000043d +_0803E2B4: .4byte gUnknown_02024A60 +_0803E2B8: .4byte gUnknown_02024A68 +_0803E2BC: .4byte gUnknown_02024A6A +_0803E2C0: + ldr r1, [sp, 0x18] + adds r1, 0x2 + str r1, [sp, 0x18] + ldr r0, _0803E2E4 @ =gUnknown_02024A68 + ldrb r0, [r0] + cmp r1, r0 + bge _0803E2F4 + lsls r0, r1, 1 + adds r0, r2 + ldrh r1, [r0] + lsrs r0, r5, 16 + cmp r1, r0 + bne _0803E2C0 + ldr r2, [sp, 0x18] + lsls r0, r2, 24 + lsrs r0, 24 + str r0, [sp, 0x34] + b _0803E2F4 + .align 2, 0 +_0803E2E4: .4byte gUnknown_02024A68 +_0803E2E8: + ldr r0, _0803E310 @ =gUnknown_02024A60 + strb r1, [r0] + movs r3, 0x4 + str r3, [sp, 0x34] + ldr r4, [sp, 0x8] + subs r4, 0xD +_0803E2F4: + lsls r0, r4, 16 + lsrs r0, 16 + cmp r0, 0xA5 + bhi _0803E36C + ldr r1, _0803E314 @ =gItemEffectTable + lsls r0, r4, 2 + adds r0, r1 + ldr r0, [r0] + cmp r0, 0 + bne _0803E318 + ldr r4, [sp, 0x8] + cmp r4, 0xAF + beq _0803E31E + b _0803E36C + .align 2, 0 +_0803E310: .4byte gUnknown_02024A60 +_0803E314: .4byte gItemEffectTable +_0803E318: + ldr r5, [sp, 0x8] + cmp r5, 0xAF + bne _0803E372 +_0803E31E: + ldr r0, _0803E340 @ =gMain + ldr r1, _0803E344 @ =0x0000043d + adds r0, r1 + ldrb r1, [r0] + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _0803E350 + ldr r0, _0803E348 @ =gUnknown_02024A60 + ldrb r1, [r0] + lsls r0, r1, 3 + subs r0, r1 + lsls r0, 2 + ldr r1, _0803E34C @ =gUnknown_02024DF8 + adds r0, r1 + b _0803E372 + .align 2, 0 +_0803E340: .4byte gMain +_0803E344: .4byte 0x0000043d +_0803E348: .4byte gUnknown_02024A60 +_0803E34C: .4byte gUnknown_02024DF8 +_0803E350: + ldr r2, _0803E358 @ =gSaveBlock1 + 0x3676 + str r2, [sp, 0x20] + b _0803E374 + .align 2, 0 +_0803E358: .4byte gSaveBlock1 + 0x3676 +_0803E35C: + mov r0, r8 + movs r2, 0 + ldr r3, [sp, 0xC] + bl BeginEvolutionScene + movs r0, 0 + bl _0803F15C +_0803E36C: + movs r0, 0x1 + bl _0803F15C +_0803E372: + str r0, [sp, 0x20] +_0803E374: + movs r3, 0 + str r3, [sp, 0x18] +_0803E378: + ldr r4, [sp, 0x18] + cmp r4, 0x5 + bls _0803E382 + bl _0803F14C +_0803E382: + lsls r0, r4, 2 + ldr r1, _0803E38C @ =_0803E390 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0803E38C: .4byte _0803E390 + .align 2, 0 +_0803E390: + .4byte _0803E3A8 + .4byte _0803E474 + .4byte _0803E508 + .4byte _0803E59C + .4byte _0803E77C + .4byte _0803EE1E +_0803E3A8: + ldr r5, [sp, 0x20] + ldr r0, [sp, 0x18] + adds r2, r5, r0 + ldrb r1, [r2] + movs r0, 0x80 + ands r0, r1 + adds r6, r2, 0 + cmp r0, 0 + beq _0803E3F0 + ldr r0, _0803E460 @ =gMain + ldr r1, _0803E464 @ =0x0000043d + adds r0, r1 + ldrb r1, [r0] + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _0803E3F0 + ldr r2, [sp, 0x34] + cmp r2, 0x4 + beq _0803E3F0 + ldr r1, _0803E468 @ =gBattleMons + movs r0, 0x58 + muls r0, r2 + adds r1, 0x50 + adds r2, r0, r1 + ldr r1, [r2] + movs r0, 0xF0 + lsls r0, 12 + ands r0, r1 + cmp r0, 0 + beq _0803E3F0 + ldr r0, _0803E46C @ =0xfff0ffff + ands r1, r0 + str r1, [r2] + movs r3, 0 + str r3, [sp, 0x1C] +_0803E3F0: + ldrb r1, [r6] + movs r0, 0x30 + ands r0, r1 + cmp r0, 0 + beq _0803E41E + ldr r1, _0803E468 @ =gBattleMons + ldr r0, _0803E470 @ =gUnknown_02024A60 + ldrb r2, [r0] + movs r0, 0x58 + muls r0, r2 + adds r1, 0x50 + adds r2, r0, r1 + ldr r1, [r2] + movs r3, 0x80 + lsls r3, 13 + adds r0, r1, 0 + ands r0, r3 + cmp r0, 0 + bne _0803E41E + orrs r1, r3 + str r1, [r2] + movs r4, 0 + str r4, [sp, 0x1C] +_0803E41E: + ldrb r0, [r6] + movs r3, 0xF + ands r3, r0 + cmp r3, 0 + bne _0803E42C + bl _0803F14C +_0803E42C: + ldr r6, _0803E468 @ =gBattleMons + ldr r5, _0803E470 @ =gUnknown_02024A60 + ldrb r0, [r5] + movs r4, 0x58 + muls r0, r4 + adds r1, r0, r6 + ldrb r2, [r1, 0x19] + movs r0, 0x19 + ldrsb r0, [r1, r0] + cmp r0, 0xB + ble _0803E446 + bl _0803F14C +_0803E446: + adds r0, r2, r3 + strb r0, [r1, 0x19] + ldrb r0, [r5] + muls r0, r4 + adds r1, r0, r6 + movs r0, 0x19 + ldrsb r0, [r1, r0] + cmp r0, 0xC + bgt _0803E45A + b _0803E74E +_0803E45A: + movs r0, 0xC + strb r0, [r1, 0x19] + b _0803E74E + .align 2, 0 +_0803E460: .4byte gMain +_0803E464: .4byte 0x0000043d +_0803E468: .4byte gBattleMons +_0803E46C: .4byte 0xfff0ffff +_0803E470: .4byte gUnknown_02024A60 +_0803E474: + ldr r0, [sp, 0x20] + ldr r1, [sp, 0x18] + adds r2, r0, r1 + ldrb r1, [r2] + movs r0, 0xF0 + ands r0, r1 + lsls r3, r0, 24 + adds r6, r2, 0 + cmp r3, 0 + beq _0803E4BA + ldr r7, _0803E500 @ =gBattleMons + ldr r5, _0803E504 @ =gUnknown_02024A60 + ldrb r0, [r5] + movs r4, 0x58 + muls r0, r4 + adds r1, r0, r7 + ldrb r2, [r1, 0x1A] + movs r0, 0x1A + ldrsb r0, [r1, r0] + cmp r0, 0xB + bgt _0803E4BA + lsrs r0, r3, 28 + adds r0, r2, r0 + strb r0, [r1, 0x1A] + ldrb r0, [r5] + muls r0, r4 + adds r1, r0, r7 + movs r0, 0x1A + ldrsb r0, [r1, r0] + cmp r0, 0xC + ble _0803E4B6 + movs r0, 0xC + strb r0, [r1, 0x1A] +_0803E4B6: + movs r2, 0 + str r2, [sp, 0x1C] +_0803E4BA: + ldrb r0, [r6] + movs r3, 0xF + ands r3, r0 + cmp r3, 0 + bne _0803E4C8 + bl _0803F14C +_0803E4C8: + ldr r6, _0803E500 @ =gBattleMons + ldr r5, _0803E504 @ =gUnknown_02024A60 + ldrb r0, [r5] + movs r4, 0x58 + muls r0, r4 + adds r1, r0, r6 + ldrb r2, [r1, 0x1B] + movs r0, 0x1B + ldrsb r0, [r1, r0] + cmp r0, 0xB + ble _0803E4E2 + bl _0803F14C +_0803E4E2: + adds r0, r2, r3 + strb r0, [r1, 0x1B] + ldrb r0, [r5] + muls r0, r4 + adds r1, r0, r6 + movs r0, 0x1B + ldrsb r0, [r1, r0] + cmp r0, 0xC + ble _0803E4F8 + movs r0, 0xC + strb r0, [r1, 0x1B] +_0803E4F8: + movs r3, 0 + str r3, [sp, 0x1C] + bl _0803F14C + .align 2, 0 +_0803E500: .4byte gBattleMons +_0803E504: .4byte gUnknown_02024A60 +_0803E508: + ldr r4, [sp, 0x20] + ldr r5, [sp, 0x18] + adds r2, r4, r5 + ldrb r1, [r2] + movs r0, 0xF0 + ands r0, r1 + lsls r3, r0, 24 + adds r6, r2, 0 + cmp r3, 0 + beq _0803E54E + ldr r7, _0803E594 @ =gBattleMons + ldr r5, _0803E598 @ =gUnknown_02024A60 + ldrb r0, [r5] + movs r4, 0x58 + muls r0, r4 + adds r1, r0, r7 + ldrb r2, [r1, 0x1E] + movs r0, 0x1E + ldrsb r0, [r1, r0] + cmp r0, 0xB + bgt _0803E54E + lsrs r0, r3, 28 + adds r0, r2, r0 + strb r0, [r1, 0x1E] + ldrb r0, [r5] + muls r0, r4 + adds r1, r0, r7 + movs r0, 0x1E + ldrsb r0, [r1, r0] + cmp r0, 0xC + ble _0803E54A + movs r0, 0xC + strb r0, [r1, 0x1E] +_0803E54A: + movs r0, 0 + str r0, [sp, 0x1C] +_0803E54E: + ldrb r0, [r6] + movs r3, 0xF + ands r3, r0 + cmp r3, 0 + bne _0803E55C + bl _0803F14C +_0803E55C: + ldr r6, _0803E594 @ =gBattleMons + ldr r5, _0803E598 @ =gUnknown_02024A60 + ldrb r0, [r5] + movs r4, 0x58 + muls r0, r4 + adds r1, r0, r6 + ldrb r2, [r1, 0x1C] + movs r0, 0x1C + ldrsb r0, [r1, r0] + cmp r0, 0xB + ble _0803E576 + bl _0803F14C +_0803E576: + adds r0, r2, r3 + strb r0, [r1, 0x1C] + ldrb r0, [r5] + muls r0, r4 + adds r1, r0, r6 + movs r0, 0x1C + ldrsb r0, [r1, r0] + cmp r0, 0xC + ble _0803E58C + movs r0, 0xC + strb r0, [r1, 0x1C] +_0803E58C: + movs r1, 0 + str r1, [sp, 0x1C] + bl _0803F14C + .align 2, 0 +_0803E594: .4byte gBattleMons +_0803E598: .4byte gUnknown_02024A60 +_0803E59C: + ldr r3, [sp, 0x20] + ldr r4, [sp, 0x18] + adds r2, r3, r4 + ldrb r1, [r2] + movs r0, 0x80 + ands r0, r1 + adds r6, r2, 0 + cmp r0, 0 + beq _0803E5E4 + ldr r5, _0803E758 @ =gUnknown_02024C80 + ldr r4, _0803E75C @ =gUnknown_02024A60 + ldrb r0, [r4] + bl battle_side_get_owner + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 1 + adds r1, r0 + lsls r1, 2 + adds r1, r5 + ldrb r0, [r1, 0x2] + cmp r0, 0 + bne _0803E5E4 + ldrb r0, [r4] + bl battle_side_get_owner + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 1 + adds r1, r0 + lsls r1, 2 + adds r1, r5 + movs r0, 0x5 + strb r0, [r1, 0x2] + movs r5, 0 + str r5, [sp, 0x1C] +_0803E5E4: + ldrb r1, [r6] + movs r0, 0x40 + ands r0, r1 + cmp r0, 0 + beq _0803E646 + mov r0, r8 + movs r1, 0x38 + movs r2, 0 + bl GetMonData + cmp r0, 0x64 + beq _0803E646 + ldr r5, _0803E760 @ =gExperienceTables + mov r0, r8 + movs r1, 0x38 + movs r2, 0 + bl GetMonData + adds r4, r0, 0 + mov r0, r8 + movs r1, 0xB + movs r2, 0 + bl GetMonData + adds r4, 0x1 + lsls r4, 2 + ldr r2, _0803E764 @ =gBaseStats + lsls r1, r0, 3 + subs r1, r0 + lsls r1, 2 + adds r1, r2 + ldrb r1, [r1, 0x13] + movs r0, 0xCA + lsls r0, 1 + muls r0, r1 + adds r4, r0 + adds r4, r5 + ldr r0, [r4] + str r0, [sp] + mov r0, r8 + movs r1, 0x19 + mov r2, sp + bl SetMonData + mov r0, r8 + bl CalculateMonStats + movs r0, 0 + str r0, [sp, 0x1C] +_0803E646: + ldrb r1, [r6] + movs r0, 0x20 + ands r0, r1 + cmp r0, 0 + beq _0803E682 + mov r0, r8 + ldr r1, [sp, 0xC] + movs r2, 0x7 + ldr r3, [sp, 0x34] + bl HealStatusConditions + lsls r0, 24 + cmp r0, 0 + bne _0803E682 + ldr r1, [sp, 0x34] + cmp r1, 0x4 + beq _0803E67E + ldr r1, _0803E768 @ =gBattleMons + movs r0, 0x58 + ldr r3, [sp, 0x34] + adds r2, r3, 0 + muls r2, r0 + adds r1, 0x50 + adds r2, r1 + ldr r0, [r2] + ldr r1, _0803E76C @ =0xf7ffffff + ands r0, r1 + str r0, [r2] +_0803E67E: + movs r4, 0 + str r4, [sp, 0x1C] +_0803E682: + ldrb r1, [r6] + movs r0, 0x10 + ands r0, r1 + cmp r0, 0 + beq _0803E6A2 + ldr r2, _0803E770 @ =0x00000f88 + mov r0, r8 + ldr r1, [sp, 0xC] + ldr r3, [sp, 0x34] + bl HealStatusConditions + lsls r0, 24 + cmp r0, 0 + bne _0803E6A2 + movs r5, 0 + str r5, [sp, 0x1C] +_0803E6A2: + ldrb r1, [r6] + movs r0, 0x8 + ands r0, r1 + cmp r0, 0 + beq _0803E6C2 + mov r0, r8 + ldr r1, [sp, 0xC] + movs r2, 0x10 + ldr r3, [sp, 0x34] + bl HealStatusConditions + lsls r0, 24 + cmp r0, 0 + bne _0803E6C2 + movs r0, 0 + str r0, [sp, 0x1C] +_0803E6C2: + ldrb r1, [r6] + movs r0, 0x4 + ands r0, r1 + cmp r0, 0 + beq _0803E6E2 + mov r0, r8 + ldr r1, [sp, 0xC] + movs r2, 0x20 + ldr r3, [sp, 0x34] + bl HealStatusConditions + lsls r0, 24 + cmp r0, 0 + bne _0803E6E2 + movs r1, 0 + str r1, [sp, 0x1C] +_0803E6E2: + ldrb r1, [r6] + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _0803E702 + mov r0, r8 + ldr r1, [sp, 0xC] + movs r2, 0x40 + ldr r3, [sp, 0x34] + bl HealStatusConditions + lsls r0, 24 + cmp r0, 0 + bne _0803E702 + movs r2, 0 + str r2, [sp, 0x1C] +_0803E702: + ldrb r1, [r6] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + bne _0803E710 + bl _0803F14C +_0803E710: + ldr r0, _0803E774 @ =gMain + ldr r3, _0803E778 @ =0x0000043d + adds r0, r3 + ldrb r1, [r0] + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + bne _0803E724 + bl _0803F14C +_0803E724: + ldr r4, [sp, 0x34] + cmp r4, 0x4 + bne _0803E72E + bl _0803F14C +_0803E72E: + ldr r1, _0803E768 @ =gBattleMons + movs r0, 0x58 + muls r0, r4 + adds r1, 0x50 + adds r2, r0, r1 + ldr r1, [r2] + movs r0, 0x7 + ands r0, r1 + cmp r0, 0 + bne _0803E746 + bl _0803F14C +_0803E746: + movs r0, 0x8 + negs r0, r0 + ands r1, r0 + str r1, [r2] +_0803E74E: + movs r5, 0 + str r5, [sp, 0x1C] + bl _0803F14C + .align 2, 0 +_0803E758: .4byte gUnknown_02024C80 +_0803E75C: .4byte gUnknown_02024A60 +_0803E760: .4byte gExperienceTables +_0803E764: .4byte gBaseStats +_0803E768: .4byte gBattleMons +_0803E76C: .4byte 0xf7ffffff +_0803E770: .4byte 0x00000f88 +_0803E774: .4byte gMain +_0803E778: .4byte 0x0000043d +_0803E77C: + ldr r1, [sp, 0x20] + ldr r2, [sp, 0x18] + adds r0, r1, r2 + ldrb r0, [r0] + mov r10, r0 + movs r0, 0x20 + mov r3, r10 + ands r0, r3 + cmp r0, 0 + beq _0803E854 + movs r0, 0xDF + ands r3, r0 + mov r10, r3 + mov r0, r8 + movs r1, 0x15 + movs r2, 0 + bl GetMonData + ldr r1, _0803E880 @ =gUnknown_08208238 + ldr r4, [sp, 0x10] + adds r1, r4, r1 + ldrb r1, [r1] + ands r0, r1 + lsls r1, r4, 1 + lsrs r0, r1 + str r0, [sp] + adds r5, r4, 0 + adds r5, 0xD + mov r0, r8 + adds r1, r5, 0 + movs r2, 0 + bl GetMonData + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + mov r0, r8 + movs r1, 0x15 + movs r2, 0 + bl GetMonData + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + adds r0, r4, 0 + ldr r2, [sp, 0x10] + bl CalculatePPWithBonus + lsls r0, 24 + lsrs r0, 24 + str r0, [sp, 0x28] + ldr r0, [sp] + cmp r0, 0x2 + bhi _0803E854 + ldr r0, [sp, 0x28] + cmp r0, 0x4 + bls _0803E854 + mov r0, r8 + movs r1, 0x15 + movs r2, 0 + bl GetMonData + ldr r1, _0803E884 @ =gUnknown_08208240 + ldr r2, [sp, 0x10] + adds r1, r2, r1 + ldrb r1, [r1] + adds r0, r1 + str r0, [sp] + mov r0, r8 + movs r1, 0x15 + mov r2, sp + bl SetMonData + mov r0, r8 + adds r1, r5, 0 + movs r2, 0 + bl GetMonData + lsls r0, 16 + lsrs r0, 16 + ldr r1, [sp] + lsls r1, 24 + lsrs r1, 24 + ldr r2, [sp, 0x10] + bl CalculatePPWithBonus + lsls r0, 24 + lsrs r0, 24 + ldr r3, [sp, 0x28] + subs r0, r3 + str r0, [sp] + ldr r4, [sp, 0x10] + adds r4, 0x11 + mov r0, r8 + adds r1, r4, 0 + movs r2, 0 + bl GetMonData + ldr r1, [sp] + adds r0, r1 + str r0, [sp] + mov r0, r8 + adds r1, r4, 0 + mov r2, sp + bl SetMonData + movs r4, 0 + str r4, [sp, 0x1C] +_0803E854: + movs r5, 0 + str r5, [sp, 0x28] + mov r0, r10 + cmp r0, 0 + bne _0803E862 + bl _0803F14C +_0803E862: + movs r0, 0x1 + mov r1, r10 + ands r0, r1 + cmp r0, 0 + bne _0803E86E + b _0803EE0A +_0803E86E: + ldr r2, [sp, 0x28] + cmp r2, 0x7 + bls _0803E876 + b _0803EE0A +_0803E876: + lsls r0, r2, 2 + ldr r1, _0803E888 @ =_0803E88C + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0803E880: .4byte gUnknown_08208238 +_0803E884: .4byte gUnknown_08208240 +_0803E888: .4byte _0803E88C + .align 2, 0 +_0803E88C: + .4byte _0803E8AC + .4byte _0803E8AC + .4byte _0803E934 + .4byte _0803EB5C + .4byte _0803EE0A + .4byte _0803EE0A + .4byte _0803EE0A + .4byte _0803EDF4 +_0803E8AC: + mov r0, r8 + bl GetMonEVCount + lsls r0, 16 + lsrs r5, r0, 16 + ldr r0, _0803E8EC @ =0x000001fd + cmp r5, r0 + bls _0803E8BE + b _0803E36C +_0803E8BE: + ldr r0, _0803E8F0 @ =gUnknown_082082F2 + ldr r3, [sp, 0x28] + adds r0, r3, r0 + ldrb r1, [r0] + mov r0, r8 + movs r2, 0 + bl GetMonData + adds r1, r0, 0 + str r1, [sp] + cmp r1, 0x63 + bls _0803E8D8 + b _0803EE0A +_0803E8D8: + ldr r4, [sp, 0x20] + ldr r2, [sp, 0x24] + adds r0, r4, r2 + ldrb r0, [r0] + adds r1, r0 + cmp r1, 0x64 + bls _0803E8F4 + adds r0, 0x64 + subs r4, r0, r1 + b _0803E8F6 + .align 2, 0 +_0803E8EC: .4byte 0x000001fd +_0803E8F0: .4byte gUnknown_082082F2 +_0803E8F4: + adds r4, r0, 0 +_0803E8F6: + adds r1, r5, r4 + movs r0, 0xFF + lsls r0, 1 + cmp r1, r0 + bls _0803E904 + adds r0, r4, r0 + subs r4, r0, r1 +_0803E904: + ldr r0, [sp] + adds r0, r4 + str r0, [sp] + ldr r0, _0803E930 @ =gUnknown_082082F2 + ldr r3, [sp, 0x28] + adds r0, r3, r0 + ldrb r1, [r0] + mov r0, r8 + mov r2, sp + bl SetMonData + mov r0, r8 + bl CalculateMonStats + ldr r0, [sp, 0x24] + adds r0, 0x1 + lsls r0, 24 + lsrs r0, 24 + str r0, [sp, 0x24] + movs r4, 0 + str r4, [sp, 0x1C] + b _0803EE0A + .align 2, 0 +_0803E930: .4byte gUnknown_082082F2 +_0803E934: + movs r0, 0x10 + mov r5, r10 + ands r0, r5 + cmp r0, 0 + beq _0803E9F4 + mov r0, r8 + movs r1, 0x39 + movs r2, 0 + bl GetMonData + cmp r0, 0 + beq _0803E954 + ldr r0, [sp, 0x24] + adds r0, 0x1 + lsls r0, 24 + b _0803EC9E +_0803E954: + ldr r0, _0803E99C @ =gMain + ldr r1, _0803E9A0 @ =0x0000043d + adds r0, r1 + ldrb r1, [r0] + movs r4, 0x2 + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _0803EA0A + ldr r2, [sp, 0x34] + cmp r2, 0x4 + beq _0803E9B4 + ldr r2, _0803E9A4 @ =gUnknown_02024C0C + ldr r1, _0803E9A8 @ =gBitTable + ldr r3, [sp, 0x34] + lsls r0, r3, 2 + adds r0, r1 + ldr r1, [r0] + ldrb r0, [r2] + bics r0, r1 + strb r0, [r2] + ldr r1, _0803E9AC @ =gUnknown_02024A6A + lsls r0, r3, 1 + adds r0, r1 + ldrb r0, [r0] + bl pokemon_order_func + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + ldr r0, [sp, 0x34] + bl CopyPlayerPartyMonToBattleData + ldr r0, _0803E9B0 @ =gUnknown_02024A60 + ldrb r0, [r0] + b _0803E9CC + .align 2, 0 +_0803E99C: .4byte gMain +_0803E9A0: .4byte 0x0000043d +_0803E9A4: .4byte gUnknown_02024C0C +_0803E9A8: .4byte gBitTable +_0803E9AC: .4byte gUnknown_02024A6A +_0803E9B0: .4byte gUnknown_02024A60 +_0803E9B4: + ldr r3, _0803E9E4 @ =gUnknown_02024C0C + ldr r1, _0803E9E8 @ =gBitTable + ldr r2, _0803E9EC @ =gUnknown_02024A60 + ldrb r0, [r2] + eors r0, r4 + lsls r0, 2 + adds r0, r1 + ldr r1, [r0] + ldrb r0, [r3] + bics r0, r1 + strb r0, [r3] + ldrb r0, [r2] +_0803E9CC: + bl battle_side_get_owner + lsls r0, 24 + cmp r0, 0 + bne _0803EA0A + ldr r1, _0803E9F0 @ =gUnknown_030042E0 + ldrb r0, [r1, 0x4] + cmp r0, 0xFE + bhi _0803EA0A + adds r0, 0x1 + strb r0, [r1, 0x4] + b _0803EA0A + .align 2, 0 +_0803E9E4: .4byte gUnknown_02024C0C +_0803E9E8: .4byte gBitTable +_0803E9EC: .4byte gUnknown_02024A60 +_0803E9F0: .4byte gUnknown_030042E0 +_0803E9F4: + mov r0, r8 + movs r1, 0x39 + movs r2, 0 + bl GetMonData + cmp r0, 0 + bne _0803EA0A + ldr r0, [sp, 0x24] + adds r0, 0x1 + lsls r0, 24 + b _0803EC9E +_0803EA0A: + ldr r1, [sp, 0x24] + adds r0, r1, 0x1 + lsls r0, 24 + lsrs r0, 24 + str r0, [sp, 0x24] + ldr r4, [sp, 0x20] + adds r1, r4, r1 + ldrb r1, [r1] + str r1, [sp] + adds r0, r1, 0 + cmp r0, 0xFE + beq _0803EA4C + cmp r0, 0xFE + bhi _0803EA2C + cmp r0, 0xFD + beq _0803EA62 + b _0803EA6C +_0803EA2C: + cmp r1, 0xFF + bne _0803EA6C + mov r0, r8 + movs r1, 0x3A + movs r2, 0 + bl GetMonData + adds r4, r0, 0 + mov r0, r8 + movs r1, 0x39 + movs r2, 0 + bl GetMonData + subs r4, r0 + str r4, [sp] + b _0803EA6C +_0803EA4C: + mov r0, r8 + movs r1, 0x3A + movs r2, 0 + bl GetMonData + lsrs r0, 1 + str r0, [sp] + cmp r0, 0 + bne _0803EA6C + movs r0, 0x1 + b _0803EA6A +_0803EA62: + ldr r0, _0803EB24 @ =0x02000000 + ldr r5, _0803EB28 @ =0x000160fa + adds r0, r5 + ldrb r0, [r0] +_0803EA6A: + str r0, [sp] +_0803EA6C: + mov r0, r8 + movs r1, 0x3A + movs r2, 0 + bl GetMonData + adds r4, r0, 0 + mov r0, r8 + movs r1, 0x39 + movs r2, 0 + bl GetMonData + cmp r4, r0 + beq _0803EB4C + ldr r0, [sp, 0x14] + cmp r0, 0 + bne _0803EB40 + mov r0, r8 + movs r1, 0x39 + movs r2, 0 + bl GetMonData + ldr r1, [sp] + adds r0, r1 + str r0, [sp] + mov r0, r8 + movs r1, 0x3A + movs r2, 0 + bl GetMonData + ldr r1, [sp] + cmp r1, r0 + bls _0803EAB8 + mov r0, r8 + movs r1, 0x3A + movs r2, 0 + bl GetMonData + str r0, [sp] +_0803EAB8: + mov r0, r8 + movs r1, 0x39 + mov r2, sp + bl SetMonData + ldr r0, _0803EB2C @ =gMain + ldr r1, _0803EB30 @ =0x0000043d + adds r0, r1 + ldrb r1, [r0] + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _0803EB48 + ldr r2, [sp, 0x34] + cmp r2, 0x4 + beq _0803EB48 + ldr r1, _0803EB34 @ =gBattleMons + movs r0, 0x58 + muls r0, r2 + adds r0, r1 + ldr r1, [sp] + strh r1, [r0, 0x28] + movs r0, 0x10 + mov r3, r10 + ands r0, r3 + cmp r0, 0 + bne _0803EB48 + ldr r4, _0803EB38 @ =gUnknown_02024A60 + ldrb r0, [r4] + bl battle_side_get_owner + lsls r0, 24 + cmp r0, 0 + bne _0803EB48 + ldr r1, _0803EB3C @ =gUnknown_030042E0 + ldrb r0, [r1, 0x3] + cmp r0, 0xFE + bhi _0803EB08 + adds r0, 0x1 + strb r0, [r1, 0x3] +_0803EB08: + ldrb r5, [r4] + add r0, sp, 0x34 + ldrb r0, [r0] + strb r0, [r4] + movs r0, 0 + movs r1, 0 + movs r2, 0 + bl dp01_build_cmdbuf_x00_a_b_0 + ldrb r0, [r4] + bl dp01_battle_side_mark_buffer_for_execution + strb r5, [r4] + b _0803EB48 + .align 2, 0 +_0803EB24: .4byte 0x02000000 +_0803EB28: .4byte 0x000160fa +_0803EB2C: .4byte gMain +_0803EB30: .4byte 0x0000043d +_0803EB34: .4byte gBattleMons +_0803EB38: .4byte gUnknown_02024A60 +_0803EB3C: .4byte gUnknown_030042E0 +_0803EB40: + ldr r1, _0803EB58 @ =gUnknown_02024BEC + ldr r0, [sp] + negs r0, r0 + str r0, [r1] +_0803EB48: + movs r1, 0 + str r1, [sp, 0x1C] +_0803EB4C: + movs r0, 0xEF + mov r2, r10 + ands r2, r0 + mov r10, r2 + b _0803EE0A + .align 2, 0 +_0803EB58: .4byte gUnknown_02024BEC +_0803EB5C: + movs r7, 0x2 + mov r0, r10 + ands r0, r7 + cmp r0, 0 + beq _0803EB68 + b _0803ECB8 +_0803EB68: + movs r5, 0 + ldr r3, [sp, 0x24] + adds r3, 0x1 + str r3, [sp, 0x38] +_0803EB70: + movs r4, 0x11 + adds r4, r5 + mov r9, r4 + mov r0, r8 + mov r1, r9 + movs r2, 0 + bl GetMonData + str r0, [sp] + adds r7, r5, 0 + adds r7, 0xD + mov r0, r8 + adds r1, r7, 0 + movs r2, 0 + bl GetMonData + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + mov r0, r8 + movs r1, 0x15 + movs r2, 0 + bl GetMonData + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + lsls r0, r5, 24 + lsrs r6, r0, 24 + adds r0, r4, 0 + adds r2, r6, 0 + bl CalculatePPWithBonus + lsls r0, 24 + lsrs r0, 24 + ldr r1, [sp] + cmp r1, r0 + beq _0803EC92 + ldr r2, [sp, 0x20] + ldr r3, [sp, 0x24] + adds r0, r2, r3 + ldrb r0, [r0] + adds r0, r1, r0 + str r0, [sp] + mov r0, r8 + adds r1, r7, 0 + movs r2, 0 + bl GetMonData + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + mov r0, r8 + movs r1, 0x15 + movs r2, 0 + bl GetMonData + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + adds r0, r4, 0 + adds r2, r6, 0 + bl CalculatePPWithBonus + lsls r0, 24 + lsrs r0, 24 + ldr r1, [sp] + cmp r1, r0 + bls _0803EC28 + mov r0, r8 + adds r1, r7, 0 + movs r2, 0 + bl GetMonData + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + mov r0, r8 + movs r1, 0x15 + movs r2, 0 + bl GetMonData + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + adds r0, r4, 0 + adds r2, r6, 0 + bl CalculatePPWithBonus + lsls r0, 24 + lsrs r0, 24 + str r0, [sp] +_0803EC28: + mov r0, r8 + mov r1, r9 + mov r2, sp + bl SetMonData + ldr r0, _0803ECA4 @ =gMain + ldr r4, _0803ECA8 @ =0x0000043d + adds r0, r4 + ldrb r1, [r0] + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _0803EC8E + ldr r0, [sp, 0x34] + cmp r0, 0x4 + beq _0803EC8E + ldr r4, _0803ECAC @ =gBattleMons + movs r0, 0x58 + ldr r1, [sp, 0x34] + adds r3, r1, 0 + muls r3, r0 + adds r0, r4, 0 + adds r0, 0x50 + adds r0, r3, r0 + ldr r1, [r0] + movs r0, 0x80 + lsls r0, 14 + ands r1, r0 + cmp r1, 0 + bne _0803EC8E + ldr r1, _0803ECB0 @ =gUnknown_02024CA8 + ldr r2, [sp, 0x34] + lsls r0, r2, 3 + subs r0, r2 + lsls r0, 2 + adds r0, r1 + ldrb r1, [r0, 0x18] + lsrs r1, 4 + ldr r2, _0803ECB4 @ =gBitTable + lsls r0, r5, 2 + adds r0, r2 + ldr r0, [r0] + ands r1, r0 + cmp r1, 0 + bne _0803EC8E + adds r0, r5, r3 + adds r1, r4, 0 + adds r1, 0x24 + adds r0, r1 + ldr r1, [sp] + strb r1, [r0] +_0803EC8E: + movs r3, 0 + str r3, [sp, 0x1C] +_0803EC92: + adds r5, 0x1 + cmp r5, 0x3 + bgt _0803EC9A + b _0803EB70 +_0803EC9A: + ldr r4, [sp, 0x38] + lsls r0, r4, 24 +_0803EC9E: + lsrs r0, 24 + str r0, [sp, 0x24] + b _0803EE0A + .align 2, 0 +_0803ECA4: .4byte gMain +_0803ECA8: .4byte 0x0000043d +_0803ECAC: .4byte gBattleMons +_0803ECB0: .4byte gUnknown_02024CA8 +_0803ECB4: .4byte gBitTable +_0803ECB8: + ldr r6, [sp, 0x10] + adds r6, 0x11 + mov r0, r8 + adds r1, r6, 0 + movs r2, 0 + bl GetMonData + str r0, [sp] + ldr r5, [sp, 0x10] + adds r5, 0xD + mov r0, r8 + adds r1, r5, 0 + movs r2, 0 + bl GetMonData + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + mov r0, r8 + movs r1, 0x15 + movs r2, 0 + bl GetMonData + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + adds r0, r4, 0 + ldr r2, [sp, 0x10] + bl CalculatePPWithBonus + lsls r0, 24 + lsrs r0, 24 + ldr r2, [sp] + cmp r2, r0 + bne _0803ED00 + b _0803EE0A +_0803ED00: + ldr r1, [sp, 0x24] + adds r0, r1, 0x1 + lsls r0, 24 + lsrs r0, 24 + str r0, [sp, 0x24] + ldr r0, [sp, 0x20] + adds r1, r0, r1 + ldrb r0, [r1] + adds r0, r2, r0 + str r0, [sp] + mov r0, r8 + adds r1, r5, 0 + movs r2, 0 + bl GetMonData + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + mov r0, r8 + movs r1, 0x15 + movs r2, 0 + bl GetMonData + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + adds r0, r4, 0 + ldr r2, [sp, 0x10] + bl CalculatePPWithBonus + lsls r0, 24 + lsrs r0, 24 + ldr r1, [sp] + cmp r1, r0 + bls _0803ED74 + mov r0, r8 + adds r1, r5, 0 + movs r2, 0 + bl GetMonData + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + mov r0, r8 + movs r1, 0x15 + movs r2, 0 + bl GetMonData + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + adds r0, r4, 0 + ldr r2, [sp, 0x10] + bl CalculatePPWithBonus + lsls r0, 24 + lsrs r0, 24 + str r0, [sp] +_0803ED74: + mov r0, r8 + adds r1, r6, 0 + mov r2, sp + bl SetMonData + ldr r0, _0803EDE0 @ =gMain + ldr r1, _0803EDE4 @ =0x0000043d + adds r0, r1 + ldrb r1, [r0] + adds r0, r7, 0 + ands r0, r1 + cmp r0, 0 + beq _0803EDD8 + ldr r2, [sp, 0x34] + cmp r2, 0x4 + beq _0803EDD8 + ldr r4, _0803EDE8 @ =gBattleMons + movs r0, 0x58 + adds r3, r2, 0 + muls r3, r0 + adds r0, r4, 0 + adds r0, 0x50 + adds r0, r3, r0 + ldr r0, [r0] + movs r1, 0x80 + lsls r1, 14 + ands r0, r1 + cmp r0, 0 + bne _0803EDD8 + ldr r1, _0803EDEC @ =gUnknown_02024CA8 + lsls r0, r2, 3 + subs r0, r2 + lsls r0, 2 + adds r0, r1 + ldrb r1, [r0, 0x18] + lsrs r1, 4 + ldr r2, _0803EDF0 @ =gBitTable + ldr r5, [sp, 0x10] + lsls r0, r5, 2 + adds r0, r2 + ldr r0, [r0] + ands r1, r0 + cmp r1, 0 + bne _0803EDD8 + adds r0, r5, r3 + adds r1, r4, 0 + adds r1, 0x24 + adds r0, r1 + ldr r1, [sp] + strb r1, [r0] +_0803EDD8: + movs r0, 0 + str r0, [sp, 0x1C] + b _0803EE0A + .align 2, 0 +_0803EDE0: .4byte gMain +_0803EDE4: .4byte 0x0000043d +_0803EDE8: .4byte gBattleMons +_0803EDEC: .4byte gUnknown_02024CA8 +_0803EDF0: .4byte gBitTable +_0803EDF4: + mov r0, r8 + movs r1, 0x2 + ldr r2, [sp, 0x8] + bl GetEvolutionTargetSpecies + lsls r0, 16 + lsrs r1, r0, 16 + cmp r1, 0 + beq _0803EE0A + bl _0803E35C +_0803EE0A: + ldr r1, [sp, 0x28] + adds r1, 0x1 + str r1, [sp, 0x28] + mov r2, r10 + lsrs r2, 1 + mov r10, r2 + cmp r2, 0 + beq _0803EE1C + b _0803E862 +_0803EE1C: + b _0803F14C +_0803EE1E: + ldr r3, [sp, 0x20] + ldr r4, [sp, 0x18] + adds r0, r3, r4 + ldrb r0, [r0] + mov r10, r0 + movs r5, 0 + str r5, [sp, 0x28] + cmp r0, 0 + bne _0803EE32 + b _0803F14C +_0803EE32: + movs r0, 0x1 + mov r1, r10 + ands r0, r1 + cmp r0, 0 + bne _0803EE3E + b _0803F13A +_0803EE3E: + ldr r2, [sp, 0x28] + cmp r2, 0x7 + bls _0803EE46 + b _0803F13A +_0803EE46: + lsls r0, r2, 2 + ldr r1, _0803EE50 @ =_0803EE54 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0803EE50: .4byte _0803EE54 + .align 2, 0 +_0803EE54: + .4byte _0803EE74 + .4byte _0803EE74 + .4byte _0803EE74 + .4byte _0803EE74 + .4byte _0803EEF8 + .4byte _0803EFCC + .4byte _0803F026 + .4byte _0803F07C +_0803EE74: + mov r0, r8 + bl GetMonEVCount + lsls r0, 16 + lsrs r5, r0, 16 + ldr r0, _0803EEBC @ =0x000001fd + cmp r5, r0 + bls _0803EE88 + bl _0803E36C +_0803EE88: + ldr r0, _0803EEC0 @ =gUnknown_082082F2 + ldr r4, [sp, 0x28] + adds r4, 0x2 + adds r0, r4, r0 + ldrb r1, [r0] + mov r0, r8 + movs r2, 0 + bl GetMonData + adds r1, r0, 0 + str r1, [sp] + adds r2, r4, 0 + cmp r1, 0x63 + bls _0803EEA6 + b _0803F13A +_0803EEA6: + ldr r3, [sp, 0x20] + ldr r4, [sp, 0x24] + adds r0, r3, r4 + ldrb r0, [r0] + adds r1, r0 + cmp r1, 0x64 + bls _0803EEC4 + adds r0, 0x64 + subs r4, r0, r1 + b _0803EEC6 + .align 2, 0 +_0803EEBC: .4byte 0x000001fd +_0803EEC0: .4byte gUnknown_082082F2 +_0803EEC4: + adds r4, r0, 0 +_0803EEC6: + adds r1, r5, r4 + movs r0, 0xFF + lsls r0, 1 + cmp r1, r0 + bls _0803EED4 + adds r0, r4, r0 + subs r4, r0, r1 +_0803EED4: + ldr r0, [sp] + adds r0, r4 + str r0, [sp] + ldr r0, _0803EEF4 @ =gUnknown_082082F2 + adds r0, r2, r0 + ldrb r1, [r0] + mov r0, r8 + mov r2, sp + bl SetMonData + mov r0, r8 + bl CalculateMonStats + movs r5, 0 + str r5, [sp, 0x1C] + b _0803F130 + .align 2, 0 +_0803EEF4: .4byte gUnknown_082082F2 +_0803EEF8: + mov r0, r8 + movs r1, 0x15 + movs r2, 0 + bl GetMonData + ldr r1, _0803EFC0 @ =gUnknown_08208238 + ldr r2, [sp, 0x10] + adds r1, r2, r1 + ldrb r1, [r1] + ands r0, r1 + lsls r1, r2, 1 + lsrs r0, r1 + str r0, [sp] + cmp r0, 0x2 + bls _0803EF18 + b _0803F13A +_0803EF18: + adds r5, r2, 0 + adds r5, 0xD + mov r0, r8 + adds r1, r5, 0 + movs r2, 0 + bl GetMonData + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + mov r0, r8 + movs r1, 0x15 + movs r2, 0 + bl GetMonData + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + adds r0, r4, 0 + ldr r2, [sp, 0x10] + bl CalculatePPWithBonus + lsls r0, 24 + lsrs r4, r0, 24 + mov r0, r8 + movs r1, 0x15 + movs r2, 0 + bl GetMonData + str r0, [sp] + ldr r1, _0803EFC4 @ =gUnknown_0820823C + ldr r3, [sp, 0x10] + adds r1, r3, r1 + ldrb r2, [r1] + ands r2, r0 + str r2, [sp] + ldr r0, _0803EFC8 @ =gUnknown_08208240 + adds r0, r3, r0 + ldrb r1, [r0] + lsls r0, r1, 1 + adds r0, r1 + adds r2, r0 + str r2, [sp] + mov r0, r8 + movs r1, 0x15 + mov r2, sp + bl SetMonData + mov r0, r8 + adds r1, r5, 0 + movs r2, 0 + bl GetMonData + lsls r0, 16 + lsrs r0, 16 + ldr r1, [sp] + lsls r1, 24 + lsrs r1, 24 + ldr r2, [sp, 0x10] + bl CalculatePPWithBonus + lsls r0, 24 + lsrs r0, 24 + subs r0, r4 + str r0, [sp] + ldr r4, [sp, 0x10] + adds r4, 0x11 + mov r0, r8 + adds r1, r4, 0 + movs r2, 0 + bl GetMonData + ldr r1, [sp] + adds r0, r1 + str r0, [sp] + mov r0, r8 + adds r1, r4, 0 + mov r2, sp + bl SetMonData + movs r4, 0 + str r4, [sp, 0x1C] + b _0803F13A + .align 2, 0 +_0803EFC0: .4byte gUnknown_08208238 +_0803EFC4: .4byte gUnknown_0820823C +_0803EFC8: .4byte gUnknown_08208240 +_0803EFCC: + mov r0, r8 + movs r1, 0x20 + movs r2, 0 + bl GetMonData + cmp r0, 0x63 + bls _0803EFDC + b _0803F130 +_0803EFDC: + ldr r5, [sp, 0x1C] + cmp r5, 0 + beq _0803EFE4 + b _0803F130 +_0803EFE4: + ldr r0, [sp, 0x2C] + cmp r0, 0 + beq _0803EFEC + b _0803F130 +_0803EFEC: + ldr r1, [sp, 0x20] + ldr r2, [sp, 0x24] + adds r0, r1, r2 + ldrb r0, [r0] + str r0, [sp, 0x2C] + mov r0, r8 + movs r1, 0x20 + movs r2, 0 + bl GetMonData + adds r5, r0, 0 + str r5, [sp, 0x4] + ldr r3, [sp, 0x2C] + lsls r4, r3, 24 + asrs r1, r4, 24 + cmp r1, 0 + ble _0803F0D0 + ldr r0, [sp, 0x30] + cmp r0, 0x1B + bne _0803F0D0 + movs r0, 0x96 + muls r0, r1 + movs r1, 0x64 + bl __divsi3 + adds r0, r5, r0 + str r0, [sp, 0x4] + adds r2, r4, 0 + b _0803F0DC +_0803F026: + mov r0, r8 + movs r1, 0x20 + movs r2, 0 + bl GetMonData + cmp r0, 0x63 + bls _0803F130 + mov r0, r8 + movs r1, 0x20 + movs r2, 0 + bl GetMonData + cmp r0, 0xC7 + bhi _0803F130 + ldr r2, [sp, 0x1C] + cmp r2, 0 + bne _0803F130 + ldr r3, [sp, 0x2C] + cmp r3, 0 + bne _0803F130 + ldr r4, [sp, 0x20] + ldr r5, [sp, 0x24] + adds r0, r4, r5 + ldrb r0, [r0] + str r0, [sp, 0x2C] + mov r0, r8 + movs r1, 0x20 + movs r2, 0 + bl GetMonData + adds r4, r0, 0 + str r4, [sp, 0x4] + ldr r0, [sp, 0x2C] + lsls r5, r0, 24 + asrs r1, r5, 24 + cmp r1, 0 + ble _0803F076 + ldr r2, [sp, 0x30] + cmp r2, 0x1B + beq _0803F0BE +_0803F076: + ldr r3, [sp, 0x2C] + lsls r2, r3, 24 + b _0803F0D4 +_0803F07C: + mov r0, r8 + movs r1, 0x20 + movs r2, 0 + bl GetMonData + cmp r0, 0xC7 + bls _0803F130 + ldr r4, [sp, 0x1C] + cmp r4, 0 + bne _0803F130 + ldr r5, [sp, 0x2C] + cmp r5, 0 + bne _0803F130 + ldr r1, [sp, 0x20] + ldr r2, [sp, 0x24] + adds r0, r1, r2 + ldrb r0, [r0] + str r0, [sp, 0x2C] + mov r0, r8 + movs r1, 0x20 + movs r2, 0 + bl GetMonData + adds r4, r0, 0 + str r4, [sp, 0x4] + ldr r3, [sp, 0x2C] + lsls r5, r3, 24 + asrs r1, r5, 24 + cmp r1, 0 + ble _0803F0D0 + ldr r0, [sp, 0x30] + cmp r0, 0x1B + bne _0803F0D0 +_0803F0BE: + movs r0, 0x96 + muls r0, r1 + movs r1, 0x64 + bl __divsi3 + adds r0, r4, r0 + str r0, [sp, 0x4] + adds r2, r5, 0 + b _0803F0DC +_0803F0D0: + ldr r1, [sp, 0x2C] + lsls r2, r1, 24 +_0803F0D4: + asrs r1, r2, 24 + ldr r0, [sp, 0x4] + adds r0, r1 + str r0, [sp, 0x4] +_0803F0DC: + cmp r2, 0 + ble _0803F112 + mov r0, r8 + movs r1, 0x26 + movs r2, 0 + bl GetMonData + cmp r0, 0xB + bne _0803F0F4 + ldr r0, [sp, 0x4] + adds r0, 0x1 + str r0, [sp, 0x4] +_0803F0F4: + mov r0, r8 + movs r1, 0x23 + movs r2, 0 + bl GetMonData + adds r4, r0, 0 + bl sav1_map_get_name + lsls r0, 24 + lsrs r0, 24 + cmp r4, r0 + bne _0803F112 + ldr r0, [sp, 0x4] + adds r0, 0x1 + str r0, [sp, 0x4] +_0803F112: + ldr r0, [sp, 0x4] + cmp r0, 0 + bge _0803F11C + movs r0, 0 + str r0, [sp, 0x4] +_0803F11C: + ldr r0, [sp, 0x4] + cmp r0, 0xFF + ble _0803F126 + movs r0, 0xFF + str r0, [sp, 0x4] +_0803F126: + add r2, sp, 0x4 + mov r0, r8 + movs r1, 0x20 + bl SetMonData +_0803F130: + ldr r0, [sp, 0x24] + adds r0, 0x1 + lsls r0, 24 + lsrs r0, 24 + str r0, [sp, 0x24] +_0803F13A: + ldr r2, [sp, 0x28] + adds r2, 0x1 + str r2, [sp, 0x28] + mov r3, r10 + lsrs r3, 1 + mov r10, r3 + cmp r3, 0 + beq _0803F14C + b _0803EE32 +_0803F14C: + ldr r4, [sp, 0x18] + adds r4, 0x1 + str r4, [sp, 0x18] + cmp r4, 0x5 + bgt _0803F15A + bl _0803E378 +_0803F15A: + ldr r0, [sp, 0x1C] +_0803F15C: + add sp, 0x3C + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_803E1B0 + + .align 2, 0 @ Don't pad with nop. diff --git a/asm/record_mixing.s b/asm/record_mixing.s index 1c981d167..ce0121a40 100644 --- a/asm/record_mixing.s +++ b/asm/record_mixing.s @@ -496,7 +496,7 @@ _080BA038: .4byte _080BA074 .4byte _080BA08E _080BA050: - bl sub_8047A1C + bl SetSecretBase2Field_9_AndHideBG bl sub_8125E2C b _080BA086 _080BA05A: @@ -504,7 +504,7 @@ _080BA05A: lsls r0, 24 cmp r0, 0 beq _080BA09C - bl sub_8047A34 + bl ClearSecretBase2Field_9_2 ldrh r0, [r4, 0x8] adds r0, 0x1 movs r1, 0 diff --git a/asm/rom3.s b/asm/rom3.s index 823ac4e0c..f5238ddb5 100644 --- a/asm/rom3.s +++ b/asm/rom3.s @@ -2133,7 +2133,7 @@ dp01_build_cmdbuf_x0F_aa_b_cc_dddd_e_mlc_weather_00_x1Cbytes: @ 800C870 lsls r0, 24 cmp r0, 0 bne _0800C910 - ldr r0, _0800C90C @ =word_2024DB8 + ldr r0, _0800C90C @ =gBattleWeather ldrh r0, [r0] strb r0, [r7, 0xC] ands r6, r0 @@ -2144,7 +2144,7 @@ dp01_build_cmdbuf_x0F_aa_b_cc_dddd_e_mlc_weather_00_x1Cbytes: @ 800C870 .align 2, 0 _0800C904: .4byte gUnknown_03004040 _0800C908: .4byte gUnknown_02024C0E -_0800C90C: .4byte word_2024DB8 +_0800C90C: .4byte gBattleWeather _0800C910: ldr r0, _0800C944 @ =gUnknown_03004040 movs r1, 0 diff --git a/asm/rom6.s b/asm/rom6.s index ad1e71be5..44be269e5 100644 --- a/asm/rom6.s +++ b/asm/rom6.s @@ -471,9393 +471,4 @@ _0810B66C: .4byte task08_080A1C44 _0810B670: .4byte gTasks thumb_func_end sub_810B634 - thumb_func_start sub_810B674 -sub_810B674: @ 810B674 - push {lr} - bl AnimateSprites - bl BuildOamBuffer - bl RunTasks - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_810B674 - - thumb_func_start sub_810B68C -sub_810B68C: @ 810B68C - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - ldr r1, _0810B6B0 @ =gBGTilemapBuffers + 0x1000 - ldr r2, _0810B6B4 @ =0x06007800 - ldr r0, _0810B6B8 @ =0x040000d4 - str r1, [r0] - str r2, [r0, 0x4] - ldr r1, _0810B6BC @ =0x80000400 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - pop {r0} - bx r0 - .align 2, 0 -_0810B6B0: .4byte gBGTilemapBuffers + 0x1000 -_0810B6B4: .4byte 0x06007800 -_0810B6B8: .4byte 0x040000d4 -_0810B6BC: .4byte 0x80000400 - thumb_func_end sub_810B68C - - thumb_func_start sub_810B6C0 -sub_810B6C0: @ 810B6C0 - push {r4,lr} - sub sp, 0x4 - ldr r0, _0810B6DC @ =gMain - ldr r1, _0810B6E0 @ =0x0000043c - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x12 - bls _0810B6D2 - b _0810B960 -_0810B6D2: - lsls r0, 2 - ldr r1, _0810B6E4 @ =_0810B6E8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0810B6DC: .4byte gMain -_0810B6E0: .4byte 0x0000043c -_0810B6E4: .4byte _0810B6E8 - .align 2, 0 -_0810B6E8: - .4byte _0810B734 - .4byte _0810B764 - .4byte _0810B76A - .4byte _0810B78C - .4byte _0810B792 - .4byte _0810B7B4 - .4byte _0810B7C0 - .4byte _0810B7DC - .4byte _0810B7E8 - .4byte _0810B804 - .4byte _0810B810 - .4byte _0810B830 - .4byte _0810B84C - .4byte _0810B86A - .4byte _0810B894 - .4byte _0810B89E - .4byte _0810B8C4 - .4byte _0810B914 - .4byte _0810B934 -_0810B734: - bl sub_80F9438 - bl sub_80F9368 - ldr r1, _0810B754 @ =REG_BG2CNT - ldr r2, _0810B758 @ =0x00000f0a - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x44 - movs r0, 0 - strh r0, [r1] - ldr r1, _0810B75C @ =gMain - ldr r0, _0810B760 @ =0x0000043c - adds r1, r0 - b _0810B922 - .align 2, 0 -_0810B754: .4byte REG_BG2CNT -_0810B758: .4byte 0x00000f0a -_0810B75C: .4byte gMain -_0810B760: .4byte 0x0000043c -_0810B764: - bl remove_some_task - b _0810B91C -_0810B76A: - bl ResetPaletteFade - ldr r2, _0810B780 @ =gPaletteFade - ldrb r0, [r2, 0x8] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2, 0x8] - ldr r1, _0810B784 @ =gMain - ldr r0, _0810B788 @ =0x0000043c - adds r1, r0 - b _0810B922 - .align 2, 0 -_0810B780: .4byte gPaletteFade -_0810B784: .4byte gMain -_0810B788: .4byte 0x0000043c -_0810B78C: - bl ResetSpriteData - b _0810B91C -_0810B792: - ldr r0, _0810B7A8 @ =gUnknown_02039244 - ldrb r0, [r0] - cmp r0, 0x2 - beq _0810B79E - bl ResetTasks -_0810B79E: - ldr r1, _0810B7AC @ =gMain - ldr r0, _0810B7B0 @ =0x0000043c - adds r1, r0 - b _0810B922 - .align 2, 0 -_0810B7A8: .4byte gUnknown_02039244 -_0810B7AC: .4byte gMain -_0810B7B0: .4byte 0x0000043c -_0810B7B4: - ldr r0, _0810B7BC @ =gWindowConfig_81E6E34 - bl SetUpWindowConfig - b _0810B91C - .align 2, 0 -_0810B7BC: .4byte gWindowConfig_81E6E34 -_0810B7C0: - ldr r0, _0810B7D0 @ =gWindowConfig_81E6E50 - bl SetUpWindowConfig - ldr r1, _0810B7D4 @ =gMain - ldr r0, _0810B7D8 @ =0x0000043c - adds r1, r0 - b _0810B922 - .align 2, 0 -_0810B7D0: .4byte gWindowConfig_81E6E50 -_0810B7D4: .4byte gMain -_0810B7D8: .4byte 0x0000043c -_0810B7DC: - ldr r0, _0810B7E4 @ =gWindowConfig_81E6E34 - bl MultistepInitMenuWindowBegin - b _0810B91C - .align 2, 0 -_0810B7E4: .4byte gWindowConfig_81E6E34 -_0810B7E8: - bl MultistepInitMenuWindowContinue - cmp r0, 0 - bne _0810B7F2 - b _0810B960 -_0810B7F2: - ldr r1, _0810B7FC @ =gMain - ldr r0, _0810B800 @ =0x0000043c - adds r1, r0 - b _0810B922 - .align 2, 0 -_0810B7FC: .4byte gMain -_0810B800: .4byte 0x0000043c -_0810B804: - ldr r0, _0810B80C @ =gWindowConfig_81E6E50 - bl MultistepInitMenuWindowBegin - b _0810B91C - .align 2, 0 -_0810B80C: .4byte gWindowConfig_81E6E50 -_0810B810: - bl MultistepInitMenuWindowContinue - cmp r0, 0 - bne _0810B81A - b _0810B960 -_0810B81A: - ldr r0, _0810B828 @ =0x02000000 - ldr r1, _0810B82C @ =0x0001ffff - adds r0, r1 - movs r1, 0 - strb r1, [r0] - b _0810B91C - .align 2, 0 -_0810B828: .4byte 0x02000000 -_0810B82C: .4byte 0x0001ffff -_0810B830: - bl sub_810B998 - lsls r0, 24 - cmp r0, 0 - bne _0810B83C - b _0810B960 -_0810B83C: - ldr r1, _0810B844 @ =gMain - ldr r0, _0810B848 @ =0x0000043c - adds r1, r0 - b _0810B922 - .align 2, 0 -_0810B844: .4byte gMain -_0810B848: .4byte 0x0000043c -_0810B84C: - bl sub_80F944C - bl LoadScrollIndicatorPalette - movs r0, 0 - movs r1, 0xB0 - movs r2, 0x8 - bl CreateVerticalScrollIndicators - movs r0, 0x1 - movs r1, 0xB0 - movs r2, 0x98 - bl CreateVerticalScrollIndicators - b _0810B91C -_0810B86A: - movs r0, 0x38 - movs r1, 0x40 - movs r2, 0 - bl sub_810BA50 - ldr r1, _0810B884 @ =0x02000000 - ldr r2, _0810B888 @ =0x0001fffe - adds r1, r2 - strb r0, [r1] - ldr r1, _0810B88C @ =gMain - ldr r0, _0810B890 @ =0x0000043c - adds r1, r0 - b _0810B922 - .align 2, 0 -_0810B884: .4byte 0x02000000 -_0810B888: .4byte 0x0001fffe -_0810B88C: .4byte gMain -_0810B890: .4byte 0x0000043c -_0810B894: - bl sub_810BC98 - bl sub_810BD08 - b _0810B91C -_0810B89E: - bl sub_810BB0C - bl sub_810BB30 - ldr r0, _0810B8B8 @ =gUnknown_02039248 - ldrb r0, [r0, 0x1] - bl sub_810BC84 - ldr r1, _0810B8BC @ =gMain - ldr r0, _0810B8C0 @ =0x0000043c - adds r1, r0 - b _0810B922 - .align 2, 0 -_0810B8B8: .4byte gUnknown_02039248 -_0810B8BC: .4byte gMain -_0810B8C0: .4byte 0x0000043c -_0810B8C4: - ldr r3, _0810B8FC @ =0x04000208 - ldrh r2, [r3] - movs r0, 0 - strh r0, [r3] - ldr r4, _0810B900 @ =0x04000200 - ldrh r0, [r4] - movs r1, 0x1 - orrs r0, r1 - strh r0, [r4] - strh r2, [r3] - ldr r2, _0810B904 @ =REG_DISPSTAT - ldrh r0, [r2] - movs r1, 0x8 - orrs r0, r1 - strh r0, [r2] - ldr r0, _0810B908 @ =sub_810B68C - bl SetVBlankCallback - movs r1, 0x80 - lsls r1, 19 - movs r2, 0xBA - lsls r2, 5 - adds r0, r2, 0 - strh r0, [r1] - ldr r1, _0810B90C @ =gMain - ldr r0, _0810B910 @ =0x0000043c - adds r1, r0 - b _0810B922 - .align 2, 0 -_0810B8FC: .4byte 0x04000208 -_0810B900: .4byte 0x04000200 -_0810B904: .4byte REG_DISPSTAT -_0810B908: .4byte sub_810B68C -_0810B90C: .4byte gMain -_0810B910: .4byte 0x0000043c -_0810B914: - bl sub_8055870 - cmp r0, 0x1 - beq _0810B960 -_0810B91C: - ldr r1, _0810B92C @ =gMain - ldr r2, _0810B930 @ =0x0000043c - adds r1, r2 -_0810B922: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0810B960 - .align 2, 0 -_0810B92C: .4byte gMain -_0810B930: .4byte 0x0000043c -_0810B934: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r2, _0810B958 @ =gPaletteFade - ldrb r1, [r2, 0x8] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2, 0x8] - ldr r0, _0810B95C @ =sub_810B674 - bl SetMainCallback2 - movs r0, 0x1 - b _0810B962 - .align 2, 0 -_0810B958: .4byte gPaletteFade -_0810B95C: .4byte sub_810B674 -_0810B960: - movs r0, 0 -_0810B962: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_810B6C0 - - thumb_func_start sub_810B96C -sub_810B96C: @ 810B96C - push {lr} -_0810B96E: - bl sub_810B6C0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0810B988 - ldr r0, _0810B984 @ =sub_810BF7C - movs r1, 0 - bl CreateTask - b _0810B994 - .align 2, 0 -_0810B984: .4byte sub_810BF7C -_0810B988: - bl sub_80F9344 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0810B96E -_0810B994: - pop {r0} - bx r0 - thumb_func_end sub_810B96C - - thumb_func_start sub_810B998 -sub_810B998: @ 810B998 - push {lr} - ldr r0, _0810B9B0 @ =0x02000000 - ldr r1, _0810B9B4 @ =0x0001ffff - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x4 - bhi _0810BA48 - lsls r0, 2 - ldr r1, _0810B9B8 @ =_0810B9BC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0810B9B0: .4byte 0x02000000 -_0810B9B4: .4byte 0x0001ffff -_0810B9B8: .4byte _0810B9BC - .align 2, 0 -_0810B9BC: - .4byte _0810B9D0 - .4byte _0810B9E4 - .4byte _0810B9F8 - .4byte _0810BA08 - .4byte _0810BA28 -_0810B9D0: - ldr r0, _0810B9DC @ =gMenuPokeblock_Gfx - ldr r1, _0810B9E0 @ =0x06008000 - bl LZDecompressVram - b _0810BA0E - .align 2, 0 -_0810B9DC: .4byte gMenuPokeblock_Gfx -_0810B9E0: .4byte 0x06008000 -_0810B9E4: - ldr r0, _0810B9F0 @ =gMenuPokeblock_Tilemap - ldr r1, _0810B9F4 @ =gBGTilemapBuffers + 0x1000 - bl sub_800D238 - b _0810BA0E - .align 2, 0 -_0810B9F0: .4byte gMenuPokeblock_Tilemap -_0810B9F4: .4byte gBGTilemapBuffers + 0x1000 -_0810B9F8: - ldr r0, _0810BA04 @ =gMenuPokeblock_Pal - movs r1, 0 - movs r2, 0xC0 - bl LoadCompressedPalette - b _0810BA0E - .align 2, 0 -_0810BA04: .4byte gMenuPokeblock_Pal -_0810BA08: - ldr r0, _0810BA1C @ =gUnknown_083F7F74 - bl LoadCompressedObjectPic -_0810BA0E: - ldr r1, _0810BA20 @ =0x02000000 - ldr r0, _0810BA24 @ =0x0001ffff - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0810BA48 - .align 2, 0 -_0810BA1C: .4byte gUnknown_083F7F74 -_0810BA20: .4byte 0x02000000 -_0810BA24: .4byte 0x0001ffff -_0810BA28: - ldr r0, _0810BA3C @ =gUnknown_083F7F7C - bl LoadCompressedObjectPalette - ldr r0, _0810BA40 @ =0x02000000 - ldr r1, _0810BA44 @ =0x0001ffff - adds r0, r1 - movs r1, 0 - strb r1, [r0] - movs r0, 0x1 - b _0810BA4A - .align 2, 0 -_0810BA3C: .4byte gUnknown_083F7F7C -_0810BA40: .4byte 0x02000000 -_0810BA44: .4byte 0x0001ffff -_0810BA48: - movs r0, 0 -_0810BA4A: - pop {r1} - bx r1 - thumb_func_end sub_810B998 - - thumb_func_start sub_810BA50 -sub_810BA50: @ 810BA50 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r3, r2, 0 - lsls r3, 24 - lsrs r3, 24 - ldr r0, _0810BA78 @ =gSpriteTemplate_83F7F84 - lsls r4, 16 - asrs r4, 16 - lsls r5, 16 - asrs r5, 16 - adds r1, r4, 0 - adds r2, r5, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0810BA78: .4byte gSpriteTemplate_83F7F84 - thumb_func_end sub_810BA50 - - thumb_func_start sub_810BA7C -sub_810BA7C: @ 810BA7C - push {lr} - ldr r1, _0810BA98 @ =gUnknown_02039244 - strb r0, [r1] - ldrb r2, [r1] - cmp r2, 0x2 - beq _0810BAA8 - cmp r2, 0x3 - beq _0810BAC0 - ldr r1, _0810BA9C @ =gUnknown_03000758 - ldr r0, _0810BAA0 @ =gUnknown_083F7F1C - str r0, [r1] - ldr r1, _0810BAA4 @ =gUnknown_0203924C - movs r0, 0x3 - b _0810BACA - .align 2, 0 -_0810BA98: .4byte gUnknown_02039244 -_0810BA9C: .4byte gUnknown_03000758 -_0810BAA0: .4byte gUnknown_083F7F1C -_0810BAA4: .4byte gUnknown_0203924C -_0810BAA8: - ldr r0, _0810BAB4 @ =gUnknown_03000758 - ldr r1, _0810BAB8 @ =gUnknown_083F7F1F - str r1, [r0] - ldr r0, _0810BABC @ =gUnknown_0203924C - strb r2, [r0] - b _0810BACC - .align 2, 0 -_0810BAB4: .4byte gUnknown_03000758 -_0810BAB8: .4byte gUnknown_083F7F1F -_0810BABC: .4byte gUnknown_0203924C -_0810BAC0: - ldr r1, _0810BAD0 @ =gUnknown_03000758 - ldr r0, _0810BAD4 @ =gUnknown_083F7F21 - str r0, [r1] - ldr r1, _0810BAD8 @ =gUnknown_0203924C - movs r0, 0x2 -_0810BACA: - strb r0, [r1] -_0810BACC: - pop {r0} - bx r0 - .align 2, 0 -_0810BAD0: .4byte gUnknown_03000758 -_0810BAD4: .4byte gUnknown_083F7F21 -_0810BAD8: .4byte gUnknown_0203924C - thumb_func_end sub_810BA7C - - thumb_func_start sub_810BADC -sub_810BADC: @ 810BADC - push {lr} - movs r0, 0x2 - bl sub_810BA7C - ldr r0, _0810BAF0 @ =sub_810B96C - bl SetMainCallback2 - pop {r0} - bx r0 - .align 2, 0 -_0810BAF0: .4byte sub_810B96C - thumb_func_end sub_810BADC - - thumb_func_start sub_810BAF4 -sub_810BAF4: @ 810BAF4 - push {lr} - movs r0, 0x3 - bl sub_810BA7C - ldr r0, _0810BB08 @ =sub_810B96C - bl SetMainCallback2 - pop {r0} - bx r0 - .align 2, 0 -_0810BB08: .4byte sub_810B96C - thumb_func_end sub_810BAF4 - - thumb_func_start sub_810BB0C -sub_810BB0C: @ 810BB0C - push {lr} - ldr r0, _0810BB28 @ =gWindowConfig_81E6E34 - bl BasicInitMenuWindow - ldr r0, _0810BB2C @ =0x00000111 - bl ItemId_GetItem - movs r1, 0x2 - movs r2, 0x1 - movs r3, 0x48 - bl sub_8072BD8 - pop {r0} - bx r0 - .align 2, 0 -_0810BB28: .4byte gWindowConfig_81E6E34 -_0810BB2C: .4byte 0x00000111 - thumb_func_end sub_810BB0C - - thumb_func_start sub_810BB30 -sub_810BB30: @ 810BB30 - push {lr} - ldr r0, _0810BB70 @ =gWindowConfig_81E6E34 - bl BasicInitMenuWindow - ldr r0, _0810BB74 @ =gContestStatsText_Spicy - movs r1, 0x2 - movs r2, 0xD - bl MenuPrint - ldr r0, _0810BB78 @ =gContestStatsText_Dry - movs r1, 0x2 - movs r2, 0xF - bl MenuPrint - ldr r0, _0810BB7C @ =gContestStatsText_Sweet - movs r1, 0x2 - movs r2, 0x11 - bl MenuPrint - ldr r0, _0810BB80 @ =gContestStatsText_Bitter - movs r1, 0x8 - movs r2, 0xD - bl MenuPrint - ldr r0, _0810BB84 @ =gContestStatsText_Sour - movs r1, 0x8 - movs r2, 0xF - bl MenuPrint - pop {r0} - bx r0 - .align 2, 0 -_0810BB70: .4byte gWindowConfig_81E6E34 -_0810BB74: .4byte gContestStatsText_Spicy -_0810BB78: .4byte gContestStatsText_Dry -_0810BB7C: .4byte gContestStatsText_Sweet -_0810BB80: .4byte gContestStatsText_Bitter -_0810BB84: .4byte gContestStatsText_Sour - thumb_func_end sub_810BB30 - - thumb_func_start sub_810BB88 -sub_810BB88: @ 810BB88 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r0, _0810BBF4 @ =gWindowConfig_81E6E34 - bl BasicInitMenuWindow - mov r6, r8 - adds r0, r6, 0 - adds r0, 0x8 - cmp r6, r0 - bgt _0810BC6C - ldr r0, _0810BBF8 @ =gStringVar1 - mov r9, r0 - ldr r1, _0810BBFC @ =gSaveBlock1 - mov r10, r1 -_0810BBB0: - mov r1, r8 - subs r0, r6, r1 - lsls r0, 25 - lsrs r7, r0, 24 - ldr r0, _0810BC00 @ =gUnknown_02039248 - ldrb r0, [r0, 0x2] - cmp r6, r0 - bne _0810BC08 - mov r0, r9 - ldr r1, _0810BC04 @ =gContestStatsText_StowCase - movs r2, 0x78 - movs r3, 0 - bl sub_8072C74 - movs r2, 0x1 - orrs r2, r7 - mov r0, r9 - movs r1, 0xF - bl MenuPrint - mov r0, r8 - adds r0, 0x8 - cmp r6, r0 - beq _0810BC6C - adds r1, r7, 0x3 - lsls r1, 24 - lsrs r1, 24 - movs r0, 0xF - movs r2, 0x1D - movs r3, 0x12 - bl MenuZeroFillWindowRect - b _0810BC6C - .align 2, 0 -_0810BBF4: .4byte gWindowConfig_81E6E34 -_0810BBF8: .4byte gStringVar1 -_0810BBFC: .4byte gSaveBlock1 -_0810BC00: .4byte gUnknown_02039248 -_0810BC04: .4byte gContestStatsText_StowCase -_0810BC08: - lsls r5, r6, 3 - mov r1, r10 - adds r0, r5, r1 - movs r1, 0xFF - lsls r1, 3 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 2 - ldr r1, _0810BC7C @ =gPokeblockNames - adds r0, r1 - ldr r1, [r0] - mov r0, r9 - movs r2, 0x5E - movs r3, 0 - bl sub_8072C74 - adds r4, r0, 0 - movs r0, 0xFC - strb r0, [r4] - movs r0, 0x14 - strb r0, [r4, 0x1] - movs r0, 0x6 - strb r0, [r4, 0x2] - adds r4, 0x3 - ldr r0, _0810BC80 @ =gSaveBlock1 + 0x7F8 - adds r5, r0 - adds r0, r5, 0 - bl sub_810C9B0 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - movs r2, 0x1 - orrs r2, r7 - mov r0, r9 - movs r1, 0xF - bl MenuPrint - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - mov r0, r8 - adds r0, 0x8 - cmp r6, r0 - ble _0810BBB0 -_0810BC6C: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0810BC7C: .4byte gPokeblockNames -_0810BC80: .4byte gSaveBlock1 + 0x7F8 - thumb_func_end sub_810BB88 - - thumb_func_start sub_810BC84 -sub_810BC84: @ 810BC84 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl sub_810BB88 - movs r0, 0 - bl sub_810BDAC - pop {r0} - bx r0 - thumb_func_end sub_810BC84 - - thumb_func_start sub_810BC98 -sub_810BC98: @ 810BC98 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - movs r2, 0 - ldr r0, _0810BD00 @ =gSaveBlock1 - mov r9, r0 -_0810BCA6: - adds r1, r2, 0x1 - lsls r0, r1, 16 - lsrs r5, r0, 16 - mov r8, r1 - cmp r5, 0x27 - bhi _0810BCE8 - lsls r1, r2, 3 - mov r2, r9 - adds r0, r1, r2 - movs r2, 0xFF - lsls r2, 3 - adds r7, r0, r2 - ldr r0, _0810BD04 @ =gSaveBlock1 + 0x7F8 - mov r12, r0 - adds r6, r1, r0 -_0810BCC4: - ldrb r0, [r7] - cmp r0, 0 - bne _0810BCDE - ldr r3, [r6] - ldr r4, [r6, 0x4] - lsls r2, r5, 3 - add r2, r12 - ldr r0, [r2] - ldr r1, [r2, 0x4] - str r0, [r6] - str r1, [r6, 0x4] - str r3, [r2] - str r4, [r2, 0x4] -_0810BCDE: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x27 - bls _0810BCC4 -_0810BCE8: - mov r1, r8 - lsls r0, r1, 16 - lsrs r2, r0, 16 - cmp r2, 0x26 - bls _0810BCA6 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0810BD00: .4byte gSaveBlock1 -_0810BD04: .4byte gSaveBlock1 + 0x7F8 - thumb_func_end sub_810BC98 - - thumb_func_start sub_810BD08 -sub_810BD08: @ 810BD08 - push {r4,r5,lr} - ldr r1, _0810BD5C @ =gUnknown_02039248 - movs r0, 0 - strb r0, [r1, 0x2] - movs r2, 0 - ldr r5, _0810BD60 @ =gSaveBlock1 - movs r4, 0xFF - lsls r4, 3 - adds r3, r1, 0 -_0810BD1A: - lsls r0, r2, 3 - adds r0, r5 - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0 - beq _0810BD2C - ldrb r0, [r3, 0x2] - adds r0, 0x1 - strb r0, [r3, 0x2] -_0810BD2C: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x27 - bls _0810BD1A - ldrb r0, [r1, 0x2] - cmp r0, 0x7 - bls _0810BD3E - movs r0, 0x8 -_0810BD3E: - strb r0, [r1, 0x3] - ldrb r2, [r1, 0x1] - adds r0, r2, 0 - adds r0, 0x8 - ldrb r3, [r1, 0x2] - cmp r0, r3 - ble _0810BD54 - cmp r2, 0 - beq _0810BD54 - subs r0, r2, 0x1 - strb r0, [r1, 0x1] -_0810BD54: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810BD5C: .4byte gUnknown_02039248 -_0810BD60: .4byte gSaveBlock1 - thumb_func_end sub_810BD08 - - thumb_func_start sub_810BD64 -sub_810BD64: @ 810BD64 - push {r4,r5,lr} - lsls r0, 16 - lsrs r3, r0, 16 - movs r2, 0 - ldr r5, _0810BDA4 @ =gUnknown_02039248 - ldr r4, _0810BDA8 @ =gBGTilemapBuffers + 0x1000 -_0810BD70: - ldrb r0, [r5] - lsls r0, 1 - adds r0, 0x1 - lsls r0, 5 - adds r1, r2, 0 - adds r1, 0xF - adds r0, r1 - lsls r0, 1 - adds r0, r4 - strh r3, [r0] - ldrb r0, [r5] - lsls r0, 6 - adds r0, 0x40 - adds r0, r1 - lsls r0, 1 - adds r0, r4 - strh r3, [r0] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xD - bls _0810BD70 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810BDA4: .4byte gUnknown_02039248 -_0810BDA8: .4byte gBGTilemapBuffers + 0x1000 - thumb_func_end sub_810BD64 - - thumb_func_start sub_810BDAC -sub_810BDAC: @ 810BDAC - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - cmp r0, 0 - bne _0810BDCC - ldr r0, _0810BDC4 @ =0x00001005 - ldr r1, _0810BDC8 @ =0x00001014 - bl sub_810BD64 - b _0810BDD4 - .align 2, 0 -_0810BDC4: .4byte 0x00001005 -_0810BDC8: .4byte 0x00001014 -_0810BDCC: - ldr r0, _0810BDE8 @ =0x00002005 - ldr r1, _0810BDEC @ =0x00002014 - bl sub_810BD64 -_0810BDD4: - ldr r0, _0810BDF0 @ =gUnknown_02039248 - ldrb r0, [r0, 0x1] - cmp r0, 0 - beq _0810BDF4 - movs r0, 0 - movs r1, 0 - bl sub_80F979C - b _0810BDFC - .align 2, 0 -_0810BDE8: .4byte 0x00002005 -_0810BDEC: .4byte 0x00002014 -_0810BDF0: .4byte gUnknown_02039248 -_0810BDF4: - movs r0, 0 - movs r1, 0x1 - bl sub_80F979C -_0810BDFC: - ldr r2, _0810BE1C @ =gUnknown_02039248 - ldrb r0, [r2, 0x2] - ldrb r1, [r2, 0x3] - cmp r0, r1 - bls _0810BE20 - ldrb r0, [r2, 0x1] - ldrb r1, [r2, 0x3] - adds r0, r1 - ldrb r2, [r2, 0x2] - cmp r0, r2 - beq _0810BE20 - movs r0, 0x1 - movs r1, 0 - bl sub_80F979C - b _0810BE28 - .align 2, 0 -_0810BE1C: .4byte gUnknown_02039248 -_0810BE20: - movs r0, 0x1 - movs r1, 0x1 - bl sub_80F979C -_0810BE28: - movs r6, 0 - ldr r7, _0810BE94 @ =gBGTilemapBuffers + 0x1000 - movs r0, 0xF - mov r8, r0 -_0810BE30: - adds r0, r6, 0 - movs r1, 0x3 - bl __umodsi3 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 18 - ldr r1, _0810BE98 @ =0x000001a1 - adds r4, r1 - adds r0, r6, 0 - movs r1, 0x3 - bl __udivsi3 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 1 - adds r5, r4, r1 - ldr r1, _0810BE9C @ =gUnknown_02039248 - ldrb r2, [r1] - ldrb r0, [r1, 0x1] - adds r0, r2, r0 - ldrb r1, [r1, 0x2] - cmp r0, r1 - beq _0810BEB8 - lsls r0, 3 - ldr r1, _0810BEA0 @ =gSaveBlock1 + 0x7F8 - adds r0, r1 - adds r4, r6, 0x1 - lsls r1, r4, 24 - lsrs r1, 24 - bl sub_810CA9C - lsls r0, 16 - cmp r0, 0 - ble _0810BEA4 - lsls r1, r5, 1 - adds r1, r7 - lsls r2, r6, 12 - adds r0, r2, 0 - adds r0, 0x17 - strh r0, [r1] - adds r0, r5, 0 - adds r0, 0x20 - lsls r0, 1 - adds r0, r7 - adds r2, 0x18 - strh r2, [r0] - b _0810BECC - .align 2, 0 -_0810BE94: .4byte gBGTilemapBuffers + 0x1000 -_0810BE98: .4byte 0x000001a1 -_0810BE9C: .4byte gUnknown_02039248 -_0810BEA0: .4byte gSaveBlock1 + 0x7F8 -_0810BEA4: - lsls r0, r5, 1 - adds r0, r7 - mov r1, r8 - strh r1, [r0] - adds r0, r5, 0 - adds r0, 0x20 - lsls r0, 1 - adds r0, r7 - strh r1, [r0] - b _0810BECC -_0810BEB8: - lsls r0, r5, 1 - adds r0, r7 - mov r1, r8 - strh r1, [r0] - adds r0, r5, 0 - adds r0, 0x20 - lsls r0, 1 - adds r0, r7 - strh r1, [r0] - adds r4, r6, 0x1 -_0810BECC: - lsls r0, r4, 24 - lsrs r6, r0, 24 - cmp r6, 0x4 - bls _0810BE30 - ldr r0, _0810BF10 @ =gWindowConfig_81E6E34 - bl BasicInitMenuWindow - ldr r0, _0810BF14 @ =gUnknown_02039248 - ldrb r2, [r0] - ldrb r1, [r0, 0x1] - adds r2, r1 - ldrb r0, [r0, 0x2] - cmp r2, r0 - beq _0810BF20 - ldr r4, _0810BF18 @ =gStringVar1 - lsls r0, r2, 3 - ldr r1, _0810BF1C @ =gSaveBlock1 + 0x7F8 - adds r0, r1 - bl sub_810C9E8 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - movs r2, 0x10 - movs r3, 0x1 - bl sub_8072C14 - adds r0, r4, 0 - movs r1, 0xB - movs r2, 0x11 - bl MenuPrint - b _0810BF2C - .align 2, 0 -_0810BF10: .4byte gWindowConfig_81E6E34 -_0810BF14: .4byte gUnknown_02039248 -_0810BF18: .4byte gStringVar1 -_0810BF1C: .4byte gSaveBlock1 + 0x7F8 -_0810BF20: - movs r0, 0xB - movs r1, 0x11 - movs r2, 0xC - movs r3, 0x12 - bl MenuZeroFillWindowRect -_0810BF2C: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_810BDAC - - thumb_func_start sub_810BF38 -sub_810BF38: @ 810BF38 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x5 - bl PlaySE - ldr r2, _0810BF6C @ =gSprites - ldr r0, _0810BF70 @ =0x02000000 - ldr r1, _0810BF74 @ =0x0001fffe - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x1C - adds r0, r2 - ldr r1, _0810BF78 @ =sub_810C8D4 - str r1, [r0] - adds r0, r4, 0 - bl sub_810BDAC - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810BF6C: .4byte gSprites -_0810BF70: .4byte 0x02000000 -_0810BF74: .4byte 0x0001fffe -_0810BF78: .4byte sub_810C8D4 - thumb_func_end sub_810BF38 - - thumb_func_start sub_810BF7C -sub_810BF7C: @ 810BF7C - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r4, r5, 0 - ldr r0, _0810BFB8 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r3, 0x80 - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - beq _0810BF94 - b _0810C0B8 -_0810BF94: - ldr r2, _0810BFBC @ =gMain - ldrh r1, [r2, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0810BFCE - ldr r4, _0810BFC0 @ =gUnknown_02039248 - ldrb r0, [r4] - cmp r0, 0 - beq _0810BFC4 - movs r0, 0x5 - movs r1, 0x14 - bl sub_810BD64 - ldrb r0, [r4] - subs r0, 0x1 - strb r0, [r4] - b _0810C00A - .align 2, 0 -_0810BFB8: .4byte gPaletteFade -_0810BFBC: .4byte gMain -_0810BFC0: .4byte gUnknown_02039248 -_0810BFC4: - ldrb r0, [r4, 0x1] - cmp r0, 0 - beq _0810C0B8 - subs r0, 0x1 - b _0810C002 -_0810BFCE: - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - beq _0810C012 - ldr r4, _0810BFF0 @ =gUnknown_02039248 - ldrb r0, [r4] - ldrb r1, [r4, 0x3] - cmp r0, r1 - beq _0810BFF4 - movs r0, 0x5 - movs r1, 0x14 - bl sub_810BD64 - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - b _0810C00A - .align 2, 0 -_0810BFF0: .4byte gUnknown_02039248 -_0810BFF4: - ldrb r1, [r4, 0x1] - ldrb r0, [r4] - adds r0, r1, r0 - ldrb r2, [r4, 0x2] - cmp r0, r2 - beq _0810C0B8 - adds r0, r1, 0x1 -_0810C002: - strb r0, [r4, 0x1] - ldrb r0, [r4, 0x1] - bl sub_810BB88 -_0810C00A: - movs r0, 0 - bl sub_810BF38 - b _0810C0B8 -_0810C012: - ldrh r1, [r2, 0x2E] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0810C05C - ldr r4, _0810C050 @ =gUnknown_02039248 - ldrb r0, [r4, 0x1] - ldrb r1, [r4] - adds r0, r1 - ldrb r1, [r4, 0x2] - cmp r0, r1 - beq _0810C0B8 - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - bl sub_810BDAC - ldr r1, _0810C054 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldrb r1, [r4, 0x1] - ldrb r2, [r4] - adds r1, r2 - strh r1, [r0, 0x8] - ldr r1, _0810C058 @ =sub_810C0C8 - str r1, [r0] - b _0810C0B8 - .align 2, 0 -_0810C050: .4byte gUnknown_02039248 -_0810C054: .4byte gTasks -_0810C058: .4byte sub_810C0C8 -_0810C05C: - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0810C09C - movs r0, 0x5 - bl PlaySE - ldr r0, _0810C088 @ =gUnknown_02039248 - ldrb r1, [r0, 0x1] - ldrb r2, [r0] - adds r1, r2 - ldrb r0, [r0, 0x2] - cmp r1, r0 - bne _0810C094 - ldr r1, _0810C08C @ =gScriptResult - ldr r2, _0810C090 @ =0x0000ffff - adds r0, r2, 0 - strh r0, [r1] - adds r0, r5, 0 - bl sub_810C31C - b _0810C0B8 - .align 2, 0 -_0810C088: .4byte gUnknown_02039248 -_0810C08C: .4byte gScriptResult -_0810C090: .4byte 0x0000ffff -_0810C094: - adds r0, r5, 0 - bl sub_810C368 - b _0810C0B8 -_0810C09C: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0810C0B8 - movs r0, 0x5 - bl PlaySE - ldr r1, _0810C0C0 @ =gScriptResult - ldr r2, _0810C0C4 @ =0x0000ffff - adds r0, r2, 0 - strh r0, [r1] - adds r0, r4, 0 - bl sub_810C31C -_0810C0B8: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810C0C0: .4byte gScriptResult -_0810C0C4: .4byte 0x0000ffff - thumb_func_end sub_810BF7C - - thumb_func_start sub_810C0C8 -sub_810C0C8: @ 810C0C8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r2, _0810C0F4 @ =gMain - ldrh r1, [r2, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0810C110 - ldr r4, _0810C0F8 @ =gUnknown_02039248 - ldrb r0, [r4] - cmp r0, 0 - beq _0810C0FC - movs r0, 0x5 - movs r1, 0x14 - bl sub_810BD64 - ldrb r0, [r4] - subs r0, 0x1 - strb r0, [r4] - b _0810C158 - .align 2, 0 -_0810C0F4: .4byte gMain -_0810C0F8: .4byte gUnknown_02039248 -_0810C0FC: - ldrb r0, [r4, 0x1] - cmp r0, 0 - beq _0810C1BA - adds r0, r5, 0 - movs r1, 0 - bl sub_810C1C8 - ldrb r0, [r4, 0x1] - subs r0, 0x1 - b _0810C150 -_0810C110: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0810C168 - ldr r4, _0810C134 @ =gUnknown_02039248 - ldrb r0, [r4] - ldrb r1, [r4, 0x3] - cmp r0, r1 - beq _0810C138 - movs r0, 0x5 - movs r1, 0x14 - bl sub_810BD64 - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - b _0810C158 - .align 2, 0 -_0810C134: .4byte gUnknown_02039248 -_0810C138: - ldrb r0, [r4, 0x1] - ldrb r1, [r4] - adds r0, r1 - ldrb r1, [r4, 0x2] - cmp r0, r1 - beq _0810C1BA - adds r0, r5, 0 - movs r1, 0 - bl sub_810C1C8 - ldrb r0, [r4, 0x1] - adds r0, 0x1 -_0810C150: - strb r0, [r4, 0x1] - ldrb r0, [r4, 0x1] - bl sub_810BB88 -_0810C158: - movs r0, 0x1 - bl sub_810BF38 - adds r0, r5, 0 - movs r1, 0x1 - bl sub_810C1C8 - b _0810C1BA -_0810C168: - ldrh r1, [r2, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0810C17A - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0810C190 -_0810C17A: - movs r0, 0x5 - bl PlaySE - adds r0, r5, 0 - movs r1, 0 - bl sub_810C1C8 - adds r0, r5, 0 - bl sub_810C23C - b _0810C1AC -_0810C190: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0810C1BA - movs r0, 0x5 - bl PlaySE - adds r0, r5, 0 - movs r1, 0 - bl sub_810C1C8 - movs r0, 0 - bl sub_810BDAC -_0810C1AC: - ldr r0, _0810C1C0 @ =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldr r0, _0810C1C4 @ =sub_810BF7C - str r0, [r1] -_0810C1BA: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810C1C0: .4byte gTasks -_0810C1C4: .4byte sub_810BF7C - thumb_func_end sub_810C0C8 - - thumb_func_start sub_810C1C8 -sub_810C1C8: @ 810C1C8 - push {r4-r6,lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r1, 24 - ldr r6, _0810C22C @ =0x00001005 - cmp r1, 0 - bne _0810C1D8 - movs r6, 0x5 -_0810C1D8: - ldr r1, _0810C230 @ =gTasks - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r1 - ldr r2, _0810C234 @ =gUnknown_02039248 - ldrb r1, [r2, 0x1] - ldrh r0, [r0, 0x8] - subs r0, r1 - lsls r1, r0, 16 - lsrs r0, r1, 16 - cmp r0, 0x8 - bhi _0810C226 - asrs r0, r1, 16 - ldrb r2, [r2] - cmp r0, r2 - beq _0810C226 - movs r2, 0 - lsls r0, 1 - adds r1, r0, 0x1 - lsls r5, r1, 5 - ldr r3, _0810C238 @ =gBGTilemapBuffers + 0x1000 - adds r0, 0x2 - lsls r4, r0, 5 -_0810C208: - adds r0, r2, 0 - adds r0, 0xF - adds r1, r5, r0 - lsls r1, 1 - adds r1, r3 - strh r6, [r1] - adds r0, r4, r0 - lsls r0, 1 - adds r0, r3 - strh r6, [r0] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xD - bls _0810C208 -_0810C226: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0810C22C: .4byte 0x00001005 -_0810C230: .4byte gTasks -_0810C234: .4byte gUnknown_02039248 -_0810C238: .4byte gBGTilemapBuffers + 0x1000 - thumb_func_end sub_810C1C8 - - thumb_func_start sub_810C23C -sub_810C23C: @ 810C23C - push {r4-r7,lr} - lsls r0, 24 - lsrs r1, r0, 24 - ldr r7, _0810C25C @ =gUnknown_02039248 - ldrb r0, [r7] - ldrb r2, [r7, 0x1] - adds r0, r2 - lsls r0, 24 - lsrs r0, 24 - ldrb r2, [r7, 0x2] - cmp r0, r2 - bne _0810C260 - movs r0, 0 - bl sub_810BDAC - b _0810C2A2 - .align 2, 0 -_0810C25C: .4byte gUnknown_02039248 -_0810C260: - ldr r4, _0810C2A8 @ =gSaveBlock1 - lsls r3, r0, 3 - movs r0, 0xFF - lsls r0, 3 - adds r4, r0 - adds r3, r4 - ldr r5, [r3] - ldr r6, [r3, 0x4] - ldr r0, _0810C2AC @ =gTasks - lsls r2, r1, 2 - adds r2, r1 - lsls r2, 3 - adds r2, r0 - movs r1, 0x8 - ldrsh r0, [r2, r1] - lsls r0, 3 - adds r0, r4 - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [r3] - str r1, [r3, 0x4] - movs r1, 0x8 - ldrsh r0, [r2, r1] - lsls r0, 3 - adds r0, r4 - str r5, [r0] - str r6, [r0, 0x4] - ldrb r0, [r7, 0x1] - bl sub_810BB88 - movs r0, 0 - bl sub_810BDAC -_0810C2A2: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0810C2A8: .4byte gSaveBlock1 -_0810C2AC: .4byte gTasks - thumb_func_end sub_810C23C - - thumb_func_start sub_810C2B0 -sub_810C2B0: @ 810C2B0 - push {lr} - movs r0, 0 - bl DestroyVerticalScrollIndicator - movs r0, 0x1 - bl DestroyVerticalScrollIndicator - bl BuyMenuFreeMemory - pop {r0} - bx r0 - thumb_func_end sub_810C2B0 - - thumb_func_start sub_810C2C8 -sub_810C2C8: @ 810C2C8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _0810C308 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0810C300 - ldr r4, _0810C30C @ =gUnknown_02039244 - ldrb r0, [r4] - cmp r0, 0x3 - bne _0810C2E8 - ldr r1, _0810C310 @ =gUnknown_0300485C - ldr r0, _0810C314 @ =sub_8080990 - str r0, [r1] -_0810C2E8: - bl sub_810C2B0 - ldr r0, _0810C318 @ =gUnknown_083F7EA8 - ldrb r1, [r4] - lsls r1, 2 - adds r1, r0 - ldr r0, [r1] - bl SetMainCallback2 - adds r0, r5, 0 - bl DestroyTask -_0810C300: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810C308: .4byte gPaletteFade -_0810C30C: .4byte gUnknown_02039244 -_0810C310: .4byte gUnknown_0300485C -_0810C314: .4byte sub_8080990 -_0810C318: .4byte gUnknown_083F7EA8 - thumb_func_end sub_810C2C8 - - thumb_func_start sub_810C31C -sub_810C31C: @ 810C31C - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x1 - negs r0, r0 - movs r5, 0 - str r5, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, _0810C358 @ =gUnknown_02039244 - ldrb r0, [r0] - cmp r0, 0x1 - bls _0810C342 - ldr r0, _0810C35C @ =gScriptItemId - strh r5, [r0] -_0810C342: - ldr r0, _0810C360 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _0810C364 @ =sub_810C2C8 - str r0, [r1] - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810C358: .4byte gUnknown_02039244 -_0810C35C: .4byte gScriptItemId -_0810C360: .4byte gTasks -_0810C364: .4byte sub_810C2C8 - thumb_func_end sub_810C31C - - thumb_func_start sub_810C368 -sub_810C368: @ 810C368 - push {r4-r6,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r6, r0, 24 - movs r4, 0 - ldr r0, _0810C3E8 @ =gUnknown_02039244 - ldrb r0, [r0] - cmp r0, 0x1 - bls _0810C37C - movs r4, 0x2 -_0810C37C: - movs r0, 0 - bl sub_80F98A4 - movs r0, 0x1 - bl sub_80F98A4 - ldr r0, _0810C3EC @ =gWindowConfig_81E6E50 - bl BasicInitMenuWindow - adds r1, r4, 0x4 - movs r0, 0x7 - movs r2, 0xD - movs r3, 0xB - bl MenuDrawTextWindow - adds r4, 0x5 - ldr r5, _0810C3F0 @ =gUnknown_0203924C - ldrb r2, [r5] - ldr r3, _0810C3F4 @ =gUnknown_083F7EF4 - ldr r0, _0810C3F8 @ =gUnknown_03000758 - ldr r0, [r0] - str r0, [sp] - movs r0, 0x8 - adds r1, r4, 0 - bl PrintMenuItemsReordered - ldrb r3, [r5] - movs r0, 0 - str r0, [sp] - movs r0, 0x5 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0x8 - adds r2, r4, 0 - bl InitMenu - ldr r2, _0810C3FC @ =gScriptItemId - ldr r1, _0810C400 @ =gUnknown_02039248 - ldrb r0, [r1] - ldrb r1, [r1, 0x1] - adds r0, r1 - strh r0, [r2] - ldr r1, _0810C404 @ =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, _0810C408 @ =sub_810C40C - str r1, [r0] - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0810C3E8: .4byte gUnknown_02039244 -_0810C3EC: .4byte gWindowConfig_81E6E50 -_0810C3F0: .4byte gUnknown_0203924C -_0810C3F4: .4byte gUnknown_083F7EF4 -_0810C3F8: .4byte gUnknown_03000758 -_0810C3FC: .4byte gScriptItemId -_0810C400: .4byte gUnknown_02039248 -_0810C404: .4byte gTasks -_0810C408: .4byte sub_810C40C - thumb_func_end sub_810C368 - - thumb_func_start sub_810C40C -sub_810C40C: @ 810C40C - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r4, r5, 0 - ldr r2, _0810C43C @ =gMain - ldrh r1, [r2, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0810C440 - bl GetMenuCursorPos - lsls r0, 24 - cmp r0, 0 - beq _0810C4BC - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - negs r0, r0 - bl MoveMenuCursor - b _0810C4BC - .align 2, 0 -_0810C43C: .4byte gMain -_0810C440: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0810C46C - bl GetMenuCursorPos - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0810C468 @ =gUnknown_0203924C - ldrb r1, [r1] - subs r1, 0x1 - cmp r0, r1 - beq _0810C4BC - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - bl MoveMenuCursor - b _0810C4BC - .align 2, 0 -_0810C468: .4byte gUnknown_0203924C -_0810C46C: - ldrh r1, [r2, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0810C4A8 - movs r0, 0x5 - bl PlaySE - ldr r4, _0810C4A0 @ =gUnknown_083F7EF4 - bl GetMenuCursorPos - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0810C4A4 @ =gUnknown_03000758 - ldr r1, [r1] - adds r1, r0 - ldrb r0, [r1] - lsls r0, 3 - adds r4, 0x4 - adds r0, r4 - ldr r1, [r0] - adds r0, r5, 0 - bl _call_via_r1 - b _0810C4BC - .align 2, 0 -_0810C4A0: .4byte gUnknown_083F7EF4 -_0810C4A4: .4byte gUnknown_03000758 -_0810C4A8: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0810C4BC - movs r0, 0x5 - bl PlaySE - adds r0, r4, 0 - bl sub_810C748 -_0810C4BC: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_810C40C - - thumb_func_start sub_810C4C4 -sub_810C4C4: @ 810C4C4 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0810C4F8 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0810C4F0 - bl sub_810C2B0 - ldr r0, _0810C4FC @ =gScriptItemId - ldrh r0, [r0] - lsls r0, 3 - ldr r1, _0810C500 @ =gSaveBlock1 + 0x7F8 - adds r0, r1 - ldr r1, _0810C504 @ =sub_810B96C - bl sub_8136130 - adds r0, r4, 0 - bl DestroyTask -_0810C4F0: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810C4F8: .4byte gPaletteFade -_0810C4FC: .4byte gScriptItemId -_0810C500: .4byte gSaveBlock1 + 0x7F8 -_0810C504: .4byte sub_810B96C - thumb_func_end sub_810C4C4 - - thumb_func_start sub_810C508 -sub_810C508: @ 810C508 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, _0810C538 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0810C53C @ =sub_810C4C4 - str r1, [r0] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810C538: .4byte gTasks -_0810C53C: .4byte sub_810C4C4 - thumb_func_end sub_810C508 - - thumb_func_start sub_810C540 -sub_810C540: @ 810C540 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r0, _0810C5A0 @ =gWindowConfig_81E6E50 - bl BasicInitMenuWindow - bl sub_8072DEC - movs r0, 0x7 - movs r1, 0x4 - movs r2, 0xD - movs r3, 0xB - bl MenuZeroFillWindowRect - ldr r0, _0810C5A4 @ =gStringVar1 - ldr r4, _0810C5A8 @ =gPokeblockNames - ldr r3, _0810C5AC @ =gSaveBlock1 - ldr r2, _0810C5B0 @ =gUnknown_02039248 - ldrb r1, [r2] - ldrb r2, [r2, 0x1] - adds r1, r2 - lsls r1, 3 - adds r1, r3 - movs r2, 0xFF - lsls r2, 3 - adds r1, r2 - ldrb r1, [r1] - lsls r1, 2 - adds r1, r4 - ldr r1, [r1] - bl StringCopy - ldr r4, _0810C5B4 @ =gStringVar4 - ldr r1, _0810C5B8 @ =gContestStatsText_ThrowAwayPrompt - adds r0, r4, 0 - bl StringExpandPlaceholders - ldr r2, _0810C5BC @ =sub_810C5EC - adds r0, r5, 0 - adds r1, r4, 0 - movs r3, 0 - bl DisplayItemMessageOnField - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810C5A0: .4byte gWindowConfig_81E6E50 -_0810C5A4: .4byte gStringVar1 -_0810C5A8: .4byte gPokeblockNames -_0810C5AC: .4byte gSaveBlock1 -_0810C5B0: .4byte gUnknown_02039248 -_0810C5B4: .4byte gStringVar4 -_0810C5B8: .4byte gContestStatsText_ThrowAwayPrompt -_0810C5BC: .4byte sub_810C5EC - thumb_func_end sub_810C540 - - thumb_func_start sub_810C5C0 -sub_810C5C0: @ 810C5C0 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x1 - movs r1, 0x1 - bl sub_80F979C - ldr r1, _0810C5E4 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0810C5E8 @ =sub_810C540 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810C5E4: .4byte gTasks -_0810C5E8: .4byte sub_810C540 - thumb_func_end sub_810C5C0 - - thumb_func_start sub_810C5EC -sub_810C5EC: @ 810C5EC - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x7 - movs r1, 0x6 - movs r2, 0x1 - bl DisplayYesNoMenu - ldr r1, _0810C60C @ =gUnknown_083F7F24 - adds r0, r4, 0 - bl sub_80F914C - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810C60C: .4byte gUnknown_083F7F24 - thumb_func_end sub_810C5EC - - thumb_func_start sub_810C610 -sub_810C610: @ 810C610 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x7 - movs r1, 0x6 - movs r2, 0xD - movs r3, 0xB - bl MenuZeroFillWindowRect - ldr r1, _0810C658 @ =gUnknown_02039248 - ldrb r0, [r1, 0x1] - ldrb r1, [r1] - adds r0, r1 - lsls r0, 24 - lsrs r0, 24 - bl sub_810CA6C - ldr r5, _0810C65C @ =gStringVar4 - ldr r1, _0810C660 @ =gContestStatsText_WasThrownAway - adds r0, r5, 0 - bl StringExpandPlaceholders - ldr r2, _0810C664 @ =sub_810C704 - adds r0, r4, 0 - adds r1, r5, 0 - movs r3, 0 - bl DisplayItemMessageOnField - bl sub_810BC98 - bl sub_810BD08 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810C658: .4byte gUnknown_02039248 -_0810C65C: .4byte gStringVar4 -_0810C660: .4byte gContestStatsText_WasThrownAway -_0810C664: .4byte sub_810C704 - thumb_func_end sub_810C610 - - thumb_func_start sub_810C668 -sub_810C668: @ 810C668 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0 - bl sub_80F98DC - movs r0, 0x1 - bl sub_80F98DC - ldr r2, _0810C6CC @ =gUnknown_02039248 - ldrb r0, [r2, 0x2] - ldrb r1, [r2, 0x3] - cmp r0, r1 - bls _0810C698 - ldrb r0, [r2, 0x1] - ldrb r1, [r2, 0x3] - adds r0, r1 - ldrb r2, [r2, 0x2] - cmp r0, r2 - beq _0810C698 - movs r0, 0x1 - movs r1, 0 - bl sub_80F979C -_0810C698: - ldr r0, _0810C6D0 @ =gWindowConfig_81E6E50 - bl BasicInitMenuWindow - movs r0, 0x7 - movs r1, 0x6 - movs r2, 0xD - movs r3, 0xB - bl MenuZeroFillWindowRect - movs r0, 0 - movs r1, 0xE - movs r2, 0x1D - movs r3, 0x13 - bl MenuZeroFillWindowRect - ldr r1, _0810C6D4 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0810C6D8 @ =sub_810BF7C - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810C6CC: .4byte gUnknown_02039248 -_0810C6D0: .4byte gWindowConfig_81E6E50 -_0810C6D4: .4byte gTasks -_0810C6D8: .4byte sub_810BF7C - thumb_func_end sub_810C668 - - thumb_func_start sub_810C6DC -sub_810C6DC: @ 810C6DC - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, _0810C700 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0810C6F6 - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0810C6FC -_0810C6F6: - adds r0, r2, 0 - bl sub_810C668 -_0810C6FC: - pop {r0} - bx r0 - .align 2, 0 -_0810C700: .4byte gMain - thumb_func_end sub_810C6DC - - thumb_func_start sub_810C704 -sub_810C704: @ 810C704 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _0810C738 @ =gWindowConfig_81E6E34 - bl BasicInitMenuWindow - ldr r0, _0810C73C @ =gUnknown_02039248 - ldrb r0, [r0, 0x1] - bl sub_810BC84 - movs r0, 0x1 - movs r1, 0x1 - bl sub_80F979C - ldr r1, _0810C740 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0810C744 @ =sub_810C6DC - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810C738: .4byte gWindowConfig_81E6E34 -_0810C73C: .4byte gUnknown_02039248 -_0810C740: .4byte gTasks -_0810C744: .4byte sub_810C6DC - thumb_func_end sub_810C704 - - thumb_func_start sub_810C748 -sub_810C748: @ 810C748 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - bl sub_80F98DC - movs r0, 0x1 - bl sub_80F98DC - bl sub_8072DEC - movs r0, 0x7 - movs r1, 0x4 - movs r2, 0xD - movs r3, 0xB - bl MenuZeroFillWindowRect - ldr r1, _0810C780 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0810C784 @ =sub_810BF7C - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810C780: .4byte gTasks -_0810C784: .4byte sub_810BF7C - thumb_func_end sub_810C748 - - thumb_func_start sub_810C788 -sub_810C788: @ 810C788 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r0, _0810C834 @ =gEnemyParty - bl GetNature - lsls r0, 24 - lsrs r0, 24 - ldr r7, _0810C838 @ =gScriptItemId - ldrh r1, [r7] - lsls r1, 3 - ldr r5, _0810C83C @ =gSaveBlock1 + 0x7F8 - adds r1, r5 - bl sub_810CAE4 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r0, _0810C840 @ =gUnknown_030041C0 - ldr r2, _0810C844 @ =gPokeblockNames - ldr r1, _0810C848 @ =0xfffff808 - adds r5, r1 - ldrh r1, [r7] - lsls r1, 3 - adds r1, r5 - movs r6, 0xFF - lsls r6, 3 - adds r1, r6 - ldrb r1, [r1] - lsls r1, 2 - adds r1, r2 - ldr r1, [r1] - bl StringCopy - ldrb r0, [r7] - bl sub_810CA6C - ldrh r0, [r7] - lsls r0, 3 - adds r0, r5 - adds r0, r6 - ldrb r0, [r0] - lsls r0, 8 - strh r0, [r7] - lsls r4, 16 - asrs r4, 16 - cmp r4, 0 - bne _0810C7F4 - adds r0, 0x1 - strh r0, [r7] -_0810C7F4: - cmp r4, 0 - ble _0810C7FE - ldrh r0, [r7] - adds r0, 0x2 - strh r0, [r7] -_0810C7FE: - cmp r4, 0 - bge _0810C808 - ldrh r0, [r7] - adds r0, 0x3 - strh r0, [r7] -_0810C808: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, _0810C84C @ =gTasks - mov r2, r8 - lsls r0, r2, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - ldr r1, _0810C850 @ =sub_810C2C8 - str r1, [r0] - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0810C834: .4byte gEnemyParty -_0810C838: .4byte gScriptItemId -_0810C83C: .4byte gSaveBlock1 + 0x7F8 -_0810C840: .4byte gUnknown_030041C0 -_0810C844: .4byte gPokeblockNames -_0810C848: .4byte 0xfffff808 -_0810C84C: .4byte gTasks -_0810C850: .4byte sub_810C2C8 - thumb_func_end sub_810C788 - - thumb_func_start sub_810C854 -sub_810C854: @ 810C854 - push {r4,r5,lr} - sub sp, 0x4 - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r4, _0810C8B8 @ =gScriptItemId - ldrb r0, [r4] - bl SafariZoneActivatePokeblockFeeder - ldr r0, _0810C8BC @ =gStringVar1 - ldr r3, _0810C8C0 @ =gPokeblockNames - ldr r2, _0810C8C4 @ =gSaveBlock1 - ldrh r1, [r4] - lsls r1, 3 - adds r1, r2 - movs r2, 0xFF - lsls r2, 3 - adds r1, r2 - ldrb r1, [r1] - lsls r1, 2 - adds r1, r3 - ldr r1, [r1] - bl StringCopy - ldr r1, _0810C8C8 @ =gScriptResult - ldrh r0, [r4] - strh r0, [r1] - lsls r0, 24 - lsrs r0, 24 - bl sub_810CA6C - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, _0810C8CC @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, _0810C8D0 @ =sub_810C2C8 - str r1, [r0] - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810C8B8: .4byte gScriptItemId -_0810C8BC: .4byte gStringVar1 -_0810C8C0: .4byte gPokeblockNames -_0810C8C4: .4byte gSaveBlock1 -_0810C8C8: .4byte gScriptResult -_0810C8CC: .4byte gTasks -_0810C8D0: .4byte sub_810C2C8 - thumb_func_end sub_810C854 - - thumb_func_start sub_810C8D4 -sub_810C8D4: @ 810C8D4 - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x1 - ble _0810C8E4 - movs r0, 0 - strh r0, [r4, 0x2E] -_0810C8E4: - movs r0, 0x2E - ldrsh r5, [r4, r0] - cmp r5, 0 - beq _0810C8F2 - cmp r5, 0x1 - beq _0810C918 - b _0810C944 -_0810C8F2: - ldrb r1, [r4, 0x1] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - movs r1, 0x1 - orrs r0, r1 - strb r0, [r4, 0x1] - ldr r0, _0810C914 @ =gUnknown_083F7F70 - str r0, [r4, 0x10] - adds r0, r4, 0 - bl InitSpriteAffineAnim - movs r0, 0x1 - strh r0, [r4, 0x2E] - strh r5, [r4, 0x30] - b _0810C944 - .align 2, 0 -_0810C914: .4byte gUnknown_083F7F70 -_0810C918: - ldrh r0, [r4, 0x30] - adds r0, 0x1 - movs r2, 0 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xB - ble _0810C944 - ldrb r1, [r4, 0x1] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - strb r0, [r4, 0x1] - strh r2, [r4, 0x2E] - strh r2, [r4, 0x30] - ldrb r0, [r4, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - ldr r0, _0810C94C @ =SpriteCallbackDummy - str r0, [r4, 0x1C] -_0810C944: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810C94C: .4byte SpriteCallbackDummy - thumb_func_end sub_810C8D4 - - thumb_func_start sub_810C950 -sub_810C950: @ 810C950 - lsls r0, 24 - ldr r1, _0810C988 @ =gSaveBlock1 - lsrs r0, 21 - adds r0, r1 - movs r2, 0xFF - lsls r2, 3 - adds r1, r0, r2 - movs r2, 0 - strb r2, [r1] - ldr r3, _0810C98C @ =0x000007f9 - adds r1, r0, r3 - strb r2, [r1] - adds r3, 0x1 - adds r1, r0, r3 - strb r2, [r1] - adds r3, 0x1 - adds r1, r0, r3 - strb r2, [r1] - adds r3, 0x1 - adds r1, r0, r3 - strb r2, [r1] - adds r3, 0x1 - adds r1, r0, r3 - strb r2, [r1] - ldr r1, _0810C990 @ =0x000007fe - adds r0, r1 - strb r2, [r0] - bx lr - .align 2, 0 -_0810C988: .4byte gSaveBlock1 -_0810C98C: .4byte 0x000007f9 -_0810C990: .4byte 0x000007fe - thumb_func_end sub_810C950 - - thumb_func_start sub_810C994 -sub_810C994: @ 810C994 - push {r4,lr} - movs r4, 0 -_0810C998: - adds r0, r4, 0 - bl sub_810C950 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x27 - bls _0810C998 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_810C994 - - thumb_func_start sub_810C9B0 -sub_810C9B0: @ 810C9B0 - push {r4-r6,lr} - adds r6, r0, 0 - movs r1, 0x1 - bl sub_810CA9C - lsls r0, 24 - lsrs r5, r0, 24 - movs r1, 0x1 -_0810C9C0: - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r6, 0 - adds r1, r4, 0 - bl sub_810CA9C - lsls r0, 24 - lsrs r0, 24 - cmp r5, r0 - bcs _0810C9D8 - adds r5, r0, 0 -_0810C9D8: - adds r1, r4, 0 - cmp r1, 0x4 - bls _0810C9C0 - adds r0, r5, 0 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_810C9B0 - - thumb_func_start sub_810C9E8 -sub_810C9E8: @ 810C9E8 - push {lr} - movs r1, 0x6 - bl sub_810CA9C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x63 - bls _0810C9FA - movs r0, 0x63 -_0810C9FA: - pop {r1} - bx r1 - thumb_func_end sub_810C9E8 - - thumb_func_start sub_810CA00 -sub_810CA00: @ 810CA00 - push {lr} - movs r1, 0 - ldr r3, _0810CA1C @ =gSaveBlock1 - movs r2, 0xFF - lsls r2, 3 -_0810CA0A: - lsls r0, r1, 3 - adds r0, r3 - adds r0, r2 - ldrb r0, [r0] - cmp r0, 0 - bne _0810CA20 - lsls r0, r1, 24 - asrs r0, 24 - b _0810CA2E - .align 2, 0 -_0810CA1C: .4byte gSaveBlock1 -_0810CA20: - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x27 - bls _0810CA0A - movs r0, 0x1 - negs r0, r0 -_0810CA2E: - pop {r1} - bx r1 - thumb_func_end sub_810CA00 - - thumb_func_start sub_810CA34 -sub_810CA34: @ 810CA34 - push {r4,lr} - adds r4, r0, 0 - bl sub_810CA00 - lsls r0, 24 - asrs r2, r0, 24 - movs r0, 0x1 - negs r0, r0 - cmp r2, r0 - beq _0810CA64 - ldr r0, _0810CA60 @ =gSaveBlock1 - lsls r2, 3 - movs r1, 0xFF - lsls r1, 3 - adds r0, r1 - adds r2, r0 - ldr r0, [r4] - ldr r1, [r4, 0x4] - str r0, [r2] - str r1, [r2, 0x4] - movs r0, 0x1 - b _0810CA66 - .align 2, 0 -_0810CA60: .4byte gSaveBlock1 -_0810CA64: - movs r0, 0 -_0810CA66: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_810CA34 - - thumb_func_start sub_810CA6C -sub_810CA6C: @ 810CA6C - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, _0810CA90 @ =gSaveBlock1 - lsls r0, r2, 3 - adds r0, r1 - movs r1, 0xFF - lsls r1, 3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _0810CA94 - adds r0, r2, 0 - bl sub_810C950 - movs r0, 0x1 - b _0810CA96 - .align 2, 0 -_0810CA90: .4byte gSaveBlock1 -_0810CA94: - movs r0, 0 -_0810CA96: - pop {r1} - bx r1 - thumb_func_end sub_810CA6C - - thumb_func_start sub_810CA9C -sub_810CA9C: @ 810CA9C - push {lr} - lsls r1, 24 - lsrs r1, 24 - adds r2, r1, 0 - cmp r1, 0 - bne _0810CAAC - ldrb r0, [r0] - b _0810CADE -_0810CAAC: - cmp r1, 0x1 - bne _0810CAB4 - ldrb r0, [r0, 0x1] - b _0810CADE -_0810CAB4: - cmp r1, 0x2 - bne _0810CABC - ldrb r0, [r0, 0x2] - b _0810CADE -_0810CABC: - cmp r1, 0x3 - bne _0810CAC4 - ldrb r0, [r0, 0x3] - b _0810CADE -_0810CAC4: - cmp r1, 0x4 - bne _0810CACC - ldrb r0, [r0, 0x4] - b _0810CADE -_0810CACC: - cmp r1, 0x5 - bne _0810CAD4 - ldrb r0, [r0, 0x5] - b _0810CADE -_0810CAD4: - cmp r2, 0x6 - beq _0810CADC - movs r0, 0 - b _0810CADE -_0810CADC: - ldrb r0, [r0, 0x6] -_0810CADE: - pop {r1} - bx r1 - thumb_func_end sub_810CA9C - - thumb_func_start sub_810CAE4 -sub_810CAE4: @ 810CAE4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - mov r8, r1 - lsls r0, 24 - lsrs r0, 24 - movs r6, 0 - movs r4, 0 - ldr r1, _0810CB40 @ =gUnknown_083F7E28 - mov r9, r1 - lsls r1, r0, 2 - adds r7, r1, r0 -_0810CAFE: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - mov r0, r8 - adds r1, r5, 0 - bl sub_810CA9C - lsls r0, 16 - asrs r1, r0, 16 - cmp r1, 0 - ble _0810CB2A - adds r0, r7, r4 - add r0, r9 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - muls r1, r0 - lsls r0, r6, 16 - asrs r0, 16 - adds r0, r1 - lsls r0, 16 - lsrs r6, r0, 16 -_0810CB2A: - adds r4, r5, 0 - cmp r4, 0x4 - bls _0810CAFE - lsls r0, r6, 16 - asrs r0, 16 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0810CB40: .4byte gUnknown_083F7E28 - thumb_func_end sub_810CAE4 - - thumb_func_start sub_810CB44 -sub_810CB44: @ 810CB44 - push {r4,lr} - adds r4, r1, 0 - movs r1, 0 - bl sub_810CA9C - lsls r0, 24 - ldr r1, _0810CB64 @ =gPokeblockNames - lsrs r0, 22 - adds r0, r1 - ldr r1, [r0] - adds r0, r4, 0 - bl StringCopy - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810CB64: .4byte gPokeblockNames - thumb_func_end sub_810CB44 - - thumb_func_start sub_810CB68 -sub_810CB68: @ 810CB68 - push {r4-r7,lr} - adds r6, r1, 0 - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - ldr r7, _0810CB98 @ =gPokeblockNames -_0810CB74: - lsls r1, r4, 3 - ldr r0, _0810CB9C @ =gUnknown_083F7F9C - adds r1, r0 - adds r0, r5, 0 - bl sub_810CAE4 - lsls r0, 16 - cmp r0, 0 - ble _0810CBA0 - adds r0, r4, 0x1 - lsls r0, 2 - adds r0, r7 - ldr r1, [r0] - adds r0, r6, 0 - bl StringCopy - movs r0, 0x1 - b _0810CBAC - .align 2, 0 -_0810CB98: .4byte gPokeblockNames -_0810CB9C: .4byte gUnknown_083F7F9C -_0810CBA0: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x4 - bls _0810CB74 - movs r0, 0 -_0810CBAC: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_810CB68 - - thumb_func_start SetUpFieldMove_Flash -SetUpFieldMove_Flash: @ 810CBB4 - push {lr} - ldr r0, _0810CBDC @ =gMapHeader - ldrb r0, [r0, 0x15] - cmp r0, 0x1 - bne _0810CBF4 - ldr r0, _0810CBE0 @ =0x00000828 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _0810CBF4 - ldr r1, _0810CBE4 @ =gUnknown_0300485C - ldr r0, _0810CBE8 @ =sub_808AB90 - str r0, [r1] - ldr r1, _0810CBEC @ =gUnknown_03005CE4 - ldr r0, _0810CBF0 @ =sub_810CBFC - str r0, [r1] - movs r0, 0x1 - b _0810CBF6 - .align 2, 0 -_0810CBDC: .4byte gMapHeader -_0810CBE0: .4byte 0x00000828 -_0810CBE4: .4byte gUnknown_0300485C -_0810CBE8: .4byte sub_808AB90 -_0810CBEC: .4byte gUnknown_03005CE4 -_0810CBF0: .4byte sub_810CBFC -_0810CBF4: - movs r0, 0 -_0810CBF6: - pop {r1} - bx r1 - thumb_func_end SetUpFieldMove_Flash - - thumb_func_start sub_810CBFC -sub_810CBFC: @ 810CBFC - push {lr} - bl oei_task_add - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0810CC24 @ =gUnknown_0202FF84 - ldr r1, _0810CC28 @ =gUnknown_03005CE0 - ldrb r1, [r1] - str r1, [r2] - ldr r2, _0810CC2C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r2, _0810CC30 @ =sub_810CC34 - lsrs r0, r2, 16 - strh r0, [r1, 0x18] - strh r2, [r1, 0x1A] - pop {r0} - bx r0 - .align 2, 0 -_0810CC24: .4byte gUnknown_0202FF84 -_0810CC28: .4byte gUnknown_03005CE0 -_0810CC2C: .4byte gTasks -_0810CC30: .4byte sub_810CC34 - thumb_func_end sub_810CBFC - - thumb_func_start sub_810CC34 -sub_810CC34: @ 810CC34 - push {lr} - movs r0, 0xCF - bl PlaySE - ldr r0, _0810CC4C @ =0x00000828 - bl FlagSet - ldr r0, _0810CC50 @ =gUnknown_081B694A - bl ScriptContext1_SetupScript - pop {r0} - bx r0 - .align 2, 0 -_0810CC4C: .4byte 0x00000828 -_0810CC50: .4byte gUnknown_081B694A - thumb_func_end sub_810CC34 - - thumb_func_start sub_810CC54 -sub_810CC54: @ 810CC54 - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_810CC54 - - thumb_func_start sub_810CC6C -sub_810CC6C: @ 810CC6C - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_810CC6C - - thumb_func_start sub_810CC80 -sub_810CC80: @ 810CC80 - push {r4,lr} - sub sp, 0x8 - movs r0, 0 - bl SetVBlankCallback - movs r0, 0x80 - lsls r0, 19 - movs r1, 0 - strh r1, [r0] - adds r0, 0xC - strh r1, [r0] - subs r0, 0x2 - strh r1, [r0] - subs r0, 0x2 - strh r1, [r0] - adds r0, 0x10 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - subs r0, 0x6 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - subs r0, 0x6 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - mov r0, sp - strh r1, [r0] - ldr r1, _0810CD34 @ =0x040000d4 - str r0, [r1] - movs r0, 0xC0 - lsls r0, 19 - str r0, [r1, 0x4] - ldr r0, _0810CD38 @ =0x8100c000 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r4, 0 - str r4, [sp, 0x4] - add r0, sp, 0x4 - str r0, [r1] - movs r0, 0xE0 - lsls r0, 19 - str r0, [r1, 0x4] - ldr r0, _0810CD3C @ =0x85000100 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - mov r0, sp - strh r4, [r0] - str r0, [r1] - ldr r0, _0810CD40 @ =0x05000002 - str r0, [r1, 0x4] - ldr r0, _0810CD44 @ =0x810001ff - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - bl ResetPaletteFade - bl ResetTasks - bl ResetSpriteData - ldr r3, _0810CD48 @ =0x04000208 - ldrh r2, [r3] - strh r4, [r3] - ldr r4, _0810CD4C @ =0x04000200 - ldrh r0, [r4] - movs r1, 0x1 - orrs r0, r1 - strh r0, [r4] - strh r2, [r3] - ldr r0, _0810CD50 @ =sub_810CC6C - bl SetVBlankCallback - ldr r0, _0810CD54 @ =sub_810CC54 - bl SetMainCallback2 - bl sub_810CD5C - lsls r0, 24 - cmp r0, 0 - bne _0810CD2A - ldr r0, _0810CD58 @ =gMain - ldr r0, [r0, 0x8] - bl SetMainCallback2 -_0810CD2A: - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810CD34: .4byte 0x040000d4 -_0810CD38: .4byte 0x8100c000 -_0810CD3C: .4byte 0x85000100 -_0810CD40: .4byte 0x05000002 -_0810CD44: .4byte 0x810001ff -_0810CD48: .4byte 0x04000208 -_0810CD4C: .4byte 0x04000200 -_0810CD50: .4byte sub_810CC6C -_0810CD54: .4byte sub_810CC54 -_0810CD58: .4byte gMain - thumb_func_end sub_810CC80 - - thumb_func_start sub_810CD5C -sub_810CD5C: @ 810CD5C - push {r4-r7,lr} - bl get_map_light_from_warp0 - lsls r0, 24 - lsrs r6, r0, 24 - bl sav1_map_get_light_level - lsls r0, 24 - lsrs r5, r0, 24 - movs r3, 0 - ldr r4, _0810CD9C @ =gUnknown_083F7FC4 - ldrb r0, [r4] - cmp r0, 0 - beq _0810CDB0 - adds r7, r4, 0 - adds r0, r4, 0x4 - mov r12, r0 -_0810CD7E: - lsls r2, r3, 3 - adds r1, r2, r7 - ldrb r0, [r1] - cmp r0, r6 - bne _0810CDA0 - ldrb r0, [r1, 0x1] - cmp r0, r5 - bne _0810CDA0 - mov r1, r12 - adds r0, r2, r1 - ldr r0, [r0] - bl _call_via_r0 - movs r0, 0x1 - b _0810CDB2 - .align 2, 0 -_0810CD9C: .4byte gUnknown_083F7FC4 -_0810CDA0: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - lsls r0, r3, 3 - adds r0, r4 - ldrb r0, [r0] - cmp r0, 0 - bne _0810CD7E -_0810CDB0: - movs r0, 0 -_0810CDB2: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_810CD5C - - thumb_func_start sub_810CDB8 -sub_810CDB8: @ 810CDB8 - push {r4-r6,lr} - lsls r0, 24 - lsls r1, 24 - lsrs r5, r0, 24 - lsrs r4, r1, 24 - movs r3, 0 - ldr r1, _0810CDE4 @ =gUnknown_083F7FC4 - ldrb r0, [r1] - cmp r0, 0 - beq _0810CDF8 - adds r6, r1, 0 -_0810CDCE: - lsls r0, r3, 3 - adds r2, r0, r6 - ldrb r0, [r2] - cmp r0, r5 - bne _0810CDE8 - ldrb r0, [r2, 0x1] - cmp r0, r4 - bne _0810CDE8 - ldrb r0, [r2, 0x2] - b _0810CDFA - .align 2, 0 -_0810CDE4: .4byte gUnknown_083F7FC4 -_0810CDE8: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - lsls r0, r3, 3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _0810CDCE -_0810CDF8: - movs r0, 0 -_0810CDFA: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_810CDB8 - - thumb_func_start fade_type_for_given_maplight_pair -fade_type_for_given_maplight_pair: @ 810CE00 - push {r4-r6,lr} - lsls r0, 24 - lsls r1, 24 - lsrs r5, r0, 24 - lsrs r4, r1, 24 - movs r3, 0 - ldr r1, _0810CE2C @ =gUnknown_083F7FC4 - ldrb r0, [r1] - cmp r0, 0 - beq _0810CE40 - adds r6, r1, 0 -_0810CE16: - lsls r0, r3, 3 - adds r2, r0, r6 - ldrb r0, [r2] - cmp r0, r5 - bne _0810CE30 - ldrb r0, [r2, 0x1] - cmp r0, r4 - bne _0810CE30 - ldrb r0, [r2, 0x3] - b _0810CE42 - .align 2, 0 -_0810CE2C: .4byte gUnknown_083F7FC4 -_0810CE30: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - lsls r0, r3, 3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - bne _0810CE16 -_0810CE40: - movs r0, 0 -_0810CE42: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end fade_type_for_given_maplight_pair - - thumb_func_start sub_810CE48 -sub_810CE48: @ 810CE48 - push {lr} - ldr r0, _0810CE58 @ =sub_810CE5C - movs r1, 0 - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_0810CE58: .4byte sub_810CE5C - thumb_func_end sub_810CE48 - - thumb_func_start sub_810CE5C -sub_810CE5C: @ 810CE5C - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0810CE70 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, _0810CE74 @ =sub_810CE78 - str r0, [r1] - bx lr - .align 2, 0 -_0810CE70: .4byte gTasks -_0810CE74: .4byte sub_810CE78 - thumb_func_end sub_810CE5C - - thumb_func_start sub_810CE78 -sub_810CE78: @ 810CE78 - push {r4-r6,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r6, 0x80 - lsls r6, 19 - movs r5, 0 - strh r5, [r6] - ldr r0, _0810CEE8 @ =gCaveTransitionTiles - ldr r1, _0810CEEC @ =0x0600c000 - bl LZ77UnCompVram - ldr r0, _0810CEF0 @ =gCaveTransitionTilemap - ldr r1, _0810CEF4 @ =0x0600f800 - bl LZ77UnCompVram - ldr r0, _0810CEF8 @ =gCaveTransitionPalette_White - movs r1, 0xE0 - movs r2, 0x20 - bl LoadPalette - ldr r0, _0810CEFC @ =gUnknown_083F809C - movs r1, 0xE0 - movs r2, 0x10 - bl LoadPalette - ldr r1, _0810CF00 @ =REG_BLDCNT - ldr r2, _0810CF04 @ =0x00003e41 - adds r0, r2, 0 - strh r0, [r1] - ldr r0, _0810CF08 @ =REG_BLDALPHA - strh r5, [r0] - adds r0, 0x2 - strh r5, [r0] - subs r1, 0x48 - ldr r2, _0810CF0C @ =0x00001f0c - adds r0, r2, 0 - strh r0, [r1] - movs r1, 0x8A - lsls r1, 5 - adds r0, r1, 0 - strh r0, [r6] - ldr r1, _0810CF10 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0810CF14 @ =sub_810CF18 - str r1, [r0] - movs r2, 0 - movs r1, 0x10 - strh r1, [r0, 0x8] - strh r2, [r0, 0xA] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0810CEE8: .4byte gCaveTransitionTiles -_0810CEEC: .4byte 0x0600c000 -_0810CEF0: .4byte gCaveTransitionTilemap -_0810CEF4: .4byte 0x0600f800 -_0810CEF8: .4byte gCaveTransitionPalette_White -_0810CEFC: .4byte gUnknown_083F809C -_0810CF00: .4byte REG_BLDCNT -_0810CF04: .4byte 0x00003e41 -_0810CF08: .4byte REG_BLDALPHA -_0810CF0C: .4byte 0x00001f0c -_0810CF10: .4byte gTasks -_0810CF14: .4byte sub_810CF18 - thumb_func_end sub_810CE78 - - thumb_func_start sub_810CF18 -sub_810CF18: @ 810CF18 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0810CF44 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r3, r1, r2 - ldrh r2, [r3, 0xA] - movs r1, 0x80 - lsls r1, 5 - adds r0, r2, r1 - lsls r0, 16 - lsrs r0, 16 - ldr r1, _0810CF48 @ =REG_BLDALPHA - strh r0, [r1] - cmp r2, 0x10 - bhi _0810CF4C - ldrh r0, [r3, 0xA] - adds r0, 0x1 - strh r0, [r3, 0xA] - b _0810CF54 - .align 2, 0 -_0810CF44: .4byte gTasks -_0810CF48: .4byte REG_BLDALPHA -_0810CF4C: - movs r0, 0 - strh r0, [r3, 0xC] - ldr r0, _0810CF58 @ =sub_810CF5C - str r0, [r3] -_0810CF54: - pop {r0} - bx r0 - .align 2, 0 -_0810CF58: .4byte sub_810CF5C - thumb_func_end sub_810CF18 - - thumb_func_start sub_810CF5C -sub_810CF5C: @ 810CF5C - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0810CF94 @ =REG_BLDALPHA - ldr r3, _0810CF98 @ =0x00001010 - adds r1, r3, 0 - strh r1, [r2] - ldr r2, _0810CF9C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 - ldrh r1, [r4, 0xC] - cmp r1, 0x7 - bhi _0810CFA4 - adds r0, r1, 0x1 - strh r0, [r4, 0xC] - lsls r1, 1 - ldr r0, _0810CFA0 @ =gUnknown_083F809C - adds r0, r1, r0 - movs r2, 0x10 - subs r2, r1 - lsls r2, 16 - lsrs r2, 16 - movs r1, 0xE0 - bl LoadPalette - b _0810CFB6 - .align 2, 0 -_0810CF94: .4byte REG_BLDALPHA -_0810CF98: .4byte 0x00001010 -_0810CF9C: .4byte gTasks -_0810CFA0: .4byte gUnknown_083F809C -_0810CFA4: - ldr r0, _0810CFBC @ =gCaveTransitionPalette_White - movs r1, 0 - movs r2, 0x20 - bl LoadPalette - ldr r0, _0810CFC0 @ =sub_810CFC4 - str r0, [r4] - movs r0, 0x8 - strh r0, [r4, 0xC] -_0810CFB6: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810CFBC: .4byte gCaveTransitionPalette_White -_0810CFC0: .4byte sub_810CFC4 - thumb_func_end sub_810CF5C - - thumb_func_start sub_810CFC4 -sub_810CFC4: @ 810CFC4 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0810CFE4 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldrh r2, [r1, 0xC] - movs r3, 0xC - ldrsh r0, [r1, r3] - cmp r0, 0 - beq _0810CFE8 - subs r0, r2, 0x1 - strh r0, [r1, 0xC] - b _0810CFF0 - .align 2, 0 -_0810CFE4: .4byte gTasks -_0810CFE8: - ldr r0, _0810CFF4 @ =gMain - ldr r0, [r0, 0x8] - bl SetMainCallback2 -_0810CFF0: - pop {r0} - bx r0 - .align 2, 0 -_0810CFF4: .4byte gMain - thumb_func_end sub_810CFC4 - - thumb_func_start sub_810CFF8 -sub_810CFF8: @ 810CFF8 - push {lr} - ldr r0, _0810D008 @ =sub_810D00C - movs r1, 0 - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_0810D008: .4byte sub_810D00C - thumb_func_end sub_810CFF8 - - thumb_func_start sub_810D00C -sub_810D00C: @ 810D00C - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0810D020 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, _0810D024 @ =sub_810D028 - str r0, [r1] - bx lr - .align 2, 0 -_0810D020: .4byte gTasks -_0810D024: .4byte sub_810D028 - thumb_func_end sub_810D00C - - thumb_func_start sub_810D028 -sub_810D028: @ 810D028 - push {r4-r6,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - movs r6, 0x80 - lsls r6, 19 - movs r4, 0 - strh r4, [r6] - ldr r0, _0810D098 @ =gCaveTransitionTiles - ldr r1, _0810D09C @ =0x0600c000 - bl LZ77UnCompVram - ldr r0, _0810D0A0 @ =gCaveTransitionTilemap - ldr r1, _0810D0A4 @ =0x0600f800 - bl LZ77UnCompVram - ldr r0, _0810D0A8 @ =REG_BLDCNT - strh r4, [r0] - adds r0, 0x2 - strh r4, [r0] - adds r0, 0x2 - strh r4, [r0] - ldr r1, _0810D0AC @ =REG_BG0CNT - ldr r2, _0810D0B0 @ =0x00001f0c - adds r0, r2, 0 - strh r0, [r1] - movs r1, 0x8A - lsls r1, 5 - adds r0, r1, 0 - strh r0, [r6] - ldr r0, _0810D0B4 @ =gCaveTransitionPalette_White - movs r1, 0xE0 - movs r2, 0x20 - bl LoadPalette - ldr r0, _0810D0B8 @ =gCaveTransitionPalette_Black - movs r1, 0 - movs r2, 0x20 - bl LoadPalette - ldr r1, _0810D0BC @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, _0810D0C0 @ =sub_810D0C4 - str r1, [r0] - movs r2, 0 - movs r1, 0x10 - strh r1, [r0, 0x8] - strh r2, [r0, 0xA] - strh r2, [r0, 0xC] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0810D098: .4byte gCaveTransitionTiles -_0810D09C: .4byte 0x0600c000 -_0810D0A0: .4byte gCaveTransitionTilemap -_0810D0A4: .4byte 0x0600f800 -_0810D0A8: .4byte REG_BLDCNT -_0810D0AC: .4byte REG_BG0CNT -_0810D0B0: .4byte 0x00001f0c -_0810D0B4: .4byte gCaveTransitionPalette_White -_0810D0B8: .4byte gCaveTransitionPalette_Black -_0810D0BC: .4byte gTasks -_0810D0C0: .4byte sub_810D0C4 - thumb_func_end sub_810D028 - - thumb_func_start sub_810D0C4 -sub_810D0C4: @ 810D0C4 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0810D0F8 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r3, r1, r2 - ldrh r1, [r3, 0xC] - cmp r1, 0xF - bhi _0810D100 - adds r2, r1, 0x1 - adds r0, r2, 0x1 - strh r0, [r3, 0xC] - movs r0, 0xF - subs r0, r1 - lsls r0, 1 - ldr r1, _0810D0FC @ =gUnknown_083F808C - adds r0, r1 - lsls r2, 17 - lsrs r2, 16 - movs r1, 0xE0 - bl LoadPalette - b _0810D114 - .align 2, 0 -_0810D0F8: .4byte gTasks -_0810D0FC: .4byte gUnknown_083F808C -_0810D100: - ldr r1, _0810D118 @ =REG_BLDALPHA - ldr r2, _0810D11C @ =0x00001010 - adds r0, r2, 0 - strh r0, [r1] - subs r1, 0x2 - ldr r2, _0810D120 @ =0x00003e41 - adds r0, r2, 0 - strh r0, [r1] - ldr r0, _0810D124 @ =sub_810D128 - str r0, [r3] -_0810D114: - pop {r0} - bx r0 - .align 2, 0 -_0810D118: .4byte REG_BLDALPHA -_0810D11C: .4byte 0x00001010 -_0810D120: .4byte 0x00003e41 -_0810D124: .4byte sub_810D128 - thumb_func_end sub_810D0C4 - - thumb_func_start sub_810D128 -sub_810D128: @ 810D128 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0810D158 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r3, r1, r2 - ldrh r0, [r3, 0xA] - movs r1, 0x10 - subs r1, r0 - lsls r1, 16 - movs r2, 0x80 - lsls r2, 21 - adds r0, r1, r2 - lsrs r0, 16 - ldr r2, _0810D15C @ =REG_BLDALPHA - strh r0, [r2] - cmp r1, 0 - beq _0810D160 - ldrh r0, [r3, 0xA] - adds r0, 0x1 - strh r0, [r3, 0xA] - b _0810D172 - .align 2, 0 -_0810D158: .4byte gTasks -_0810D15C: .4byte REG_BLDALPHA -_0810D160: - ldr r0, _0810D178 @ =gCaveTransitionPalette_Black - movs r1, 0 - movs r2, 0x20 - bl LoadPalette - ldr r0, _0810D17C @ =gMain - ldr r0, [r0, 0x8] - bl SetMainCallback2 -_0810D172: - pop {r0} - bx r0 - .align 2, 0 -_0810D178: .4byte gCaveTransitionPalette_Black -_0810D17C: .4byte gMain - thumb_func_end sub_810D128 - - thumb_func_start sub_810D180 -sub_810D180: @ 810D180 - push {r4-r7,lr} - sub sp, 0x4 - bl HealPlayerParty - ldr r4, _0810D1A0 @ =0x00000804 - adds r0, r4, 0 - bl FlagGet - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x1 - bne _0810D1A8 - ldr r0, _0810D1A4 @ =gUnknown_02039324 - strb r1, [r0] - b _0810D1B4 - .align 2, 0 -_0810D1A0: .4byte 0x00000804 -_0810D1A4: .4byte gUnknown_02039324 -_0810D1A8: - ldr r1, _0810D1E8 @ =gUnknown_02039324 - movs r0, 0 - strb r0, [r1] - adds r0, r4, 0 - bl FlagSet -_0810D1B4: - movs r0, 0x1 - bl sub_8053108 - cmp r0, 0 - bne _0810D1D4 - ldr r2, _0810D1EC @ =gSaveBlock2 - ldrh r1, [r2, 0xE] - lsls r1, 16 - ldrb r0, [r2, 0x10] - lsls r0, 8 - orrs r1, r0 - ldrb r0, [r2, 0x11] - orrs r1, r0 - movs r0, 0x1 - bl sav12_xor_set -_0810D1D4: - bl sub_8047A10 - ldr r0, _0810D1EC @ =gSaveBlock2 - ldrb r0, [r0, 0x8] - cmp r0, 0 - bne _0810D1F0 - movs r0, 0x1 - bl sub_80537CC - b _0810D1F6 - .align 2, 0 -_0810D1E8: .4byte gUnknown_02039324 -_0810D1EC: .4byte gSaveBlock2 -_0810D1F0: - movs r0, 0x2 - bl sub_80537CC -_0810D1F6: - movs r6, 0 - movs r5, 0 - mov r7, sp -_0810D1FC: - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, _0810D260 @ =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x5 - bl GetMonData - cmp r0, 0 - beq _0810D23A - adds r0, r4, 0 - movs r1, 0x6 - bl GetMonData - cmp r0, 0 - bne _0810D23A - adds r0, r4, 0 - movs r1, 0x43 - bl GetMonData - cmp r0, 0 - bne _0810D23A - movs r0, 0x1 - strb r0, [r7] - adds r0, r4, 0 - movs r1, 0x43 - mov r2, sp - bl SetMonData - movs r6, 0x1 -_0810D23A: - adds r5, 0x1 - cmp r5, 0x5 - ble _0810D1FC - cmp r6, 0x1 - bne _0810D250 - movs r0, 0x2A - bl sav12_xor_increment - ldr r0, _0810D264 @ =0x0000083b - bl FlagSet -_0810D250: - ldr r0, _0810D268 @ =sub_8141F90 - bl SetMainCallback2 - movs r0, 0 - add sp, 0x4 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0810D260: .4byte gPlayerParty -_0810D264: .4byte 0x0000083b -_0810D268: .4byte sub_8141F90 - thumb_func_end sub_810D180 - - thumb_func_start sp0C8_whiteout_maybe -sp0C8_whiteout_maybe: @ 810D26C - push {lr} - ldr r0, _0810D27C @ =c2_whiteout - bl SetMainCallback2 - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_0810D27C: .4byte c2_whiteout - thumb_func_end sp0C8_whiteout_maybe - - thumb_func_start sub_810D280 -sub_810D280: @ 810D280 - push {r4,lr} - ldr r0, _0810D2A4 @ =0x00004024 - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r0, _0810D2A8 @ =0x00004025 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - lsls r4, 16 - orrs r4, r0 - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0810D2A4: .4byte 0x00004024 -_0810D2A8: .4byte 0x00004025 - thumb_func_end sub_810D280 - - thumb_func_start sub_810D2AC -sub_810D2AC: @ 810D2AC - push {r4,lr} - adds r4, r0, 0 - ldr r0, _0810D2CC @ =0x00004024 - lsrs r1, r4, 16 - bl VarSet - ldr r0, _0810D2D0 @ =0x00004025 - lsls r4, 16 - lsrs r4, 16 - adds r1, r4, 0 - bl VarSet - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810D2CC: .4byte 0x00004024 -_0810D2D0: .4byte 0x00004025 - thumb_func_end sub_810D2AC - - thumb_func_start unref_sub_810D2D4 -unref_sub_810D2D4: @ 810D2D4 - push {r4,lr} - bl Random - adds r4, r0, 0 - bl Random - lsls r4, 16 - lsls r0, 16 - lsrs r0, 16 - orrs r4, r0 - adds r0, r4, 0 - bl sub_810D2AC - pop {r4} - pop {r0} - bx r0 - thumb_func_end unref_sub_810D2D4 - - thumb_func_start sub_810D2F4 -sub_810D2F4: @ 810D2F4 - push {r4,lr} - lsls r0, 16 - lsrs r4, r0, 16 - bl sub_810D280 - adds r1, r0, 0 - cmp r4, 0 - beq _0810D318 - ldr r3, _0810D324 @ =0x41c64e6d - ldr r2, _0810D328 @ =0x00003039 -_0810D308: - adds r0, r1, 0 - muls r0, r3 - adds r1, r0, r2 - subs r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0 - bne _0810D308 -_0810D318: - adds r0, r1, 0 - bl sub_810D2AC - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810D324: .4byte 0x41c64e6d -_0810D328: .4byte 0x00003039 - thumb_func_end sub_810D2F4 - - thumb_func_start sub_810D32C -sub_810D32C: @ 810D32C - push {r4-r6,lr} - bl sub_810D280 - lsrs r6, r0, 16 - movs r5, 0 -_0810D336: - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, _0810D360 @ =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - cmp r0, 0 - beq _0810D368 - adds r0, r4, 0 - movs r1, 0 - bl GetMonData - ldr r1, _0810D364 @ =0x0000ffff - ands r1, r0 - cmp r1, r6 - bne _0810D368 - movs r0, 0x1 - b _0810D370 - .align 2, 0 -_0810D360: .4byte gPlayerParty -_0810D364: .4byte 0x0000ffff -_0810D368: - adds r5, 0x1 - cmp r5, 0x5 - ble _0810D336 - movs r0, 0 -_0810D370: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_810D32C - - thumb_func_start sub_810D378 -sub_810D378: @ 810D378 - push {lr} - bl get_map_light_from_warp0 - lsls r0, 24 - lsrs r0, 24 - bl is_light_level_1_2_3_5_or_6 - lsls r0, 24 - cmp r0, 0 - beq _0810D3BE - bl RtcCalcLocalTime - ldr r1, _0810D3AC @ =gUnknown_083F8340 - ldr r0, _0810D3B0 @ =gLocalTime - ldrb r0, [r0, 0x2] - lsls r0, 24 - asrs r0, 24 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _0810D3B8 - ldr r0, _0810D3B4 @ =0x0000083a - bl FlagSet - b _0810D3BE - .align 2, 0 -_0810D3AC: .4byte gUnknown_083F8340 -_0810D3B0: .4byte gLocalTime -_0810D3B4: .4byte 0x0000083a -_0810D3B8: - ldr r0, _0810D3C4 @ =0x0000083a - bl FlagReset -_0810D3BE: - pop {r0} - bx r0 - .align 2, 0 -_0810D3C4: .4byte 0x0000083a - thumb_func_end sub_810D378 - - thumb_func_start sub_810D3C8 -sub_810D3C8: @ 810D3C8 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_807DDFC - lsls r0, 24 - cmp r0, 0 - beq _0810D3E2 - bl EnableBothScriptContexts - adds r0, r4, 0 - bl DestroyTask -_0810D3E2: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_810D3C8 - - thumb_func_start sub_810D3E8 -sub_810D3E8: @ 810D3E8 - push {lr} - ldr r0, _0810D3F8 @ =sub_810D3C8 - movs r1, 0x50 - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_0810D3F8: .4byte sub_810D3C8 - thumb_func_end sub_810D3E8 - - thumb_func_start sub_810D3FC -sub_810D3FC: @ 810D3FC - push {lr} - ldr r0, _0810D40C @ =0x00004049 - bl GetVarPointer - movs r1, 0 - strh r1, [r0] - pop {r0} - bx r0 - .align 2, 0 -_0810D40C: .4byte 0x00004049 - thumb_func_end sub_810D3FC - - thumb_func_start UpdateBirchState -UpdateBirchState: @ 810D410 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r0, _0810D438 @ =0x00004049 - bl GetVarPointer - adds r5, r0, 0 - ldrh r0, [r5] - adds r4, r0 - strh r4, [r5] - ldrh r0, [r5] - movs r1, 0x7 - bl __umodsi3 - strh r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810D438: .4byte 0x00004049 - thumb_func_end UpdateBirchState - - thumb_func_start ScriptGetPokedexInfo -ScriptGetPokedexInfo: @ 810D43C - push {lr} - ldr r0, _0810D458 @ =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0 - bne _0810D460 - movs r0, 0 - bl GetHoennPokedexCount - ldr r1, _0810D45C @ =gSpecialVar_0x8005 - strh r0, [r1] - movs r0, 0x1 - bl GetHoennPokedexCount - b _0810D470 - .align 2, 0 -_0810D458: .4byte gSpecialVar_0x8004 -_0810D45C: .4byte gSpecialVar_0x8005 -_0810D460: - movs r0, 0 - bl GetNationalPokedexCount - ldr r1, _0810D480 @ =gSpecialVar_0x8005 - strh r0, [r1] - movs r0, 0x1 - bl GetNationalPokedexCount -_0810D470: - ldr r1, _0810D484 @ =gSpecialVar_0x8006 - strh r0, [r1] - bl IsNationalPokedex - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - .align 2, 0 -_0810D480: .4byte gSpecialVar_0x8005 -_0810D484: .4byte gSpecialVar_0x8006 - thumb_func_end ScriptGetPokedexInfo - - thumb_func_start GetPokedexRatingText -GetPokedexRatingText: @ 810D488 - push {lr} - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x9 - bhi _0810D494 - b _0810D5EC -_0810D494: - cmp r0, 0x13 - bhi _0810D4A0 - ldr r0, _0810D49C @ =gUnknown_081C456A - b _0810D5F6 - .align 2, 0 -_0810D49C: .4byte gUnknown_081C456A -_0810D4A0: - cmp r0, 0x1D - bhi _0810D4AC - ldr r0, _0810D4A8 @ =gUnknown_081C45B0 - b _0810D5F6 - .align 2, 0 -_0810D4A8: .4byte gUnknown_081C45B0 -_0810D4AC: - cmp r0, 0x27 - bhi _0810D4B8 - ldr r0, _0810D4B4 @ =gUnknown_081C45F9 - b _0810D5F6 - .align 2, 0 -_0810D4B4: .4byte gUnknown_081C45F9 -_0810D4B8: - cmp r0, 0x31 - bhi _0810D4C4 - ldr r0, _0810D4C0 @ =gUnknown_081C4648 - b _0810D5F6 - .align 2, 0 -_0810D4C0: .4byte gUnknown_081C4648 -_0810D4C4: - cmp r0, 0x3B - bhi _0810D4D0 - ldr r0, _0810D4CC @ =gUnknown_081C467E - b _0810D5F6 - .align 2, 0 -_0810D4CC: .4byte gUnknown_081C467E -_0810D4D0: - cmp r0, 0x45 - bhi _0810D4DC - ldr r0, _0810D4D8 @ =gUnknown_081C46B9 - b _0810D5F6 - .align 2, 0 -_0810D4D8: .4byte gUnknown_081C46B9 -_0810D4DC: - cmp r0, 0x4F - bhi _0810D4E8 - ldr r0, _0810D4E4 @ =gUnknown_081C46FE - b _0810D5F6 - .align 2, 0 -_0810D4E4: .4byte gUnknown_081C46FE -_0810D4E8: - cmp r0, 0x59 - bhi _0810D4F4 - ldr r0, _0810D4F0 @ =gUnknown_081C4747 - b _0810D5F6 - .align 2, 0 -_0810D4F0: .4byte gUnknown_081C4747 -_0810D4F4: - cmp r0, 0x63 - bhi _0810D500 - ldr r0, _0810D4FC @ =gUnknown_081C4780 - b _0810D5F6 - .align 2, 0 -_0810D4FC: .4byte gUnknown_081C4780 -_0810D500: - cmp r0, 0x6D - bhi _0810D50C - ldr r0, _0810D508 @ =gUnknown_081C47DF - b _0810D5F6 - .align 2, 0 -_0810D508: .4byte gUnknown_081C47DF -_0810D50C: - cmp r0, 0x77 - bhi _0810D518 - ldr r0, _0810D514 @ =gUnknown_081C4828 - b _0810D5F6 - .align 2, 0 -_0810D514: .4byte gUnknown_081C4828 -_0810D518: - cmp r0, 0x81 - bhi _0810D524 - ldr r0, _0810D520 @ =gUnknown_081C4863 - b _0810D5F6 - .align 2, 0 -_0810D520: .4byte gUnknown_081C4863 -_0810D524: - cmp r0, 0x8B - bhi _0810D530 - ldr r0, _0810D52C @ =gUnknown_081C489C - b _0810D5F6 - .align 2, 0 -_0810D52C: .4byte gUnknown_081C489C -_0810D530: - cmp r0, 0x95 - bhi _0810D53C - ldr r0, _0810D538 @ =gUnknown_081C48EB - b _0810D5F6 - .align 2, 0 -_0810D538: .4byte gUnknown_081C48EB -_0810D53C: - cmp r0, 0x9F - bhi _0810D548 - ldr r0, _0810D544 @ =gUnknown_081C4936 - b _0810D5F6 - .align 2, 0 -_0810D544: .4byte gUnknown_081C4936 -_0810D548: - cmp r0, 0xA9 - bhi _0810D554 - ldr r0, _0810D550 @ =gUnknown_081C49A2 - b _0810D5F6 - .align 2, 0 -_0810D550: .4byte gUnknown_081C49A2 -_0810D554: - cmp r0, 0xB3 - bhi _0810D560 - ldr r0, _0810D55C @ =gUnknown_081C4A06 - b _0810D5F6 - .align 2, 0 -_0810D55C: .4byte gUnknown_081C4A06 -_0810D560: - cmp r0, 0xBD - bhi _0810D56C - ldr r0, _0810D568 @ =gUnknown_081C4A4F - b _0810D5F6 - .align 2, 0 -_0810D568: .4byte gUnknown_081C4A4F -_0810D56C: - cmp r0, 0xC7 - bls _0810D5DA - cmp r0, 0xC8 - bne _0810D5A8 - ldr r0, _0810D5A4 @ =0x00000199 - bl SpeciesToNationalPokedexNum - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - bl sub_8090D90 - lsls r0, 24 - cmp r0, 0 - bne _0810D5DA - movs r0, 0xCD - lsls r0, 1 - bl SpeciesToNationalPokedexNum - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - bl sub_8090D90 - lsls r0, 24 - cmp r0, 0 - bne _0810D5DA - b _0810D5F4 - .align 2, 0 -_0810D5A4: .4byte 0x00000199 -_0810D5A8: - cmp r0, 0xC9 - bne _0810D5E8 - ldr r0, _0810D5E0 @ =0x00000199 - bl SpeciesToNationalPokedexNum - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - bl sub_8090D90 - lsls r0, 24 - cmp r0, 0 - beq _0810D5F4 - movs r0, 0xCD - lsls r0, 1 - bl SpeciesToNationalPokedexNum - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - bl sub_8090D90 - lsls r0, 24 - cmp r0, 0 - beq _0810D5F4 -_0810D5DA: - ldr r0, _0810D5E4 @ =gUnknown_081C4A91 - b _0810D5F6 - .align 2, 0 -_0810D5E0: .4byte 0x00000199 -_0810D5E4: .4byte gUnknown_081C4A91 -_0810D5E8: - cmp r0, 0xCA - beq _0810D5F4 -_0810D5EC: - ldr r0, _0810D5F0 @ =gUnknown_081C4520 - b _0810D5F6 - .align 2, 0 -_0810D5F0: .4byte gUnknown_081C4520 -_0810D5F4: - ldr r0, _0810D5FC @ =gUnknown_081C4ADA -_0810D5F6: - pop {r1} - bx r1 - .align 2, 0 -_0810D5FC: .4byte gUnknown_081C4ADA - thumb_func_end GetPokedexRatingText - - thumb_func_start ShowPokedexRatingMessage -ShowPokedexRatingMessage: @ 810D600 - push {lr} - ldr r0, _0810D614 @ =gSpecialVar_0x8004 - ldrh r0, [r0] - bl GetPokedexRatingText - bl ShowFieldMessage - pop {r0} - bx r0 - .align 2, 0 -_0810D614: .4byte gSpecialVar_0x8004 - thumb_func_end ShowPokedexRatingMessage - - thumb_func_start AccessHallOfFamePC -AccessHallOfFamePC: @ 810D618 - push {lr} - ldr r0, _0810D628 @ =sub_81428CC - bl SetMainCallback2 - bl ScriptContext2_Enable - pop {r0} - bx r0 - .align 2, 0 -_0810D628: .4byte sub_81428CC - thumb_func_end AccessHallOfFamePC - - thumb_func_start ReturnFromHallOfFamePC -ReturnFromHallOfFamePC: @ 810D62C - push {lr} - ldr r0, _0810D640 @ =c2_exit_to_overworld_2_switch - bl SetMainCallback2 - ldr r1, _0810D644 @ =gUnknown_0300485C - ldr r0, _0810D648 @ =ReshowPCMenuAfterHallOfFamePC - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_0810D640: .4byte c2_exit_to_overworld_2_switch -_0810D644: .4byte gUnknown_0300485C -_0810D648: .4byte ReshowPCMenuAfterHallOfFamePC - thumb_func_end ReturnFromHallOfFamePC - - thumb_func_start ReshowPCMenuAfterHallOfFamePC -ReshowPCMenuAfterHallOfFamePC: @ 810D64C - push {lr} - sub sp, 0x4 - bl ScriptContext2_Enable - bl sub_8053E90 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - bl sp109_CreatePCMenu - bl sub_80B5838 - ldr r0, _0810D680 @ =sub_810D684 - movs r1, 0xA - bl CreateTask - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_0810D680: .4byte sub_810D684 - thumb_func_end ReshowPCMenuAfterHallOfFamePC - - thumb_func_start sub_810D684 -sub_810D684: @ 810D684 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, _0810D6A0 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0810D69C - adds r0, r2, 0 - bl DestroyTask -_0810D69C: - pop {r0} - bx r0 - .align 2, 0 -_0810D6A0: .4byte gPaletteFade - thumb_func_end sub_810D684 - - thumb_func_start sub_810D6A4 -sub_810D6A4: @ 810D6A4 - push {lr} - ldr r0, _0810D6B4 @ =sub_8145D88 - bl SetMainCallback2 - bl ScriptContext2_Enable - pop {r0} - bx r0 - .align 2, 0 -_0810D6B4: .4byte sub_8145D88 - thumb_func_end sub_810D6A4 - - thumb_func_start sub_810D6B8 -sub_810D6B8: @ 810D6B8 - push {lr} - ldr r0, _0810D6D0 @ =gMain - ldr r1, _0810D6D4 @ =c2_exit_to_overworld_2_switch - str r1, [r0, 0x8] - ldr r0, _0810D6D8 @ =Cb2_ViewWallClock - bl SetMainCallback2 - bl ScriptContext2_Enable - pop {r0} - bx r0 - .align 2, 0 -_0810D6D0: .4byte gMain -_0810D6D4: .4byte c2_exit_to_overworld_2_switch -_0810D6D8: .4byte Cb2_ViewWallClock - thumb_func_end sub_810D6B8 - - thumb_func_start ResetCyclingRoadChallengeData -ResetCyclingRoadChallengeData: @ 810D6DC - ldr r0, _0810D6F0 @ =gUnknown_02039250 - movs r1, 0 - strb r1, [r0] - ldr r0, _0810D6F4 @ =gUnknown_02039251 - strb r1, [r0] - ldr r1, _0810D6F8 @ =gUnknown_02039254 - movs r0, 0 - str r0, [r1] - bx lr - .align 2, 0 -_0810D6F0: .4byte gUnknown_02039250 -_0810D6F4: .4byte gUnknown_02039251 -_0810D6F8: .4byte gUnknown_02039254 - thumb_func_end ResetCyclingRoadChallengeData - - thumb_func_start BeginCyclingRoadChallenge -BeginCyclingRoadChallenge: @ 810D6FC - ldr r1, _0810D714 @ =gUnknown_02039250 - movs r0, 0x1 - strb r0, [r1] - ldr r1, _0810D718 @ =gUnknown_02039251 - movs r0, 0 - strb r0, [r1] - ldr r1, _0810D71C @ =gUnknown_02039254 - ldr r0, _0810D720 @ =gMain - ldr r0, [r0, 0x20] - str r0, [r1] - bx lr - .align 2, 0 -_0810D714: .4byte gUnknown_02039250 -_0810D718: .4byte gUnknown_02039251 -_0810D71C: .4byte gUnknown_02039254 -_0810D720: .4byte gMain - thumb_func_end BeginCyclingRoadChallenge - - thumb_func_start GetPlayerAvatarBike -GetPlayerAvatarBike: @ 810D724 - push {lr} - movs r0, 0x4 - bl TestPlayerAvatarFlags - lsls r0, 24 - cmp r0, 0 - beq _0810D736 - movs r0, 0x1 - b _0810D748 -_0810D736: - movs r0, 0x2 - bl TestPlayerAvatarFlags - lsls r0, 24 - cmp r0, 0 - bne _0810D746 - movs r0, 0 - b _0810D748 -_0810D746: - movs r0, 0x2 -_0810D748: - pop {r1} - bx r1 - thumb_func_end GetPlayerAvatarBike - - thumb_func_start DetermineCyclingRoadResults -DetermineCyclingRoadResults: @ 810D74C - push {r4-r7,lr} - adds r7, r0, 0 - lsls r1, 24 - lsrs r6, r1, 24 - cmp r6, 0x63 - bhi _0810D778 - ldr r4, _0810D770 @ =gStringVar1 - adds r0, r4, 0 - adds r1, r6, 0 - movs r2, 0 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r1, _0810D774 @ =gOtherText_Times - adds r0, r4, 0 - bl StringAppend - b _0810D780 - .align 2, 0 -_0810D770: .4byte gStringVar1 -_0810D774: .4byte gOtherText_Times -_0810D778: - ldr r0, _0810D7CC @ =gStringVar1 - ldr r1, _0810D7D0 @ =gOtherText_99Times - bl StringCopy -_0810D780: - ldr r0, _0810D7D4 @ =0x00000e0f - cmp r7, r0 - bhi _0810D7E0 - ldr r4, _0810D7D8 @ =gStringVar2 - adds r0, r7, 0 - movs r1, 0x3C - bl __udivsi3 - adds r1, r0, 0 - adds r0, r4, 0 - movs r2, 0x1 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - movs r0, 0xAD - strb r0, [r4, 0x2] - adds r5, r4, 0x3 - adds r0, r7, 0 - movs r1, 0x3C - bl __umodsi3 - movs r1, 0x64 - muls r0, r1 - movs r1, 0x3C - bl __udivsi3 - adds r1, r0, 0 - adds r0, r5, 0 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r1, _0810D7DC @ =gOtherText_Seconds - adds r0, r4, 0 - bl StringAppend - b _0810D7E8 - .align 2, 0 -_0810D7CC: .4byte gStringVar1 -_0810D7D0: .4byte gOtherText_99Times -_0810D7D4: .4byte 0x00000e0f -_0810D7D8: .4byte gStringVar2 -_0810D7DC: .4byte gOtherText_Seconds -_0810D7E0: - ldr r0, _0810D7F4 @ =gStringVar2 - ldr r1, _0810D7F8 @ =gOtherText_1Minute - bl StringCopy -_0810D7E8: - movs r4, 0 - cmp r6, 0 - bne _0810D7FC - movs r4, 0x5 - b _0810D81A - .align 2, 0 -_0810D7F4: .4byte gStringVar2 -_0810D7F8: .4byte gOtherText_1Minute -_0810D7FC: - cmp r6, 0x3 - bhi _0810D804 - movs r4, 0x4 - b _0810D81A -_0810D804: - cmp r6, 0x9 - bhi _0810D80C - movs r4, 0x3 - b _0810D81A -_0810D80C: - cmp r6, 0x13 - bhi _0810D814 - movs r4, 0x2 - b _0810D81A -_0810D814: - cmp r6, 0x63 - bhi _0810D81A - movs r4, 0x1 -_0810D81A: - adds r0, r7, 0 - movs r1, 0x3C - bl __udivsi3 - cmp r0, 0xA - bhi _0810D82A - adds r0, r4, 0x5 - b _0810D848 -_0810D82A: - cmp r0, 0xF - bhi _0810D832 - adds r0, r4, 0x4 - b _0810D848 -_0810D832: - cmp r0, 0x14 - bhi _0810D83A - adds r0, r4, 0x3 - b _0810D848 -_0810D83A: - cmp r0, 0x28 - bhi _0810D842 - adds r0, r4, 0x2 - b _0810D848 -_0810D842: - cmp r0, 0x3B - bhi _0810D84C - adds r0, r4, 0x1 -_0810D848: - lsls r0, 24 - lsrs r4, r0, 24 -_0810D84C: - ldr r0, _0810D858 @ =gScriptResult - strh r4, [r0] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0810D858: .4byte gScriptResult - thumb_func_end DetermineCyclingRoadResults - - thumb_func_start FinishCyclingRoadChallenge -FinishCyclingRoadChallenge: @ 810D85C - push {r4,r5,lr} - ldr r0, _0810D880 @ =gMain - ldr r1, _0810D884 @ =gUnknown_02039254 - ldr r4, [r0, 0x20] - ldr r0, [r1] - subs r4, r0 - ldr r5, _0810D888 @ =gUnknown_02039251 - ldrb r1, [r5] - adds r0, r4, 0 - bl DetermineCyclingRoadResults - ldrb r1, [r5] - adds r0, r4, 0 - bl RecordCyclingRoadResults - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810D880: .4byte gMain -_0810D884: .4byte gUnknown_02039254 -_0810D888: .4byte gUnknown_02039251 - thumb_func_end FinishCyclingRoadChallenge - - thumb_func_start RecordCyclingRoadResults -RecordCyclingRoadResults: @ 810D88C - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r5, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - ldr r6, _0810D8E0 @ =0x00004028 - adds r0, r6, 0 - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r7, _0810D8E4 @ =0x00004029 - adds r0, r7, 0 - bl VarGet - lsls r0, 16 - adds r4, r0 - cmp r4, r5 - bhi _0810D8BC - cmp r4, 0 - bne _0810D8D6 -_0810D8BC: - lsls r1, r5, 16 - lsrs r1, 16 - adds r0, r6, 0 - bl VarSet - lsrs r1, r5, 16 - adds r0, r7, 0 - bl VarSet - ldr r0, _0810D8E8 @ =0x00004027 - mov r1, r8 - bl VarSet -_0810D8D6: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0810D8E0: .4byte 0x00004028 -_0810D8E4: .4byte 0x00004029 -_0810D8E8: .4byte 0x00004027 - thumb_func_end RecordCyclingRoadResults - - thumb_func_start GetRecordedCyclingRoadResults -GetRecordedCyclingRoadResults: @ 810D8EC - push {r4,lr} - ldr r0, _0810D920 @ =0x00004028 - bl VarGet - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r0, _0810D924 @ =0x00004029 - bl VarGet - lsls r0, 16 - adds r4, r0 - cmp r4, 0 - beq _0810D92C - ldr r0, _0810D928 @ =0x00004027 - bl VarGet - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl DetermineCyclingRoadResults - movs r0, 0x1 - b _0810D92E - .align 2, 0 -_0810D920: .4byte 0x00004028 -_0810D924: .4byte 0x00004029 -_0810D928: .4byte 0x00004027 -_0810D92C: - movs r0, 0 -_0810D92E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end GetRecordedCyclingRoadResults - - thumb_func_start UpdateCyclingRoadState -UpdateCyclingRoadState: @ 810D934 - push {r4,lr} - ldr r0, _0810D974 @ =gUnknown_020297F0 - ldrh r1, [r0] - ldr r0, _0810D978 @ =0x00000c1d - cmp r1, r0 - beq _0810D96C - ldr r4, _0810D97C @ =0x000040a9 - adds r0, r4, 0 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2 - beq _0810D95E - adds r0, r4, 0 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x3 - bne _0810D96C -_0810D95E: - adds r0, r4, 0 - movs r1, 0 - bl VarSet - movs r0, 0 - bl sav1_set_battle_music_maybe -_0810D96C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810D974: .4byte gUnknown_020297F0 -_0810D978: .4byte 0x00000c1d -_0810D97C: .4byte 0x000040a9 - thumb_func_end UpdateCyclingRoadState - - thumb_func_start SetSSTidalFlag -SetSSTidalFlag: @ 810D980 - push {lr} - ldr r0, _0810D998 @ =0x0000082d - bl FlagSet - ldr r0, _0810D99C @ =0x0000404a - bl GetVarPointer - movs r1, 0 - strh r1, [r0] - pop {r0} - bx r0 - .align 2, 0 -_0810D998: .4byte 0x0000082d -_0810D99C: .4byte 0x0000404a - thumb_func_end SetSSTidalFlag - - thumb_func_start ResetSSTidalFlag -ResetSSTidalFlag: @ 810D9A0 - push {lr} - ldr r0, _0810D9AC @ =0x0000082d - bl FlagReset - pop {r0} - bx r0 - .align 2, 0 -_0810D9AC: .4byte 0x0000082d - thumb_func_end ResetSSTidalFlag - - thumb_func_start sub_810D9B0 -sub_810D9B0: @ 810D9B0 - push {r4,lr} - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, _0810D9DC @ =0x0000082d - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0810D9D6 - ldr r0, _0810D9E0 @ =0x0000404a - bl GetVarPointer - ldrh r1, [r0] - adds r1, r4, r1 - strh r1, [r0] - lsls r1, 16 - lsrs r1, 16 - cmp r1, 0xCC - bhi _0810D9E4 -_0810D9D6: - movs r0, 0 - b _0810D9E6 - .align 2, 0 -_0810D9DC: .4byte 0x0000082d -_0810D9E0: .4byte 0x0000404a -_0810D9E4: - movs r0, 0x1 -_0810D9E6: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_810D9B0 - - thumb_func_start sub_810D9EC -sub_810D9EC: @ 810D9EC - push {r4-r7,lr} - mov r7, r8 - push {r7} - mov r8, r0 - adds r5, r1, 0 - adds r6, r2, 0 - adds r7, r3, 0 - ldr r0, _0810DA1C @ =0x0000404a - bl GetVarPointer - adds r4, r0, 0 - ldr r0, _0810DA20 @ =0x000040b4 - bl GetVarPointer - ldrh r0, [r0] - subs r0, 0x1 - cmp r0, 0x9 - bhi _0810DAB2 - lsls r0, 2 - ldr r1, _0810DA24 @ =_0810DA28 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0810DA1C: .4byte 0x0000404a -_0810DA20: .4byte 0x000040b4 -_0810DA24: .4byte _0810DA28 - .align 2, 0 -_0810DA28: - .4byte _0810DA50 - .4byte _0810DA60 - .4byte _0810DA54 - .4byte _0810DA58 - .4byte _0810DA58 - .4byte _0810DA5C - .4byte _0810DA88 - .4byte _0810DA50 - .4byte _0810DA54 - .4byte _0810DA5C -_0810DA50: - movs r0, 0x1 - b _0810DABE -_0810DA54: - movs r0, 0x4 - b _0810DABE -_0810DA58: - movs r0, 0x2 - b _0810DABE -_0810DA5C: - movs r0, 0x3 - b _0810DABE -_0810DA60: - ldrh r0, [r4] - cmp r0, 0x3B - bhi _0810DA70 - movs r0, 0x31 - strb r0, [r5] - ldrh r0, [r4] - adds r0, 0x13 - b _0810DAB0 -_0810DA70: - cmp r0, 0x8B - bhi _0810DA7E - movs r0, 0x30 - strb r0, [r5] - ldrh r0, [r4] - subs r0, 0x3C - b _0810DAB0 -_0810DA7E: - movs r0, 0x2F - strb r0, [r5] - ldrh r0, [r4] - subs r0, 0x8C - b _0810DAB0 -_0810DA88: - ldrh r0, [r4] - cmp r0, 0x41 - bhi _0810DA98 - movs r0, 0x2F - strb r0, [r5] - ldrh r1, [r4] - movs r0, 0x41 - b _0810DAAE -_0810DA98: - cmp r0, 0x91 - bhi _0810DAA6 - movs r0, 0x30 - strb r0, [r5] - ldrh r1, [r4] - movs r0, 0x91 - b _0810DAAE -_0810DAA6: - movs r0, 0x31 - strb r0, [r5] - ldrh r1, [r4] - movs r0, 0xE0 -_0810DAAE: - subs r0, r1 -_0810DAB0: - strh r0, [r6] -_0810DAB2: - movs r0, 0 - mov r1, r8 - strb r0, [r1] - movs r0, 0x14 - strh r0, [r7] - movs r0, 0 -_0810DABE: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_810D9EC - - thumb_func_start GetLinkPartnerNames -GetLinkPartnerNames: @ 810DAC8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r6, 0 - bl sub_8008218 - lsls r0, 24 - lsrs r7, r0, 24 - bl sub_800820C - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - cmp r4, r5 - bcs _0810DB12 - ldr r0, _0810DB20 @ =gUnknown_083D1464 - mov r8, r0 -_0810DAEA: - cmp r7, r4 - beq _0810DB08 - lsls r0, r6, 2 - add r0, r8 - ldr r0, [r0] - lsls r1, r4, 3 - subs r1, r4 - lsls r1, 2 - ldr r2, _0810DB24 @ =gLinkPlayers + 0x8 - adds r1, r2 - bl StringCopy - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 -_0810DB08: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r5 - bcc _0810DAEA -_0810DB12: - adds r0, r5, 0 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0810DB20: .4byte gUnknown_083D1464 -_0810DB24: .4byte gLinkPlayers + 0x8 - thumb_func_end GetLinkPartnerNames - - thumb_func_start sub_810DB28 -sub_810DB28: @ 810DB28 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - movs r7, 0 - movs r0, 0 - mov r9, r0 - mov r8, r0 - ldr r1, _0810DB74 @ =gUnknown_083F8358 - add r0, sp, 0x8 - movs r2, 0x4 - bl memcpy - add r4, sp, 0xC - ldr r1, _0810DB78 @ =gUnknown_083F835C - adds r0, r4, 0 - movs r2, 0x8 - bl memcpy - bl sub_8008218 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - bl player_get_direction_lower_nybble - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - cmp r0, 0x2 - beq _0810DB94 - cmp r0, 0x2 - bgt _0810DB7C - cmp r0, 0x1 - beq _0810DBC0 - b _0810DBD2 - .align 2, 0 -_0810DB74: .4byte gUnknown_083F8358 -_0810DB78: .4byte gUnknown_083F835C -_0810DB7C: - cmp r1, 0x3 - beq _0810DB86 - cmp r1, 0x4 - beq _0810DBA8 - b _0810DBD2 -_0810DB86: - movs r7, 0x2 - ldr r1, _0810DB90 @ =gSaveBlock1 - ldrh r0, [r1] - subs r0, 0x1 - b _0810DBAE - .align 2, 0 -_0810DB90: .4byte gSaveBlock1 -_0810DB94: - movs r7, 0x1 - ldr r0, _0810DBA4 @ =gSaveBlock1 - ldrh r1, [r0] - mov r9, r1 - ldrh r0, [r0, 0x2] - subs r0, 0x1 - b _0810DBCC - .align 2, 0 -_0810DBA4: .4byte gSaveBlock1 -_0810DBA8: - ldr r1, _0810DBBC @ =gSaveBlock1 - ldrh r0, [r1] - adds r0, 0x1 -_0810DBAE: - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - ldrh r1, [r1, 0x2] - mov r8, r1 - b _0810DBD2 - .align 2, 0 -_0810DBBC: .4byte gSaveBlock1 -_0810DBC0: - movs r7, 0x3 - ldr r0, _0810DBD8 @ =gSaveBlock1 - ldrh r4, [r0] - mov r9, r4 - ldrh r0, [r0, 0x2] - adds r0, 0x1 -_0810DBCC: - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 -_0810DBD2: - movs r6, 0 - b _0810DC5C - .align 2, 0 -_0810DBD8: .4byte gSaveBlock1 -_0810DBDC: - cmp r10, r6 - beq _0810DC56 - ldr r1, _0810DC74 @ =gLinkPlayers - lsls r0, r6, 3 - subs r0, r6 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x13] - movs r0, 0 - bl sub_805983C - lsls r0, 24 - lsrs r0, 24 - mov r1, sp - adds r1, r7 - adds r1, 0x8 - ldrb r1, [r1] - movs r2, 0xF0 - subs r2, r6 - lsls r2, 24 - lsrs r2, 24 - lsls r5, r7, 1 - mov r3, sp - adds r3, r5 - adds r3, 0xC - ldrb r3, [r3] - lsls r3, 24 - asrs r3, 24 - mov r12, r3 - mov r4, r9 - lsls r3, r4, 16 - asrs r3, 16 - add r3, r12 - adds r3, 0x7 - lsls r3, 16 - asrs r3, 16 - mov r4, sp - adds r4, 0xD - adds r4, r5 - ldrb r4, [r4] - lsls r4, 24 - asrs r4, 24 - mov r12, r4 - mov r5, r8 - lsls r4, r5, 16 - asrs r4, 16 - add r4, r12 - adds r4, 0x7 - lsls r4, 16 - asrs r4, 16 - str r4, [sp] - movs r4, 0 - str r4, [sp, 0x4] - bl SpawnSpecialFieldObjectParametrized - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x4 - bne _0810DC56 - movs r7, 0 -_0810DC56: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 -_0810DC5C: - ldr r0, _0810DC78 @ =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r6, r0 - bcc _0810DBDC - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0810DC74: .4byte gLinkPlayers -_0810DC78: .4byte gSpecialVar_0x8004 - thumb_func_end sub_810DB28 - - thumb_func_start sub_810DC7C -sub_810DC7C: @ 810DC7C - push {r4,r5,lr} - movs r4, 0 - ldr r5, _0810DC9C @ =gUnknown_083F8364 -_0810DC82: - ldr r0, _0810DCA0 @ =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r4, r0 - bne _0810DCA8 - lsls r1, r4, 2 - adds r1, r5 - ldrb r0, [r1] - ldrb r1, [r1, 0x1] - ldr r2, _0810DCA4 @ =0x00000206 - bl MapGridSetMetatileIdAt - b _0810DCB6 - .align 2, 0 -_0810DC9C: .4byte gUnknown_083F8364 -_0810DCA0: .4byte gSpecialVar_0x8004 -_0810DCA4: .4byte 0x00000206 -_0810DCA8: - lsls r1, r4, 2 - adds r1, r5 - ldrb r0, [r1] - ldrb r1, [r1, 0x1] - ldr r2, _0810DCC8 @ =0x00000205 - bl MapGridSetMetatileIdAt -_0810DCB6: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x2 - bls _0810DC82 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810DCC8: .4byte 0x00000205 - thumb_func_end sub_810DC7C - - thumb_func_start sub_810DCCC -sub_810DCCC: @ 810DCCC - push {r4-r6,lr} - movs r5, 0xC -_0810DCD0: - movs r4, 0x7 - adds r6, r5, 0x1 -_0810DCD4: - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridGetMetatileIdAt - ldr r1, _0810DCF0 @ =0xfffffde6 - adds r0, r1 - cmp r0, 0x37 - bls _0810DCE6 - b _0810DEC0 -_0810DCE6: - lsls r0, 2 - ldr r1, _0810DCF4 @ =_0810DCF8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0810DCF0: .4byte 0xfffffde6 -_0810DCF4: .4byte _0810DCF8 - .align 2, 0 -_0810DCF8: - .4byte _0810DE7E - .4byte _0810DEC0 - .4byte _0810DEC0 - .4byte _0810DEC0 - .4byte _0810DEC0 - .4byte _0810DEC0 - .4byte _0810DDD8 - .4byte _0810DDDE - .4byte _0810DE18 - .4byte _0810DE20 - .4byte _0810DEC0 - .4byte _0810DEC0 - .4byte _0810DEC0 - .4byte _0810DEC0 - .4byte _0810DDE8 - .4byte _0810DDEE - .4byte _0810DE28 - .4byte _0810DE30 - .4byte _0810DEC0 - .4byte _0810DEC0 - .4byte _0810DEC0 - .4byte _0810DEC0 - .4byte _0810DDF8 - .4byte _0810DDFE - .4byte _0810DE38 - .4byte _0810DE40 - .4byte _0810DEC0 - .4byte _0810DEC0 - .4byte _0810DEC0 - .4byte _0810DEC0 - .4byte _0810DE08 - .4byte _0810DE10 - .4byte _0810DE48 - .4byte _0810DE50 - .4byte _0810DEC0 - .4byte _0810DEC0 - .4byte _0810DEC0 - .4byte _0810DEC0 - .4byte _0810DE58 - .4byte _0810DE68 - .4byte _0810DE78 - .4byte _0810DEA0 - .4byte _0810DEC0 - .4byte _0810DEC0 - .4byte _0810DEC0 - .4byte _0810DEC0 - .4byte _0810DE60 - .4byte _0810DE70 - .4byte _0810DEC0 - .4byte _0810DEC0 - .4byte _0810DEC0 - .4byte _0810DEC0 - .4byte _0810DEC0 - .4byte _0810DEC0 - .4byte _0810DEB6 - .4byte _0810DEA8 -_0810DDD8: - movs r2, 0x8C - lsls r2, 2 - b _0810DEAC -_0810DDDE: - ldr r2, _0810DDE4 @ =0x00000231 - b _0810DEAC - .align 2, 0 -_0810DDE4: .4byte 0x00000231 -_0810DDE8: - movs r2, 0x8E - lsls r2, 2 - b _0810DEAC -_0810DDEE: - ldr r2, _0810DDF4 @ =0x00000239 - b _0810DEAC - .align 2, 0 -_0810DDF4: .4byte 0x00000239 -_0810DDF8: - movs r2, 0x88 - lsls r2, 2 - b _0810DEAC -_0810DDFE: - ldr r2, _0810DE04 @ =0x00000221 - b _0810DEAC - .align 2, 0 -_0810DE04: .4byte 0x00000221 -_0810DE08: - ldr r2, _0810DE0C @ =0x00000e28 - b _0810DEAC - .align 2, 0 -_0810DE0C: .4byte 0x00000e28 -_0810DE10: - ldr r2, _0810DE14 @ =0x00000e29 - b _0810DEAC - .align 2, 0 -_0810DE14: .4byte 0x00000e29 -_0810DE18: - ldr r2, _0810DE1C @ =0x00000232 - b _0810DEAC - .align 2, 0 -_0810DE1C: .4byte 0x00000232 -_0810DE20: - ldr r2, _0810DE24 @ =0x00000233 - b _0810DEAC - .align 2, 0 -_0810DE24: .4byte 0x00000233 -_0810DE28: - ldr r2, _0810DE2C @ =0x0000023a - b _0810DEAC - .align 2, 0 -_0810DE2C: .4byte 0x0000023a -_0810DE30: - ldr r2, _0810DE34 @ =0x0000023b - b _0810DEAC - .align 2, 0 -_0810DE34: .4byte 0x0000023b -_0810DE38: - ldr r2, _0810DE3C @ =0x00000222 - b _0810DEAC - .align 2, 0 -_0810DE3C: .4byte 0x00000222 -_0810DE40: - ldr r2, _0810DE44 @ =0x00000223 - b _0810DEAC - .align 2, 0 -_0810DE44: .4byte 0x00000223 -_0810DE48: - ldr r2, _0810DE4C @ =0x00000e2a - b _0810DEAC - .align 2, 0 -_0810DE4C: .4byte 0x00000e2a -_0810DE50: - ldr r2, _0810DE54 @ =0x00000e2b - b _0810DEAC - .align 2, 0 -_0810DE54: .4byte 0x00000e2b -_0810DE58: - ldr r2, _0810DE5C @ =0x00000e42 - b _0810DEAC - .align 2, 0 -_0810DE5C: .4byte 0x00000e42 -_0810DE60: - ldr r2, _0810DE64 @ =0x0000021a - b _0810DEAC - .align 2, 0 -_0810DE64: .4byte 0x0000021a -_0810DE68: - ldr r2, _0810DE6C @ =0x00000e43 - b _0810DEAC - .align 2, 0 -_0810DE6C: .4byte 0x00000e43 -_0810DE70: - ldr r2, _0810DE74 @ =0x0000021a - b _0810DEAC - .align 2, 0 -_0810DE74: .4byte 0x0000021a -_0810DE78: - movs r2, 0xE4 - lsls r2, 4 - b _0810DEAC -_0810DE7E: - subs r1, r5, 0x1 - adds r0, r4, 0 - bl MapGridGetMetatileIdAt - movs r1, 0x90 - lsls r1, 2 - cmp r0, r1 - bne _0810DE98 - ldr r2, _0810DE94 @ =0x00000e48 - b _0810DEAC - .align 2, 0 -_0810DE94: .4byte 0x00000e48 -_0810DE98: - ldr r2, _0810DE9C @ =0x00000e49 - b _0810DEAC - .align 2, 0 -_0810DE9C: .4byte 0x00000e49 -_0810DEA0: - ldr r2, _0810DEA4 @ =0x00000e41 - b _0810DEAC - .align 2, 0 -_0810DEA4: .4byte 0x00000e41 -_0810DEA8: - movs r2, 0xE5 - lsls r2, 4 -_0810DEAC: - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridSetMetatileIdAt - b _0810DEC0 -_0810DEB6: - ldr r2, _0810DED8 @ =0x00000251 - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridSetMetatileIdAt -_0810DEC0: - adds r4, 0x1 - cmp r4, 0xF - bgt _0810DEC8 - b _0810DCD4 -_0810DEC8: - adds r5, r6, 0 - cmp r5, 0x17 - bgt _0810DED0 - b _0810DCD0 -_0810DED0: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0810DED8: .4byte 0x00000251 - thumb_func_end sub_810DCCC - - thumb_func_start sub_810DEDC -sub_810DEDC: @ 810DEDC - push {r4-r6,lr} - ldr r4, _0810DF18 @ =gUnknown_083F8364 - movs r5, 0x2 -_0810DEE2: - ldrb r0, [r4] - ldrb r1, [r4, 0x1] - ldr r2, _0810DF1C @ =0x00000206 - bl MapGridSetMetatileIdAt - adds r4, 0x4 - subs r5, 0x1 - cmp r5, 0 - bge _0810DEE2 - movs r5, 0xC -_0810DEF6: - movs r4, 0x7 - adds r6, r5, 0x1 -_0810DEFA: - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridGetMetatileIdAt - ldr r1, _0810DF20 @ =0xfffffde0 - adds r0, r1 - cmp r0, 0x30 - bls _0810DF0C - b _0810E056 -_0810DF0C: - lsls r0, 2 - ldr r1, _0810DF24 @ =_0810DF28 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0810DF18: .4byte gUnknown_083F8364 -_0810DF1C: .4byte 0x00000206 -_0810DF20: .4byte 0xfffffde0 -_0810DF24: .4byte _0810DF28 - .align 2, 0 -_0810DF28: - .4byte _0810DFEC - .4byte _0810DFF2 - .4byte _0810E00C - .4byte _0810E014 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810DFFC - .4byte _0810E002 - .4byte _0810E01C - .4byte _0810E024 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E02C - .4byte _0810E034 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E03C - .4byte _0810E03C - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E056 - .4byte _0810E04C -_0810DFEC: - movs r2, 0x8C - lsls r2, 2 - b _0810E03E -_0810DFF2: - ldr r2, _0810DFF8 @ =0x00000231 - b _0810E03E - .align 2, 0 -_0810DFF8: .4byte 0x00000231 -_0810DFFC: - movs r2, 0x8E - lsls r2, 2 - b _0810E03E -_0810E002: - ldr r2, _0810E008 @ =0x00000239 - b _0810E03E - .align 2, 0 -_0810E008: .4byte 0x00000239 -_0810E00C: - ldr r2, _0810E010 @ =0x00000232 - b _0810E03E - .align 2, 0 -_0810E010: .4byte 0x00000232 -_0810E014: - ldr r2, _0810E018 @ =0x00000233 - b _0810E03E - .align 2, 0 -_0810E018: .4byte 0x00000233 -_0810E01C: - ldr r2, _0810E020 @ =0x0000023a - b _0810E03E - .align 2, 0 -_0810E020: .4byte 0x0000023a -_0810E024: - ldr r2, _0810E028 @ =0x0000023b - b _0810E03E - .align 2, 0 -_0810E028: .4byte 0x0000023b -_0810E02C: - ldr r2, _0810E030 @ =0x00000e42 - b _0810E03E - .align 2, 0 -_0810E030: .4byte 0x00000e42 -_0810E034: - ldr r2, _0810E038 @ =0x00000e43 - b _0810E03E - .align 2, 0 -_0810E038: .4byte 0x00000e43 -_0810E03C: - ldr r2, _0810E048 @ =0x0000021a -_0810E03E: - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridSetMetatileIdAt - b _0810E056 - .align 2, 0 -_0810E048: .4byte 0x0000021a -_0810E04C: - ldr r2, _0810E06C @ =0x00000251 - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridSetMetatileIdAt -_0810E056: - adds r4, 0x1 - cmp r4, 0xF - bgt _0810E05E - b _0810DEFA -_0810E05E: - adds r5, r6, 0 - cmp r5, 0x17 - bgt _0810E066 - b _0810DEF6 -_0810E066: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0810E06C: .4byte 0x00000251 - thumb_func_end sub_810DEDC - - thumb_func_start sub_810E070 -sub_810E070: @ 810E070 - push {lr} - ldr r0, _0810E090 @ =gUnknown_02039258 - movs r1, 0 - strb r1, [r0] - ldr r0, _0810E094 @ =gUnknown_02039259 - strb r1, [r0] - movs r0, 0x2C - bl PlaySE - ldr r0, _0810E098 @ =sub_810E09C - movs r1, 0x8 - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_0810E090: .4byte gUnknown_02039258 -_0810E094: .4byte gUnknown_02039259 -_0810E098: .4byte sub_810E09C - thumb_func_end sub_810E070 - - thumb_func_start sub_810E09C -sub_810E09C: @ 810E09C - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, _0810E0E4 @ =gUnknown_083F8370 - ldr r5, _0810E0E8 @ =gUnknown_02039259 - ldrb r1, [r5] - adds r0, r1, r0 - ldr r4, _0810E0EC @ =gUnknown_02039258 - ldrb r2, [r4] - ldrb r0, [r0] - cmp r0, r2 - bne _0810E0F8 - ldr r0, _0810E0F0 @ =gSpecialVar_0x8004 - ldrb r0, [r0] - ldr r2, _0810E0F4 @ =gUnknown_083F8376 - lsls r1, 1 - adds r1, r2 - ldrh r1, [r1] - bl sub_810E104 - movs r0, 0 - strb r0, [r4] - ldrb r0, [r5] - adds r0, 0x1 - strb r0, [r5] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x5 - bne _0810E0FC - adds r0, r6, 0 - bl DestroyTask - bl EnableBothScriptContexts - b _0810E0FC - .align 2, 0 -_0810E0E4: .4byte gUnknown_083F8370 -_0810E0E8: .4byte gUnknown_02039259 -_0810E0EC: .4byte gUnknown_02039258 -_0810E0F0: .4byte gSpecialVar_0x8004 -_0810E0F4: .4byte gUnknown_083F8376 -_0810E0F8: - adds r0, r2, 0x1 - strb r0, [r4] -_0810E0FC: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_810E09C - - thumb_func_start sub_810E104 -sub_810E104: @ 810E104 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x10 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 16 - lsrs r2, r1, 16 - movs r7, 0 - subs r0, 0x1 - cmp r0, 0x7 - bhi _0810E1CC - lsls r0, 2 - ldr r1, _0810E128 @ =_0810E12C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0810E128: .4byte _0810E12C - .align 2, 0 -_0810E12C: - .4byte _0810E14C - .4byte _0810E15E - .4byte _0810E170 - .4byte _0810E182 - .4byte _0810E190 - .4byte _0810E1A6 - .4byte _0810E1B2 - .4byte _0810E1C0 -_0810E14C: - movs r7, 0x2 - mov r1, sp - movs r0, 0x1 - strh r0, [r1] - movs r0, 0x7 - strh r0, [r1, 0x2] - add r1, sp, 0x8 - movs r0, 0x68 - b _0810E1A0 -_0810E15E: - movs r7, 0x2 - mov r1, sp - movs r0, 0x1 - strh r0, [r1] - movs r0, 0x7 - strh r0, [r1, 0x2] - add r1, sp, 0x8 - movs r0, 0x4E - b _0810E1A0 -_0810E170: - movs r7, 0x2 - mov r1, sp - movs r0, 0x1 - strh r0, [r1] - movs r0, 0x7 - strh r0, [r1, 0x2] - add r1, sp, 0x8 - movs r0, 0x5B - b _0810E1A0 -_0810E182: - movs r7, 0x1 - mov r1, sp - movs r0, 0x7 - strh r0, [r1] - add r1, sp, 0x8 - movs r0, 0x27 - b _0810E1CA -_0810E190: - movs r7, 0x2 - mov r1, sp - movs r0, 0x1 - strh r0, [r1] - movs r0, 0x7 - strh r0, [r1, 0x2] - add r1, sp, 0x8 - movs r0, 0x34 -_0810E1A0: - strh r0, [r1] - strh r0, [r1, 0x2] - b _0810E1CC -_0810E1A6: - movs r7, 0x1 - mov r0, sp - strh r7, [r0] - add r1, sp, 0x8 - movs r0, 0x41 - b _0810E1CA -_0810E1B2: - movs r7, 0x1 - mov r1, sp - movs r0, 0x7 - strh r0, [r1] - add r1, sp, 0x8 - movs r0, 0xD - b _0810E1CA -_0810E1C0: - movs r7, 0x1 - mov r0, sp - strh r7, [r0] - add r1, sp, 0x8 - movs r0, 0x1A -_0810E1CA: - strh r0, [r1] -_0810E1CC: - movs r6, 0 - cmp r6, r7 - bcs _0810E21E - movs r1, 0xC0 - lsls r1, 4 - adds r0, r1, 0 - adds r1, r2, 0 - orrs r1, r0 - lsls r1, 16 - mov r9, r1 - adds r1, r2, 0 - adds r1, 0x8 - orrs r1, r0 - lsls r1, 16 - mov r8, r1 -_0810E1EA: - lsls r1, r6, 1 - mov r3, sp - adds r5, r3, r1 - ldrh r0, [r5] - adds r0, 0x7 - add r4, sp, 0x8 - adds r4, r1 - ldrh r1, [r4] - adds r1, 0x7 - mov r3, r9 - lsrs r2, r3, 16 - bl MapGridSetMetatileIdAt - ldrh r0, [r5] - adds r0, 0x7 - ldrh r1, [r4] - adds r1, 0x8 - mov r3, r8 - lsrs r2, r3, 16 - bl MapGridSetMetatileIdAt - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, r7 - bcc _0810E1EA -_0810E21E: - bl DrawWholeMapView - add sp, 0x10 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_810E104 - - thumb_func_start sub_810E230 -sub_810E230: @ 810E230 - push {lr} - ldr r0, _0810E244 @ =gSpecialVar_0x8004 - ldrb r0, [r0] - ldr r1, _0810E248 @ =gUnknown_083F8376 - ldrh r1, [r1, 0x8] - bl sub_810E104 - pop {r0} - bx r0 - .align 2, 0 -_0810E244: .4byte gSpecialVar_0x8004 -_0810E248: .4byte gUnknown_083F8376 - thumb_func_end sub_810E230 - - thumb_func_start ShowFieldMessageStringVar4 -ShowFieldMessageStringVar4: @ 810E24C - push {lr} - ldr r0, _0810E258 @ =gStringVar4 - bl ShowFieldMessage - pop {r0} - bx r0 - .align 2, 0 -_0810E258: .4byte gStringVar4 - thumb_func_end ShowFieldMessageStringVar4 - - thumb_func_start StorePlayerCoordsInVars -StorePlayerCoordsInVars: @ 810E25C - ldr r1, _0810E26C @ =gSpecialVar_0x8004 - ldr r2, _0810E270 @ =gSaveBlock1 - ldrh r0, [r2] - strh r0, [r1] - ldr r1, _0810E274 @ =gSpecialVar_0x8005 - ldrh r0, [r2, 0x2] - strh r0, [r1] - bx lr - .align 2, 0 -_0810E26C: .4byte gSpecialVar_0x8004 -_0810E270: .4byte gSaveBlock1 -_0810E274: .4byte gSpecialVar_0x8005 - thumb_func_end StorePlayerCoordsInVars - - thumb_func_start GetPlayerTrainerIdOnesDigit -GetPlayerTrainerIdOnesDigit: @ 810E278 - push {lr} - ldr r0, _0810E294 @ =gSaveBlock2 - ldrb r1, [r0, 0xB] - lsls r1, 8 - ldrb r0, [r0, 0xA] - orrs r0, r1 - movs r1, 0xA - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_0810E294: .4byte gSaveBlock2 - thumb_func_end GetPlayerTrainerIdOnesDigit - - thumb_func_start GetPlayerBigGuyGirlString -GetPlayerBigGuyGirlString: @ 810E298 - push {lr} - ldr r0, _0810E2AC @ =gSaveBlock2 - ldrb r0, [r0, 0x8] - cmp r0, 0 - bne _0810E2B8 - ldr r0, _0810E2B0 @ =gStringVar1 - ldr r1, _0810E2B4 @ =gOtherText_BigGuy - bl StringCopy - b _0810E2C0 - .align 2, 0 -_0810E2AC: .4byte gSaveBlock2 -_0810E2B0: .4byte gStringVar1 -_0810E2B4: .4byte gOtherText_BigGuy -_0810E2B8: - ldr r0, _0810E2C4 @ =gStringVar1 - ldr r1, _0810E2C8 @ =gOtherText_BigGirl - bl StringCopy -_0810E2C0: - pop {r0} - bx r0 - .align 2, 0 -_0810E2C4: .4byte gStringVar1 -_0810E2C8: .4byte gOtherText_BigGirl - thumb_func_end GetPlayerBigGuyGirlString - - thumb_func_start GetRivalSonDaughterString -GetRivalSonDaughterString: @ 810E2CC - push {lr} - ldr r0, _0810E2E0 @ =gSaveBlock2 - ldrb r0, [r0, 0x8] - cmp r0, 0 - bne _0810E2EC - ldr r0, _0810E2E4 @ =gStringVar1 - ldr r1, _0810E2E8 @ =gOtherText_Daughter - bl StringCopy - b _0810E2F4 - .align 2, 0 -_0810E2E0: .4byte gSaveBlock2 -_0810E2E4: .4byte gStringVar1 -_0810E2E8: .4byte gOtherText_Daughter -_0810E2EC: - ldr r0, _0810E2F8 @ =gStringVar1 - ldr r1, _0810E2FC @ =gOtherText_Son - bl StringCopy -_0810E2F4: - pop {r0} - bx r0 - .align 2, 0 -_0810E2F8: .4byte gStringVar1 -_0810E2FC: .4byte gOtherText_Son - thumb_func_end GetRivalSonDaughterString - - thumb_func_start sub_810E300 -sub_810E300: @ 810E300 - ldr r0, _0810E308 @ =gUnknown_02024D26 - ldrb r0, [r0] - bx lr - .align 2, 0 -_0810E308: .4byte gUnknown_02024D26 - thumb_func_end sub_810E300 - - thumb_func_start CableCarWarp -CableCarWarp: @ 810E30C - push {lr} - sub sp, 0x4 - ldr r0, _0810E32C @ =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0 - beq _0810E330 - movs r2, 0x1 - negs r2, r2 - movs r0, 0x4 - str r0, [sp] - movs r0, 0x13 - movs r1, 0 - movs r3, 0x6 - bl warp1_set - b _0810E342 - .align 2, 0 -_0810E32C: .4byte gSpecialVar_0x8004 -_0810E330: - movs r2, 0x1 - negs r2, r2 - movs r0, 0x4 - str r0, [sp] - movs r0, 0x13 - movs r1, 0x1 - movs r3, 0x6 - bl warp1_set -_0810E342: - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end CableCarWarp - - thumb_func_start SetFlagInVar -SetFlagInVar: @ 810E348 - push {lr} - ldr r0, _0810E358 @ =gSpecialVar_0x8004 - ldrh r0, [r0] - bl FlagSet - pop {r0} - bx r0 - .align 2, 0 -_0810E358: .4byte gSpecialVar_0x8004 - thumb_func_end SetFlagInVar - - thumb_func_start GetWeekCount -GetWeekCount: @ 810E35C - push {lr} - ldr r0, _0810E37C @ =gLocalTime - movs r1, 0 - ldrsh r0, [r0, r1] - movs r1, 0x7 - bl __divsi3 - lsls r0, 16 - lsrs r0, 16 - ldr r1, _0810E380 @ =0x0000270f - cmp r0, r1 - bls _0810E376 - adds r0, r1, 0 -_0810E376: - pop {r1} - bx r1 - .align 2, 0 -_0810E37C: .4byte gLocalTime -_0810E380: .4byte 0x0000270f - thumb_func_end GetWeekCount - - thumb_func_start GetLeadMonFriendshipScore -GetLeadMonFriendshipScore: @ 810E384 - push {r4,lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r1, r0 - ldr r0, _0810E3A8 @ =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - cmp r0, 0xFF - bne _0810E3AC - movs r0, 0x6 - b _0810E3FE - .align 2, 0 -_0810E3A8: .4byte gPlayerParty -_0810E3AC: - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - cmp r0, 0xC7 - bls _0810E3BC - movs r0, 0x5 - b _0810E3FE -_0810E3BC: - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - cmp r0, 0x95 - bls _0810E3CC - movs r0, 0x4 - b _0810E3FE -_0810E3CC: - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - cmp r0, 0x63 - bls _0810E3DC - movs r0, 0x3 - b _0810E3FE -_0810E3DC: - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - cmp r0, 0x31 - bls _0810E3EC - movs r0, 0x2 - b _0810E3FE -_0810E3EC: - adds r0, r4, 0 - movs r1, 0x20 - bl GetMonData - cmp r0, 0 - bne _0810E3FC - movs r0, 0 - b _0810E3FE -_0810E3FC: - movs r0, 0x1 -_0810E3FE: - pop {r4} - pop {r1} - bx r1 - thumb_func_end GetLeadMonFriendshipScore - - thumb_func_start CB2_FieldShowRegionMap -CB2_FieldShowRegionMap: @ 810E404 - push {lr} - ldr r0, _0810E410 @ =c2_exit_to_overworld_1_continue_scripts_restart_music - bl FieldInitRegionMap - pop {r0} - bx r0 - .align 2, 0 -_0810E410: .4byte c2_exit_to_overworld_1_continue_scripts_restart_music - thumb_func_end CB2_FieldShowRegionMap - - thumb_func_start FieldShowRegionMap -FieldShowRegionMap: @ 810E414 - push {lr} - ldr r0, _0810E420 @ =CB2_FieldShowRegionMap - bl SetMainCallback2 - pop {r0} - bx r0 - .align 2, 0 -_0810E420: .4byte CB2_FieldShowRegionMap - thumb_func_end FieldShowRegionMap - - thumb_func_start DoPCTurnOnEffect -DoPCTurnOnEffect: @ 810E424 - push {r4,lr} - ldr r4, _0810E460 @ =Task_PCTurnOnEffect - adds r0, r4, 0 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0810E458 - adds r0, r4, 0 - movs r1, 0x8 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0810E464 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0 - strh r2, [r1, 0x8] - strh r0, [r1, 0xA] - strh r2, [r1, 0xC] - strh r2, [r1, 0xE] - strh r2, [r1, 0x10] -_0810E458: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810E460: .4byte Task_PCTurnOnEffect -_0810E464: .4byte gTasks - thumb_func_end DoPCTurnOnEffect - - thumb_func_start Task_PCTurnOnEffect -Task_PCTurnOnEffect: @ 810E468 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _0810E48C @ =gTasks - adds r1, r0 - movs r2, 0x8 - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _0810E486 - adds r0, r1, 0 - bl PCTurnOffEffect_0 -_0810E486: - pop {r0} - bx r0 - .align 2, 0 -_0810E48C: .4byte gTasks - thumb_func_end Task_PCTurnOnEffect - - thumb_func_start PCTurnOffEffect_0 -PCTurnOffEffect_0: @ 810E490 - push {r4-r6,lr} - adds r4, r0, 0 - movs r6, 0 - movs r5, 0 - movs r1, 0xE - ldrsh r0, [r4, r1] - cmp r0, 0x6 - bne _0810E4FC - strh r5, [r4, 0xE] - bl player_get_direction_lower_nybble - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - cmp r0, 0x3 - beq _0810E4C4 - cmp r0, 0x3 - bgt _0810E4BA - cmp r0, 0x2 - beq _0810E4C0 - b _0810E4CC -_0810E4BA: - cmp r1, 0x4 - beq _0810E4C8 - b _0810E4CC -_0810E4C0: - movs r6, 0 - b _0810E4CA -_0810E4C4: - movs r6, 0xFF - b _0810E4CA -_0810E4C8: - movs r6, 0x1 -_0810E4CA: - movs r5, 0xFF -_0810E4CC: - movs r1, 0x10 - ldrsh r0, [r4, r1] - lsls r1, r6, 24 - asrs r1, 24 - lsls r2, r5, 24 - asrs r2, 24 - bl PCTurnOffEffect_1 - bl DrawWholeMapView - ldrh r0, [r4, 0x10] - movs r1, 0x1 - eors r0, r1 - strh r0, [r4, 0x10] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5 - bne _0810E4FC - ldrb r0, [r4, 0xA] - bl DestroyTask -_0810E4FC: - ldrh r0, [r4, 0xE] - adds r0, 0x1 - strh r0, [r4, 0xE] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end PCTurnOffEffect_0 - - thumb_func_start PCTurnOffEffect_1 -PCTurnOffEffect_1: @ 810E508 - push {r4,r5,lr} - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r4, r2, 24 - movs r3, 0 - lsls r0, 16 - cmp r0, 0 - beq _0810E544 - ldr r0, _0810E528 @ =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0 - bne _0810E52C - movs r3, 0x4 - b _0810E566 - .align 2, 0 -_0810E528: .4byte gSpecialVar_0x8004 -_0810E52C: - cmp r0, 0x1 - bne _0810E538 - ldr r3, _0810E534 @ =0x0000025a - b _0810E566 - .align 2, 0 -_0810E534: .4byte 0x0000025a -_0810E538: - cmp r0, 0x2 - bne _0810E566 - ldr r3, _0810E540 @ =0x00000259 - b _0810E566 - .align 2, 0 -_0810E540: .4byte 0x00000259 -_0810E544: - ldr r0, _0810E550 @ =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0 - bne _0810E554 - movs r3, 0x5 - b _0810E566 - .align 2, 0 -_0810E550: .4byte gSpecialVar_0x8004 -_0810E554: - cmp r0, 0x1 - bne _0810E560 - ldr r3, _0810E55C @ =0x0000027f - b _0810E566 - .align 2, 0 -_0810E55C: .4byte 0x0000027f -_0810E560: - cmp r0, 0x2 - bne _0810E566 - ldr r3, _0810E594 @ =0x0000027e -_0810E566: - ldr r2, _0810E598 @ =gSaveBlock1 - movs r5, 0 - ldrsh r0, [r2, r5] - lsls r1, 24 - asrs r1, 24 - adds r0, r1 - adds r0, 0x7 - movs r5, 0x2 - ldrsh r1, [r2, r5] - lsls r2, r4, 24 - asrs r2, 24 - adds r1, r2 - adds r1, 0x7 - movs r4, 0xC0 - lsls r4, 4 - adds r2, r4, 0 - orrs r3, r2 - adds r2, r3, 0 - bl MapGridSetMetatileIdAt - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810E594: .4byte 0x0000027e -_0810E598: .4byte gSaveBlock1 - thumb_func_end PCTurnOffEffect_1 - - thumb_func_start DoPCTurnOffEffect -DoPCTurnOffEffect: @ 810E59C - push {lr} - bl PCTurnOffEffect - pop {r0} - bx r0 - thumb_func_end DoPCTurnOffEffect - - thumb_func_start PCTurnOffEffect -PCTurnOffEffect: @ 810E5A8 - push {r4-r6,lr} - movs r6, 0 - movs r5, 0 - movs r4, 0 - bl player_get_direction_lower_nybble - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0 - cmp r0, 0x3 - beq _0810E5D2 - cmp r0, 0x3 - bgt _0810E5C8 - cmp r0, 0x2 - beq _0810E5CE - b _0810E5DA -_0810E5C8: - cmp r1, 0x4 - beq _0810E5D6 - b _0810E5DA -_0810E5CE: - movs r6, 0 - b _0810E5D8 -_0810E5D2: - movs r6, 0xFF - b _0810E5D8 -_0810E5D6: - movs r6, 0x1 -_0810E5D8: - movs r5, 0xFF -_0810E5DA: - ldr r0, _0810E5E8 @ =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0 - bne _0810E5EC - movs r4, 0x4 - b _0810E5FE - .align 2, 0 -_0810E5E8: .4byte gSpecialVar_0x8004 -_0810E5EC: - cmp r0, 0x1 - bne _0810E5F8 - ldr r4, _0810E5F4 @ =0x0000025a - b _0810E5FE - .align 2, 0 -_0810E5F4: .4byte 0x0000025a -_0810E5F8: - cmp r0, 0x2 - bne _0810E5FE - ldr r4, _0810E630 @ =0x00000259 -_0810E5FE: - ldr r2, _0810E634 @ =gSaveBlock1 - movs r1, 0 - ldrsh r0, [r2, r1] - lsls r1, r6, 24 - asrs r1, 24 - adds r0, r1 - adds r0, 0x7 - movs r3, 0x2 - ldrsh r1, [r2, r3] - lsls r2, r5, 24 - asrs r2, 24 - adds r1, r2 - adds r1, 0x7 - movs r3, 0xC0 - lsls r3, 4 - adds r2, r3, 0 - orrs r4, r2 - adds r2, r4, 0 - bl MapGridSetMetatileIdAt - bl DrawWholeMapView - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0810E630: .4byte 0x00000259 -_0810E634: .4byte gSaveBlock1 - thumb_func_end PCTurnOffEffect - - thumb_func_start DoLotteryCornerComputerEffect -DoLotteryCornerComputerEffect: @ 810E638 - push {r4,lr} - ldr r4, _0810E674 @ =Task_LotteryCornerComputerEffect - adds r0, r4, 0 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0810E66C - adds r0, r4, 0 - movs r1, 0x8 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0810E678 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0 - strh r2, [r1, 0x8] - strh r0, [r1, 0xA] - strh r2, [r1, 0xC] - strh r2, [r1, 0xE] - strh r2, [r1, 0x10] -_0810E66C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810E674: .4byte Task_LotteryCornerComputerEffect -_0810E678: .4byte gTasks - thumb_func_end DoLotteryCornerComputerEffect - - thumb_func_start Task_LotteryCornerComputerEffect -Task_LotteryCornerComputerEffect: @ 810E67C - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _0810E6A0 @ =gTasks - adds r1, r0 - movs r2, 0x8 - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _0810E69A - adds r0, r1, 0 - bl LotteryCornerComputerEffect -_0810E69A: - pop {r0} - bx r0 - .align 2, 0 -_0810E6A0: .4byte gTasks - thumb_func_end Task_LotteryCornerComputerEffect - - thumb_func_start LotteryCornerComputerEffect -LotteryCornerComputerEffect: @ 810E6A4 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0xE - ldrsh r0, [r4, r1] - cmp r0, 0x6 - bne _0810E712 - movs r0, 0 - strh r0, [r4, 0xE] - movs r1, 0x10 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _0810E6DC - ldr r2, _0810E6D4 @ =0x00000e9d - movs r0, 0x12 - movs r1, 0x8 - bl MapGridSetMetatileIdAt - ldr r2, _0810E6D8 @ =0x00000ea5 - movs r0, 0x12 - movs r1, 0x9 - bl MapGridSetMetatileIdAt - b _0810E6F2 - .align 2, 0 -_0810E6D4: .4byte 0x00000e9d -_0810E6D8: .4byte 0x00000ea5 -_0810E6DC: - ldr r2, _0810E720 @ =0x00000e58 - movs r0, 0x12 - movs r1, 0x8 - bl MapGridSetMetatileIdAt - movs r2, 0xE6 - lsls r2, 4 - movs r0, 0x12 - movs r1, 0x9 - bl MapGridSetMetatileIdAt -_0810E6F2: - bl DrawWholeMapView - ldrh r0, [r4, 0x10] - movs r1, 0x1 - eors r0, r1 - strh r0, [r4, 0x10] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x5 - bne _0810E712 - ldrb r0, [r4, 0xA] - bl DestroyTask -_0810E712: - ldrh r0, [r4, 0xE] - adds r0, 0x1 - strh r0, [r4, 0xE] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810E720: .4byte 0x00000e58 - thumb_func_end LotteryCornerComputerEffect - - thumb_func_start EndLotteryCornerComputerEffect -EndLotteryCornerComputerEffect: @ 810E724 - push {lr} - ldr r2, _0810E744 @ =0x00000e9d - movs r0, 0x12 - movs r1, 0x8 - bl MapGridSetMetatileIdAt - ldr r2, _0810E748 @ =0x00000ea5 - movs r0, 0x12 - movs r1, 0x9 - bl MapGridSetMetatileIdAt - bl DrawWholeMapView - pop {r0} - bx r0 - .align 2, 0 -_0810E744: .4byte 0x00000e9d -_0810E748: .4byte 0x00000ea5 - thumb_func_end EndLotteryCornerComputerEffect - - thumb_func_start SetDepartmentStoreFloorVar -SetDepartmentStoreFloorVar: @ 810E74C - push {lr} - ldr r0, _0810E768 @ =gSaveBlock1 - ldrb r0, [r0, 0x15] - subs r0, 0x11 - lsls r0, 24 - asrs r0, 24 - cmp r0, 0x5 - bhi _0810E79C - lsls r0, 2 - ldr r1, _0810E76C @ =_0810E770 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0810E768: .4byte gSaveBlock1 -_0810E76C: .4byte _0810E770 - .align 2, 0 -_0810E770: - .4byte _0810E79C - .4byte _0810E788 - .4byte _0810E78C - .4byte _0810E790 - .4byte _0810E794 - .4byte _0810E798 -_0810E788: - movs r1, 0x1 - b _0810E79E -_0810E78C: - movs r1, 0x2 - b _0810E79E -_0810E790: - movs r1, 0x3 - b _0810E79E -_0810E794: - movs r1, 0x4 - b _0810E79E -_0810E798: - movs r1, 0xF - b _0810E79E -_0810E79C: - movs r1, 0 -_0810E79E: - ldr r0, _0810E7A8 @ =0x00004043 - bl VarSet - pop {r0} - bx r0 - .align 2, 0 -_0810E7A8: .4byte 0x00004043 - thumb_func_end SetDepartmentStoreFloorVar - - thumb_func_start ScriptAddElevatorMenuItem -ScriptAddElevatorMenuItem: @ 810E7AC - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r7, r1, 24 - lsls r2, 24 - lsrs r2, 24 - mov r12, r2 - lsls r3, 24 - lsrs r3, 24 - mov r8, r3 - ldr r0, _0810E81C @ =gSpecialVar_0x8004 - ldrh r1, [r0] - adds r2, r0, 0 - ldr r3, _0810E820 @ =gUnknown_03000760 - cmp r1, 0 - bne _0810E7E8 - movs r1, 0 - adds r5, r3, 0 - movs r4, 0x10 -_0810E7D8: - lsls r0, r1, 2 - adds r0, r5 - strb r4, [r0] - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x13 - bls _0810E7D8 -_0810E7E8: - ldrh r0, [r2] - lsls r0, 2 - adds r0, r3 - strb r6, [r0] - ldrh r0, [r2] - lsls r0, 2 - adds r0, r3 - strb r7, [r0, 0x1] - ldrh r0, [r2] - lsls r0, 2 - adds r0, r3 - mov r1, r12 - strb r1, [r0, 0x2] - ldrh r0, [r2] - lsls r0, 2 - adds r0, r3 - mov r1, r8 - strb r1, [r0, 0x3] - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0810E81C: .4byte gSpecialVar_0x8004 -_0810E820: .4byte gUnknown_03000760 - thumb_func_end ScriptAddElevatorMenuItem - - thumb_func_start ScriptShowElevatorMenu -ScriptShowElevatorMenu: @ 810E824 - push {r4,r5,lr} - movs r4, 0 - ldr r5, _0810E868 @ =gUnknown_0203925A - strb r4, [r5] - ldr r0, _0810E86C @ =gUnknown_0203925B - strb r4, [r0] - movs r0, 0x10 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl ScriptAddElevatorMenuItem - ldr r2, _0810E870 @ =gUnknown_03000760 - ldrb r0, [r2] - cmp r0, 0x10 - beq _0810E85C - adds r1, r5, 0 -_0810E846: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r2 - ldrb r0, [r0] - cmp r0, 0x10 - bne _0810E846 -_0810E85C: - bl sub_810E874 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810E868: .4byte gUnknown_0203925A -_0810E86C: .4byte gUnknown_0203925B -_0810E870: .4byte gUnknown_03000760 - thumb_func_end ScriptShowElevatorMenu - - thumb_func_start sub_810E874 -sub_810E874: @ 810E874 - push {r4-r6,lr} - sub sp, 0x8 - bl ScriptContext2_Enable - ldr r4, _0810E8B8 @ =gUnknown_0203925A - ldrb r0, [r4] - cmp r0, 0x5 - bls _0810E8C0 - movs r0, 0 - movs r1, 0 - movs r2, 0x8 - movs r3, 0xB - bl MenuDrawTextWindow - movs r4, 0 - str r4, [sp] - movs r0, 0x7 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - movs r3, 0x5 - bl InitMenu - ldr r0, _0810E8BC @ =gUnknown_0203925C - strb r4, [r0] - bl sub_80F944C - bl LoadScrollIndicatorPalette - bl sub_810ECD4 - b _0810E8E8 - .align 2, 0 -_0810E8B8: .4byte gUnknown_0203925A -_0810E8BC: .4byte gUnknown_0203925C -_0810E8C0: - ldrb r3, [r4] - lsls r3, 1 - adds r3, 0x1 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0 - movs r1, 0 - movs r2, 0x8 - bl MenuDrawTextWindow - ldrb r3, [r4] - movs r0, 0 - str r0, [sp] - movs r0, 0x7 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - bl InitMenu -_0810E8E8: - movs r4, 0 - ldr r1, _0810E938 @ =gUnknown_03000760 - ldrb r0, [r1] - cmp r0, 0x10 - beq _0810E924 - ldr r6, _0810E93C @ =gUnknown_083F8380 - adds r5, r1, 0 -_0810E8F6: - lsls r0, r4, 2 - adds r0, r5 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r6 - ldr r0, [r0] - lsls r2, r4, 1 - adds r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - movs r1, 0x1 - bl MenuPrint - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x4 - bhi _0810E924 - lsls r0, r4, 2 - adds r0, r5 - ldrb r0, [r0] - cmp r0, 0x10 - bne _0810E8F6 -_0810E924: - bl sub_810E944 - ldr r0, _0810E940 @ =sub_810E984 - movs r1, 0x8 - bl CreateTask - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0810E938: .4byte gUnknown_03000760 -_0810E93C: .4byte gUnknown_083F8380 -_0810E940: .4byte sub_810E984 - thumb_func_end sub_810E874 - - thumb_func_start sub_810E944 -sub_810E944: @ 810E944 - push {lr} - movs r0, 0x14 - movs r1, 0 - movs r2, 0x1D - movs r3, 0x5 - bl MenuDrawTextWindow - ldr r0, _0810E978 @ =gOtherText_NowOn - movs r1, 0x15 - movs r2, 0x1 - movs r3, 0x40 - bl sub_8072BD8 - ldr r1, _0810E97C @ =gUnknown_083F8380 - ldr r0, _0810E980 @ =gSpecialVar_0x8005 - ldrh r0, [r0] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x15 - movs r2, 0x3 - movs r3, 0x40 - bl sub_8072BD8 - pop {r0} - bx r0 - .align 2, 0 -_0810E978: .4byte gOtherText_NowOn -_0810E97C: .4byte gUnknown_083F8380 -_0810E980: .4byte gSpecialVar_0x8005 - thumb_func_end sub_810E944 - - thumb_func_start sub_810E984 -sub_810E984: @ 810E984 - push {r4-r6,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, _0810EA44 @ =gMain - ldrh r0, [r0, 0x2E] - cmp r0, 0x40 - bne _0810E9B8 - ldr r1, _0810EA48 @ =gUnknown_0203925B - ldrb r0, [r1] - cmp r0, 0 - beq _0810E9B8 - subs r0, 0x1 - strb r0, [r1] - bl GetMenuCursorPos - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x1 - negs r0, r0 - bl MoveMenuCursorNoWrap - adds r0, r4, 0 - movs r1, 0x40 - bl sub_810EAC8 -_0810E9B8: - ldr r0, _0810EA44 @ =gMain - ldrh r0, [r0, 0x2E] - cmp r0, 0x80 - bne _0810E9E8 - ldr r2, _0810EA48 @ =gUnknown_0203925B - ldrb r1, [r2] - ldr r0, _0810EA4C @ =gUnknown_0203925A - ldrb r0, [r0] - subs r0, 0x1 - cmp r1, r0 - beq _0810E9E8 - adds r0, r1, 0x1 - strb r0, [r2] - bl GetMenuCursorPos - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x1 - bl MoveMenuCursorNoWrap - adds r0, r4, 0 - movs r1, 0x80 - bl sub_810EAC8 -_0810E9E8: - ldr r0, _0810EA44 @ =gMain - ldrh r2, [r0, 0x2E] - movs r5, 0x1 - adds r1, r5, 0 - ands r1, r2 - cmp r1, 0 - beq _0810EA94 - ldr r1, _0810EA50 @ =gUnknown_03000760 - ldr r4, _0810EA48 @ =gUnknown_0203925B - ldrb r0, [r4] - lsls r0, 2 - adds r0, r1 - movs r1, 0x1 - ldrsb r1, [r0, r1] - movs r2, 0x2 - ldrsb r2, [r0, r2] - movs r3, 0x1 - negs r3, r3 - movs r0, 0x2 - str r0, [sp] - str r5, [sp, 0x4] - movs r0, 0 - bl saved_warp2_set_2 - ldr r1, _0810EA54 @ =gSpecialVar_0x8005 - ldrh r0, [r1] - ldrb r2, [r4] - cmp r0, r2 - bne _0810EA5C - ldr r1, _0810EA58 @ =gScriptResult - movs r0, 0 - strh r0, [r1] - movs r0, 0x5 - bl PlaySE - movs r0, 0 - movs r1, 0 - movs r2, 0x1D - movs r3, 0xC - bl MenuZeroFillWindowRect - adds r0, r6, 0 - bl sub_810EC9C - b _0810EABC - .align 2, 0 -_0810EA44: .4byte gMain -_0810EA48: .4byte gUnknown_0203925B -_0810EA4C: .4byte gUnknown_0203925A -_0810EA50: .4byte gUnknown_03000760 -_0810EA54: .4byte gSpecialVar_0x8005 -_0810EA58: .4byte gScriptResult -_0810EA5C: - ldr r0, _0810EA88 @ =gScriptResult - strh r5, [r0] - ldrb r0, [r4] - strh r0, [r1] - bl sub_810EBEC - ldr r0, _0810EA8C @ =gScriptLastTalked - ldrb r0, [r0] - ldr r2, _0810EA90 @ =gSaveBlock1 - ldrb r1, [r2, 0x5] - ldrb r2, [r2, 0x4] - movs r3, 0x1 - bl FieldObjectTurnByLocalIdAndMap - bl sub_810EEDC - bl MenuZeroFillScreen - adds r0, r6, 0 - bl DestroyTask - b _0810EABC - .align 2, 0 -_0810EA88: .4byte gScriptResult -_0810EA8C: .4byte gScriptLastTalked -_0810EA90: .4byte gSaveBlock1 -_0810EA94: - movs r0, 0x2 - ands r0, r2 - cmp r0, 0 - beq _0810EABC - ldr r0, _0810EAC4 @ =gScriptResult - strh r1, [r0] - movs r0, 0x5 - bl PlaySE - bl sub_810EEDC - movs r0, 0 - movs r1, 0 - movs r2, 0x1D - movs r3, 0xC - bl MenuZeroFillWindowRect - adds r0, r6, 0 - bl sub_810EC9C -_0810EABC: - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0810EAC4: .4byte gScriptResult - thumb_func_end sub_810E984 - - thumb_func_start sub_810EAC8 -sub_810EAC8: @ 810EAC8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r2, r0, 24 - adds r5, r2, 0 - lsls r1, 24 - lsrs r1, 24 - adds r3, r1, 0 - movs r7, 0 - movs r4, 0 - ldr r0, _0810EAEC @ =gUnknown_0203925A - ldrb r0, [r0] - cmp r0, 0x4 - bhi _0810EAF0 - movs r0, 0 - b _0810EB78 - .align 2, 0 -_0810EAEC: .4byte gUnknown_0203925A -_0810EAF0: - cmp r1, 0x40 - bne _0810EB04 - cmp r2, 0 - bne _0810EB18 - ldr r0, _0810EB00 @ =gUnknown_0203925B - ldrb r4, [r0] - movs r7, 0x1 - b _0810EB1C - .align 2, 0 -_0810EB00: .4byte gUnknown_0203925B -_0810EB04: - cmp r3, 0x80 - bne _0810EB18 - cmp r5, 0x4 - bne _0810EB18 - ldr r0, _0810EB84 @ =gUnknown_0203925B - ldrb r0, [r0] - subs r0, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - movs r7, 0x1 -_0810EB18: - cmp r7, 0 - beq _0810EB76 -_0810EB1C: - adds r0, r4, 0 - movs r1, 0x5 - bl sub_810EB90 - movs r0, 0x2 - movs r1, 0x1 - movs r2, 0x7 - movs r3, 0xA - bl MenuFillWindowRectWithBlankTile - movs r5, 0 - ldr r2, _0810EB88 @ =gUnknown_03000760 - lsls r1, r4, 2 - adds r0, r1, r2 - ldrb r0, [r0] - cmp r0, 0x10 - beq _0810EB76 - ldr r0, _0810EB8C @ =gUnknown_083F8380 - mov r8, r0 - adds r6, r2, 0 -_0810EB44: - adds r0, r1, r6 - ldrb r0, [r0] - lsls r0, 2 - add r0, r8 - ldr r0, [r0] - lsls r2, r5, 1 - adds r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - movs r1, 0x1 - bl MenuPrint - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x4 - bhi _0810EB76 - lsls r1, r4, 2 - adds r0, r1, r6 - ldrb r0, [r0] - cmp r0, 0x10 - bne _0810EB44 -_0810EB76: - adds r0, r7, 0 -_0810EB78: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0810EB84: .4byte gUnknown_0203925B -_0810EB88: .4byte gUnknown_03000760 -_0810EB8C: .4byte gUnknown_083F8380 - thumb_func_end sub_810EAC8 - - thumb_func_start sub_810EB90 -sub_810EB90: @ 810EB90 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - cmp r4, 0 - bne _0810EBB4 - ldr r0, _0810EBB0 @ =gUnknown_0203925C - ldrb r1, [r0] - movs r2, 0x2 - eors r1, r2 - strb r1, [r0] - movs r0, 0 - bl DestroyVerticalScrollIndicator - b _0810EBB8 - .align 2, 0 -_0810EBB0: .4byte gUnknown_0203925C -_0810EBB4: - bl sub_810ECB0 -_0810EBB8: - adds r1, r4, r5 - ldr r0, _0810EBC8 @ =gUnknown_0203925A - ldrb r0, [r0] - cmp r1, r0 - bge _0810EBCC - bl sub_810ECD4 - b _0810EBE0 - .align 2, 0 -_0810EBC8: .4byte gUnknown_0203925A -_0810EBCC: - cmp r1, r0 - bne _0810EBE0 - ldr r0, _0810EBE8 @ =gUnknown_0203925C - ldrb r1, [r0] - movs r2, 0x1 - eors r1, r2 - strb r1, [r0] - movs r0, 0x1 - bl DestroyVerticalScrollIndicator -_0810EBE0: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810EBE8: .4byte gUnknown_0203925C - thumb_func_end sub_810EB90 - - thumb_func_start sub_810EBEC -sub_810EBEC: @ 810EBEC - push {lr} - ldr r0, _0810EC2C @ =sub_810EC34 - movs r1, 0x9 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0810EC30 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0 - movs r2, 0x1 - strh r2, [r1, 0x8] - strh r0, [r1, 0xA] - strh r0, [r1, 0xC] - strh r0, [r1, 0xE] - strh r2, [r1, 0x10] - movs r0, 0x3 - strh r0, [r1, 0x12] - movs r0, 0 - bl SetCameraPanningCallback - bl sub_810ECFC - movs r0, 0x59 - bl PlaySE - pop {r0} - bx r0 - .align 2, 0 -_0810EC2C: .4byte sub_810EC34 -_0810EC30: .4byte gTasks - thumb_func_end sub_810EBEC - - thumb_func_start sub_810EC34 -sub_810EC34: @ 810EC34 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0810EC98 @ =gTasks - adds r4, r0, r1 - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - movs r1, 0xA - ldrsh r0, [r4, r1] - movs r2, 0x12 - ldrsh r1, [r4, r2] - bl __modsi3 - cmp r0, 0 - bne _0810EC92 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - movs r1, 0xE - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0810EC92 - ldrh r0, [r4, 0x10] - negs r0, r0 - strh r0, [r4, 0x10] - movs r2, 0x10 - ldrsh r1, [r4, r2] - movs r0, 0 - bl SetCameraPanning - movs r1, 0xC - ldrsh r0, [r4, r1] - cmp r0, 0x17 - bne _0810EC92 - movs r0, 0x49 - bl PlaySE - adds r0, r5, 0 - bl sub_810EC9C - bl InstallCameraPanAheadCallback -_0810EC92: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810EC98: .4byte gTasks - thumb_func_end sub_810EC34 - - thumb_func_start sub_810EC9C -sub_810EC9C: @ 810EC9C - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - bl EnableBothScriptContexts - pop {r0} - bx r0 - thumb_func_end sub_810EC9C - - thumb_func_start sub_810ECB0 -sub_810ECB0: @ 810ECB0 - push {lr} - ldr r2, _0810ECD0 @ =gUnknown_0203925C - ldrb r1, [r2] - lsrs r0, r1, 1 - cmp r0, 0x1 - beq _0810ECCC - movs r0, 0x2 - orrs r0, r1 - strb r0, [r2] - movs r0, 0 - movs r1, 0x24 - movs r2, 0x8 - bl CreateVerticalScrollIndicators -_0810ECCC: - pop {r0} - bx r0 - .align 2, 0 -_0810ECD0: .4byte gUnknown_0203925C - thumb_func_end sub_810ECB0 - - thumb_func_start sub_810ECD4 -sub_810ECD4: @ 810ECD4 - push {lr} - ldr r2, _0810ECF8 @ =gUnknown_0203925C - ldrb r1, [r2] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0810ECF2 - movs r0, 0x1 - orrs r0, r1 - strb r0, [r2] - movs r0, 0x1 - movs r1, 0x24 - movs r2, 0x48 - bl CreateVerticalScrollIndicators -_0810ECF2: - pop {r0} - bx r0 - .align 2, 0 -_0810ECF8: .4byte gUnknown_0203925C - thumb_func_end sub_810ECD4 - - thumb_func_start sub_810ECFC -sub_810ECFC: @ 810ECFC - push {r4,lr} - ldr r4, _0810ED38 @ =sub_810ED40 - adds r0, r4, 0 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0810ED30 - adds r0, r4, 0 - movs r1, 0x8 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0810ED3C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0 - strh r2, [r1, 0x8] - strh r0, [r1, 0xA] - strh r2, [r1, 0xC] - strh r2, [r1, 0xE] - strh r2, [r1, 0x10] -_0810ED30: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810ED38: .4byte sub_810ED40 -_0810ED3C: .4byte gTasks - thumb_func_end sub_810ECFC - - thumb_func_start sub_810ED40 -sub_810ED40: @ 810ED40 - push {lr} - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - ldr r1, _0810ED5C @ =gTasks - adds r0, r1 - bl sub_810ED60 - pop {r0} - bx r0 - .align 2, 0 -_0810ED5C: .4byte gTasks - thumb_func_end sub_810ED40 - - thumb_func_start sub_810ED60 -sub_810ED60: @ 810ED60 - push {r4,r5,lr} - adds r5, r0, 0 - movs r1, 0xE - ldrsh r0, [r5, r1] - cmp r0, 0x8 - beq _0810ED6E - b _0810EEB2 -_0810ED6E: - movs r0, 0 - strh r0, [r5, 0xE] - movs r1, 0x10 - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _0810EE14 - ldr r2, _0810EDFC @ =0x00000e68 - movs r0, 0x7 - movs r1, 0x7 - bl MapGridSetMetatileIdAt - ldr r4, _0810EE00 @ =0x00000e69 - movs r0, 0x8 - movs r1, 0x7 - adds r2, r4, 0 - bl MapGridSetMetatileIdAt - movs r0, 0x9 - movs r1, 0x7 - adds r2, r4, 0 - bl MapGridSetMetatileIdAt - ldr r2, _0810EE04 @ =0x00000e6a - movs r0, 0xA - movs r1, 0x7 - bl MapGridSetMetatileIdAt - movs r2, 0xE7 - lsls r2, 4 - movs r0, 0x7 - movs r1, 0x8 - bl MapGridSetMetatileIdAt - adds r4, 0x8 - movs r0, 0x8 - movs r1, 0x8 - adds r2, r4, 0 - bl MapGridSetMetatileIdAt - movs r0, 0x9 - movs r1, 0x8 - adds r2, r4, 0 - bl MapGridSetMetatileIdAt - ldr r2, _0810EE08 @ =0x00000e72 - movs r0, 0xA - movs r1, 0x8 - bl MapGridSetMetatileIdAt - ldr r2, _0810EE0C @ =0x00000e78 - movs r0, 0x7 - movs r1, 0x9 - bl MapGridSetMetatileIdAt - adds r4, 0x8 - movs r0, 0x8 - movs r1, 0x9 - adds r2, r4, 0 - bl MapGridSetMetatileIdAt - movs r0, 0x9 - movs r1, 0x9 - adds r2, r4, 0 - bl MapGridSetMetatileIdAt - ldr r2, _0810EE10 @ =0x00000e7a - movs r0, 0xA - movs r1, 0x9 - bl MapGridSetMetatileIdAt - b _0810EE92 - .align 2, 0 -_0810EDFC: .4byte 0x00000e68 -_0810EE00: .4byte 0x00000e69 -_0810EE04: .4byte 0x00000e6a -_0810EE08: .4byte 0x00000e72 -_0810EE0C: .4byte 0x00000e78 -_0810EE10: .4byte 0x00000e7a -_0810EE14: - ldr r2, _0810EEC0 @ =0x00000e6b - movs r0, 0x7 - movs r1, 0x7 - bl MapGridSetMetatileIdAt - ldr r4, _0810EEC4 @ =0x00000e6c - movs r0, 0x8 - movs r1, 0x7 - adds r2, r4, 0 - bl MapGridSetMetatileIdAt - movs r0, 0x9 - movs r1, 0x7 - adds r2, r4, 0 - bl MapGridSetMetatileIdAt - ldr r2, _0810EEC8 @ =0x00000e6d - movs r0, 0xA - movs r1, 0x7 - bl MapGridSetMetatileIdAt - ldr r2, _0810EECC @ =0x00000e73 - movs r0, 0x7 - movs r1, 0x8 - bl MapGridSetMetatileIdAt - adds r4, 0x8 - movs r0, 0x8 - movs r1, 0x8 - adds r2, r4, 0 - bl MapGridSetMetatileIdAt - movs r0, 0x9 - movs r1, 0x8 - adds r2, r4, 0 - bl MapGridSetMetatileIdAt - ldr r2, _0810EED0 @ =0x00000e75 - movs r0, 0xA - movs r1, 0x8 - bl MapGridSetMetatileIdAt - ldr r2, _0810EED4 @ =0x00000e7b - movs r0, 0x7 - movs r1, 0x9 - bl MapGridSetMetatileIdAt - adds r4, 0x8 - movs r0, 0x8 - movs r1, 0x9 - adds r2, r4, 0 - bl MapGridSetMetatileIdAt - movs r0, 0x9 - movs r1, 0x9 - adds r2, r4, 0 - bl MapGridSetMetatileIdAt - ldr r2, _0810EED8 @ =0x00000e7d - movs r0, 0xA - movs r1, 0x9 - bl MapGridSetMetatileIdAt -_0810EE92: - bl DrawWholeMapView - ldrh r0, [r5, 0x10] - movs r1, 0x1 - eors r0, r1 - strh r0, [r5, 0x10] - ldrh r0, [r5, 0xC] - adds r0, 0x1 - strh r0, [r5, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x8 - bne _0810EEB2 - ldrb r0, [r5, 0xA] - bl DestroyTask -_0810EEB2: - ldrh r0, [r5, 0xE] - adds r0, 0x1 - strh r0, [r5, 0xE] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810EEC0: .4byte 0x00000e6b -_0810EEC4: .4byte 0x00000e6c -_0810EEC8: .4byte 0x00000e6d -_0810EECC: .4byte 0x00000e73 -_0810EED0: .4byte 0x00000e75 -_0810EED4: .4byte 0x00000e7b -_0810EED8: .4byte 0x00000e7d - thumb_func_end sub_810ED60 - - thumb_func_start sub_810EEDC -sub_810EEDC: @ 810EEDC - push {r4,lr} - ldr r4, _0810EF08 @ =gUnknown_0203925C - ldrb r1, [r4] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0810EEF0 - movs r0, 0x1 - bl DestroyVerticalScrollIndicator -_0810EEF0: - ldrb r0, [r4] - lsrs r0, 1 - cmp r0, 0x1 - bne _0810EEFE - movs r0, 0 - bl DestroyVerticalScrollIndicator -_0810EEFE: - bl BuyMenuFreeMemory - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810EF08: .4byte gUnknown_0203925C - thumb_func_end sub_810EEDC - - thumb_func_start SetTrickHouseEndRoomFlag -SetTrickHouseEndRoomFlag: @ 810EF0C - push {lr} - ldr r1, _0810EF1C @ =gSpecialVar_0x8004 - ldr r0, _0810EF20 @ =0x00000259 - strh r0, [r1] - bl FlagSet - pop {r0} - bx r0 - .align 2, 0 -_0810EF1C: .4byte gSpecialVar_0x8004 -_0810EF20: .4byte 0x00000259 - thumb_func_end SetTrickHouseEndRoomFlag - - thumb_func_start ResetTrickHouseEndRoomFlag -ResetTrickHouseEndRoomFlag: @ 810EF24 - push {lr} - ldr r1, _0810EF34 @ =gSpecialVar_0x8004 - ldr r0, _0810EF38 @ =0x00000259 - strh r0, [r1] - bl FlagReset - pop {r0} - bx r0 - .align 2, 0 -_0810EF34: .4byte gSpecialVar_0x8004 -_0810EF38: .4byte 0x00000259 - thumb_func_end ResetTrickHouseEndRoomFlag - - thumb_func_start CheckLeadMonCool -CheckLeadMonCool: @ 810EF3C - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, _0810EF5C @ =gPlayerParty - adds r0, r1 - movs r1, 0x16 - bl GetMonData - cmp r0, 0xC7 - bls _0810EF60 - movs r0, 0x1 - b _0810EF62 - .align 2, 0 -_0810EF5C: .4byte gPlayerParty -_0810EF60: - movs r0, 0 -_0810EF62: - pop {r1} - bx r1 - thumb_func_end CheckLeadMonCool - - thumb_func_start CheckLeadMonBeauty -CheckLeadMonBeauty: @ 810EF68 - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, _0810EF88 @ =gPlayerParty - adds r0, r1 - movs r1, 0x17 - bl GetMonData - cmp r0, 0xC7 - bls _0810EF8C - movs r0, 0x1 - b _0810EF8E - .align 2, 0 -_0810EF88: .4byte gPlayerParty -_0810EF8C: - movs r0, 0 -_0810EF8E: - pop {r1} - bx r1 - thumb_func_end CheckLeadMonBeauty - - thumb_func_start CheckLeadMonCute -CheckLeadMonCute: @ 810EF94 - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, _0810EFB4 @ =gPlayerParty - adds r0, r1 - movs r1, 0x18 - bl GetMonData - cmp r0, 0xC7 - bls _0810EFB8 - movs r0, 0x1 - b _0810EFBA - .align 2, 0 -_0810EFB4: .4byte gPlayerParty -_0810EFB8: - movs r0, 0 -_0810EFBA: - pop {r1} - bx r1 - thumb_func_end CheckLeadMonCute - - thumb_func_start CheckLeadMonSmart -CheckLeadMonSmart: @ 810EFC0 - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, _0810EFE0 @ =gPlayerParty - adds r0, r1 - movs r1, 0x21 - bl GetMonData - cmp r0, 0xC7 - bls _0810EFE4 - movs r0, 0x1 - b _0810EFE6 - .align 2, 0 -_0810EFE0: .4byte gPlayerParty -_0810EFE4: - movs r0, 0 -_0810EFE6: - pop {r1} - bx r1 - thumb_func_end CheckLeadMonSmart - - thumb_func_start CheckLeadMonTough -CheckLeadMonTough: @ 810EFEC - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, _0810F00C @ =gPlayerParty - adds r0, r1 - movs r1, 0x2F - bl GetMonData - cmp r0, 0xC7 - bls _0810F010 - movs r0, 0x1 - b _0810F012 - .align 2, 0 -_0810F00C: .4byte gPlayerParty -_0810F010: - movs r0, 0 -_0810F012: - pop {r1} - bx r1 - thumb_func_end CheckLeadMonTough - - thumb_func_start IsGrassTypeInParty -IsGrassTypeInParty: @ 810F018 - push {r4-r6,lr} - movs r5, 0 - ldr r6, _0810F068 @ =gBaseStats -_0810F01E: - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, _0810F06C @ =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x5 - bl GetMonData - cmp r0, 0 - beq _0810F074 - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _0810F074 - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r6 - ldrb r0, [r1, 0x6] - cmp r0, 0xC - beq _0810F060 - ldrb r0, [r1, 0x7] - cmp r0, 0xC - bne _0810F074 -_0810F060: - ldr r1, _0810F070 @ =gScriptResult - movs r0, 0x1 - b _0810F082 - .align 2, 0 -_0810F068: .4byte gBaseStats -_0810F06C: .4byte gPlayerParty -_0810F070: .4byte gScriptResult -_0810F074: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x5 - bls _0810F01E - ldr r1, _0810F08C @ =gScriptResult - movs r0, 0 -_0810F082: - strh r0, [r1] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0810F08C: .4byte gScriptResult - thumb_func_end IsGrassTypeInParty - - thumb_func_start ShowGlassWorkshopMenu -ShowGlassWorkshopMenu: @ 810F090 - push {r4,r5,lr} - sub sp, 0x8 - bl ScriptContext2_Enable - movs r0, 0 - movs r1, 0 - movs r2, 0xA - movs r3, 0xB - bl MenuDrawTextWindow - movs r4, 0 - str r4, [sp] - movs r0, 0x9 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - movs r3, 0x5 - bl InitMenu - ldr r0, _0810F104 @ =gUnknown_0203925C - strb r4, [r0] - bl sub_80F944C - bl LoadScrollIndicatorPalette - bl sub_810F2B4 - ldr r5, _0810F108 @ =gUnknown_083F83C0 -_0810F0CA: - lsls r0, r4, 2 - adds r0, r5 - ldr r0, [r0] - lsls r2, r4, 1 - adds r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - movs r1, 0x1 - bl MenuPrint - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x4 - bls _0810F0CA - ldr r1, _0810F10C @ =gUnknown_0203925B - movs r0, 0 - strb r0, [r1] - ldr r1, _0810F110 @ =gUnknown_0203925A - movs r0, 0x8 - strb r0, [r1] - ldr r0, _0810F114 @ =sub_810F118 - movs r1, 0x8 - bl CreateTask - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810F104: .4byte gUnknown_0203925C -_0810F108: .4byte gUnknown_083F83C0 -_0810F10C: .4byte gUnknown_0203925B -_0810F110: .4byte gUnknown_0203925A -_0810F114: .4byte sub_810F118 - thumb_func_end ShowGlassWorkshopMenu - - thumb_func_start sub_810F118 -sub_810F118: @ 810F118 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _0810F1E4 @ =gMain - ldrh r0, [r0, 0x2E] - cmp r0, 0x40 - bne _0810F14A - ldr r1, _0810F1E8 @ =gUnknown_0203925B - ldrb r0, [r1] - cmp r0, 0 - beq _0810F14A - subs r0, 0x1 - strb r0, [r1] - bl GetMenuCursorPos - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x1 - negs r0, r0 - bl MoveMenuCursorNoWrap - adds r0, r4, 0 - movs r1, 0x40 - bl sub_810F1F4 -_0810F14A: - ldr r0, _0810F1E4 @ =gMain - ldrh r0, [r0, 0x2E] - cmp r0, 0x80 - bne _0810F17A - ldr r2, _0810F1E8 @ =gUnknown_0203925B - ldrb r1, [r2] - ldr r0, _0810F1EC @ =gUnknown_0203925A - ldrb r0, [r0] - subs r0, 0x1 - cmp r1, r0 - beq _0810F17A - adds r0, r1, 0x1 - strb r0, [r2] - bl GetMenuCursorPos - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x1 - bl MoveMenuCursorNoWrap - adds r0, r4, 0 - movs r1, 0x80 - bl sub_810F1F4 -_0810F17A: - ldr r4, _0810F1E4 @ =gMain - ldrh r1, [r4, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0810F1AE - bl sub_8072DEC - ldr r0, _0810F1F0 @ =gScriptResult - ldr r1, _0810F1E8 @ =gUnknown_0203925B - ldrb r1, [r1] - strh r1, [r0] - movs r0, 0x5 - bl PlaySE - bl sub_810EEDC - movs r0, 0 - movs r1, 0 - movs r2, 0x1D - movs r3, 0xC - bl MenuZeroFillWindowRect - adds r0, r5, 0 - bl sub_810EC9C -_0810F1AE: - ldrh r1, [r4, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0810F1DE - bl sub_8072DEC - ldr r1, _0810F1F0 @ =gScriptResult - movs r0, 0x7F - strh r0, [r1] - movs r0, 0x5 - bl PlaySE - bl sub_810EEDC - movs r0, 0 - movs r1, 0 - movs r2, 0x1D - movs r3, 0xC - bl MenuZeroFillWindowRect - adds r0, r5, 0 - bl sub_810EC9C -_0810F1DE: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810F1E4: .4byte gMain -_0810F1E8: .4byte gUnknown_0203925B -_0810F1EC: .4byte gUnknown_0203925A -_0810F1F0: .4byte gScriptResult - thumb_func_end sub_810F118 - - thumb_func_start sub_810F1F4 -sub_810F1F4: @ 810F1F4 - push {r4-r7,lr} - lsls r0, 24 - lsrs r2, r0, 24 - adds r5, r2, 0 - lsls r1, 24 - lsrs r1, 24 - adds r3, r1, 0 - movs r6, 0 - movs r4, 0 - ldr r0, _0810F214 @ =gUnknown_0203925A - ldrb r0, [r0] - cmp r0, 0x4 - bhi _0810F218 - movs r0, 0 - b _0810F282 - .align 2, 0 -_0810F214: .4byte gUnknown_0203925A -_0810F218: - cmp r1, 0x40 - bne _0810F22C - cmp r2, 0 - bne _0810F240 - ldr r0, _0810F228 @ =gUnknown_0203925B - ldrb r4, [r0] - movs r6, 0x1 - b _0810F244 - .align 2, 0 -_0810F228: .4byte gUnknown_0203925B -_0810F22C: - cmp r3, 0x80 - bne _0810F240 - cmp r5, 0x4 - bne _0810F240 - ldr r0, _0810F288 @ =gUnknown_0203925B - ldrb r0, [r0] - subs r0, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - movs r6, 0x1 -_0810F240: - cmp r6, 0 - beq _0810F280 -_0810F244: - adds r0, r4, 0 - movs r1, 0x5 - bl GlassWorkshopUpdateScrollIndicators - movs r0, 0x2 - movs r1, 0x1 - movs r2, 0x9 - movs r3, 0xA - bl MenuFillWindowRectWithBlankTile - movs r5, 0 - ldr r7, _0810F28C @ =gUnknown_083F83C0 -_0810F25C: - lsls r0, r4, 2 - adds r0, r7 - ldr r0, [r0] - lsls r2, r5, 1 - adds r2, 0x1 - lsls r2, 24 - lsrs r2, 24 - movs r1, 0x1 - bl MenuPrint - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x4 - bls _0810F25C -_0810F280: - adds r0, r6, 0 -_0810F282: - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0810F288: .4byte gUnknown_0203925B -_0810F28C: .4byte gUnknown_083F83C0 - thumb_func_end sub_810F1F4 - - thumb_func_start sub_810F290 -sub_810F290: @ 810F290 - push {lr} - ldr r2, _0810F2B0 @ =gUnknown_0203925C - ldrb r1, [r2] - lsrs r0, r1, 1 - cmp r0, 0x1 - beq _0810F2AC - movs r0, 0x2 - orrs r0, r1 - strb r0, [r2] - movs r0, 0 - movs r1, 0x2C - movs r2, 0x8 - bl CreateVerticalScrollIndicators -_0810F2AC: - pop {r0} - bx r0 - .align 2, 0 -_0810F2B0: .4byte gUnknown_0203925C - thumb_func_end sub_810F290 - - thumb_func_start sub_810F2B4 -sub_810F2B4: @ 810F2B4 - push {lr} - ldr r2, _0810F2D8 @ =gUnknown_0203925C - ldrb r1, [r2] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0810F2D2 - movs r0, 0x1 - orrs r0, r1 - strb r0, [r2] - movs r0, 0x1 - movs r1, 0x2C - movs r2, 0x58 - bl CreateVerticalScrollIndicators -_0810F2D2: - pop {r0} - bx r0 - .align 2, 0 -_0810F2D8: .4byte gUnknown_0203925C - thumb_func_end sub_810F2B4 - - thumb_func_start GlassWorkshopUpdateScrollIndicators -GlassWorkshopUpdateScrollIndicators: @ 810F2DC - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - cmp r4, 0 - bne _0810F300 - ldr r0, _0810F2FC @ =gUnknown_0203925C - ldrb r1, [r0] - movs r2, 0x2 - eors r1, r2 - strb r1, [r0] - movs r0, 0 - bl DestroyVerticalScrollIndicator - b _0810F304 - .align 2, 0 -_0810F2FC: .4byte gUnknown_0203925C -_0810F300: - bl sub_810F290 -_0810F304: - adds r1, r4, r5 - ldr r0, _0810F314 @ =gUnknown_0203925A - ldrb r0, [r0] - cmp r1, r0 - bge _0810F318 - bl sub_810F2B4 - b _0810F32C - .align 2, 0 -_0810F314: .4byte gUnknown_0203925A -_0810F318: - cmp r1, r0 - bne _0810F32C - ldr r0, _0810F334 @ =gUnknown_0203925C - ldrb r1, [r0] - movs r2, 0x1 - eors r1, r2 - strb r1, [r0] - movs r0, 0x1 - bl DestroyVerticalScrollIndicator -_0810F32C: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810F334: .4byte gUnknown_0203925C - thumb_func_end GlassWorkshopUpdateScrollIndicators - - thumb_func_start SpawnCameraDummy -SpawnCameraDummy: @ 810F338 - push {lr} - sub sp, 0x8 - ldr r0, _0810F380 @ =gSaveBlock1 - ldrh r3, [r0] - adds r3, 0x7 - lsls r3, 16 - asrs r3, 16 - ldrh r0, [r0, 0x2] - adds r0, 0x7 - lsls r0, 16 - asrs r0, 16 - str r0, [sp] - movs r0, 0x3 - str r0, [sp, 0x4] - movs r0, 0x7 - movs r1, 0x8 - movs r2, 0x7F - bl SpawnSpecialFieldObjectParametrized - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0810F384 @ =gMapObjects - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r0, [r1, 0x1] - movs r2, 0x20 - orrs r0, r2 - strb r0, [r1, 0x1] - ldrb r0, [r1, 0x4] - bl CameraObjectSetFollowedObjectId - add sp, 0x8 - pop {r0} - bx r0 - .align 2, 0 -_0810F380: .4byte gSaveBlock1 -_0810F384: .4byte gMapObjects - thumb_func_end SpawnCameraDummy - - thumb_func_start RemoveCameraDummy -RemoveCameraDummy: @ 810F388 - push {lr} - bl GetPlayerAvatarObjectId - lsls r0, 24 - lsrs r0, 24 - bl CameraObjectSetFollowedObjectId - ldr r0, _0810F3A8 @ =gSaveBlock1 - ldrb r1, [r0, 0x5] - ldrb r2, [r0, 0x4] - movs r0, 0x7F - bl RemoveFieldObjectByLocalIdAndMap - pop {r0} - bx r0 - .align 2, 0 -_0810F3A8: .4byte gSaveBlock1 - thumb_func_end RemoveCameraDummy - - thumb_func_start GetPokeblockNameByMonNature -GetPokeblockNameByMonNature: @ 810F3AC - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, _0810F3D4 @ =gPlayerParty - adds r0, r1 - bl GetNature - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0810F3D8 @ =gStringVar1 - bl sub_810CB68 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_0810F3D4: .4byte gPlayerParty -_0810F3D8: .4byte gStringVar1 - thumb_func_end GetPokeblockNameByMonNature - - thumb_func_start GetSecretBaseNearbyMapName -GetSecretBaseNearbyMapName: @ 810F3DC - push {r4,lr} - ldr r4, _0810F3FC @ =gStringVar1 - ldr r0, _0810F400 @ =0x00004026 - bl VarGet - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - movs r2, 0 - bl sub_80FBFB4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810F3FC: .4byte gStringVar1 -_0810F400: .4byte 0x00004026 - thumb_func_end GetSecretBaseNearbyMapName - - thumb_func_start sub_810F404 -sub_810F404: @ 810F404 - push {lr} - movs r0, 0x20 - bl sub_8053108 - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - thumb_func_end sub_810F404 - - thumb_func_start sub_810F414 -sub_810F414: @ 810F414 - push {lr} - ldr r0, _0810F420 @ =gStringVar1 - bl sub_8135FF4 - pop {r0} - bx r0 - .align 2, 0 -_0810F420: .4byte gStringVar1 - thumb_func_end sub_810F414 - - thumb_func_start sub_810F424 -sub_810F424: @ 810F424 - push {r4,r5,lr} - ldr r2, _0810F458 @ =gSaveBlock1 - ldr r1, _0810F45C @ =0x00002dd4 - adds r0, r2, r1 - ldrb r1, [r0] - lsls r1, 25 - ldr r0, _0810F460 @ =0x00002dd6 - adds r2, r0 - lsrs r1, 25 - ldrh r2, [r2] - adds r1, r2 - ldr r2, _0810F464 @ =gUnknown_083F83E0 - ldr r0, _0810F468 @ =gSpecialVar_0x8004 - ldrh r0, [r0] - adds r0, r2 - ldrb r0, [r0] - adds r5, r1, r0 - movs r0, 0x2 - bl GetPriceReduction - lsls r0, 24 - cmp r0, 0 - bne _0810F470 - ldr r4, _0810F46C @ =gUnknown_083F83EC - b _0810F472 - .align 2, 0 -_0810F458: .4byte gSaveBlock1 -_0810F45C: .4byte 0x00002dd4 -_0810F460: .4byte 0x00002dd6 -_0810F464: .4byte gUnknown_083F83E0 -_0810F468: .4byte gSpecialVar_0x8004 -_0810F46C: .4byte gUnknown_083F83EC -_0810F470: - ldr r4, _0810F484 @ =gUnknown_083F83F8 -_0810F472: - adds r0, r5, 0 - movs r1, 0xC - bl __umodsi3 - adds r0, r4 - ldrb r0, [r0] - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0810F484: .4byte gUnknown_083F83F8 - thumb_func_end sub_810F424 - - thumb_func_start sub_810F488 -sub_810F488: @ 810F488 - push {lr} - ldr r1, _0810F4A0 @ =gSpecialVar_0x8004 - ldr r0, _0810F4A4 @ =0x00000277 - strh r0, [r1] - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0810F4A8 - movs r0, 0x1 - b _0810F4AA - .align 2, 0 -_0810F4A0: .4byte gSpecialVar_0x8004 -_0810F4A4: .4byte 0x00000277 -_0810F4A8: - movs r0, 0 -_0810F4AA: - pop {r1} - bx r1 - thumb_func_end sub_810F488 - - thumb_func_start sub_810F4B0 -sub_810F4B0: @ 810F4B0 - push {lr} - ldr r1, _0810F4C8 @ =gSpecialVar_0x8004 - movs r0, 0x9E - lsls r0, 2 - strh r0, [r1] - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0810F4CC - movs r0, 0x1 - b _0810F4CE - .align 2, 0 -_0810F4C8: .4byte gSpecialVar_0x8004 -_0810F4CC: - movs r0, 0 -_0810F4CE: - pop {r1} - bx r1 - thumb_func_end sub_810F4B0 - - thumb_func_start sub_810F4D4 -sub_810F4D4: @ 810F4D4 - push {lr} - ldr r1, _0810F4EC @ =gSpecialVar_0x8004 - ldr r0, _0810F4F0 @ =0x00000279 - strh r0, [r1] - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0810F4F4 - movs r0, 0x1 - b _0810F4F6 - .align 2, 0 -_0810F4EC: .4byte gSpecialVar_0x8004 -_0810F4F0: .4byte 0x00000279 -_0810F4F4: - movs r0, 0 -_0810F4F6: - pop {r1} - bx r1 - thumb_func_end sub_810F4D4 - - thumb_func_start sub_810F4FC -sub_810F4FC: @ 810F4FC - push {lr} - ldr r1, _0810F514 @ =gSpecialVar_0x8004 - ldr r0, _0810F518 @ =0x0000027a - strh r0, [r1] - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0810F51C - movs r0, 0x1 - b _0810F51E - .align 2, 0 -_0810F514: .4byte gSpecialVar_0x8004 -_0810F518: .4byte 0x0000027a -_0810F51C: - movs r0, 0 -_0810F51E: - pop {r1} - bx r1 - thumb_func_end sub_810F4FC - - thumb_func_start LeadMonHasEffortRibbon -LeadMonHasEffortRibbon: @ 810F524 - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, _0810F548 @ =gPlayerParty - adds r0, r1 - movs r1, 0x47 - movs r2, 0 - bl GetMonData - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_0810F548: .4byte gPlayerParty - thumb_func_end LeadMonHasEffortRibbon - - thumb_func_start GivLeadMonEffortRibbon -GivLeadMonEffortRibbon: @ 810F54C - push {lr} - sub sp, 0x4 - movs r0, 0x2A - bl sav12_xor_increment - ldr r0, _0810F580 @ =0x0000083b - bl FlagSet - movs r1, 0x1 - mov r0, sp - strb r1, [r0] - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, _0810F584 @ =gPlayerParty - adds r0, r1 - movs r1, 0x47 - mov r2, sp - bl SetMonData - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_0810F580: .4byte 0x0000083b -_0810F584: .4byte gPlayerParty - thumb_func_end GivLeadMonEffortRibbon - - thumb_func_start GetLeadMonEVCount -GetLeadMonEVCount: @ 810F588 - push {lr} - bl GetLeadMonIndex - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, _0810F5AC @ =gPlayerParty - adds r0, r1 - bl GetMonEVCount - lsls r0, 16 - ldr r1, _0810F5B0 @ =0x01fd0000 - cmp r0, r1 - bhi _0810F5B4 - movs r0, 0 - b _0810F5B6 - .align 2, 0 -_0810F5AC: .4byte gPlayerParty -_0810F5B0: .4byte 0x01fd0000 -_0810F5B4: - movs r0, 0x1 -_0810F5B6: - pop {r1} - bx r1 - thumb_func_end GetLeadMonEVCount - - thumb_func_start sub_810F5BC -sub_810F5BC: @ 810F5BC - push {lr} - movs r0, 0xC7 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - bne _0810F610 - ldr r0, _0810F5E8 @ =gSaveBlock1 - ldrh r1, [r0, 0x4] - movs r0, 0x83 - lsls r0, 3 - cmp r1, r0 - bne _0810F610 - subs r0, 0x75 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0810F5F0 - ldr r0, _0810F5EC @ =0x0000409a - movs r1, 0x4 - b _0810F602 - .align 2, 0 -_0810F5E8: .4byte gSaveBlock1 -_0810F5EC: .4byte 0x0000409a -_0810F5F0: - movs r0, 0xE9 - lsls r0, 2 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _0810F610 - ldr r0, _0810F60C @ =0x0000409a - movs r1, 0x5 -_0810F602: - bl VarSet - movs r0, 0x1 - b _0810F612 - .align 2, 0 -_0810F60C: .4byte 0x0000409a -_0810F610: - movs r0, 0 -_0810F612: - pop {r1} - bx r1 - thumb_func_end sub_810F5BC - - thumb_func_start sub_810F618 -sub_810F618: @ 810F618 - push {lr} - ldr r0, _0810F624 @ =0x0000085f - bl FlagSet - pop {r0} - bx r0 - .align 2, 0 -_0810F624: .4byte 0x0000085f - thumb_func_end sub_810F618 - - thumb_func_start PutZigzagoonInPlayerParty -PutZigzagoonInPlayerParty: @ 810F628 - push {r4,r5,lr} - sub sp, 0x14 - ldr r5, _0810F690 @ =gPlayerParty - movs r1, 0x90 - lsls r1, 1 - movs r4, 0 - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - adds r0, r5, 0 - movs r2, 0x7 - movs r3, 0x20 - bl CreateMon - movs r1, 0x1 - add r0, sp, 0x10 - strh r1, [r0] - adds r0, r5, 0 - movs r1, 0x2E - add r2, sp, 0x10 - bl SetMonData - add r1, sp, 0x10 - movs r0, 0x21 - strh r0, [r1] - adds r0, r5, 0 - movs r1, 0xD - add r2, sp, 0x10 - bl SetMonData - add r0, sp, 0x10 - strh r4, [r0] - adds r0, r5, 0 - movs r1, 0xE - add r2, sp, 0x10 - bl SetMonData - adds r0, r5, 0 - movs r1, 0xF - add r2, sp, 0x10 - bl SetMonData - adds r0, r5, 0 - movs r1, 0x10 - add r2, sp, 0x10 - bl SetMonData - add sp, 0x14 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810F690: .4byte gPlayerParty - thumb_func_end PutZigzagoonInPlayerParty - - thumb_func_start IsStarterInParty -IsStarterInParty: @ 810F694 - push {r4-r6,lr} - ldr r0, _0810F6D0 @ =0x00004023 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - bl GetStarterPokemon - lsls r0, 16 - lsrs r6, r0, 16 - bl CalculatePlayerPartyCount - lsls r0, 24 - lsrs r5, r0, 24 - movs r4, 0 - cmp r4, r5 - bcs _0810F6E2 -_0810F6B6: - movs r0, 0x64 - muls r0, r4 - ldr r1, _0810F6D4 @ =gPlayerParty - adds r0, r1 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - cmp r0, r6 - bne _0810F6D8 - movs r0, 0x1 - b _0810F6E4 - .align 2, 0 -_0810F6D0: .4byte 0x00004023 -_0810F6D4: .4byte gPlayerParty -_0810F6D8: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r5 - bcc _0810F6B6 -_0810F6E2: - movs r0, 0 -_0810F6E4: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end IsStarterInParty - - thumb_func_start CheckFreePokemonStorageSpace -CheckFreePokemonStorageSpace: @ 810F6EC - push {r4-r6,lr} - movs r5, 0 -_0810F6F0: - movs r4, 0 - lsls r1, r5, 2 - adds r1, r5 - lsls r0, r1, 4 - subs r0, r1 - lsls r6, r0, 5 -_0810F6FC: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 4 - ldr r1, _0810F718 @ =gUnknown_020300A4 - adds r0, r1 - adds r0, r6, r0 - movs r1, 0xB - movs r2, 0 - bl GetBoxMonData - cmp r0, 0 - bne _0810F71C - movs r0, 0x1 - b _0810F732 - .align 2, 0 -_0810F718: .4byte gUnknown_020300A4 -_0810F71C: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x1D - bls _0810F6FC - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0xD - bls _0810F6F0 - movs r0, 0 -_0810F732: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end CheckFreePokemonStorageSpace - - thumb_func_start IsPokerusInParty -IsPokerusInParty: @ 810F738 - push {lr} - ldr r0, _0810F74C @ =gPlayerParty - movs r1, 0x3F - bl CheckPartyPokerus - lsls r0, 24 - cmp r0, 0 - beq _0810F750 - movs r0, 0x1 - b _0810F752 - .align 2, 0 -_0810F74C: .4byte gPlayerParty -_0810F750: - movs r0, 0 -_0810F752: - pop {r1} - bx r1 - thumb_func_end IsPokerusInParty - - thumb_func_start sub_810F758 -sub_810F758: @ 810F758 - push {lr} - ldr r0, _0810F798 @ =sub_810F7A8 - movs r1, 0x9 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0810F79C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, _0810F7A0 @ =gSpecialVar_0x8005 - ldrh r2, [r0] - movs r0, 0 - strh r2, [r1, 0x8] - strh r0, [r1, 0xA] - strh r0, [r1, 0xC] - strh r0, [r1, 0xE] - ldr r0, _0810F7A4 @ =gSpecialVar_0x8004 - ldrh r0, [r0] - strh r0, [r1, 0x10] - movs r0, 0x5 - strh r0, [r1, 0x12] - movs r0, 0 - bl SetCameraPanningCallback - movs r0, 0xD6 - bl PlaySE - pop {r0} - bx r0 - .align 2, 0 -_0810F798: .4byte sub_810F7A8 -_0810F79C: .4byte gTasks -_0810F7A0: .4byte gSpecialVar_0x8005 -_0810F7A4: .4byte gSpecialVar_0x8004 - thumb_func_end sub_810F758 - - thumb_func_start sub_810F7A8 -sub_810F7A8: @ 810F7A8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0810F810 @ =gTasks - adds r4, r0, r1 - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - movs r1, 0xA - ldrsh r0, [r4, r1] - movs r2, 0x12 - ldrsh r1, [r4, r2] - bl __modsi3 - cmp r0, 0 - bne _0810F808 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - movs r1, 0xE - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0810F808 - ldrh r0, [r4, 0x8] - negs r0, r0 - strh r0, [r4, 0x8] - ldrh r0, [r4, 0x10] - negs r0, r0 - strh r0, [r4, 0x10] - movs r2, 0x8 - ldrsh r0, [r4, r2] - movs r2, 0x10 - ldrsh r1, [r4, r2] - bl SetCameraPanning - movs r1, 0xC - ldrsh r0, [r4, r1] - cmp r0, 0x8 - bne _0810F808 - adds r0, r5, 0 - bl sub_810F814 - bl InstallCameraPanAheadCallback -_0810F808: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810F810: .4byte gTasks - thumb_func_end sub_810F7A8 - - thumb_func_start sub_810F814 -sub_810F814: @ 810F814 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - bl EnableBothScriptContexts - pop {r0} - bx r0 - thumb_func_end sub_810F814 - - thumb_func_start sub_810F828 -sub_810F828: @ 810F828 - push {lr} - movs r0, 0xAE - lsls r0, 2 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_810F828 - - thumb_func_start SetRoute119Weather -SetRoute119Weather: @ 810F83C - push {lr} - bl get_map_light_from_warp0 - lsls r0, 24 - lsrs r0, 24 - bl is_light_level_1_2_3_5_or_6 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0810F858 - movs r0, 0x14 - bl SetSav1Weather -_0810F858: - pop {r0} - bx r0 - thumb_func_end SetRoute119Weather - - thumb_func_start SetRoute123Weather -SetRoute123Weather: @ 810F85C - push {lr} - bl get_map_light_from_warp0 - lsls r0, 24 - lsrs r0, 24 - bl is_light_level_1_2_3_5_or_6 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0810F878 - movs r0, 0x15 - bl SetSav1Weather -_0810F878: - pop {r0} - bx r0 - thumb_func_end SetRoute123Weather - - thumb_func_start GetLeadMonIndex -GetLeadMonIndex: @ 810F87C - push {r4-r6,lr} - bl CalculatePlayerPartyCount - lsls r0, 24 - lsrs r6, r0, 24 - movs r5, 0 - cmp r5, r6 - bcs _0810F8CA -_0810F88C: - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, _0810F8BC @ =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - movs r1, 0xCE - lsls r1, 1 - cmp r0, r1 - beq _0810F8C0 - adds r0, r4, 0 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - cmp r0, 0 - beq _0810F8C0 - adds r0, r5, 0 - b _0810F8CC - .align 2, 0 -_0810F8BC: .4byte gPlayerParty -_0810F8C0: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, r6 - bcc _0810F88C -_0810F8CA: - movs r0, 0 -_0810F8CC: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end GetLeadMonIndex - - thumb_func_start ScriptGetPartyMonSpecies -ScriptGetPartyMonSpecies: @ 810F8D4 - push {lr} - ldr r0, _0810F8F4 @ =gSpecialVar_0x8004 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _0810F8F8 @ =gPlayerParty - adds r0, r1 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - pop {r1} - bx r1 - .align 2, 0 -_0810F8F4: .4byte gSpecialVar_0x8004 -_0810F8F8: .4byte gPlayerParty - thumb_func_end ScriptGetPartyMonSpecies - - thumb_func_start sub_810F8FC -sub_810F8FC: @ 810F8FC - push {lr} - movs r0, 0x6 - bl sub_805ADDC - pop {r0} - bx r0 - thumb_func_end sub_810F8FC - - thumb_func_start sub_810F908 -sub_810F908: @ 810F908 - push {r4,lr} - ldr r0, _0810F928 @ =0x000040c2 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - adds r3, r0, 0 - ldr r2, _0810F92C @ =gLocalTime - movs r1, 0 - ldrsh r0, [r2, r1] - subs r0, r3 - cmp r0, 0x6 - ble _0810F930 - movs r0, 0 - b _0810F948 - .align 2, 0 -_0810F928: .4byte 0x000040c2 -_0810F92C: .4byte gLocalTime -_0810F930: - ldrh r1, [r2] - movs r4, 0 - ldrsh r0, [r2, r4] - cmp r0, 0 - blt _0810F946 - subs r1, r3 - movs r0, 0x7 - subs r0, r1 - lsls r0, 16 - lsrs r0, 16 - b _0810F948 -_0810F946: - movs r0, 0x8 -_0810F948: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_810F908 - - thumb_func_start sub_810F950 -sub_810F950: @ 810F950 - push {r4,lr} - ldr r0, _0810F964 @ =0x000040c2 - ldr r4, _0810F968 @ =gLocalTime - ldrh r1, [r4] - bl VarSet - ldrh r0, [r4] - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0810F964: .4byte 0x000040c2 -_0810F968: .4byte gLocalTime - thumb_func_end sub_810F950 - - thumb_func_start sub_810F96C -sub_810F96C: @ 810F96C - push {r4,lr} - ldr r0, _0810F994 @ =gSpecialVar_0x8004 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _0810F998 @ =gPlayerParty - adds r0, r1 - ldr r4, _0810F99C @ =gStringVar1 - movs r1, 0x7 - adds r2, r4, 0 - bl GetMonData - ldr r0, _0810F9A0 @ =gSaveBlock2 - adds r1, r4, 0 - bl StringCompareWithoutExtCtrlCodes - cmp r0, 0 - beq _0810F9A4 - movs r0, 0x1 - b _0810F9A6 - .align 2, 0 -_0810F994: .4byte gSpecialVar_0x8004 -_0810F998: .4byte gPlayerParty -_0810F99C: .4byte gStringVar1 -_0810F9A0: .4byte gSaveBlock2 -_0810F9A4: - movs r0, 0 -_0810F9A6: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_810F96C - - thumb_func_start sub_810F9AC -sub_810F9AC: @ 810F9AC - push {r4,r5,lr} - ldr r2, _0810F9C0 @ =gScriptResult - ldrh r1, [r2] - ldr r0, _0810F9C4 @ =0x0000270f - cmp r1, r0 - bls _0810F9C8 - movs r0, 0 - bl sub_80BF088 - b _0810FA4A - .align 2, 0 -_0810F9C0: .4byte gScriptResult -_0810F9C4: .4byte 0x0000270f -_0810F9C8: - ldr r0, _0810F9D8 @ =0x000003e7 - cmp r1, r0 - bls _0810F9E0 - ldr r4, _0810F9DC @ =gStringVar1 - movs r0, 0xA1 - strb r0, [r4] - adds r4, 0x1 - b _0810FA04 - .align 2, 0 -_0810F9D8: .4byte 0x000003e7 -_0810F9DC: .4byte gStringVar1 -_0810F9E0: - cmp r1, 0x63 - bls _0810F9F4 - ldr r4, _0810F9F0 @ =gStringVar1 - movs r0, 0xA1 - strb r0, [r4] - strb r0, [r4, 0x1] - adds r4, 0x2 - b _0810FA04 - .align 2, 0 -_0810F9F0: .4byte gStringVar1 -_0810F9F4: - cmp r1, 0x9 - bls _0810FA24 - ldr r4, _0810FA20 @ =gStringVar1 - movs r0, 0xA1 - strb r0, [r4] - strb r0, [r4, 0x1] - strb r0, [r4, 0x2] - adds r4, 0x3 -_0810FA04: - ldrh r5, [r2] - adds r0, r5, 0 - bl sub_80BF0B8 - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0 - bl ConvertIntToDecimalStringN - b _0810FA4A - .align 2, 0 -_0810FA20: .4byte gStringVar1 -_0810FA24: - ldr r4, _0810FA50 @ =gStringVar1 - movs r0, 0xA1 - strb r0, [r4] - strb r0, [r4, 0x1] - strb r0, [r4, 0x2] - strb r0, [r4, 0x3] - adds r4, 0x4 - ldrh r5, [r2] - adds r0, r5, 0 - bl sub_80BF0B8 - adds r3, r0, 0 - lsls r3, 24 - lsrs r3, 24 - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0 - bl ConvertIntToDecimalStringN -_0810FA4A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810FA50: .4byte gStringVar1 - thumb_func_end sub_810F9AC - - thumb_func_start sub_810FA54 -sub_810FA54: @ 810FA54 - ldr r0, _0810FA68 @ =gSaveBlock1 - ldr r2, _0810FA6C @ =0x000013c2 - adds r1, r0, r2 - movs r2, 0 - strh r2, [r1] - ldr r1, _0810FA70 @ =0x000013c4 - adds r0, r1 - strh r2, [r0] - bx lr - .align 2, 0 -_0810FA68: .4byte gSaveBlock1 -_0810FA6C: .4byte 0x000013c2 -_0810FA70: .4byte 0x000013c4 - thumb_func_end sub_810FA54 - - thumb_func_start sub_810FA74 -sub_810FA74: @ 810FA74 - push {lr} - bl sub_810FF30 - lsls r0, 24 - cmp r0, 0 - beq _0810FA90 - bl sub_810FCE8 - ldr r0, _0810FA94 @ =gSaveBlock1 - ldr r1, _0810FA98 @ =gSaveBlock2 - ldrh r1, [r1, 0xE] - ldr r2, _0810FA9C @ =0x000013c4 - adds r0, r2 - strh r1, [r0] -_0810FA90: - pop {r0} - bx r0 - .align 2, 0 -_0810FA94: .4byte gSaveBlock1 -_0810FA98: .4byte gSaveBlock2 -_0810FA9C: .4byte 0x000013c4 - thumb_func_end sub_810FA74 - - thumb_func_start sub_810FAA0 -sub_810FAA0: @ 810FAA0 - push {r4,lr} - ldr r4, _0810FAF0 @ =gSaveBlock1 - ldr r1, _0810FAF4 @ =0x000013c2 - adds r0, r4, r1 - ldrh r0, [r0] - lsrs r0, 7 - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0810FAE8 - bl sub_810FF48 - bl sub_810FD80 - ldr r0, _0810FAF8 @ =gSaveBlock2 - ldrh r1, [r0, 0xE] - ldr r2, _0810FAFC @ =0x000013c4 - adds r0, r4, r2 - strh r1, [r0] - ldr r0, _0810FB00 @ =0x00000315 - bl FlagReset - ldr r0, _0810FB04 @ =0x00000316 - bl FlagReset - ldr r0, _0810FB08 @ =0x00000317 - bl FlagReset - movs r0, 0xC6 - lsls r0, 2 - bl FlagReset - ldr r0, _0810FB0C @ =0x00004095 - movs r1, 0x1 - bl VarSet -_0810FAE8: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810FAF0: .4byte gSaveBlock1 -_0810FAF4: .4byte 0x000013c2 -_0810FAF8: .4byte gSaveBlock2 -_0810FAFC: .4byte 0x000013c4 -_0810FB00: .4byte 0x00000315 -_0810FB04: .4byte 0x00000316 -_0810FB08: .4byte 0x00000317 -_0810FB0C: .4byte 0x00004095 - thumb_func_end sub_810FAA0 - - thumb_func_start sub_810FB10 -sub_810FB10: @ 810FB10 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _0810FB54 @ =0x00004095 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2 - bne _0810FB80 - ldr r0, _0810FB58 @ =gSaveBlock1 - ldr r1, _0810FB5C @ =0x000013c2 - adds r4, r0, r1 - ldrh r2, [r4] - movs r1, 0x7F - ands r1, r2 - ldr r0, _0810FB60 @ =gUnknown_083F8404 - adds r0, r5, r0 - ldrb r0, [r0] - adds r1, r0 - cmp r1, 0x13 - ble _0810FB7C - bl sub_810FCB0 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2 - bhi _0810FB68 - bl sub_810FB9C - ldrh r1, [r4] - ldr r0, _0810FB64 @ =0x0000ff80 - ands r0, r1 - b _0810FB7E - .align 2, 0 -_0810FB54: .4byte 0x00004095 -_0810FB58: .4byte gSaveBlock1 -_0810FB5C: .4byte 0x000013c2 -_0810FB60: .4byte gUnknown_083F8404 -_0810FB64: .4byte 0x0000ff80 -_0810FB68: - ldrh r0, [r4] - ldr r1, _0810FB78 @ =0x0000ff80 - ands r1, r0 - movs r0, 0x14 - orrs r1, r0 - strh r1, [r4] - b _0810FB80 - .align 2, 0 -_0810FB78: .4byte 0x0000ff80 -_0810FB7C: - adds r0, r2, r0 -_0810FB7E: - strh r0, [r4] -_0810FB80: - ldr r0, _0810FB94 @ =gSaveBlock1 - ldr r1, _0810FB98 @ =0x000013c2 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x7F - ands r0, r1 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0810FB94: .4byte gSaveBlock1 -_0810FB98: .4byte 0x000013c2 - thumb_func_end sub_810FB10 - - thumb_func_start sub_810FB9C -sub_810FB9C: @ 810FB9C - push {r4-r7,lr} - sub sp, 0x4 - movs r3, 0 - movs r5, 0 - ldr r7, _0810FBD8 @ =gSaveBlock1 + 0x13C2 - movs r6, 0x1 -_0810FBA8: - ldrh r1, [r7] - ldr r0, _0810FBDC @ =gUnknown_083F8408 - adds r0, r5, r0 - ldrb r4, [r0] - asrs r1, r4 - ands r1, r6 - cmp r1, 0 - bne _0810FBE0 - adds r3, r5, 0 - str r3, [sp] - bl Random - adds r1, r6, 0 - ands r1, r0 - ldr r3, [sp] - cmp r1, 0 - beq _0810FBE0 - adds r0, r6, 0 - lsls r0, r4 - ldrh r1, [r7] - orrs r0, r1 - strh r0, [r7] - b _0810FC00 - .align 2, 0 -_0810FBD8: .4byte gSaveBlock1 + 0x13C2 -_0810FBDC: .4byte gUnknown_083F8408 -_0810FBE0: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x7 - bls _0810FBA8 - ldr r2, _0810FC0C @ =gSaveBlock1 - ldr r0, _0810FC10 @ =0x000013c2 - adds r2, r0 - ldr r1, _0810FC14 @ =gUnknown_083F8408 - adds r1, r3, r1 - movs r0, 0x1 - ldrb r1, [r1] - lsls r0, r1 - ldrh r1, [r2] - orrs r0, r1 - strh r0, [r2] -_0810FC00: - adds r0, r3, 0 - add sp, 0x4 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0810FC0C: .4byte gSaveBlock1 -_0810FC10: .4byte 0x000013c2 -_0810FC14: .4byte gUnknown_083F8408 - thumb_func_end sub_810FB9C - - thumb_func_start sub_810FC18 -sub_810FC18: @ 810FC18 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - movs r0, 0 - mov r8, r0 - bl sub_810FCB0 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bne _0810FC3E - movs r0, 0 - b _0810FC94 -_0810FC34: - lsls r4, r6 - ldrh r0, [r2] - eors r4, r0 - strh r4, [r2] - b _0810FC92 -_0810FC3E: - movs r5, 0 - ldr r2, _0810FCA0 @ =gSaveBlock1 + 0x13C2 - movs r4, 0x1 -_0810FC44: - ldrh r1, [r2] - ldr r7, _0810FCA4 @ =gUnknown_083F8410 - adds r0, r5, r7 - ldrb r6, [r0] - asrs r1, r6 - ands r1, r4 - cmp r1, 0 - beq _0810FC66 - mov r8, r5 - str r2, [sp] - bl Random - adds r1, r4, 0 - ands r1, r0 - ldr r2, [sp] - cmp r1, 0 - bne _0810FC34 -_0810FC66: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x7 - bls _0810FC44 - ldr r0, _0810FCA8 @ =gSaveBlock1 - ldr r1, _0810FCAC @ =0x000013c2 - adds r4, r0, r1 - ldrh r1, [r4] - mov r2, r8 - adds r0, r2, r7 - ldrb r2, [r0] - adds r0, r1, 0 - asrs r0, r2 - movs r3, 0x1 - ands r0, r3 - cmp r0, 0 - beq _0810FC92 - adds r0, r3, 0 - lsls r0, r2 - eors r1, r0 - strh r1, [r4] -_0810FC92: - mov r0, r8 -_0810FC94: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0810FCA0: .4byte gSaveBlock1 + 0x13C2 -_0810FCA4: .4byte gUnknown_083F8410 -_0810FCA8: .4byte gSaveBlock1 -_0810FCAC: .4byte 0x000013c2 - thumb_func_end sub_810FC18 - - thumb_func_start sub_810FCB0 -sub_810FCB0: @ 810FCB0 - push {r4,r5,lr} - movs r3, 0 - movs r2, 0 - ldr r0, _0810FCE4 @ =gSaveBlock1 + 0x13C2 - ldrh r4, [r0] - movs r5, 0x1 -_0810FCBC: - adds r1, r2, 0 - adds r1, 0x8 - adds r0, r4, 0 - asrs r0, r1 - ands r0, r5 - cmp r0, 0 - beq _0810FCD0 - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 -_0810FCD0: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x7 - bls _0810FCBC - adds r0, r3, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0810FCE4: .4byte gSaveBlock1 + 0x13C2 - thumb_func_end sub_810FCB0 - - thumb_func_start sub_810FCE8 -sub_810FCE8: @ 810FCE8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r5, 0 - ldr r2, _0810FD08 @ =gSaveBlock2 - ldrh r1, [r2, 0xE] - ldr r0, _0810FD0C @ =0x000003e6 - cmp r1, r0 - bhi _0810FD54 - ldr r7, _0810FD10 @ =gSaveBlock1 - adds r6, r2, 0 - ldr r0, _0810FD14 @ =0x000013c4 - adds r0, r7 - mov r8, r0 - b _0810FD36 - .align 2, 0 -_0810FD08: .4byte gSaveBlock2 -_0810FD0C: .4byte 0x000003e6 -_0810FD10: .4byte gSaveBlock1 -_0810FD14: .4byte 0x000013c4 -_0810FD18: - ldrh r1, [r6, 0xE] - ldr r0, _0810FD4C @ =0x000013c4 - adds r4, r7, r0 - ldrh r0, [r4] - subs r1, r0 - cmp r1, 0xB - ble _0810FD54 - bl sub_810FC18 - ldrh r0, [r4] - adds r0, 0xC - strh r0, [r4] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 -_0810FD36: - bl sub_810FCB0 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x4 - bhi _0810FD50 - ldrh r0, [r6, 0xE] - mov r1, r8 - strh r0, [r1] - b _0810FD54 - .align 2, 0 -_0810FD4C: .4byte 0x000013c4 -_0810FD50: - cmp r5, 0x8 - bne _0810FD18 -_0810FD54: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_810FCE8 - - thumb_func_start sub_810FD60 -sub_810FD60: @ 810FD60 - ldr r0, _0810FD74 @ =gSaveBlock1 - ldr r1, _0810FD78 @ =0x000013c2 - adds r0, r1 - ldrh r0, [r0] - ldr r1, _0810FD7C @ =gSpecialVar_0x8004 - ldrh r1, [r1] - asrs r0, r1 - movs r1, 0x1 - ands r0, r1 - bx lr - .align 2, 0 -_0810FD74: .4byte gSaveBlock1 -_0810FD78: .4byte 0x000013c2 -_0810FD7C: .4byte gSpecialVar_0x8004 - thumb_func_end sub_810FD60 - - thumb_func_start sub_810FD80 -sub_810FD80: @ 810FD80 - ldr r2, _0810FDA4 @ =gSaveBlock1 - ldr r0, _0810FDA8 @ =0x000013c2 - adds r2, r0 - ldrh r1, [r2] - movs r3, 0x80 - lsls r3, 6 - adds r0, r3, 0 - orrs r0, r1 - movs r3, 0x80 - lsls r3, 1 - adds r1, r3, 0 - orrs r0, r1 - movs r3, 0x80 - lsls r3, 3 - adds r1, r3, 0 - orrs r0, r1 - strh r0, [r2] - bx lr - .align 2, 0 -_0810FDA4: .4byte gSaveBlock1 -_0810FDA8: .4byte 0x000013c2 - thumb_func_end sub_810FD80 - - thumb_func_start sub_810FDAC -sub_810FDAC: @ 810FDAC - push {lr} - movs r3, 0 - movs r2, 0 - ldr r0, _0810FDC8 @ =gSpecialVar_0x8004 - ldrh r0, [r0] - subs r0, 0x8 - cmp r0, 0x7 - bhi _0810FE0C - lsls r0, 2 - ldr r1, _0810FDCC @ =_0810FDD0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0810FDC8: .4byte gSpecialVar_0x8004 -_0810FDCC: .4byte _0810FDD0 - .align 2, 0 -_0810FDD0: - .4byte _0810FE0C - .4byte _0810FE0C - .4byte _0810FDF0 - .4byte _0810FDF6 - .4byte _0810FDFC - .4byte _0810FE02 - .4byte _0810FE08 - .4byte _0810FE0C -_0810FDF0: - movs r3, 0 - movs r2, 0x3 - b _0810FE0C -_0810FDF6: - movs r3, 0 - movs r2, 0x1 - b _0810FE0C -_0810FDFC: - movs r3, 0x1 - movs r2, 0 - b _0810FE0C -_0810FE02: - movs r3, 0 - movs r2, 0x4 - b _0810FE0C -_0810FE08: - movs r3, 0x1 - movs r2, 0x5 -_0810FE0C: - ldr r0, _0810FE18 @ =gSaveBlock1 + 0x30B8 - adds r1, r3, 0 - bl sub_810FE1C - pop {r0} - bx r0 - .align 2, 0 -_0810FE18: .4byte gSaveBlock1 + 0x30B8 - thumb_func_end sub_810FDAC - - thumb_func_start sub_810FE1C -sub_810FE1C: @ 810FE1C - push {r4,lr} - lsls r1, 24 - lsls r2, 24 - lsrs r2, 24 - lsrs r1, 20 - adds r1, r0, r1 - ldrb r0, [r1] - cmp r0, 0xFF - bne _0810FED0 - cmp r2, 0x5 - bhi _0810FEBC - lsls r0, r2, 2 - ldr r1, _0810FE3C @ =_0810FE40 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0810FE3C: .4byte _0810FE40 - .align 2, 0 -_0810FE40: - .4byte _0810FEBC - .4byte _0810FE58 - .4byte _0810FE6C - .4byte _0810FE80 - .4byte _0810FE94 - .4byte _0810FEA8 -_0810FE58: - ldr r0, _0810FE64 @ =gStringVar1 - ldr r1, _0810FE68 @ =gOtherText_Steven - bl StringCopy - b _0810FEF2 - .align 2, 0 -_0810FE64: .4byte gStringVar1 -_0810FE68: .4byte gOtherText_Steven -_0810FE6C: - ldr r0, _0810FE78 @ =gStringVar1 - ldr r1, _0810FE7C @ =gOtherText_Brawly - bl StringCopy - b _0810FEF2 - .align 2, 0 -_0810FE78: .4byte gStringVar1 -_0810FE7C: .4byte gOtherText_Brawly -_0810FE80: - ldr r0, _0810FE8C @ =gStringVar1 - ldr r1, _0810FE90 @ =gOtherText_Winona - bl StringCopy - b _0810FEF2 - .align 2, 0 -_0810FE8C: .4byte gStringVar1 -_0810FE90: .4byte gOtherText_Winona -_0810FE94: - ldr r0, _0810FEA0 @ =gStringVar1 - ldr r1, _0810FEA4 @ =gOtherText_Phoebe - bl StringCopy - b _0810FEF2 - .align 2, 0 -_0810FEA0: .4byte gStringVar1 -_0810FEA4: .4byte gOtherText_Phoebe -_0810FEA8: - ldr r0, _0810FEB4 @ =gStringVar1 - ldr r1, _0810FEB8 @ =gOtherText_Glacia - bl StringCopy - b _0810FEF2 - .align 2, 0 -_0810FEB4: .4byte gStringVar1 -_0810FEB8: .4byte gOtherText_Glacia -_0810FEBC: - ldr r0, _0810FEC8 @ =gStringVar1 - ldr r1, _0810FECC @ =gOtherText_Wallace - bl StringCopy - b _0810FEF2 - .align 2, 0 -_0810FEC8: .4byte gStringVar1 -_0810FECC: .4byte gOtherText_Wallace -_0810FED0: - ldr r4, _0810FEF8 @ =gStringVar1 - adds r0, r4, 0 - movs r2, 0x7 - bl StringCopyN - movs r0, 0xFF - strb r0, [r4, 0x7] - ldrb r0, [r4] - cmp r0, 0xFC - bne _0810FEF2 - ldrb r0, [r4, 0x1] - cmp r0, 0x15 - bne _0810FEF2 - adds r0, r4, 0 - movs r1, 0x1 - bl ConvertInternationalString -_0810FEF2: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810FEF8: .4byte gStringVar1 - thumb_func_end sub_810FE1C - - thumb_func_start sub_810FEFC -sub_810FEFC: @ 810FEFC - push {lr} - ldr r0, _0810FF20 @ =0x00004095 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2 - bne _0810FF2C - bl sub_810FA74 - ldr r0, _0810FF24 @ =gUnknown_02024D26 - ldrb r0, [r0] - cmp r0, 0x1 - bne _0810FF28 - bl sub_810FB9C - b _0810FF2C - .align 2, 0 -_0810FF20: .4byte 0x00004095 -_0810FF24: .4byte gUnknown_02024D26 -_0810FF28: - bl sub_810FC18 -_0810FF2C: - pop {r0} - bx r0 - thumb_func_end sub_810FEFC - - thumb_func_start sub_810FF30 -sub_810FF30: @ 810FF30 - ldr r0, _0810FF40 @ =gSaveBlock1 - ldr r1, _0810FF44 @ =0x000013c2 - adds r0, r1 - ldrh r0, [r0] - lsrs r0, 7 - movs r1, 0x1 - ands r0, r1 - bx lr - .align 2, 0 -_0810FF40: .4byte gSaveBlock1 -_0810FF44: .4byte 0x000013c2 - thumb_func_end sub_810FF30 - - thumb_func_start sub_810FF48 -sub_810FF48: @ 810FF48 - ldr r0, _0810FF58 @ =gSaveBlock1 - ldr r1, _0810FF5C @ =0x000013c2 - adds r0, r1 - ldrh r2, [r0] - movs r1, 0x80 - orrs r1, r2 - strh r1, [r0] - bx lr - .align 2, 0 -_0810FF58: .4byte gSaveBlock1 -_0810FF5C: .4byte 0x000013c2 - thumb_func_end sub_810FF48 - - thumb_func_start sub_810FF60 -sub_810FF60: @ 810FF60 - push {lr} - ldr r0, _0810FF74 @ =gSpecialVar_0x8004 - ldrb r0, [r0] - bl sub_810FB10 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_0810FF74: .4byte gSpecialVar_0x8004 - thumb_func_end sub_810FF60 - .align 2, 0 @ Don't pad with nop. diff --git a/asm/rom_800D42C.s b/asm/rom_800D42C.s index fdb390563..1b0ef2731 100644 --- a/asm/rom_800D42C.s +++ b/asm/rom_800D42C.s @@ -6574,7 +6574,7 @@ _08010906: strb r1, [r2] ldr r3, _08010B00 @ =gUnknown_02024C08 strb r1, [r3] - ldr r4, _08010B04 @ =word_2024DB8 + ldr r4, _08010B04 @ =gBattleWeather strh r1, [r4] ldr r1, _08010B08 @ =gUnknown_02024DBC movs r2, 0 @@ -6804,7 +6804,7 @@ _08010AF4: .4byte gUnknown_02024C80 _08010AF8: .4byte gUnknown_02024C7A _08010AFC: .4byte gUnknown_02024C07 _08010B00: .4byte gUnknown_02024C08 -_08010B04: .4byte word_2024DB8 +_08010B04: .4byte gBattleWeather _08010B08: .4byte gUnknown_02024DBC _08010B0C: .4byte gUnknown_02024C6C _08010B10: .4byte gUnknown_020239F8 @@ -11323,7 +11323,7 @@ b_first_side: @ 8012FF0 ldrb r3, [r0] cmp r3, 0x21 bne _0801305C - ldr r0, _08013074 @ =word_2024DB8 + ldr r0, _08013074 @ =gBattleWeather ldrh r1, [r0] movs r0, 0x7 ands r0, r1 @@ -11332,7 +11332,7 @@ b_first_side: @ 8012FF0 _0801305C: cmp r3, 0x22 bne _08013078 - ldr r0, _08013074 @ =word_2024DB8 + ldr r0, _08013074 @ =gBattleWeather ldrh r1, [r0] movs r0, 0x60 ands r0, r1 @@ -11343,7 +11343,7 @@ _0801306C: b _0801307A .align 2, 0 _08013070: .4byte gBattleMons -_08013074: .4byte word_2024DB8 +_08013074: .4byte gBattleWeather _08013078: movs r3, 0x1 _0801307A: @@ -11357,7 +11357,7 @@ _0801307A: ldrb r2, [r0] cmp r2, 0x21 bne _0801309A - ldr r0, _080130B4 @ =word_2024DB8 + ldr r0, _080130B4 @ =gBattleWeather ldrh r1, [r0] movs r0, 0x7 ands r0, r1 @@ -11366,7 +11366,7 @@ _0801307A: _0801309A: cmp r2, 0x22 bne _080130BA - ldr r0, _080130B4 @ =word_2024DB8 + ldr r0, _080130B4 @ =gBattleWeather ldrh r1, [r0] movs r0, 0x60 ands r0, r1 @@ -11377,7 +11377,7 @@ _080130AA: b _080130BC .align 2, 0 _080130B0: .4byte gBattleMons -_080130B4: .4byte word_2024DB8 +_080130B4: .4byte gBattleWeather _080130B8: movs r3, 0x1 _080130BA: @@ -17566,7 +17566,7 @@ _08016318: .4byte gUnknown_081D939A _0801631C: .4byte 0x02000000 _08016320: .4byte 0x0001600e _08016324: - ldr r3, _0801635C @ =word_2024DB8 + ldr r3, _0801635C @ =gBattleWeather ldrh r2, [r3] movs r0, 0x7 ands r0, r2 @@ -17596,7 +17596,7 @@ _08016332: strb r0, [r1, 0x5] b _0801639C .align 2, 0 -_0801635C: .4byte word_2024DB8 +_0801635C: .4byte gBattleWeather _08016360: .4byte gUnknown_02024DBC _08016364: .4byte 0x0000fffe _08016368: .4byte 0x0000fffd @@ -17633,7 +17633,7 @@ _0801639C: _080163A0: .4byte gUnknown_02024D1E _080163A4: .4byte gUnknown_081D8F62 _080163A8: - ldr r3, _080163DC @ =word_2024DB8 + ldr r3, _080163DC @ =gBattleWeather ldrh r2, [r3] movs r0, 0x18 ands r0, r2 @@ -17660,7 +17660,7 @@ _080163B6: ldr r0, _080163EC @ =gUnknown_081D8FFF b _080163F4 .align 2, 0 -_080163DC: .4byte word_2024DB8 +_080163DC: .4byte gBattleWeather _080163E0: .4byte gUnknown_02024DBC _080163E4: .4byte 0x0000fff7 _080163E8: .4byte gUnknown_02024C10 @@ -17687,7 +17687,7 @@ _08016414: .4byte 0x02000000 _08016418: .4byte 0x000160a4 _0801641C: .4byte gUnknown_02024D1E _08016420: - ldr r3, _08016450 @ =word_2024DB8 + ldr r3, _08016450 @ =gBattleWeather ldrh r2, [r3] movs r0, 0x60 ands r0, r2 @@ -17712,7 +17712,7 @@ _08016420: ldr r0, _08016460 @ =gUnknown_081D9016 b _08016468 .align 2, 0 -_08016450: .4byte word_2024DB8 +_08016450: .4byte gBattleWeather _08016454: .4byte gUnknown_02024DBC _08016458: .4byte 0x0000ffdf _0801645C: .4byte gUnknown_02024C10 @@ -17741,7 +17741,7 @@ _08016488: .4byte gUnknown_081D9008 _0801648C: .4byte 0x02000000 _08016490: .4byte 0x0001600e _08016494: - ldr r3, _080164BC @ =word_2024DB8 + ldr r3, _080164BC @ =gBattleWeather ldrh r2, [r3] movs r0, 0x80 ands r0, r2 @@ -17762,7 +17762,7 @@ _08016494: ldr r0, _080164CC @ =gUnknown_081D8FFF b _080164D4 .align 2, 0 -_080164BC: .4byte word_2024DB8 +_080164BC: .4byte gBattleWeather _080164C0: .4byte gUnknown_02024DBC _080164C4: .4byte 0x0000ff7f _080164C8: .4byte gUnknown_02024C10 @@ -21347,7 +21347,7 @@ _0801825C: movs r0, 0 b _08018314 _08018260: - ldr r1, _0801831C @ =word_2024DB8 + ldr r1, _0801831C @ =gBattleWeather ldrh r0, [r1] movs r2, 0xE7 ands r2, r0 @@ -21447,7 +21447,7 @@ _08018314: pop {r1} bx r1 .align 2, 0 -_0801831C: .4byte word_2024DB8 +_0801831C: .4byte gBattleWeather _08018320: .4byte gBattleMons thumb_func_end castform_switch @@ -21766,7 +21766,7 @@ _080185A4: .4byte _08018620 .4byte _080185D0 _080185D0: - ldr r2, _080185EC @ =word_2024DB8 + ldr r2, _080185EC @ =gBattleWeather ldrh r1, [r2] movs r0, 0x7 ands r0, r1 @@ -21780,11 +21780,11 @@ _080185D0: movs r1, 0xA b _08018638 .align 2, 0 -_080185EC: .4byte word_2024DB8 +_080185EC: .4byte gBattleWeather _080185F0: .4byte 0x02000000 _080185F4: .4byte 0x000160a4 _080185F8: - ldr r3, _08018614 @ =word_2024DB8 + ldr r3, _08018614 @ =gBattleWeather ldrh r1, [r3] movs r2, 0x18 adds r0, r2, 0 @@ -21798,11 +21798,11 @@ _080185F8: movs r1, 0xC b _08018638 .align 2, 0 -_08018614: .4byte word_2024DB8 +_08018614: .4byte gBattleWeather _08018618: .4byte 0x02000000 _0801861C: .4byte 0x000160a4 _08018620: - ldr r3, _08018668 @ =word_2024DB8 + ldr r3, _08018668 @ =gBattleWeather ldrh r1, [r3] movs r2, 0x60 adds r0, r2, 0 @@ -21838,14 +21838,14 @@ _08018656: bl b_push_move_exec bl _08019F76 .align 2, 0 -_08018668: .4byte word_2024DB8 +_08018668: .4byte gBattleWeather _0801866C: .4byte 0x02000000 _08018670: .4byte 0x000160a4 _08018674: .4byte 0x00016003 _08018678: .4byte gUnknown_02024D1E _0801867C: .4byte gUnknown_081D901D _08018680: - ldr r2, _080186A8 @ =word_2024DB8 + ldr r2, _080186A8 @ =gBattleWeather ldrh r1, [r2] movs r0, 0x4 ands r0, r1 @@ -21864,12 +21864,12 @@ _08018690: strb r5, [r0] bl _08019F22 .align 2, 0 -_080186A8: .4byte word_2024DB8 +_080186A8: .4byte gBattleWeather _080186AC: .4byte gUnknown_081D9704 _080186B0: .4byte 0x02000000 _080186B4: .4byte 0x00016003 _080186B8: - ldr r2, _080186E0 @ =word_2024DB8 + ldr r2, _080186E0 @ =gBattleWeather ldrh r1, [r2] movs r0, 0x10 ands r0, r1 @@ -21888,12 +21888,12 @@ _080186C8: strb r2, [r0] bl _08019F22 .align 2, 0 -_080186E0: .4byte word_2024DB8 +_080186E0: .4byte gBattleWeather _080186E4: .4byte gUnknown_081D9744 _080186E8: .4byte 0x02000000 _080186EC: .4byte 0x00016003 _080186F0: - ldr r2, _08018718 @ =word_2024DB8 + ldr r2, _08018718 @ =gBattleWeather ldrh r1, [r2] movs r0, 0x40 ands r0, r1 @@ -21912,7 +21912,7 @@ _08018700: strb r5, [r0] bl _08019F22 .align 2, 0 -_08018718: .4byte word_2024DB8 +_08018718: .4byte gBattleWeather _0801871C: .4byte gUnknown_081D97FE _08018720: .4byte 0x02000000 _08018724: .4byte 0x00016003 @@ -22086,7 +22086,7 @@ _08018876: beq _0801888E bl _08019F76 _0801888E: - ldr r0, _080188D0 @ =word_2024DB8 + ldr r0, _080188D0 @ =gBattleWeather ldrh r1, [r0] movs r0, 0x7 ands r0, r1 @@ -22118,7 +22118,7 @@ _080188C4: str r0, [r1] bl _08019F22 .align 2, 0 -_080188D0: .4byte word_2024DB8 +_080188D0: .4byte gBattleWeather _080188D4: .4byte gUnknown_081D9730 _080188D8: .4byte gUnknown_02024BEC _080188DC: @@ -28938,7 +28938,7 @@ _0801C22E: lsls r0, 24 cmp r0, 0 bne _0801C27E - ldr r0, _0801C2A8 @ =word_2024DB8 + ldr r0, _0801C2A8 @ =gBattleWeather ldrh r1, [r0] movs r0, 0x7 ands r0, r1 @@ -28971,7 +28971,7 @@ _0801C290: _0801C29C: .4byte 0xfffeffff _0801C2A0: .4byte 0xfffdffff _0801C2A4: .4byte 0xfffbffff -_0801C2A8: .4byte word_2024DB8 +_0801C2A8: .4byte gBattleWeather _0801C2AC: .4byte gBattleMoves _0801C2B0: movs r0, 0 @@ -29197,7 +29197,7 @@ _0801C430: lsls r0, 24 cmp r0, 0 bne _0801C482 - ldr r0, _0801C574 @ =word_2024DB8 + ldr r0, _0801C574 @ =gBattleWeather ldrh r1, [r0] movs r0, 0x60 ands r0, r1 @@ -29267,7 +29267,7 @@ _0801C4C0: ldrb r0, [r0] cmp r0, 0x8 bne _0801C518 - ldr r0, _0801C574 @ =word_2024DB8 + ldr r0, _0801C574 @ =gBattleWeather ldrh r1, [r0] movs r0, 0x18 ands r0, r1 @@ -29325,7 +29325,7 @@ _0801C544: .align 2, 0 _0801C56C: .4byte gUnknown_02024C07 _0801C570: .4byte gBattleMoves -_0801C574: .4byte word_2024DB8 +_0801C574: .4byte gBattleWeather _0801C578: .4byte gAccuracyStageRatios _0801C57C: .4byte gBattleMons _0801C580: .4byte gUnknown_02024C08 @@ -33722,7 +33722,7 @@ _0801E7EA: lsls r0, 24 cmp r0, 0 bne _0801E826 - ldr r0, _0801E87C @ =word_2024DB8 + ldr r0, _0801E87C @ =gBattleWeather ldrh r1, [r0] movs r0, 0x60 ands r0, r1 @@ -33778,7 +33778,7 @@ _0801E86E: mov r10, r3 b _0801EA14 .align 2, 0 -_0801E87C: .4byte word_2024DB8 +_0801E87C: .4byte gBattleWeather _0801E880: .4byte gBattleMons _0801E884: .4byte gUnknown_02024C0A _0801E888: @@ -47354,7 +47354,7 @@ _080256CC: .4byte gUnknown_02024C10 thumb_func_start sub_80256D0 sub_80256D0: @ 80256D0 push {lr} - ldr r2, _080256F0 @ =word_2024DB8 + ldr r2, _080256F0 @ =gBattleWeather ldrh r0, [r2] movs r1, 0x7 ands r1, r0 @@ -47370,7 +47370,7 @@ sub_80256D0: @ 80256D0 strb r0, [r1, 0x5] b _0802570C .align 2, 0 -_080256F0: .4byte word_2024DB8 +_080256F0: .4byte gBattleWeather _080256F4: .4byte gUnknown_02024C68 _080256F8: .4byte gUnknown_02024D1E _080256FC: @@ -50358,7 +50358,7 @@ _08026E90: .4byte gUnknown_02024C10 thumb_func_start sub_8026E94 sub_8026E94: @ 8026E94 push {lr} - ldr r2, _08026EB4 @ =word_2024DB8 + ldr r2, _08026EB4 @ =gBattleWeather ldrh r1, [r2] movs r0, 0x18 ands r0, r1 @@ -50374,7 +50374,7 @@ sub_8026E94: @ 8026E94 strb r0, [r1, 0x5] b _08026ED2 .align 2, 0 -_08026EB4: .4byte word_2024DB8 +_08026EB4: .4byte gBattleWeather _08026EB8: .4byte gUnknown_02024C68 _08026EBC: .4byte gUnknown_02024D1E _08026EC0: @@ -50428,7 +50428,7 @@ _08026F0A: beq _08026F20 b _0802701C _08026F20: - ldr r2, _08026F94 @ =word_2024DB8 + ldr r2, _08026F94 @ =gBattleWeather ldrh r1, [r2] movs r0, 0x18 ands r0, r1 @@ -50486,7 +50486,7 @@ _08026F20: movs r0, 0x1 b _08026FAC .align 2, 0 -_08026F94: .4byte word_2024DB8 +_08026F94: .4byte gBattleWeather _08026F98: .4byte gUnknown_02024C07 _08026F9C: .4byte gBattleMons _08026FA0: .4byte gUnknown_02024C98 @@ -53030,7 +53030,7 @@ move_weather_interaction: @ 80283B4 adds r3, r1, 0 cmp r0, 0x97 bne _080283D8 - ldr r0, _08028410 @ =word_2024DB8 + ldr r0, _08028410 @ =gBattleWeather ldrh r1, [r0] movs r0, 0x60 ands r0, r1 @@ -53066,7 +53066,7 @@ _080283FA: b _0802841A .align 2, 0 _0802840C: .4byte gBattleMoves -_08028410: .4byte word_2024DB8 +_08028410: .4byte gBattleWeather _08028414: .4byte gUnknown_02024C6C _08028418: movs r0, 0x2 @@ -53325,7 +53325,7 @@ atkAC_remaininghptopower: @ 8028600 movs r2, 0x2C ldrsh r1, [r1, r2] movs r2, 0x30 - bl sub_80461D4 + bl GetScaledHPFraction lsls r0, 24 lsrs r1, r0, 24 movs r3, 0 @@ -55063,7 +55063,7 @@ _080293E4: .4byte gUnknown_02024C10 thumb_func_start sub_80293E8 sub_80293E8: @ 80293E8 push {lr} - ldr r2, _08029408 @ =word_2024DB8 + ldr r2, _08029408 @ =gBattleWeather ldrh r1, [r2] movs r0, 0x60 ands r0, r1 @@ -55079,7 +55079,7 @@ sub_80293E8: @ 80293E8 strb r0, [r1, 0x5] b _08029426 .align 2, 0 -_08029408: .4byte word_2024DB8 +_08029408: .4byte gBattleWeather _0802940C: .4byte gUnknown_02024C68 _08029410: .4byte gUnknown_02024D1E _08029414: @@ -55398,7 +55398,7 @@ atkC0_recoverbasedonsunlight: @ 802967C ldrh r0, [r0, 0x2C] cmp r1, r0 beq _0802975C - ldr r4, _080296F4 @ =word_2024DB8 + ldr r4, _080296F4 @ =gBattleWeather ldrh r0, [r4] cmp r0, 0 beq _080296CE @@ -55439,7 +55439,7 @@ _080296CE: _080296E8: .4byte gUnknown_02024C08 _080296EC: .4byte gUnknown_02024C07 _080296F0: .4byte gBattleMons -_080296F4: .4byte word_2024DB8 +_080296F4: .4byte gBattleWeather _080296F8: .4byte gUnknown_02024BEC _080296FC: ldrh r1, [r4] @@ -56293,7 +56293,7 @@ _08029DA8: .4byte gUnknown_02024C10 thumb_func_start sub_8029DAC sub_8029DAC: @ 8029DAC push {lr} - ldr r3, _08029DD0 @ =word_2024DB8 + ldr r3, _08029DD0 @ =gBattleWeather ldrh r1, [r3] movs r2, 0x80 adds r0, r2, 0 @@ -56310,7 +56310,7 @@ sub_8029DAC: @ 8029DAC strb r0, [r1, 0x5] b _08029DEA .align 2, 0 -_08029DD0: .4byte word_2024DB8 +_08029DD0: .4byte gBattleWeather _08029DD4: .4byte gUnknown_02024C68 _08029DD8: .4byte gUnknown_02024D1E _08029DDC: @@ -58875,7 +58875,7 @@ sub_802B1C0: @ 802B1C0 lsls r0, 24 cmp r0, 0 bne _0802B276 - ldr r3, _0802B218 @ =word_2024DB8 + ldr r3, _0802B218 @ =gBattleWeather ldrb r0, [r3] ldr r2, _0802B21C @ =0x02000000 cmp r0, 0 @@ -58896,7 +58896,7 @@ _0802B202: strb r0, [r1] b _0802B276 .align 2, 0 -_0802B218: .4byte word_2024DB8 +_0802B218: .4byte gBattleWeather _0802B21C: .4byte 0x02000000 _0802B220: .4byte 0x0001601f _0802B224: .4byte 0x0001601c @@ -72968,7 +72968,7 @@ sub_80324F8: @ 80324F8 lsls r1, 16 asrs r1, 16 adds r0, r4, 0 - bl sub_8046200 + bl GetHPBarLevel lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -73098,7 +73098,7 @@ unref_sub_8032604: @ 8032604 lsls r1, 16 asrs r1, 16 adds r0, r4, 0 - bl sub_8046200 + bl GetHPBarLevel lsls r0, 24 lsrs r0, 24 pop {r4,r5} @@ -82431,7 +82431,7 @@ _080371D0: mov r0, r10 movs r1, 0x4 movs r2, 0x4 - bl sub_803F1DC + bl GetItemEffectParamOffset lsls r0, 24 lsrs r4, r0, 24 cmp r4, 0 diff --git a/asm/rom_803D1FC.s b/asm/rom_803D1FC.s deleted file mode 100644 index e011d3c43..000000000 --- a/asm/rom_803D1FC.s +++ /dev/null @@ -1,5839 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start ExecuteTableBasedItemEffect_ -ExecuteTableBasedItemEffect_: @ 803E18C - push {r4,lr} - sub sp, 0x4 - lsls r1, 16 - lsrs r1, 16 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r3, 24 - movs r4, 0 - str r4, [sp] - bl sub_803E1B0 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end ExecuteTableBasedItemEffect_ - - thumb_func_start sub_803E1B0 -sub_803E1B0: @ 803E1B0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x3C - mov r8, r0 - ldr r0, [sp, 0x5C] - lsls r1, 16 - lsrs r1, 16 - str r1, [sp, 0x8] - lsls r2, 24 - lsrs r2, 24 - str r2, [sp, 0xC] - lsls r3, 24 - lsrs r3, 24 - str r3, [sp, 0x10] - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x14] - movs r0, 0x1 - str r0, [sp, 0x1C] - movs r1, 0x6 - str r1, [sp, 0x24] - movs r2, 0 - str r2, [sp, 0x2C] - movs r3, 0x4 - str r3, [sp, 0x34] - mov r0, r8 - movs r1, 0xC - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xAF - bne _0803E240 - ldr r0, _0803E21C @ =gMain - ldr r4, _0803E220 @ =0x0000043d - adds r0, r4 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0803E22C - ldr r2, _0803E224 @ =gEnigmaBerries - ldr r0, _0803E228 @ =gUnknown_02024E6C - ldrb r1, [r0] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x7] - b _0803E248 - .align 2, 0 -_0803E21C: .4byte gMain -_0803E220: .4byte 0x0000043d -_0803E224: .4byte gEnigmaBerries -_0803E228: .4byte gUnknown_02024E6C -_0803E22C: - ldr r0, _0803E238 @ =gSaveBlock1 - ldr r5, _0803E23C @ =0x00003688 - adds r0, r5 - ldrb r0, [r0] - b _0803E248 - .align 2, 0 -_0803E238: .4byte gSaveBlock1 -_0803E23C: .4byte 0x00003688 -_0803E240: - bl ItemId_GetHoldEffect - lsls r0, 24 - lsrs r0, 24 -_0803E248: - str r0, [sp, 0x30] - ldr r1, _0803E2A4 @ =gUnknown_02024C0B - ldr r0, _0803E2A8 @ =gUnknown_02024E6C - ldrb r2, [r0] - strb r2, [r1] - ldr r0, _0803E2AC @ =gMain - ldr r1, _0803E2B0 @ =0x0000043d - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _0803E2E8 - ldr r0, _0803E2B4 @ =gUnknown_02024A60 - strb r2, [r0] - ldrb r0, [r0] - bl battle_side_get_owner - lsls r0, 24 - lsrs r0, 24 - negs r1, r0 - orrs r1, r0 - lsrs r1, 31 - str r1, [sp, 0x18] - ldr r0, _0803E2B8 @ =gUnknown_02024A68 - ldr r4, [sp, 0x8] - subs r4, 0xD - ldrb r0, [r0] - cmp r1, r0 - bge _0803E2F4 - ldr r2, _0803E2BC @ =gUnknown_02024A6A - lsls r0, r1, 1 - adds r0, r2 - ldrh r3, [r0] - ldr r5, [sp, 0xC] - lsls r0, r5, 16 - lsrs r1, r0, 16 - adds r5, r0, 0 - cmp r3, r1 - bne _0803E2C0 - ldr r0, [sp, 0x18] - str r0, [sp, 0x34] - b _0803E2F4 - .align 2, 0 -_0803E2A4: .4byte gUnknown_02024C0B -_0803E2A8: .4byte gUnknown_02024E6C -_0803E2AC: .4byte gMain -_0803E2B0: .4byte 0x0000043d -_0803E2B4: .4byte gUnknown_02024A60 -_0803E2B8: .4byte gUnknown_02024A68 -_0803E2BC: .4byte gUnknown_02024A6A -_0803E2C0: - ldr r1, [sp, 0x18] - adds r1, 0x2 - str r1, [sp, 0x18] - ldr r0, _0803E2E4 @ =gUnknown_02024A68 - ldrb r0, [r0] - cmp r1, r0 - bge _0803E2F4 - lsls r0, r1, 1 - adds r0, r2 - ldrh r1, [r0] - lsrs r0, r5, 16 - cmp r1, r0 - bne _0803E2C0 - ldr r2, [sp, 0x18] - lsls r0, r2, 24 - lsrs r0, 24 - str r0, [sp, 0x34] - b _0803E2F4 - .align 2, 0 -_0803E2E4: .4byte gUnknown_02024A68 -_0803E2E8: - ldr r0, _0803E310 @ =gUnknown_02024A60 - strb r1, [r0] - movs r3, 0x4 - str r3, [sp, 0x34] - ldr r4, [sp, 0x8] - subs r4, 0xD -_0803E2F4: - lsls r0, r4, 16 - lsrs r0, 16 - cmp r0, 0xA5 - bhi _0803E36C - ldr r1, _0803E314 @ =gItemEffectTable - lsls r0, r4, 2 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0 - bne _0803E318 - ldr r4, [sp, 0x8] - cmp r4, 0xAF - beq _0803E31E - b _0803E36C - .align 2, 0 -_0803E310: .4byte gUnknown_02024A60 -_0803E314: .4byte gItemEffectTable -_0803E318: - ldr r5, [sp, 0x8] - cmp r5, 0xAF - bne _0803E372 -_0803E31E: - ldr r0, _0803E340 @ =gMain - ldr r1, _0803E344 @ =0x0000043d - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0803E350 - ldr r0, _0803E348 @ =gUnknown_02024A60 - ldrb r1, [r0] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - ldr r1, _0803E34C @ =gUnknown_02024DF8 - adds r0, r1 - b _0803E372 - .align 2, 0 -_0803E340: .4byte gMain -_0803E344: .4byte 0x0000043d -_0803E348: .4byte gUnknown_02024A60 -_0803E34C: .4byte gUnknown_02024DF8 -_0803E350: - ldr r2, _0803E358 @ =gSaveBlock1 + 0x3676 - str r2, [sp, 0x20] - b _0803E374 - .align 2, 0 -_0803E358: .4byte gSaveBlock1 + 0x3676 -_0803E35C: - mov r0, r8 - movs r2, 0 - ldr r3, [sp, 0xC] - bl BeginEvolutionScene - movs r0, 0 - bl _0803F15C -_0803E36C: - movs r0, 0x1 - bl _0803F15C -_0803E372: - str r0, [sp, 0x20] -_0803E374: - movs r3, 0 - str r3, [sp, 0x18] -_0803E378: - ldr r4, [sp, 0x18] - cmp r4, 0x5 - bls _0803E382 - bl _0803F14C -_0803E382: - lsls r0, r4, 2 - ldr r1, _0803E38C @ =_0803E390 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0803E38C: .4byte _0803E390 - .align 2, 0 -_0803E390: - .4byte _0803E3A8 - .4byte _0803E474 - .4byte _0803E508 - .4byte _0803E59C - .4byte _0803E77C - .4byte _0803EE1E -_0803E3A8: - ldr r5, [sp, 0x20] - ldr r0, [sp, 0x18] - adds r2, r5, r0 - ldrb r1, [r2] - movs r0, 0x80 - ands r0, r1 - adds r6, r2, 0 - cmp r0, 0 - beq _0803E3F0 - ldr r0, _0803E460 @ =gMain - ldr r1, _0803E464 @ =0x0000043d - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0803E3F0 - ldr r2, [sp, 0x34] - cmp r2, 0x4 - beq _0803E3F0 - ldr r1, _0803E468 @ =gBattleMons - movs r0, 0x58 - muls r0, r2 - adds r1, 0x50 - adds r2, r0, r1 - ldr r1, [r2] - movs r0, 0xF0 - lsls r0, 12 - ands r0, r1 - cmp r0, 0 - beq _0803E3F0 - ldr r0, _0803E46C @ =0xfff0ffff - ands r1, r0 - str r1, [r2] - movs r3, 0 - str r3, [sp, 0x1C] -_0803E3F0: - ldrb r1, [r6] - movs r0, 0x30 - ands r0, r1 - cmp r0, 0 - beq _0803E41E - ldr r1, _0803E468 @ =gBattleMons - ldr r0, _0803E470 @ =gUnknown_02024A60 - ldrb r2, [r0] - movs r0, 0x58 - muls r0, r2 - adds r1, 0x50 - adds r2, r0, r1 - ldr r1, [r2] - movs r3, 0x80 - lsls r3, 13 - adds r0, r1, 0 - ands r0, r3 - cmp r0, 0 - bne _0803E41E - orrs r1, r3 - str r1, [r2] - movs r4, 0 - str r4, [sp, 0x1C] -_0803E41E: - ldrb r0, [r6] - movs r3, 0xF - ands r3, r0 - cmp r3, 0 - bne _0803E42C - bl _0803F14C -_0803E42C: - ldr r6, _0803E468 @ =gBattleMons - ldr r5, _0803E470 @ =gUnknown_02024A60 - ldrb r0, [r5] - movs r4, 0x58 - muls r0, r4 - adds r1, r0, r6 - ldrb r2, [r1, 0x19] - movs r0, 0x19 - ldrsb r0, [r1, r0] - cmp r0, 0xB - ble _0803E446 - bl _0803F14C -_0803E446: - adds r0, r2, r3 - strb r0, [r1, 0x19] - ldrb r0, [r5] - muls r0, r4 - adds r1, r0, r6 - movs r0, 0x19 - ldrsb r0, [r1, r0] - cmp r0, 0xC - bgt _0803E45A - b _0803E74E -_0803E45A: - movs r0, 0xC - strb r0, [r1, 0x19] - b _0803E74E - .align 2, 0 -_0803E460: .4byte gMain -_0803E464: .4byte 0x0000043d -_0803E468: .4byte gBattleMons -_0803E46C: .4byte 0xfff0ffff -_0803E470: .4byte gUnknown_02024A60 -_0803E474: - ldr r0, [sp, 0x20] - ldr r1, [sp, 0x18] - adds r2, r0, r1 - ldrb r1, [r2] - movs r0, 0xF0 - ands r0, r1 - lsls r3, r0, 24 - adds r6, r2, 0 - cmp r3, 0 - beq _0803E4BA - ldr r7, _0803E500 @ =gBattleMons - ldr r5, _0803E504 @ =gUnknown_02024A60 - ldrb r0, [r5] - movs r4, 0x58 - muls r0, r4 - adds r1, r0, r7 - ldrb r2, [r1, 0x1A] - movs r0, 0x1A - ldrsb r0, [r1, r0] - cmp r0, 0xB - bgt _0803E4BA - lsrs r0, r3, 28 - adds r0, r2, r0 - strb r0, [r1, 0x1A] - ldrb r0, [r5] - muls r0, r4 - adds r1, r0, r7 - movs r0, 0x1A - ldrsb r0, [r1, r0] - cmp r0, 0xC - ble _0803E4B6 - movs r0, 0xC - strb r0, [r1, 0x1A] -_0803E4B6: - movs r2, 0 - str r2, [sp, 0x1C] -_0803E4BA: - ldrb r0, [r6] - movs r3, 0xF - ands r3, r0 - cmp r3, 0 - bne _0803E4C8 - bl _0803F14C -_0803E4C8: - ldr r6, _0803E500 @ =gBattleMons - ldr r5, _0803E504 @ =gUnknown_02024A60 - ldrb r0, [r5] - movs r4, 0x58 - muls r0, r4 - adds r1, r0, r6 - ldrb r2, [r1, 0x1B] - movs r0, 0x1B - ldrsb r0, [r1, r0] - cmp r0, 0xB - ble _0803E4E2 - bl _0803F14C -_0803E4E2: - adds r0, r2, r3 - strb r0, [r1, 0x1B] - ldrb r0, [r5] - muls r0, r4 - adds r1, r0, r6 - movs r0, 0x1B - ldrsb r0, [r1, r0] - cmp r0, 0xC - ble _0803E4F8 - movs r0, 0xC - strb r0, [r1, 0x1B] -_0803E4F8: - movs r3, 0 - str r3, [sp, 0x1C] - bl _0803F14C - .align 2, 0 -_0803E500: .4byte gBattleMons -_0803E504: .4byte gUnknown_02024A60 -_0803E508: - ldr r4, [sp, 0x20] - ldr r5, [sp, 0x18] - adds r2, r4, r5 - ldrb r1, [r2] - movs r0, 0xF0 - ands r0, r1 - lsls r3, r0, 24 - adds r6, r2, 0 - cmp r3, 0 - beq _0803E54E - ldr r7, _0803E594 @ =gBattleMons - ldr r5, _0803E598 @ =gUnknown_02024A60 - ldrb r0, [r5] - movs r4, 0x58 - muls r0, r4 - adds r1, r0, r7 - ldrb r2, [r1, 0x1E] - movs r0, 0x1E - ldrsb r0, [r1, r0] - cmp r0, 0xB - bgt _0803E54E - lsrs r0, r3, 28 - adds r0, r2, r0 - strb r0, [r1, 0x1E] - ldrb r0, [r5] - muls r0, r4 - adds r1, r0, r7 - movs r0, 0x1E - ldrsb r0, [r1, r0] - cmp r0, 0xC - ble _0803E54A - movs r0, 0xC - strb r0, [r1, 0x1E] -_0803E54A: - movs r0, 0 - str r0, [sp, 0x1C] -_0803E54E: - ldrb r0, [r6] - movs r3, 0xF - ands r3, r0 - cmp r3, 0 - bne _0803E55C - bl _0803F14C -_0803E55C: - ldr r6, _0803E594 @ =gBattleMons - ldr r5, _0803E598 @ =gUnknown_02024A60 - ldrb r0, [r5] - movs r4, 0x58 - muls r0, r4 - adds r1, r0, r6 - ldrb r2, [r1, 0x1C] - movs r0, 0x1C - ldrsb r0, [r1, r0] - cmp r0, 0xB - ble _0803E576 - bl _0803F14C -_0803E576: - adds r0, r2, r3 - strb r0, [r1, 0x1C] - ldrb r0, [r5] - muls r0, r4 - adds r1, r0, r6 - movs r0, 0x1C - ldrsb r0, [r1, r0] - cmp r0, 0xC - ble _0803E58C - movs r0, 0xC - strb r0, [r1, 0x1C] -_0803E58C: - movs r1, 0 - str r1, [sp, 0x1C] - bl _0803F14C - .align 2, 0 -_0803E594: .4byte gBattleMons -_0803E598: .4byte gUnknown_02024A60 -_0803E59C: - ldr r3, [sp, 0x20] - ldr r4, [sp, 0x18] - adds r2, r3, r4 - ldrb r1, [r2] - movs r0, 0x80 - ands r0, r1 - adds r6, r2, 0 - cmp r0, 0 - beq _0803E5E4 - ldr r5, _0803E758 @ =gUnknown_02024C80 - ldr r4, _0803E75C @ =gUnknown_02024A60 - ldrb r0, [r4] - bl battle_side_get_owner - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - ldrb r0, [r1, 0x2] - cmp r0, 0 - bne _0803E5E4 - ldrb r0, [r4] - bl battle_side_get_owner - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - movs r0, 0x5 - strb r0, [r1, 0x2] - movs r5, 0 - str r5, [sp, 0x1C] -_0803E5E4: - ldrb r1, [r6] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _0803E646 - mov r0, r8 - movs r1, 0x38 - movs r2, 0 - bl GetMonData - cmp r0, 0x64 - beq _0803E646 - ldr r5, _0803E760 @ =gExperienceTables - mov r0, r8 - movs r1, 0x38 - movs r2, 0 - bl GetMonData - adds r4, r0, 0 - mov r0, r8 - movs r1, 0xB - movs r2, 0 - bl GetMonData - adds r4, 0x1 - lsls r4, 2 - ldr r2, _0803E764 @ =gBaseStats - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r1, [r1, 0x13] - movs r0, 0xCA - lsls r0, 1 - muls r0, r1 - adds r4, r0 - adds r4, r5 - ldr r0, [r4] - str r0, [sp] - mov r0, r8 - movs r1, 0x19 - mov r2, sp - bl SetMonData - mov r0, r8 - bl CalculateMonStats - movs r0, 0 - str r0, [sp, 0x1C] -_0803E646: - ldrb r1, [r6] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _0803E682 - mov r0, r8 - ldr r1, [sp, 0xC] - movs r2, 0x7 - ldr r3, [sp, 0x34] - bl HealStatusConditions - lsls r0, 24 - cmp r0, 0 - bne _0803E682 - ldr r1, [sp, 0x34] - cmp r1, 0x4 - beq _0803E67E - ldr r1, _0803E768 @ =gBattleMons - movs r0, 0x58 - ldr r3, [sp, 0x34] - adds r2, r3, 0 - muls r2, r0 - adds r1, 0x50 - adds r2, r1 - ldr r0, [r2] - ldr r1, _0803E76C @ =0xf7ffffff - ands r0, r1 - str r0, [r2] -_0803E67E: - movs r4, 0 - str r4, [sp, 0x1C] -_0803E682: - ldrb r1, [r6] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0803E6A2 - ldr r2, _0803E770 @ =0x00000f88 - mov r0, r8 - ldr r1, [sp, 0xC] - ldr r3, [sp, 0x34] - bl HealStatusConditions - lsls r0, 24 - cmp r0, 0 - bne _0803E6A2 - movs r5, 0 - str r5, [sp, 0x1C] -_0803E6A2: - ldrb r1, [r6] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _0803E6C2 - mov r0, r8 - ldr r1, [sp, 0xC] - movs r2, 0x10 - ldr r3, [sp, 0x34] - bl HealStatusConditions - lsls r0, 24 - cmp r0, 0 - bne _0803E6C2 - movs r0, 0 - str r0, [sp, 0x1C] -_0803E6C2: - ldrb r1, [r6] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _0803E6E2 - mov r0, r8 - ldr r1, [sp, 0xC] - movs r2, 0x20 - ldr r3, [sp, 0x34] - bl HealStatusConditions - lsls r0, 24 - cmp r0, 0 - bne _0803E6E2 - movs r1, 0 - str r1, [sp, 0x1C] -_0803E6E2: - ldrb r1, [r6] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0803E702 - mov r0, r8 - ldr r1, [sp, 0xC] - movs r2, 0x40 - ldr r3, [sp, 0x34] - bl HealStatusConditions - lsls r0, 24 - cmp r0, 0 - bne _0803E702 - movs r2, 0 - str r2, [sp, 0x1C] -_0803E702: - ldrb r1, [r6] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0803E710 - bl _0803F14C -_0803E710: - ldr r0, _0803E774 @ =gMain - ldr r3, _0803E778 @ =0x0000043d - adds r0, r3 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _0803E724 - bl _0803F14C -_0803E724: - ldr r4, [sp, 0x34] - cmp r4, 0x4 - bne _0803E72E - bl _0803F14C -_0803E72E: - ldr r1, _0803E768 @ =gBattleMons - movs r0, 0x58 - muls r0, r4 - adds r1, 0x50 - adds r2, r0, r1 - ldr r1, [r2] - movs r0, 0x7 - ands r0, r1 - cmp r0, 0 - bne _0803E746 - bl _0803F14C -_0803E746: - movs r0, 0x8 - negs r0, r0 - ands r1, r0 - str r1, [r2] -_0803E74E: - movs r5, 0 - str r5, [sp, 0x1C] - bl _0803F14C - .align 2, 0 -_0803E758: .4byte gUnknown_02024C80 -_0803E75C: .4byte gUnknown_02024A60 -_0803E760: .4byte gExperienceTables -_0803E764: .4byte gBaseStats -_0803E768: .4byte gBattleMons -_0803E76C: .4byte 0xf7ffffff -_0803E770: .4byte 0x00000f88 -_0803E774: .4byte gMain -_0803E778: .4byte 0x0000043d -_0803E77C: - ldr r1, [sp, 0x20] - ldr r2, [sp, 0x18] - adds r0, r1, r2 - ldrb r0, [r0] - mov r10, r0 - movs r0, 0x20 - mov r3, r10 - ands r0, r3 - cmp r0, 0 - beq _0803E854 - movs r0, 0xDF - ands r3, r0 - mov r10, r3 - mov r0, r8 - movs r1, 0x15 - movs r2, 0 - bl GetMonData - ldr r1, _0803E880 @ =gUnknown_08208238 - ldr r4, [sp, 0x10] - adds r1, r4, r1 - ldrb r1, [r1] - ands r0, r1 - lsls r1, r4, 1 - lsrs r0, r1 - str r0, [sp] - adds r5, r4, 0 - adds r5, 0xD - mov r0, r8 - adds r1, r5, 0 - movs r2, 0 - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - mov r0, r8 - movs r1, 0x15 - movs r2, 0 - bl GetMonData - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - ldr r2, [sp, 0x10] - bl CalculatePPWithBonus - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x28] - ldr r0, [sp] - cmp r0, 0x2 - bhi _0803E854 - ldr r0, [sp, 0x28] - cmp r0, 0x4 - bls _0803E854 - mov r0, r8 - movs r1, 0x15 - movs r2, 0 - bl GetMonData - ldr r1, _0803E884 @ =gUnknown_08208240 - ldr r2, [sp, 0x10] - adds r1, r2, r1 - ldrb r1, [r1] - adds r0, r1 - str r0, [sp] - mov r0, r8 - movs r1, 0x15 - mov r2, sp - bl SetMonData - mov r0, r8 - adds r1, r5, 0 - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - ldr r1, [sp] - lsls r1, 24 - lsrs r1, 24 - ldr r2, [sp, 0x10] - bl CalculatePPWithBonus - lsls r0, 24 - lsrs r0, 24 - ldr r3, [sp, 0x28] - subs r0, r3 - str r0, [sp] - ldr r4, [sp, 0x10] - adds r4, 0x11 - mov r0, r8 - adds r1, r4, 0 - movs r2, 0 - bl GetMonData - ldr r1, [sp] - adds r0, r1 - str r0, [sp] - mov r0, r8 - adds r1, r4, 0 - mov r2, sp - bl SetMonData - movs r4, 0 - str r4, [sp, 0x1C] -_0803E854: - movs r5, 0 - str r5, [sp, 0x28] - mov r0, r10 - cmp r0, 0 - bne _0803E862 - bl _0803F14C -_0803E862: - movs r0, 0x1 - mov r1, r10 - ands r0, r1 - cmp r0, 0 - bne _0803E86E - b _0803EE0A -_0803E86E: - ldr r2, [sp, 0x28] - cmp r2, 0x7 - bls _0803E876 - b _0803EE0A -_0803E876: - lsls r0, r2, 2 - ldr r1, _0803E888 @ =_0803E88C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0803E880: .4byte gUnknown_08208238 -_0803E884: .4byte gUnknown_08208240 -_0803E888: .4byte _0803E88C - .align 2, 0 -_0803E88C: - .4byte _0803E8AC - .4byte _0803E8AC - .4byte _0803E934 - .4byte _0803EB5C - .4byte _0803EE0A - .4byte _0803EE0A - .4byte _0803EE0A - .4byte _0803EDF4 -_0803E8AC: - mov r0, r8 - bl GetMonEVCount - lsls r0, 16 - lsrs r5, r0, 16 - ldr r0, _0803E8EC @ =0x000001fd - cmp r5, r0 - bls _0803E8BE - b _0803E36C -_0803E8BE: - ldr r0, _0803E8F0 @ =gUnknown_082082F2 - ldr r3, [sp, 0x28] - adds r0, r3, r0 - ldrb r1, [r0] - mov r0, r8 - movs r2, 0 - bl GetMonData - adds r1, r0, 0 - str r1, [sp] - cmp r1, 0x63 - bls _0803E8D8 - b _0803EE0A -_0803E8D8: - ldr r4, [sp, 0x20] - ldr r2, [sp, 0x24] - adds r0, r4, r2 - ldrb r0, [r0] - adds r1, r0 - cmp r1, 0x64 - bls _0803E8F4 - adds r0, 0x64 - subs r4, r0, r1 - b _0803E8F6 - .align 2, 0 -_0803E8EC: .4byte 0x000001fd -_0803E8F0: .4byte gUnknown_082082F2 -_0803E8F4: - adds r4, r0, 0 -_0803E8F6: - adds r1, r5, r4 - movs r0, 0xFF - lsls r0, 1 - cmp r1, r0 - bls _0803E904 - adds r0, r4, r0 - subs r4, r0, r1 -_0803E904: - ldr r0, [sp] - adds r0, r4 - str r0, [sp] - ldr r0, _0803E930 @ =gUnknown_082082F2 - ldr r3, [sp, 0x28] - adds r0, r3, r0 - ldrb r1, [r0] - mov r0, r8 - mov r2, sp - bl SetMonData - mov r0, r8 - bl CalculateMonStats - ldr r0, [sp, 0x24] - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x24] - movs r4, 0 - str r4, [sp, 0x1C] - b _0803EE0A - .align 2, 0 -_0803E930: .4byte gUnknown_082082F2 -_0803E934: - movs r0, 0x10 - mov r5, r10 - ands r0, r5 - cmp r0, 0 - beq _0803E9F4 - mov r0, r8 - movs r1, 0x39 - movs r2, 0 - bl GetMonData - cmp r0, 0 - beq _0803E954 - ldr r0, [sp, 0x24] - adds r0, 0x1 - lsls r0, 24 - b _0803EC9E -_0803E954: - ldr r0, _0803E99C @ =gMain - ldr r1, _0803E9A0 @ =0x0000043d - adds r0, r1 - ldrb r1, [r0] - movs r4, 0x2 - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0803EA0A - ldr r2, [sp, 0x34] - cmp r2, 0x4 - beq _0803E9B4 - ldr r2, _0803E9A4 @ =gUnknown_02024C0C - ldr r1, _0803E9A8 @ =gBitTable - ldr r3, [sp, 0x34] - lsls r0, r3, 2 - adds r0, r1 - ldr r1, [r0] - ldrb r0, [r2] - bics r0, r1 - strb r0, [r2] - ldr r1, _0803E9AC @ =gUnknown_02024A6A - lsls r0, r3, 1 - adds r0, r1 - ldrb r0, [r0] - bl pokemon_order_func - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r0, [sp, 0x34] - bl CopyPlayerPartyMonToBattleData - ldr r0, _0803E9B0 @ =gUnknown_02024A60 - ldrb r0, [r0] - b _0803E9CC - .align 2, 0 -_0803E99C: .4byte gMain -_0803E9A0: .4byte 0x0000043d -_0803E9A4: .4byte gUnknown_02024C0C -_0803E9A8: .4byte gBitTable -_0803E9AC: .4byte gUnknown_02024A6A -_0803E9B0: .4byte gUnknown_02024A60 -_0803E9B4: - ldr r3, _0803E9E4 @ =gUnknown_02024C0C - ldr r1, _0803E9E8 @ =gBitTable - ldr r2, _0803E9EC @ =gUnknown_02024A60 - ldrb r0, [r2] - eors r0, r4 - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - ldrb r0, [r3] - bics r0, r1 - strb r0, [r3] - ldrb r0, [r2] -_0803E9CC: - bl battle_side_get_owner - lsls r0, 24 - cmp r0, 0 - bne _0803EA0A - ldr r1, _0803E9F0 @ =gUnknown_030042E0 - ldrb r0, [r1, 0x4] - cmp r0, 0xFE - bhi _0803EA0A - adds r0, 0x1 - strb r0, [r1, 0x4] - b _0803EA0A - .align 2, 0 -_0803E9E4: .4byte gUnknown_02024C0C -_0803E9E8: .4byte gBitTable -_0803E9EC: .4byte gUnknown_02024A60 -_0803E9F0: .4byte gUnknown_030042E0 -_0803E9F4: - mov r0, r8 - movs r1, 0x39 - movs r2, 0 - bl GetMonData - cmp r0, 0 - bne _0803EA0A - ldr r0, [sp, 0x24] - adds r0, 0x1 - lsls r0, 24 - b _0803EC9E -_0803EA0A: - ldr r1, [sp, 0x24] - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x24] - ldr r4, [sp, 0x20] - adds r1, r4, r1 - ldrb r1, [r1] - str r1, [sp] - adds r0, r1, 0 - cmp r0, 0xFE - beq _0803EA4C - cmp r0, 0xFE - bhi _0803EA2C - cmp r0, 0xFD - beq _0803EA62 - b _0803EA6C -_0803EA2C: - cmp r1, 0xFF - bne _0803EA6C - mov r0, r8 - movs r1, 0x3A - movs r2, 0 - bl GetMonData - adds r4, r0, 0 - mov r0, r8 - movs r1, 0x39 - movs r2, 0 - bl GetMonData - subs r4, r0 - str r4, [sp] - b _0803EA6C -_0803EA4C: - mov r0, r8 - movs r1, 0x3A - movs r2, 0 - bl GetMonData - lsrs r0, 1 - str r0, [sp] - cmp r0, 0 - bne _0803EA6C - movs r0, 0x1 - b _0803EA6A -_0803EA62: - ldr r0, _0803EB24 @ =0x02000000 - ldr r5, _0803EB28 @ =0x000160fa - adds r0, r5 - ldrb r0, [r0] -_0803EA6A: - str r0, [sp] -_0803EA6C: - mov r0, r8 - movs r1, 0x3A - movs r2, 0 - bl GetMonData - adds r4, r0, 0 - mov r0, r8 - movs r1, 0x39 - movs r2, 0 - bl GetMonData - cmp r4, r0 - beq _0803EB4C - ldr r0, [sp, 0x14] - cmp r0, 0 - bne _0803EB40 - mov r0, r8 - movs r1, 0x39 - movs r2, 0 - bl GetMonData - ldr r1, [sp] - adds r0, r1 - str r0, [sp] - mov r0, r8 - movs r1, 0x3A - movs r2, 0 - bl GetMonData - ldr r1, [sp] - cmp r1, r0 - bls _0803EAB8 - mov r0, r8 - movs r1, 0x3A - movs r2, 0 - bl GetMonData - str r0, [sp] -_0803EAB8: - mov r0, r8 - movs r1, 0x39 - mov r2, sp - bl SetMonData - ldr r0, _0803EB2C @ =gMain - ldr r1, _0803EB30 @ =0x0000043d - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0803EB48 - ldr r2, [sp, 0x34] - cmp r2, 0x4 - beq _0803EB48 - ldr r1, _0803EB34 @ =gBattleMons - movs r0, 0x58 - muls r0, r2 - adds r0, r1 - ldr r1, [sp] - strh r1, [r0, 0x28] - movs r0, 0x10 - mov r3, r10 - ands r0, r3 - cmp r0, 0 - bne _0803EB48 - ldr r4, _0803EB38 @ =gUnknown_02024A60 - ldrb r0, [r4] - bl battle_side_get_owner - lsls r0, 24 - cmp r0, 0 - bne _0803EB48 - ldr r1, _0803EB3C @ =gUnknown_030042E0 - ldrb r0, [r1, 0x3] - cmp r0, 0xFE - bhi _0803EB08 - adds r0, 0x1 - strb r0, [r1, 0x3] -_0803EB08: - ldrb r5, [r4] - add r0, sp, 0x34 - ldrb r0, [r0] - strb r0, [r4] - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl dp01_build_cmdbuf_x00_a_b_0 - ldrb r0, [r4] - bl dp01_battle_side_mark_buffer_for_execution - strb r5, [r4] - b _0803EB48 - .align 2, 0 -_0803EB24: .4byte 0x02000000 -_0803EB28: .4byte 0x000160fa -_0803EB2C: .4byte gMain -_0803EB30: .4byte 0x0000043d -_0803EB34: .4byte gBattleMons -_0803EB38: .4byte gUnknown_02024A60 -_0803EB3C: .4byte gUnknown_030042E0 -_0803EB40: - ldr r1, _0803EB58 @ =gUnknown_02024BEC - ldr r0, [sp] - negs r0, r0 - str r0, [r1] -_0803EB48: - movs r1, 0 - str r1, [sp, 0x1C] -_0803EB4C: - movs r0, 0xEF - mov r2, r10 - ands r2, r0 - mov r10, r2 - b _0803EE0A - .align 2, 0 -_0803EB58: .4byte gUnknown_02024BEC -_0803EB5C: - movs r7, 0x2 - mov r0, r10 - ands r0, r7 - cmp r0, 0 - beq _0803EB68 - b _0803ECB8 -_0803EB68: - movs r5, 0 - ldr r3, [sp, 0x24] - adds r3, 0x1 - str r3, [sp, 0x38] -_0803EB70: - movs r4, 0x11 - adds r4, r5 - mov r9, r4 - mov r0, r8 - mov r1, r9 - movs r2, 0 - bl GetMonData - str r0, [sp] - adds r7, r5, 0 - adds r7, 0xD - mov r0, r8 - adds r1, r7, 0 - movs r2, 0 - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - mov r0, r8 - movs r1, 0x15 - movs r2, 0 - bl GetMonData - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r5, 24 - lsrs r6, r0, 24 - adds r0, r4, 0 - adds r2, r6, 0 - bl CalculatePPWithBonus - lsls r0, 24 - lsrs r0, 24 - ldr r1, [sp] - cmp r1, r0 - beq _0803EC92 - ldr r2, [sp, 0x20] - ldr r3, [sp, 0x24] - adds r0, r2, r3 - ldrb r0, [r0] - adds r0, r1, r0 - str r0, [sp] - mov r0, r8 - adds r1, r7, 0 - movs r2, 0 - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - mov r0, r8 - movs r1, 0x15 - movs r2, 0 - bl GetMonData - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - adds r2, r6, 0 - bl CalculatePPWithBonus - lsls r0, 24 - lsrs r0, 24 - ldr r1, [sp] - cmp r1, r0 - bls _0803EC28 - mov r0, r8 - adds r1, r7, 0 - movs r2, 0 - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - mov r0, r8 - movs r1, 0x15 - movs r2, 0 - bl GetMonData - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - adds r2, r6, 0 - bl CalculatePPWithBonus - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] -_0803EC28: - mov r0, r8 - mov r1, r9 - mov r2, sp - bl SetMonData - ldr r0, _0803ECA4 @ =gMain - ldr r4, _0803ECA8 @ =0x0000043d - adds r0, r4 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0803EC8E - ldr r0, [sp, 0x34] - cmp r0, 0x4 - beq _0803EC8E - ldr r4, _0803ECAC @ =gBattleMons - movs r0, 0x58 - ldr r1, [sp, 0x34] - adds r3, r1, 0 - muls r3, r0 - adds r0, r4, 0 - adds r0, 0x50 - adds r0, r3, r0 - ldr r1, [r0] - movs r0, 0x80 - lsls r0, 14 - ands r1, r0 - cmp r1, 0 - bne _0803EC8E - ldr r1, _0803ECB0 @ =gUnknown_02024CA8 - ldr r2, [sp, 0x34] - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x18] - lsrs r1, 4 - ldr r2, _0803ECB4 @ =gBitTable - lsls r0, r5, 2 - adds r0, r2 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - bne _0803EC8E - adds r0, r5, r3 - adds r1, r4, 0 - adds r1, 0x24 - adds r0, r1 - ldr r1, [sp] - strb r1, [r0] -_0803EC8E: - movs r3, 0 - str r3, [sp, 0x1C] -_0803EC92: - adds r5, 0x1 - cmp r5, 0x3 - bgt _0803EC9A - b _0803EB70 -_0803EC9A: - ldr r4, [sp, 0x38] - lsls r0, r4, 24 -_0803EC9E: - lsrs r0, 24 - str r0, [sp, 0x24] - b _0803EE0A - .align 2, 0 -_0803ECA4: .4byte gMain -_0803ECA8: .4byte 0x0000043d -_0803ECAC: .4byte gBattleMons -_0803ECB0: .4byte gUnknown_02024CA8 -_0803ECB4: .4byte gBitTable -_0803ECB8: - ldr r6, [sp, 0x10] - adds r6, 0x11 - mov r0, r8 - adds r1, r6, 0 - movs r2, 0 - bl GetMonData - str r0, [sp] - ldr r5, [sp, 0x10] - adds r5, 0xD - mov r0, r8 - adds r1, r5, 0 - movs r2, 0 - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - mov r0, r8 - movs r1, 0x15 - movs r2, 0 - bl GetMonData - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - ldr r2, [sp, 0x10] - bl CalculatePPWithBonus - lsls r0, 24 - lsrs r0, 24 - ldr r2, [sp] - cmp r2, r0 - bne _0803ED00 - b _0803EE0A -_0803ED00: - ldr r1, [sp, 0x24] - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x24] - ldr r0, [sp, 0x20] - adds r1, r0, r1 - ldrb r0, [r1] - adds r0, r2, r0 - str r0, [sp] - mov r0, r8 - adds r1, r5, 0 - movs r2, 0 - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - mov r0, r8 - movs r1, 0x15 - movs r2, 0 - bl GetMonData - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - ldr r2, [sp, 0x10] - bl CalculatePPWithBonus - lsls r0, 24 - lsrs r0, 24 - ldr r1, [sp] - cmp r1, r0 - bls _0803ED74 - mov r0, r8 - adds r1, r5, 0 - movs r2, 0 - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - mov r0, r8 - movs r1, 0x15 - movs r2, 0 - bl GetMonData - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - ldr r2, [sp, 0x10] - bl CalculatePPWithBonus - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] -_0803ED74: - mov r0, r8 - adds r1, r6, 0 - mov r2, sp - bl SetMonData - ldr r0, _0803EDE0 @ =gMain - ldr r1, _0803EDE4 @ =0x0000043d - adds r0, r1 - ldrb r1, [r0] - adds r0, r7, 0 - ands r0, r1 - cmp r0, 0 - beq _0803EDD8 - ldr r2, [sp, 0x34] - cmp r2, 0x4 - beq _0803EDD8 - ldr r4, _0803EDE8 @ =gBattleMons - movs r0, 0x58 - adds r3, r2, 0 - muls r3, r0 - adds r0, r4, 0 - adds r0, 0x50 - adds r0, r3, r0 - ldr r0, [r0] - movs r1, 0x80 - lsls r1, 14 - ands r0, r1 - cmp r0, 0 - bne _0803EDD8 - ldr r1, _0803EDEC @ =gUnknown_02024CA8 - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r1, [r0, 0x18] - lsrs r1, 4 - ldr r2, _0803EDF0 @ =gBitTable - ldr r5, [sp, 0x10] - lsls r0, r5, 2 - adds r0, r2 - ldr r0, [r0] - ands r1, r0 - cmp r1, 0 - bne _0803EDD8 - adds r0, r5, r3 - adds r1, r4, 0 - adds r1, 0x24 - adds r0, r1 - ldr r1, [sp] - strb r1, [r0] -_0803EDD8: - movs r0, 0 - str r0, [sp, 0x1C] - b _0803EE0A - .align 2, 0 -_0803EDE0: .4byte gMain -_0803EDE4: .4byte 0x0000043d -_0803EDE8: .4byte gBattleMons -_0803EDEC: .4byte gUnknown_02024CA8 -_0803EDF0: .4byte gBitTable -_0803EDF4: - mov r0, r8 - movs r1, 0x2 - ldr r2, [sp, 0x8] - bl GetEvolutionTargetSpecies - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - beq _0803EE0A - bl _0803E35C -_0803EE0A: - ldr r1, [sp, 0x28] - adds r1, 0x1 - str r1, [sp, 0x28] - mov r2, r10 - lsrs r2, 1 - mov r10, r2 - cmp r2, 0 - beq _0803EE1C - b _0803E862 -_0803EE1C: - b _0803F14C -_0803EE1E: - ldr r3, [sp, 0x20] - ldr r4, [sp, 0x18] - adds r0, r3, r4 - ldrb r0, [r0] - mov r10, r0 - movs r5, 0 - str r5, [sp, 0x28] - cmp r0, 0 - bne _0803EE32 - b _0803F14C -_0803EE32: - movs r0, 0x1 - mov r1, r10 - ands r0, r1 - cmp r0, 0 - bne _0803EE3E - b _0803F13A -_0803EE3E: - ldr r2, [sp, 0x28] - cmp r2, 0x7 - bls _0803EE46 - b _0803F13A -_0803EE46: - lsls r0, r2, 2 - ldr r1, _0803EE50 @ =_0803EE54 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0803EE50: .4byte _0803EE54 - .align 2, 0 -_0803EE54: - .4byte _0803EE74 - .4byte _0803EE74 - .4byte _0803EE74 - .4byte _0803EE74 - .4byte _0803EEF8 - .4byte _0803EFCC - .4byte _0803F026 - .4byte _0803F07C -_0803EE74: - mov r0, r8 - bl GetMonEVCount - lsls r0, 16 - lsrs r5, r0, 16 - ldr r0, _0803EEBC @ =0x000001fd - cmp r5, r0 - bls _0803EE88 - bl _0803E36C -_0803EE88: - ldr r0, _0803EEC0 @ =gUnknown_082082F2 - ldr r4, [sp, 0x28] - adds r4, 0x2 - adds r0, r4, r0 - ldrb r1, [r0] - mov r0, r8 - movs r2, 0 - bl GetMonData - adds r1, r0, 0 - str r1, [sp] - adds r2, r4, 0 - cmp r1, 0x63 - bls _0803EEA6 - b _0803F13A -_0803EEA6: - ldr r3, [sp, 0x20] - ldr r4, [sp, 0x24] - adds r0, r3, r4 - ldrb r0, [r0] - adds r1, r0 - cmp r1, 0x64 - bls _0803EEC4 - adds r0, 0x64 - subs r4, r0, r1 - b _0803EEC6 - .align 2, 0 -_0803EEBC: .4byte 0x000001fd -_0803EEC0: .4byte gUnknown_082082F2 -_0803EEC4: - adds r4, r0, 0 -_0803EEC6: - adds r1, r5, r4 - movs r0, 0xFF - lsls r0, 1 - cmp r1, r0 - bls _0803EED4 - adds r0, r4, r0 - subs r4, r0, r1 -_0803EED4: - ldr r0, [sp] - adds r0, r4 - str r0, [sp] - ldr r0, _0803EEF4 @ =gUnknown_082082F2 - adds r0, r2, r0 - ldrb r1, [r0] - mov r0, r8 - mov r2, sp - bl SetMonData - mov r0, r8 - bl CalculateMonStats - movs r5, 0 - str r5, [sp, 0x1C] - b _0803F130 - .align 2, 0 -_0803EEF4: .4byte gUnknown_082082F2 -_0803EEF8: - mov r0, r8 - movs r1, 0x15 - movs r2, 0 - bl GetMonData - ldr r1, _0803EFC0 @ =gUnknown_08208238 - ldr r2, [sp, 0x10] - adds r1, r2, r1 - ldrb r1, [r1] - ands r0, r1 - lsls r1, r2, 1 - lsrs r0, r1 - str r0, [sp] - cmp r0, 0x2 - bls _0803EF18 - b _0803F13A -_0803EF18: - adds r5, r2, 0 - adds r5, 0xD - mov r0, r8 - adds r1, r5, 0 - movs r2, 0 - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - mov r0, r8 - movs r1, 0x15 - movs r2, 0 - bl GetMonData - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - ldr r2, [sp, 0x10] - bl CalculatePPWithBonus - lsls r0, 24 - lsrs r4, r0, 24 - mov r0, r8 - movs r1, 0x15 - movs r2, 0 - bl GetMonData - str r0, [sp] - ldr r1, _0803EFC4 @ =gUnknown_0820823C - ldr r3, [sp, 0x10] - adds r1, r3, r1 - ldrb r2, [r1] - ands r2, r0 - str r2, [sp] - ldr r0, _0803EFC8 @ =gUnknown_08208240 - adds r0, r3, r0 - ldrb r1, [r0] - lsls r0, r1, 1 - adds r0, r1 - adds r2, r0 - str r2, [sp] - mov r0, r8 - movs r1, 0x15 - mov r2, sp - bl SetMonData - mov r0, r8 - adds r1, r5, 0 - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - ldr r1, [sp] - lsls r1, 24 - lsrs r1, 24 - ldr r2, [sp, 0x10] - bl CalculatePPWithBonus - lsls r0, 24 - lsrs r0, 24 - subs r0, r4 - str r0, [sp] - ldr r4, [sp, 0x10] - adds r4, 0x11 - mov r0, r8 - adds r1, r4, 0 - movs r2, 0 - bl GetMonData - ldr r1, [sp] - adds r0, r1 - str r0, [sp] - mov r0, r8 - adds r1, r4, 0 - mov r2, sp - bl SetMonData - movs r4, 0 - str r4, [sp, 0x1C] - b _0803F13A - .align 2, 0 -_0803EFC0: .4byte gUnknown_08208238 -_0803EFC4: .4byte gUnknown_0820823C -_0803EFC8: .4byte gUnknown_08208240 -_0803EFCC: - mov r0, r8 - movs r1, 0x20 - movs r2, 0 - bl GetMonData - cmp r0, 0x63 - bls _0803EFDC - b _0803F130 -_0803EFDC: - ldr r5, [sp, 0x1C] - cmp r5, 0 - beq _0803EFE4 - b _0803F130 -_0803EFE4: - ldr r0, [sp, 0x2C] - cmp r0, 0 - beq _0803EFEC - b _0803F130 -_0803EFEC: - ldr r1, [sp, 0x20] - ldr r2, [sp, 0x24] - adds r0, r1, r2 - ldrb r0, [r0] - str r0, [sp, 0x2C] - mov r0, r8 - movs r1, 0x20 - movs r2, 0 - bl GetMonData - adds r5, r0, 0 - str r5, [sp, 0x4] - ldr r3, [sp, 0x2C] - lsls r4, r3, 24 - asrs r1, r4, 24 - cmp r1, 0 - ble _0803F0D0 - ldr r0, [sp, 0x30] - cmp r0, 0x1B - bne _0803F0D0 - movs r0, 0x96 - muls r0, r1 - movs r1, 0x64 - bl __divsi3 - adds r0, r5, r0 - str r0, [sp, 0x4] - adds r2, r4, 0 - b _0803F0DC -_0803F026: - mov r0, r8 - movs r1, 0x20 - movs r2, 0 - bl GetMonData - cmp r0, 0x63 - bls _0803F130 - mov r0, r8 - movs r1, 0x20 - movs r2, 0 - bl GetMonData - cmp r0, 0xC7 - bhi _0803F130 - ldr r2, [sp, 0x1C] - cmp r2, 0 - bne _0803F130 - ldr r3, [sp, 0x2C] - cmp r3, 0 - bne _0803F130 - ldr r4, [sp, 0x20] - ldr r5, [sp, 0x24] - adds r0, r4, r5 - ldrb r0, [r0] - str r0, [sp, 0x2C] - mov r0, r8 - movs r1, 0x20 - movs r2, 0 - bl GetMonData - adds r4, r0, 0 - str r4, [sp, 0x4] - ldr r0, [sp, 0x2C] - lsls r5, r0, 24 - asrs r1, r5, 24 - cmp r1, 0 - ble _0803F076 - ldr r2, [sp, 0x30] - cmp r2, 0x1B - beq _0803F0BE -_0803F076: - ldr r3, [sp, 0x2C] - lsls r2, r3, 24 - b _0803F0D4 -_0803F07C: - mov r0, r8 - movs r1, 0x20 - movs r2, 0 - bl GetMonData - cmp r0, 0xC7 - bls _0803F130 - ldr r4, [sp, 0x1C] - cmp r4, 0 - bne _0803F130 - ldr r5, [sp, 0x2C] - cmp r5, 0 - bne _0803F130 - ldr r1, [sp, 0x20] - ldr r2, [sp, 0x24] - adds r0, r1, r2 - ldrb r0, [r0] - str r0, [sp, 0x2C] - mov r0, r8 - movs r1, 0x20 - movs r2, 0 - bl GetMonData - adds r4, r0, 0 - str r4, [sp, 0x4] - ldr r3, [sp, 0x2C] - lsls r5, r3, 24 - asrs r1, r5, 24 - cmp r1, 0 - ble _0803F0D0 - ldr r0, [sp, 0x30] - cmp r0, 0x1B - bne _0803F0D0 -_0803F0BE: - movs r0, 0x96 - muls r0, r1 - movs r1, 0x64 - bl __divsi3 - adds r0, r4, r0 - str r0, [sp, 0x4] - adds r2, r5, 0 - b _0803F0DC -_0803F0D0: - ldr r1, [sp, 0x2C] - lsls r2, r1, 24 -_0803F0D4: - asrs r1, r2, 24 - ldr r0, [sp, 0x4] - adds r0, r1 - str r0, [sp, 0x4] -_0803F0DC: - cmp r2, 0 - ble _0803F112 - mov r0, r8 - movs r1, 0x26 - movs r2, 0 - bl GetMonData - cmp r0, 0xB - bne _0803F0F4 - ldr r0, [sp, 0x4] - adds r0, 0x1 - str r0, [sp, 0x4] -_0803F0F4: - mov r0, r8 - movs r1, 0x23 - movs r2, 0 - bl GetMonData - adds r4, r0, 0 - bl sav1_map_get_name - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bne _0803F112 - ldr r0, [sp, 0x4] - adds r0, 0x1 - str r0, [sp, 0x4] -_0803F112: - ldr r0, [sp, 0x4] - cmp r0, 0 - bge _0803F11C - movs r0, 0 - str r0, [sp, 0x4] -_0803F11C: - ldr r0, [sp, 0x4] - cmp r0, 0xFF - ble _0803F126 - movs r0, 0xFF - str r0, [sp, 0x4] -_0803F126: - add r2, sp, 0x4 - mov r0, r8 - movs r1, 0x20 - bl SetMonData -_0803F130: - ldr r0, [sp, 0x24] - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x24] -_0803F13A: - ldr r2, [sp, 0x28] - adds r2, 0x1 - str r2, [sp, 0x28] - mov r3, r10 - lsrs r3, 1 - mov r10, r3 - cmp r3, 0 - beq _0803F14C - b _0803EE32 -_0803F14C: - ldr r4, [sp, 0x18] - adds r4, 0x1 - str r4, [sp, 0x18] - cmp r4, 0x5 - bgt _0803F15A - bl _0803E378 -_0803F15A: - ldr r0, [sp, 0x1C] -_0803F15C: - add sp, 0x3C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_803E1B0 - - thumb_func_start HealStatusConditions -HealStatusConditions: @ 803F16C - push {r4-r6,lr} - sub sp, 0x4 - adds r5, r0, 0 - adds r4, r2, 0 - lsls r3, 24 - lsrs r6, r3, 24 - movs r1, 0x37 - movs r2, 0 - bl GetMonData - adds r1, r0, 0 - str r1, [sp] - ands r0, r4 - cmp r0, 0 - beq _0803F1D0 - mvns r4, r4 - ands r1, r4 - str r1, [sp] - adds r0, r5, 0 - movs r1, 0x37 - mov r2, sp - bl SetMonData - ldr r0, _0803F1C4 @ =gMain - ldr r1, _0803F1C8 @ =0x0000043d - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0803F1BE - cmp r6, 0x4 - beq _0803F1BE - ldr r0, _0803F1CC @ =gBattleMons - movs r1, 0x58 - muls r1, r6 - adds r0, 0x4C - adds r1, r0 - ldr r0, [r1] - ands r0, r4 - str r0, [r1] -_0803F1BE: - movs r0, 0 - b _0803F1D2 - .align 2, 0 -_0803F1C4: .4byte gMain -_0803F1C8: .4byte 0x0000043d -_0803F1CC: .4byte gBattleMons -_0803F1D0: - movs r0, 0x1 -_0803F1D2: - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end HealStatusConditions - - thumb_func_start sub_803F1DC -sub_803F1DC: @ 803F1DC - push {r4-r7,lr} - lsls r0, 16 - lsrs r3, r0, 16 - lsls r1, 24 - lsrs r4, r1, 24 - lsls r2, 24 - lsrs r5, r2, 24 - movs r7, 0x6 - ldr r1, _0803F204 @ =gItemEffectTable - adds r0, r3, 0 - subs r0, 0xD - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - cmp r0, 0 - bne _0803F208 - cmp r3, 0xAF - beq _0803F20C -_0803F200: - movs r0, 0 - b _0803F31C - .align 2, 0 -_0803F204: .4byte gItemEffectTable -_0803F208: - cmp r3, 0xAF - bne _0803F21A -_0803F20C: - ldr r0, _0803F22C @ =gUnknown_02024A60 - ldrb r1, [r0] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - ldr r1, _0803F230 @ =gUnknown_02024DF8 - adds r0, r1 -_0803F21A: - mov r12, r0 - movs r2, 0 -_0803F21E: - cmp r2, 0x4 - beq _0803F23E - cmp r2, 0x4 - ble _0803F234 - cmp r2, 0x5 - beq _0803F2C8 - b _0803F312 - .align 2, 0 -_0803F22C: .4byte gUnknown_02024A60 -_0803F230: .4byte gUnknown_02024DF8 -_0803F234: - cmp r2, 0 - blt _0803F312 - cmp r2, r4 - bne _0803F312 - b _0803F200 -_0803F23E: - mov r0, r12 - ldrb r3, [r0, 0x4] - movs r0, 0x20 - ands r0, r3 - cmp r0, 0 - beq _0803F24E - movs r0, 0xDF - ands r3, r0 -_0803F24E: - movs r6, 0 - cmp r3, 0 - beq _0803F312 -_0803F254: - movs r0, 0x1 - ands r0, r3 - cmp r0, 0 - beq _0803F2B4 - cmp r6, 0x7 - bhi _0803F2B4 - lsls r0, r6, 2 - ldr r1, _0803F26C @ =_0803F270 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0803F26C: .4byte _0803F270 - .align 2, 0 -_0803F270: - .4byte _0803F29C - .4byte _0803F29C - .4byte _0803F290 - .4byte _0803F29C - .4byte _0803F2B4 - .4byte _0803F2B4 - .4byte _0803F2B4 - .4byte _0803F2B0 -_0803F290: - movs r0, 0x10 - ands r0, r3 - cmp r0, 0 - beq _0803F29C - movs r0, 0xEF - ands r3, r0 -_0803F29C: - cmp r2, r4 - bne _0803F2A8 - adds r0, r3, 0 - ands r0, r5 - cmp r0, 0 - bne _0803F31A -_0803F2A8: - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - b _0803F2B4 -_0803F2B0: - cmp r2, r4 - beq _0803F200 -_0803F2B4: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - lsrs r3, 1 - cmp r2, r4 - bne _0803F2C2 - lsrs r5, 1 -_0803F2C2: - cmp r3, 0 - bne _0803F254 - b _0803F312 -_0803F2C8: - mov r0, r12 - ldrb r3, [r0, 0x5] - movs r6, 0 -_0803F2CE: - cmp r3, 0 - beq _0803F312 - movs r0, 0x1 - ands r0, r3 - cmp r0, 0 - beq _0803F302 - cmp r6, 0 - blt _0803F302 - cmp r6, 0x6 - ble _0803F2E8 - cmp r6, 0x7 - beq _0803F2FC - b _0803F302 -_0803F2E8: - cmp r2, r4 - bne _0803F2F4 - adds r0, r3, 0 - ands r0, r5 - cmp r0, 0 - bne _0803F31A -_0803F2F4: - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - b _0803F302 -_0803F2FC: - cmp r2, r4 - bne _0803F302 - b _0803F200 -_0803F302: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - lsrs r3, 1 - cmp r2, r4 - bne _0803F2CE - lsrs r5, 1 - b _0803F2CE -_0803F312: - adds r2, 0x1 - cmp r2, 0x5 - bgt _0803F31A - b _0803F21E -_0803F31A: - adds r0, r7, 0 -_0803F31C: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_803F1DC - - thumb_func_start sub_803F324 -sub_803F324: @ 803F324 - push {lr} - ldr r2, _0803F358 @ =gUnknown_02024C08 - ldr r1, _0803F35C @ =gUnknown_02024E6C - ldrb r1, [r1] - strb r1, [r2] - ldr r3, _0803F360 @ =gUnknown_030041C0 - ldr r2, _0803F364 @ =gUnknown_08400F58 - ldr r1, _0803F368 @ =gUnknown_082082F8 - adds r0, r1 - ldrb r0, [r0] - lsls r0, 2 - adds r0, r2 - ldr r1, [r0] - adds r0, r3, 0 - bl StringCopy - ldr r0, _0803F36C @ =gUnknown_03004290 - ldr r1, _0803F370 @ =gUnknown_083FFDB3 - bl StringCopy - ldr r0, _0803F374 @ =gUnknown_083FFDD3 - bl get_battle_strings_ - pop {r0} - bx r0 - .align 2, 0 -_0803F358: .4byte gUnknown_02024C08 -_0803F35C: .4byte gUnknown_02024E6C -_0803F360: .4byte gUnknown_030041C0 -_0803F364: .4byte gUnknown_08400F58 -_0803F368: .4byte gUnknown_082082F8 -_0803F36C: .4byte gUnknown_03004290 -_0803F370: .4byte gUnknown_083FFDB3 -_0803F374: .4byte gUnknown_083FFDD3 - thumb_func_end sub_803F324 - - thumb_func_start sub_803F378 -sub_803F378: @ 803F378 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xAF - bne _0803F3C0 - ldr r0, _0803F3A8 @ =gMain - ldr r1, _0803F3AC @ =0x0000043d - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0803F3B8 - ldr r2, _0803F3B0 @ =gUnknown_02024E6C - ldrb r1, [r2] - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - ldr r1, _0803F3B4 @ =gUnknown_02024DF8 - adds r7, r0, r1 - b _0803F3CC - .align 2, 0 -_0803F3A8: .4byte gMain -_0803F3AC: .4byte 0x0000043d -_0803F3B0: .4byte gUnknown_02024E6C -_0803F3B4: .4byte gUnknown_02024DF8 -_0803F3B8: - ldr r7, _0803F3BC @ =gSaveBlock1 + 0x3676 - b _0803F3CA - .align 2, 0 -_0803F3BC: .4byte gSaveBlock1 + 0x3676 -_0803F3C0: - ldr r1, _0803F404 @ =gItemEffectTable - subs r0, 0xD - lsls r0, 2 - adds r0, r1 - ldr r7, [r0] -_0803F3CA: - ldr r2, _0803F408 @ =gUnknown_02024E6C -_0803F3CC: - ldr r1, _0803F40C @ =gUnknown_02024C0B - ldrb r0, [r2] - strb r0, [r1] - movs r5, 0 - ldr r0, _0803F410 @ =gUnknown_02024C07 - mov r8, r0 - movs r6, 0 -_0803F3DA: - adds r4, r7, r5 - ldrb r1, [r4] - movs r0, 0xF - ands r0, r1 - cmp r0, 0 - beq _0803F3EC - adds r0, r6, 0 - bl sub_803F324 -_0803F3EC: - ldrb r1, [r4] - movs r0, 0xF0 - ands r0, r1 - cmp r0, 0 - beq _0803F422 - cmp r5, 0 - beq _0803F414 - adds r0, r6, 0x1 - bl sub_803F324 - b _0803F422 - .align 2, 0 -_0803F404: .4byte gItemEffectTable -_0803F408: .4byte gUnknown_02024E6C -_0803F40C: .4byte gUnknown_02024C0B -_0803F410: .4byte gUnknown_02024C07 -_0803F414: - ldr r0, _0803F450 @ =gUnknown_02024E6C - ldrb r0, [r0] - mov r1, r8 - strb r0, [r1] - ldr r0, _0803F454 @ =gUnknown_083FEE92 - bl get_battle_strings_ -_0803F422: - adds r6, 0x2 - adds r5, 0x1 - cmp r5, 0x2 - ble _0803F3DA - ldrb r1, [r7, 0x3] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0803F442 - ldr r1, _0803F458 @ =gUnknown_02024C07 - ldr r0, _0803F450 @ =gUnknown_02024E6C - ldrb r0, [r0] - strb r0, [r1] - ldr r0, _0803F45C @ =gUnknown_083FEE5D - bl get_battle_strings_ -_0803F442: - ldr r0, _0803F460 @ =gUnknown_020238CC - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0803F450: .4byte gUnknown_02024E6C -_0803F454: .4byte gUnknown_083FEE92 -_0803F458: .4byte gUnknown_02024C07 -_0803F45C: .4byte gUnknown_083FEE5D -_0803F460: .4byte gUnknown_020238CC - thumb_func_end sub_803F378 - - thumb_func_start GetNature -GetNature: @ 803F464 - push {lr} - movs r1, 0 - movs r2, 0 - bl GetMonData - movs r1, 0x19 - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end GetNature - - thumb_func_start GetNatureFromPersonality -GetNatureFromPersonality: @ 803F47C - push {lr} - movs r1, 0x19 - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end GetNatureFromPersonality - - thumb_func_start GetEvolutionTargetSpecies -GetEvolutionTargetSpecies: @ 803F48C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - mov r8, r0 - lsls r1, 24 - lsrs r5, r1, 24 - lsls r2, 16 - lsrs r2, 16 - mov r9, r2 - movs r0, 0 - mov r10, r0 - mov r0, r8 - movs r1, 0xB - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r7, r0, 16 - mov r0, r8 - movs r1, 0xC - movs r2, 0 - bl GetMonData - mov r1, sp - strh r0, [r1] - mov r0, r8 - movs r1, 0 - movs r2, 0 - bl GetMonData - adds r4, r0, 0 - mov r0, r8 - movs r1, 0x17 - movs r2, 0 - bl GetMonData - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0xC] - lsrs r4, 16 - str r4, [sp, 0x10] - mov r0, sp - ldrh r0, [r0] - cmp r0, 0xAF - bne _0803F500 - ldr r0, _0803F4F8 @ =gSaveBlock1 - ldr r1, _0803F4FC @ =0x00003688 - adds r0, r1 - ldrb r0, [r0] - b _0803F508 - .align 2, 0 -_0803F4F8: .4byte gSaveBlock1 -_0803F4FC: .4byte 0x00003688 -_0803F500: - bl ItemId_GetHoldEffect - lsls r0, 24 - lsrs r0, 24 -_0803F508: - cmp r0, 0x26 - bne _0803F514 - cmp r5, 0x3 - beq _0803F514 - movs r0, 0 - b _0803F7A4 -_0803F514: - cmp r5, 0x1 - bne _0803F51A - b _0803F734 -_0803F51A: - cmp r5, 0x1 - bgt _0803F524 - cmp r5, 0 - beq _0803F538 - b _0803F7A2 -_0803F524: - cmp r5, 0x3 - ble _0803F52A - b _0803F7A2 -_0803F52A: - movs r2, 0 - str r2, [sp, 0x4] - ldr r3, _0803F534 @ =gEvolutionTable - lsls r6, r7, 2 - b _0803F782 - .align 2, 0 -_0803F534: .4byte gEvolutionTable -_0803F538: - mov r0, r8 - movs r1, 0x38 - movs r2, 0 - bl GetMonData - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - mov r0, r8 - movs r1, 0x20 - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - str r0, [sp, 0x8] - movs r0, 0 - str r0, [sp, 0x4] - lsls r6, r7, 2 -_0803F55E: - ldr r1, _0803F584 @ =gEvolutionTable - ldr r0, [sp, 0x4] - lsls r2, r0, 3 - adds r0, r6, r7 - lsls r0, 3 - adds r0, r2, r0 - adds r0, r1 - ldrh r0, [r0] - subs r0, 0x1 - adds r3, r1, 0 - adds r4, r2, 0 - cmp r0, 0xE - bls _0803F57A - b _0803F726 -_0803F57A: - lsls r0, 2 - ldr r1, _0803F588 @ =_0803F58C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0803F584: .4byte gEvolutionTable -_0803F588: .4byte _0803F58C - .align 2, 0 -_0803F58C: - .4byte _0803F5C8 - .4byte _0803F5DA - .4byte _0803F5FC - .4byte _0803F62C - .4byte _0803F726 - .4byte _0803F726 - .4byte _0803F726 - .4byte _0803F63C - .4byte _0803F666 - .4byte _0803F690 - .4byte _0803F6BE - .4byte _0803F6DE - .4byte _0803F702 - .4byte _0803F726 - .4byte _0803F712 -_0803F5C8: - ldr r1, [sp, 0x8] - cmp r1, 0xDB - bhi _0803F5D0 - b _0803F726 -_0803F5D0: - adds r0, r6, r7 - lsls r0, 3 - adds r0, r4, r0 - adds r0, r3 - b _0803F61C -_0803F5DA: - bl RtcCalcLocalTime - ldr r0, _0803F5F8 @ =gLocalTime - ldrb r0, [r0, 0x2] - subs r0, 0xC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xB - bls _0803F5EE - b _0803F726 -_0803F5EE: - ldr r2, [sp, 0x8] - cmp r2, 0xDB - bhi _0803F5F6 - b _0803F726 -_0803F5F6: - b _0803F612 - .align 2, 0 -_0803F5F8: .4byte gLocalTime -_0803F5FC: - bl RtcCalcLocalTime - ldr r0, _0803F624 @ =gLocalTime - ldrb r0, [r0, 0x2] - cmp r0, 0xB - bls _0803F60A - b _0803F726 -_0803F60A: - ldr r0, [sp, 0x8] - cmp r0, 0xDB - bhi _0803F612 - b _0803F726 -_0803F612: - ldr r1, _0803F628 @ =gEvolutionTable - adds r0, r6, r7 - lsls r0, 3 - adds r0, r4, r0 - adds r0, r1 -_0803F61C: - ldrh r0, [r0, 0x4] - mov r10, r0 - b _0803F726 - .align 2, 0 -_0803F624: .4byte gLocalTime -_0803F628: .4byte gEvolutionTable -_0803F62C: - adds r0, r6, r7 - lsls r0, 3 - adds r0, r4, r0 - adds r1, r0, r3 - ldrh r0, [r1, 0x2] - cmp r0, r9 - bhi _0803F726 - b _0803F722 -_0803F63C: - adds r0, r6, r7 - lsls r0, 3 - adds r0, r4, r0 - adds r5, r0, r3 - ldrh r0, [r5, 0x2] - cmp r0, r9 - bhi _0803F726 - mov r0, r8 - movs r1, 0x3B - movs r2, 0 - bl GetMonData - adds r4, r0, 0 - mov r0, r8 - movs r1, 0x3C - movs r2, 0 - bl GetMonData - cmp r4, r0 - bls _0803F726 - b _0803F6B8 -_0803F666: - adds r0, r6, r7 - lsls r0, 3 - adds r0, r4, r0 - adds r5, r0, r3 - ldrh r0, [r5, 0x2] - cmp r0, r9 - bhi _0803F726 - mov r0, r8 - movs r1, 0x3B - movs r2, 0 - bl GetMonData - adds r4, r0, 0 - mov r0, r8 - movs r1, 0x3C - movs r2, 0 - bl GetMonData - cmp r4, r0 - bne _0803F726 - b _0803F6B8 -_0803F690: - adds r0, r6, r7 - lsls r0, 3 - adds r0, r4, r0 - adds r5, r0, r3 - ldrh r0, [r5, 0x2] - cmp r0, r9 - bhi _0803F726 - mov r0, r8 - movs r1, 0x3B - movs r2, 0 - bl GetMonData - adds r4, r0, 0 - mov r0, r8 - movs r1, 0x3C - movs r2, 0 - bl GetMonData - cmp r4, r0 - bcs _0803F726 -_0803F6B8: - ldrh r5, [r5, 0x4] - mov r10, r5 - b _0803F726 -_0803F6BE: - adds r0, r6, r7 - lsls r0, 3 - adds r0, r4, r0 - adds r4, r0, r3 - ldrh r0, [r4, 0x2] - cmp r0, r9 - bhi _0803F726 - ldr r0, [sp, 0x10] - movs r1, 0xA - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x4 - bhi _0803F726 - b _0803F6FC -_0803F6DE: - adds r0, r6, r7 - lsls r0, 3 - adds r0, r4, r0 - adds r4, r0, r3 - ldrh r0, [r4, 0x2] - cmp r0, r9 - bhi _0803F726 - ldr r0, [sp, 0x10] - movs r1, 0xA - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x4 - bls _0803F726 -_0803F6FC: - ldrh r4, [r4, 0x4] - mov r10, r4 - b _0803F726 -_0803F702: - adds r0, r6, r7 - lsls r0, 3 - adds r0, r4, r0 - adds r1, r0, r3 - ldrh r0, [r1, 0x2] - cmp r0, r9 - bhi _0803F726 - b _0803F722 -_0803F712: - adds r0, r6, r7 - lsls r0, 3 - adds r0, r4, r0 - adds r1, r0, r3 - ldrh r0, [r1, 0x2] - ldr r2, [sp, 0xC] - cmp r0, r2 - bhi _0803F726 -_0803F722: - ldrh r1, [r1, 0x4] - mov r10, r1 -_0803F726: - ldr r0, [sp, 0x4] - adds r0, 0x1 - str r0, [sp, 0x4] - cmp r0, 0x4 - bgt _0803F732 - b _0803F55E -_0803F732: - b _0803F7A2 -_0803F734: - lsls r6, r7, 2 - ldr r1, _0803F778 @ =gEvolutionTable - adds r0, r6, r7 - lsls r0, 3 - adds r4, r0, r1 - mov r5, sp - movs r1, 0x4 - str r1, [sp, 0x4] -_0803F744: - ldrh r0, [r4] - cmp r0, 0x5 - beq _0803F764 - cmp r0, 0x6 - bne _0803F768 - ldrh r0, [r4, 0x2] - ldrh r1, [r5] - cmp r0, r1 - bne _0803F768 - movs r0, 0 - strh r0, [r5] - mov r0, r8 - movs r1, 0xC - mov r2, sp - bl SetMonData -_0803F764: - ldrh r2, [r4, 0x4] - mov r10, r2 -_0803F768: - adds r4, 0x8 - ldr r0, [sp, 0x4] - subs r0, 0x1 - str r0, [sp, 0x4] - cmp r0, 0 - bge _0803F744 - b _0803F7A2 - .align 2, 0 -_0803F778: .4byte gEvolutionTable -_0803F77C: - ldrh r1, [r1, 0x4] - mov r10, r1 - b _0803F7A2 -_0803F782: - adds r0, r6, r7 - ldr r1, [sp, 0x4] - adds r0, r1 - lsls r0, 3 - adds r1, r0, r3 - ldrh r0, [r1] - cmp r0, 0x7 - bne _0803F798 - ldrh r0, [r1, 0x2] - cmp r0, r9 - beq _0803F77C -_0803F798: - ldr r2, [sp, 0x4] - adds r2, 0x1 - str r2, [sp, 0x4] - cmp r2, 0x4 - ble _0803F782 -_0803F7A2: - mov r0, r10 -_0803F7A4: - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end GetEvolutionTargetSpecies - - thumb_func_start HoennPokedexNumToSpecies -HoennPokedexNumToSpecies: @ 803F7B4 - push {r4,lr} - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0 - beq _0803F7F8 - movs r1, 0 - ldr r3, _0803F7F0 @ =gSpeciesToHoennPokedexNum - ldrh r0, [r3] - cmp r0, r2 - beq _0803F7E0 - movs r4, 0xCD - lsls r4, 1 -_0803F7CC: - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, r4 - bhi _0803F7E0 - lsls r0, r1, 1 - adds r0, r3 - ldrh r0, [r0] - cmp r0, r2 - bne _0803F7CC -_0803F7E0: - ldr r0, _0803F7F4 @ =0x0000019b - cmp r1, r0 - beq _0803F7F8 - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r0, 16 - b _0803F7FA - .align 2, 0 -_0803F7F0: .4byte gSpeciesToHoennPokedexNum -_0803F7F4: .4byte 0x0000019b -_0803F7F8: - movs r0, 0 -_0803F7FA: - pop {r4} - pop {r1} - bx r1 - thumb_func_end HoennPokedexNumToSpecies - - thumb_func_start NationalPokedexNumToSpecies -NationalPokedexNumToSpecies: @ 803F800 - push {r4,lr} - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0 - beq _0803F844 - movs r1, 0 - ldr r3, _0803F83C @ =gSpeciesToNationalPokedexNum - ldrh r0, [r3] - cmp r0, r2 - beq _0803F82C - movs r4, 0xCD - lsls r4, 1 -_0803F818: - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, r4 - bhi _0803F82C - lsls r0, r1, 1 - adds r0, r3 - ldrh r0, [r0] - cmp r0, r2 - bne _0803F818 -_0803F82C: - ldr r0, _0803F840 @ =0x0000019b - cmp r1, r0 - beq _0803F844 - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r0, 16 - b _0803F846 - .align 2, 0 -_0803F83C: .4byte gSpeciesToNationalPokedexNum -_0803F840: .4byte 0x0000019b -_0803F844: - movs r0, 0 -_0803F846: - pop {r4} - pop {r1} - bx r1 - thumb_func_end NationalPokedexNumToSpecies - - thumb_func_start NationalToHoennOrder -NationalToHoennOrder: @ 803F84C - push {r4,lr} - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0 - beq _0803F890 - movs r1, 0 - ldr r3, _0803F888 @ =gHoennToNationalOrder - ldrh r0, [r3] - cmp r0, r2 - beq _0803F878 - movs r4, 0xCD - lsls r4, 1 -_0803F864: - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, r4 - bhi _0803F878 - lsls r0, r1, 1 - adds r0, r3 - ldrh r0, [r0] - cmp r0, r2 - bne _0803F864 -_0803F878: - ldr r0, _0803F88C @ =0x0000019b - cmp r1, r0 - beq _0803F890 - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r0, 16 - b _0803F892 - .align 2, 0 -_0803F888: .4byte gHoennToNationalOrder -_0803F88C: .4byte 0x0000019b -_0803F890: - movs r0, 0 -_0803F892: - pop {r4} - pop {r1} - bx r1 - thumb_func_end NationalToHoennOrder - - thumb_func_start SpeciesToNationalPokedexNum -SpeciesToNationalPokedexNum: @ 803F898 - push {lr} - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - beq _0803F8B4 - ldr r0, _0803F8B0 @ =gSpeciesToNationalPokedexNum - subs r1, 0x1 - lsls r1, 1 - adds r1, r0 - ldrh r0, [r1] - b _0803F8B6 - .align 2, 0 -_0803F8B0: .4byte gSpeciesToNationalPokedexNum -_0803F8B4: - movs r0, 0 -_0803F8B6: - pop {r1} - bx r1 - thumb_func_end SpeciesToNationalPokedexNum - - thumb_func_start SpeciesToHoennPokedexNum -SpeciesToHoennPokedexNum: @ 803F8BC - push {lr} - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - beq _0803F8D8 - ldr r0, _0803F8D4 @ =gSpeciesToHoennPokedexNum - subs r1, 0x1 - lsls r1, 1 - adds r1, r0 - ldrh r0, [r1] - b _0803F8DA - .align 2, 0 -_0803F8D4: .4byte gSpeciesToHoennPokedexNum -_0803F8D8: - movs r0, 0 -_0803F8DA: - pop {r1} - bx r1 - thumb_func_end SpeciesToHoennPokedexNum - - thumb_func_start HoennToNationalOrder -HoennToNationalOrder: @ 803F8E0 - push {lr} - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0 - beq _0803F8FC - ldr r0, _0803F8F8 @ =gHoennToNationalOrder - subs r1, 0x1 - lsls r1, 1 - adds r1, r0 - ldrh r0, [r1] - b _0803F8FE - .align 2, 0 -_0803F8F8: .4byte gHoennToNationalOrder -_0803F8FC: - movs r0, 0 -_0803F8FE: - pop {r1} - bx r1 - thumb_func_end HoennToNationalOrder - - thumb_func_start SpeciesToCryId -SpeciesToCryId: @ 803F904 - push {lr} - lsls r0, 16 - lsrs r0, 16 - adds r1, r0, 0 - cmp r0, 0xFA - bls _0803F932 - ldr r0, _0803F924 @ =0x00000113 - cmp r1, r0 - bls _0803F930 - ldr r0, _0803F928 @ =gSpeciesIdToCryId - ldr r2, _0803F92C @ =0xfffffeec - adds r1, r2 - lsls r1, 1 - adds r1, r0 - ldrh r0, [r1] - b _0803F932 - .align 2, 0 -_0803F924: .4byte 0x00000113 -_0803F928: .4byte gSpeciesIdToCryId -_0803F92C: .4byte 0xfffffeec -_0803F930: - movs r0, 0xC8 -_0803F932: - pop {r1} - bx r1 - thumb_func_end SpeciesToCryId - - thumb_func_start unref_sub_803F938 -unref_sub_803F938: @ 803F938 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - adds r5, r1, 0 - mov r10, r2 - lsls r0, 16 - movs r1, 0x9A - lsls r1, 17 - cmp r0, r1 - bne _0803FA42 - ldr r1, _0803FA04 @ =gUnknown_081FAF4C - ldr r0, [r1] - cmp r10, r0 - beq _0803FA42 - ldr r0, [r1, 0x8] - cmp r10, r0 - beq _0803FA42 - movs r6, 0 -_0803F962: - lsls r3, r6, 3 - adds r3, r6 - lsls r3, 2 - ldr r0, _0803FA08 @ =gSpindaSpotGraphics - adds r4, r3, r0 - ldrb r1, [r4] - adds r1, 0xF8 - movs r2, 0xF - adds r0, r5, 0 - ands r0, r2 - adds r1, r0 - lsls r1, 24 - lsrs r1, 24 - mov r12, r1 - ldrb r1, [r4, 0x1] - adds r1, 0xF8 - movs r0, 0xF0 - ands r0, r5 - lsrs r0, 4 - adds r1, r0 - lsls r1, 24 - lsrs r1, 24 - movs r2, 0 - lsrs r5, 8 - str r5, [sp, 0x4] - adds r6, 0x1 - str r6, [sp] - mov r9, r3 -_0803F99A: - lsls r0, r2, 1 - add r0, r9 - ldr r3, _0803FA0C @ =gSpindaSpotGraphics + 0x2 - adds r0, r3 - ldrh r3, [r0] - mov r4, r12 - adds r0, r4, 0 - adds r0, 0x10 - adds r7, r1, 0x1 - adds r2, 0x1 - mov r8, r2 - cmp r4, r0 - bge _0803FA30 - lsrs r0, r1, 3 - lsls r6, r0, 8 - movs r0, 0x7 - ands r1, r0 - lsls r5, r1, 2 -_0803F9BE: - adds r0, r4, 0 - cmp r4, 0 - bge _0803F9C6 - adds r0, r4, 0x7 -_0803F9C6: - asrs r0, 3 - lsls r2, r0, 5 - add r2, r10 - lsls r0, 3 - subs r0, r4, r0 - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - adds r2, r0 - adds r2, r6 - adds r2, r5 - movs r1, 0x1 - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - beq _0803FA24 - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0 - beq _0803FA10 - ldrb r1, [r2] - movs r0, 0xF0 - ands r0, r1 - subs r0, 0x10 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x20 - bhi _0803FA24 - adds r0, r1, 0 - adds r0, 0x40 - b _0803FA22 - .align 2, 0 -_0803FA04: .4byte gUnknown_081FAF4C -_0803FA08: .4byte gSpindaSpotGraphics -_0803FA0C: .4byte gSpindaSpotGraphics + 0x2 -_0803FA10: - ldrb r1, [r2] - movs r0, 0xF - ands r0, r1 - subs r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bhi _0803FA24 - adds r0, r1, 0x4 -_0803FA22: - strb r0, [r2] -_0803FA24: - asrs r3, 1 - adds r4, 0x1 - mov r0, r12 - adds r0, 0x10 - cmp r4, r0 - blt _0803F9BE -_0803FA30: - lsls r0, r7, 24 - lsrs r1, r0, 24 - mov r2, r8 - cmp r2, 0xF - ble _0803F99A - ldr r5, [sp, 0x4] - ldr r6, [sp] - cmp r6, 0x3 - ble _0803F962 -_0803FA42: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end unref_sub_803F938 - - thumb_func_start DrawSpindaSpots -DrawSpindaSpots: @ 803FA54 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - adds r5, r1, 0 - str r2, [sp] - lsls r0, 16 - lsls r3, 24 - lsrs r3, 24 - movs r1, 0x9A - lsls r1, 17 - cmp r0, r1 - bne _0803FB56 - cmp r3, 0 - beq _0803FB56 - movs r6, 0 -_0803FA78: - lsls r3, r6, 3 - adds r3, r6 - lsls r3, 2 - ldr r0, _0803FB1C @ =gSpindaSpotGraphics - adds r4, r3, r0 - ldrb r1, [r4] - adds r1, 0xF8 - movs r2, 0xF - adds r0, r5, 0 - ands r0, r2 - adds r1, r0 - lsls r1, 24 - lsrs r1, 24 - mov r12, r1 - ldrb r1, [r4, 0x1] - adds r1, 0xF8 - movs r0, 0xF0 - ands r0, r5 - lsrs r0, 4 - adds r1, r0 - lsls r1, 24 - lsrs r1, 24 - movs r2, 0 - lsrs r5, 8 - str r5, [sp, 0x4] - adds r6, 0x1 - mov r10, r6 - mov r9, r3 -_0803FAB0: - lsls r0, r2, 1 - add r0, r9 - ldr r3, _0803FB20 @ =gSpindaSpotGraphics + 0x2 - adds r0, r3 - ldrh r3, [r0] - mov r4, r12 - adds r0, r4, 0 - adds r0, 0x10 - adds r7, r1, 0x1 - adds r2, 0x1 - mov r8, r2 - cmp r4, r0 - bge _0803FB44 - lsrs r0, r1, 3 - lsls r6, r0, 8 - movs r0, 0x7 - ands r1, r0 - lsls r5, r1, 2 -_0803FAD4: - adds r0, r4, 0 - cmp r4, 0 - bge _0803FADC - adds r0, r4, 0x7 -_0803FADC: - asrs r0, 3 - lsls r2, r0, 5 - ldr r1, [sp] - adds r2, r1, r2 - lsls r0, 3 - subs r0, r4, r0 - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - adds r2, r0 - adds r2, r6 - adds r2, r5 - movs r1, 0x1 - adds r0, r3, 0 - ands r0, r1 - cmp r0, 0 - beq _0803FB38 - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0 - beq _0803FB24 - ldrb r1, [r2] - movs r0, 0xF0 - ands r0, r1 - subs r0, 0x10 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x20 - bhi _0803FB38 - adds r0, r1, 0 - adds r0, 0x40 - b _0803FB36 - .align 2, 0 -_0803FB1C: .4byte gSpindaSpotGraphics -_0803FB20: .4byte gSpindaSpotGraphics + 0x2 -_0803FB24: - ldrb r1, [r2] - movs r0, 0xF - ands r0, r1 - subs r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bhi _0803FB38 - adds r0, r1, 0x4 -_0803FB36: - strb r0, [r2] -_0803FB38: - asrs r3, 1 - adds r4, 0x1 - mov r0, r12 - adds r0, 0x10 - cmp r4, r0 - blt _0803FAD4 -_0803FB44: - lsls r0, r7, 24 - lsrs r1, r0, 24 - mov r2, r8 - cmp r2, 0xF - ble _0803FAB0 - ldr r5, [sp, 0x4] - mov r6, r10 - cmp r6, 0x3 - ble _0803FA78 -_0803FB56: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end DrawSpindaSpots - - .if REVISION >= 1 - thumb_func_start sub_803FB68 -sub_803FB68: @ 803FB68 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - adds r5, r0, 0 - lsls r1, 16 - lsrs r7, r1, 16 - lsls r2, 16 - lsrs r2, 16 - mov r8, r2 - ldr r0, =gStringVar1 - mov r9, r0 - adds r0, r5, 0 - movs r1, 0x2 - mov r2, r9 - bl GetMonData - mov r4, sp - adds r0, r5, 0 - movs r1, 0x3 - mov r2, sp - bl GetMonData - strb r0, [r4, 0x0] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _0803FBC4 - movs r6, 0xB - adds r0, r7, 0 - muls r0, r6 - ldr r4, =gSpeciesNames - adds r0, r4 - mov r1, r9 - bl StringCompareWithoutExtCtrlCodes - cmp r0, 0 - bne _0803FBC4 - mov r2, r8 - muls r2, r6 - adds r2, r4 - adds r0, r5, 0 - movs r1, 0x2 - bl SetMonData -_0803FBC4: - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_803FB68 - .else - thumb_func_start sub_803FB68 -sub_803FB68: @ 803FB68 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r7, r0, 0 - adds r4, r1, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r2, 16 - lsrs r2, 16 - mov r8, r2 - ldr r5, _0803FBB4 @ =gStringVar1 - movs r1, 0x2 - adds r2, r5, 0 - bl GetMonData - movs r6, 0xB - adds r0, r4, 0 - muls r0, r6 - ldr r4, _0803FBB8 @ =gSpeciesNames - adds r0, r4 - adds r1, r5, 0 - bl StringCompareWithoutExtCtrlCodes - cmp r0, 0 - bne _0803FBA8 - mov r2, r8 - muls r2, r6 - adds r2, r4 - adds r0, r7, 0 - movs r1, 0x2 - bl SetMonData -_0803FBA8: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0803FBB4: .4byte gStringVar1 -_0803FBB8: .4byte gSpeciesNames - thumb_func_end sub_803FB68 - .endif - - thumb_func_start sub_803FBBC -sub_803FBBC: @ 803FBBC - push {r4,r5,lr} - movs r5, 0 - ldr r4, _0803FBE4 @ =gLinkPlayers - bl GetMultiplayerId - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r4 - ldrh r0, [r1, 0x18] - cmp r0, 0x2 - bgt _0803FBE8 - cmp r0, 0x1 - bge _0803FBF0 - cmp r0, 0 - beq _0803FBEC - b _0803FBF2 - .align 2, 0 -_0803FBE4: .4byte gLinkPlayers -_0803FBE8: - cmp r0, 0x3 - bne _0803FBF2 -_0803FBEC: - movs r5, 0 - b _0803FBF2 -_0803FBF0: - movs r5, 0x1 -_0803FBF2: - adds r0, r5, 0 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_803FBBC - - thumb_func_start sub_803FBFC -sub_803FBFC: @ 803FBFC - push {lr} - lsls r0, 24 - lsrs r0, 24 - movs r3, 0 - ldr r2, _0803FC20 @ =gLinkPlayers - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r2 - ldrh r0, [r1, 0x18] - cmp r0, 0x2 - bgt _0803FC24 - cmp r0, 0x1 - bge _0803FC2C - cmp r0, 0 - beq _0803FC28 - b _0803FC2E - .align 2, 0 -_0803FC20: .4byte gLinkPlayers -_0803FC24: - cmp r0, 0x3 - bne _0803FC2E -_0803FC28: - movs r3, 0 - b _0803FC2E -_0803FC2C: - movs r3, 0x1 -_0803FC2E: - adds r0, r3, 0 - pop {r1} - bx r1 - thumb_func_end sub_803FBFC - - thumb_func_start sub_803FC34 -sub_803FC34: @ 803FC34 - push {lr} - lsls r0, 16 - lsrs r3, r0, 16 - movs r2, 0 - ldr r1, _0803FC40 @ =gLinkPlayers - b _0803FC4C - .align 2, 0 -_0803FC40: .4byte gLinkPlayers -_0803FC44: - adds r1, 0x1C - adds r2, 0x1 - cmp r2, 0x3 - bgt _0803FC52 -_0803FC4C: - ldrh r0, [r1, 0x18] - cmp r0, r3 - bne _0803FC44 -_0803FC52: - adds r0, r2, 0 - pop {r1} - bx r1 - thumb_func_end sub_803FC34 - - thumb_func_start sub_803FC58 -sub_803FC58: @ 803FC58 - lsls r0, 16 - lsrs r0, 16 - ldr r2, _0803FC70 @ =gTrainers - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldrb r1, [r1, 0x2] - movs r0, 0x7F - ands r0, r1 - bx lr - .align 2, 0 -_0803FC70: .4byte gTrainers - thumb_func_end sub_803FC58 - - thumb_func_start nature_stat_mod -nature_stat_mod: @ 803FC74 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 16 - lsrs r3, r1, 16 - lsls r2, 24 - lsrs r5, r2, 24 - movs r0, 0xFF - lsls r0, 24 - adds r2, r0 - lsrs r2, 24 - cmp r2, 0x4 - bls _0803FC92 - adds r0, r3, 0 - b _0803FCCE -_0803FC92: - ldr r0, _0803FCB4 @ =gNatureStatTable - lsls r1, r4, 2 - adds r1, r4 - subs r1, 0x1 - adds r1, r5, r1 - adds r1, r0 - ldrb r1, [r1] - lsls r1, 24 - asrs r1, 24 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _0803FCB8 - cmp r1, 0x1 - bne _0803FCCC - movs r0, 0x6E - b _0803FCBA - .align 2, 0 -_0803FCB4: .4byte gNatureStatTable -_0803FCB8: - movs r0, 0x5A -_0803FCBA: - muls r0, r3 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __udivsi3 - lsls r0, 16 - lsrs r0, 16 - b _0803FCCE -_0803FCCC: - adds r0, r3, 0 -_0803FCCE: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end nature_stat_mod - - thumb_func_start AdjustFriendship -AdjustFriendship: @ 803FCD4 - push {r4-r7,lr} - sub sp, 0x4 - adds r7, r0, 0 - lsls r1, 24 - lsrs r5, r1, 24 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r6, r0, 16 - adds r0, r7, 0 - movs r1, 0xC - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xAF - bne _0803FD34 - ldr r0, _0803FD14 @ =gMain - ldr r1, _0803FD18 @ =0x0000043d - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0803FD20 - ldr r0, _0803FD1C @ =gEnigmaBerries - ldrb r4, [r0, 0x7] - b _0803FD3C - .align 2, 0 -_0803FD14: .4byte gMain -_0803FD18: .4byte 0x0000043d -_0803FD1C: .4byte gEnigmaBerries -_0803FD20: - ldr r0, _0803FD2C @ =gSaveBlock1 - ldr r1, _0803FD30 @ =0x00003688 - adds r0, r1 - ldrb r4, [r0] - b _0803FD3C - .align 2, 0 -_0803FD2C: .4byte gSaveBlock1 -_0803FD30: .4byte 0x00003688 -_0803FD34: - bl ItemId_GetHoldEffect - lsls r0, 24 - lsrs r4, r0, 24 -_0803FD3C: - cmp r6, 0 - bne _0803FD42 - b _0803FE56 -_0803FD42: - movs r0, 0xCE - lsls r0, 1 - cmp r6, r0 - bne _0803FD4C - b _0803FE56 -_0803FD4C: - movs r6, 0 - adds r0, r7, 0 - movs r1, 0x20 - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - mov r1, sp - strh r0, [r1] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x63 - ble _0803FD6A - movs r6, 0x1 -_0803FD6A: - cmp r0, 0xC7 - ble _0803FD74 - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 -_0803FD74: - cmp r5, 0x5 - bne _0803FD84 - bl Random - movs r1, 0x1 - ands r1, r0 - cmp r1, 0 - bne _0803FE56 -_0803FD84: - cmp r5, 0x3 - bne _0803FDB4 - ldr r0, _0803FE60 @ =gUnknown_020239F8 - ldrh r1, [r0] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _0803FE56 - ldr r2, _0803FE64 @ =gTrainers - ldr r0, _0803FE68 @ =gTrainerBattleOpponent - ldrh r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrb r1, [r0, 0x1] - adds r0, r1, 0 - subs r0, 0x18 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bls _0803FDB4 - cmp r1, 0x20 - bne _0803FE56 -_0803FDB4: - ldr r1, _0803FE6C @ =gUnknown_082082FE - lsls r0, r5, 1 - adds r0, r5 - adds r0, r6, r0 - adds r0, r1 - ldrb r2, [r0] - movs r1, 0 - ldrsb r1, [r0, r1] - cmp r1, 0 - ble _0803FDDA - cmp r4, 0x1B - bne _0803FDDA - movs r0, 0x96 - muls r0, r1 - movs r1, 0x64 - bl __divsi3 - lsls r0, 24 - lsrs r2, r0, 24 -_0803FDDA: - lsls r2, 24 - asrs r2, 24 - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - adds r0, r2 - mov r1, sp - strh r0, [r1] - cmp r2, 0 - ble _0803FE2C - adds r0, r7, 0 - movs r1, 0x26 - movs r2, 0 - bl GetMonData - cmp r0, 0xB - bne _0803FE08 - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - adds r0, 0x1 - mov r1, sp - strh r0, [r1] -_0803FE08: - adds r0, r7, 0 - movs r1, 0x23 - movs r2, 0 - bl GetMonData - adds r4, r0, 0 - bl sav1_map_get_name - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bne _0803FE2C - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - adds r0, 0x1 - mov r1, sp - strh r0, [r1] -_0803FE2C: - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bge _0803FE3C - movs r1, 0 - mov r0, sp - strh r1, [r0] -_0803FE3C: - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0xFF - ble _0803FE4C - movs r1, 0xFF - mov r0, sp - strh r1, [r0] -_0803FE4C: - adds r0, r7, 0 - movs r1, 0x20 - mov r2, sp - bl SetMonData -_0803FE56: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0803FE60: .4byte gUnknown_020239F8 -_0803FE64: .4byte gTrainers -_0803FE68: .4byte gTrainerBattleOpponent -_0803FE6C: .4byte gUnknown_082082FE - thumb_func_end AdjustFriendship - - thumb_func_start MonGainEVs -MonGainEVs: @ 803FE70 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - mov r8, r0 - lsls r1, 16 - lsrs r5, r1, 16 - movs r4, 0 - movs r7, 0 - movs r6, 0 -_0803FE84: - adds r1, r6, 0 - adds r1, 0x1A - mov r0, r8 - movs r2, 0 - bl GetMonData - mov r2, sp - adds r1, r2, r6 - strb r0, [r1] - ldrb r0, [r1] - adds r0, r7, r0 - lsls r0, 16 - lsrs r7, r0, 16 - adds r6, 0x1 - cmp r6, 0x5 - ble _0803FE84 - movs r6, 0 - b _08040006 -_0803FEA8: - mov r0, r8 - movs r1, 0 - bl CheckPartyHasHadPokerus - lsls r0, 24 - movs r2, 0x1 - cmp r0, 0 - beq _0803FEBA - movs r2, 0x2 -_0803FEBA: - cmp r6, 0x5 - bhi _0803FF5C - lsls r0, r6, 2 - ldr r1, _0803FEC8 @ =_0803FECC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0803FEC8: .4byte _0803FECC - .align 2, 0 -_0803FECC: - .4byte _0803FEE4 - .4byte _0803FEF8 - .4byte _0803FF0C - .4byte _0803FF20 - .4byte _0803FF34 - .4byte _0803FF48 -_0803FEE4: - ldr r0, _0803FEF4 @ =gBaseStats - lsls r1, r5, 3 - subs r1, r5 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0xA] - lsls r0, 30 - b _0803FF56 - .align 2, 0 -_0803FEF4: .4byte gBaseStats -_0803FEF8: - ldr r0, _0803FF08 @ =gBaseStats - lsls r1, r5, 3 - subs r1, r5 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0xA] - b _0803FF54 - .align 2, 0 -_0803FF08: .4byte gBaseStats -_0803FF0C: - ldr r0, _0803FF1C @ =gBaseStats - lsls r1, r5, 3 - subs r1, r5 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0xA] - lsls r0, 26 - b _0803FF56 - .align 2, 0 -_0803FF1C: .4byte gBaseStats -_0803FF20: - ldr r0, _0803FF30 @ =gBaseStats - lsls r1, r5, 3 - subs r1, r5 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0xA] - lsrs r0, 6 - b _0803FF58 - .align 2, 0 -_0803FF30: .4byte gBaseStats -_0803FF34: - ldr r0, _0803FF44 @ =gBaseStats - lsls r1, r5, 3 - subs r1, r5 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0xB] - lsls r0, 30 - b _0803FF56 - .align 2, 0 -_0803FF44: .4byte gBaseStats -_0803FF48: - ldr r0, _0803FF84 @ =gBaseStats - lsls r1, r5, 3 - subs r1, r5 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0xB] -_0803FF54: - lsls r0, 28 -_0803FF56: - lsrs r0, 30 -_0803FF58: - adds r4, r0, 0 - muls r4, r2 -_0803FF5C: - mov r0, r8 - movs r1, 0xC - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xAF - bne _0803FFA8 - ldr r0, _0803FF88 @ =gMain - ldr r1, _0803FF8C @ =0x0000043d - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0803FF94 - ldr r0, _0803FF90 @ =gEnigmaBerries - ldrb r0, [r0, 0x7] - b _0803FFB0 - .align 2, 0 -_0803FF84: .4byte gBaseStats -_0803FF88: .4byte gMain -_0803FF8C: .4byte 0x0000043d -_0803FF90: .4byte gEnigmaBerries -_0803FF94: - ldr r0, _0803FFA0 @ =gSaveBlock1 - ldr r2, _0803FFA4 @ =0x00003688 - adds r0, r2 - ldrb r0, [r0] - b _0803FFB0 - .align 2, 0 -_0803FFA0: .4byte gSaveBlock1 -_0803FFA4: .4byte 0x00003688 -_0803FFA8: - bl ItemId_GetHoldEffect - lsls r0, 24 - lsrs r0, 24 -_0803FFB0: - cmp r0, 0x18 - bne _0803FFB8 - lsls r0, r4, 17 - lsrs r4, r0, 16 -_0803FFB8: - lsls r0, r4, 16 - asrs r2, r0, 16 - adds r1, r7, r2 - movs r0, 0xFF - lsls r0, 1 - cmp r1, r0 - ble _0803FFD0 - adds r0, r2, r0 - adds r1, r7, r4 - subs r0, r1 - lsls r0, 16 - lsrs r4, r0, 16 -_0803FFD0: - mov r0, sp - adds r2, r0, r6 - ldrb r3, [r2] - lsls r0, r4, 16 - asrs r1, r0, 16 - adds r0, r3, r1 - cmp r0, 0xFF - ble _0803FFEC - adds r0, r1, 0 - adds r0, 0xFF - adds r1, r3, r4 - subs r0, r1 - lsls r0, 16 - lsrs r4, r0, 16 -_0803FFEC: - adds r0, r3, r4 - strb r0, [r2] - adds r0, r7, r4 - lsls r0, 16 - lsrs r7, r0, 16 - adds r1, r6, 0 - adds r1, 0x1A - mov r0, r8 - bl SetMonData - adds r6, 0x1 - cmp r6, 0x5 - bgt _0804000E -_08040006: - ldr r0, _0804001C @ =0x000001fd - cmp r7, r0 - bhi _0804000E - b _0803FEA8 -_0804000E: - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0804001C: .4byte 0x000001fd - thumb_func_end MonGainEVs - - thumb_func_start GetMonEVCount -GetMonEVCount: @ 8040020 - push {r4-r6,lr} - adds r6, r0, 0 - movs r5, 0 - movs r4, 0 -_08040028: - adds r1, r4, 0 - adds r1, 0x1A - adds r0, r6, 0 - movs r2, 0 - bl GetMonData - adds r0, r5, r0 - lsls r0, 16 - lsrs r5, r0, 16 - adds r4, 0x1 - cmp r4, 0x5 - ble _08040028 - adds r0, r5, 0 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end GetMonEVCount - - thumb_func_start RandomlyGivePartyPokerus -RandomlyGivePartyPokerus: @ 8040048 - push {r4-r6,lr} - sub sp, 0x4 - adds r6, r0, 0 - bl Random - lsls r0, 16 - lsrs r5, r0, 16 - movs r0, 0x80 - lsls r0, 7 - cmp r5, r0 - beq _0804006E - movs r0, 0x80 - lsls r0, 8 - cmp r5, r0 - beq _0804006E - movs r0, 0xC0 - lsls r0, 8 - cmp r5, r0 - bne _08040104 -_0804006E: - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x6 - bl __umodsi3 - lsls r0, 16 - lsrs r5, r0, 16 - movs r0, 0x64 - muls r0, r5 - adds r4, r6, r0 - adds r0, r4, 0 - movs r1, 0xB - movs r2, 0 - bl GetMonData - cmp r0, 0 - beq _0804006E - adds r0, r4, 0 - movs r1, 0x2D - movs r2, 0 - bl GetMonData - cmp r0, 0 - bne _0804006E - ldr r1, _0804010C @ =gBitTable - lsls r0, r5, 2 - adds r0, r1 - ldrb r1, [r0] - adds r0, r6, 0 - bl CheckPartyHasHadPokerus - lsls r0, 24 - cmp r0, 0 - bne _08040104 - mov r4, sp -_080400B8: - bl Random - lsls r0, 24 - lsrs r0, 24 - strb r0, [r4] - cmp r0, 0 - beq _080400B8 - movs r0, 0xF0 - mov r1, sp - ldrb r1, [r1] - ands r0, r1 - cmp r0, 0 - beq _080400DA - movs r0, 0x7 - ands r1, r0 - mov r0, sp - strb r1, [r0] -_080400DA: - mov r0, sp - ldrb r0, [r0] - lsls r1, r0, 4 - orrs r0, r1 - lsls r0, 24 - lsrs r0, 24 - mov r1, sp - strb r0, [r1] - movs r1, 0xF3 - ands r1, r0 - mov r0, sp - strb r1, [r0] - adds r1, 0x1 - strb r1, [r0] - movs r0, 0x64 - muls r0, r5 - adds r0, r6, r0 - movs r1, 0x22 - mov r2, sp - bl SetMonData -_08040104: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0804010C: .4byte gBitTable - thumb_func_end RandomlyGivePartyPokerus - - thumb_func_start CheckPartyPokerus -CheckPartyPokerus: @ 8040110 - push {r4-r7,lr} - sub sp, 0x4 - adds r7, r0, 0 - lsls r1, 24 - lsrs r4, r1, 24 - movs r3, 0 - movs r6, 0x1 - movs r5, 0 - cmp r4, 0 - beq _08040158 -_08040124: - movs r0, 0x1 - ands r0, r4 - cmp r0, 0 - beq _0804014C - movs r0, 0x64 - muls r0, r3 - adds r0, r7, r0 - movs r1, 0x22 - movs r2, 0 - str r3, [sp] - bl GetMonData - movs r1, 0xF - ands r1, r0 - ldr r3, [sp] - cmp r1, 0 - beq _0804014C - orrs r5, r6 - lsls r0, r5, 24 - lsrs r5, r0, 24 -_0804014C: - adds r3, 0x1 - lsls r6, 1 - lsrs r4, 1 - cmp r4, 0 - bne _08040124 - b _0804016C -_08040158: - adds r0, r7, 0 - movs r1, 0x22 - movs r2, 0 - bl GetMonData - movs r1, 0xF - ands r1, r0 - cmp r1, 0 - beq _0804016C - movs r5, 0x1 -_0804016C: - adds r0, r5, 0 - add sp, 0x4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end CheckPartyPokerus - - thumb_func_start CheckPartyHasHadPokerus -CheckPartyHasHadPokerus: @ 8040178 - push {r4-r7,lr} - sub sp, 0x4 - adds r7, r0, 0 - lsls r1, 24 - lsrs r4, r1, 24 - movs r3, 0 - movs r6, 0x1 - movs r5, 0 - cmp r4, 0 - beq _080401BC -_0804018C: - movs r0, 0x1 - ands r0, r4 - cmp r0, 0 - beq _080401B0 - movs r0, 0x64 - muls r0, r3 - adds r0, r7, r0 - movs r1, 0x22 - movs r2, 0 - str r3, [sp] - bl GetMonData - ldr r3, [sp] - cmp r0, 0 - beq _080401B0 - orrs r5, r6 - lsls r0, r5, 24 - lsrs r5, r0, 24 -_080401B0: - adds r3, 0x1 - lsls r6, 1 - lsrs r4, 1 - cmp r4, 0 - bne _0804018C - b _080401CC -_080401BC: - adds r0, r7, 0 - movs r1, 0x22 - movs r2, 0 - bl GetMonData - cmp r0, 0 - beq _080401CC - movs r5, 0x1 -_080401CC: - adds r0, r5, 0 - add sp, 0x4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end CheckPartyHasHadPokerus - - thumb_func_start UpdatePartyPokerusTime -UpdatePartyPokerusTime: @ 80401D8 - push {r4-r7,lr} - sub sp, 0x4 - lsls r0, 16 - lsrs r7, r0, 16 - movs r5, 0 - mov r6, sp -_080401E4: - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, _08040224 @ =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0xB - movs r2, 0 - bl GetMonData - cmp r0, 0 - beq _0804023C - adds r0, r4, 0 - movs r1, 0x22 - movs r2, 0 - bl GetMonData - lsls r0, 24 - lsrs r0, 24 - strb r0, [r6] - movs r1, 0xF - adds r2, r0, 0 - ands r1, r2 - cmp r1, 0 - beq _0804023C - cmp r1, r7 - bcc _0804021E - cmp r7, 0x4 - bls _08040228 -_0804021E: - movs r0, 0xF0 - ands r0, r2 - b _0804022A - .align 2, 0 -_08040224: .4byte gPlayerParty -_08040228: - subs r0, r2, r7 -_0804022A: - strb r0, [r6] - movs r0, 0x64 - muls r0, r5 - ldr r1, _0804024C @ =gPlayerParty - adds r0, r1 - movs r1, 0x22 - mov r2, sp - bl SetMonData -_0804023C: - adds r5, 0x1 - cmp r5, 0x5 - ble _080401E4 - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0804024C: .4byte gPlayerParty - thumb_func_end UpdatePartyPokerusTime - - thumb_func_start PartySpreadPokerus -PartySpreadPokerus: @ 8040250 - push {r4-r7,lr} - sub sp, 0x4 - adds r7, r0, 0 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x3 - bl __umodsi3 - lsls r0, 16 - cmp r0, 0 - bne _080402F6 - movs r5, 0 -_0804026C: - movs r0, 0x64 - adds r6, r5, 0 - muls r6, r0 - adds r4, r7, r6 - adds r0, r4, 0 - movs r1, 0xB - movs r2, 0 - bl GetMonData - cmp r0, 0 - beq _080402F0 - adds r0, r4, 0 - movs r1, 0x22 - movs r2, 0 - bl GetMonData - lsls r0, 24 - lsrs r1, r0, 24 - mov r0, sp - strb r1, [r0] - cmp r1, 0 - beq _080402F0 - movs r0, 0xF - ands r0, r1 - cmp r0, 0 - beq _080402F0 - cmp r5, 0 - beq _080402C6 - adds r0, r6, 0 - subs r0, 0x64 - adds r4, r7, r0 - adds r0, r4, 0 - movs r1, 0x22 - movs r2, 0 - bl GetMonData - movs r1, 0xF0 - ands r1, r0 - cmp r1, 0 - bne _080402C6 - adds r0, r4, 0 - movs r1, 0x22 - mov r2, sp - bl SetMonData -_080402C6: - cmp r5, 0x5 - beq _080402F0 - movs r0, 0x64 - muls r0, r5 - adds r0, 0x64 - adds r4, r7, r0 - adds r0, r4, 0 - movs r1, 0x22 - movs r2, 0 - bl GetMonData - movs r1, 0xF0 - ands r1, r0 - cmp r1, 0 - bne _080402F0 - adds r0, r4, 0 - movs r1, 0x22 - mov r2, sp - bl SetMonData - adds r5, 0x1 -_080402F0: - adds r5, 0x1 - cmp r5, 0x5 - ble _0804026C -_080402F6: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end PartySpreadPokerus - - thumb_func_start TryIncrementMonLevel -TryIncrementMonLevel: @ 8040300 - push {r4-r6,lr} - sub sp, 0x4 - adds r6, r0, 0 - movs r1, 0xB - movs r2, 0 - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r6, 0 - movs r1, 0x38 - movs r2, 0 - bl GetMonData - adds r0, 0x1 - mov r1, sp - strb r0, [r1] - adds r0, r6, 0 - movs r1, 0x19 - movs r2, 0 - bl GetMonData - ldr r5, _08040358 @ =gExperienceTables - mov r1, sp - ldrb r2, [r1] - lsls r2, 2 - ldr r3, _0804035C @ =gBaseStats - lsls r1, r4, 3 - subs r1, r4 - lsls r1, 2 - adds r1, r3 - ldrb r3, [r1, 0x13] - movs r1, 0xCA - lsls r1, 1 - muls r1, r3 - adds r2, r1 - adds r2, r5 - ldr r1, [r2] - cmp r0, r1 - bhi _08040360 - movs r0, 0 - b _0804036C - .align 2, 0 -_08040358: .4byte gExperienceTables -_0804035C: .4byte gBaseStats -_08040360: - adds r0, r6, 0 - movs r1, 0x38 - mov r2, sp - bl SetMonData - movs r0, 0x1 -_0804036C: - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end TryIncrementMonLevel - - thumb_func_start CanMonLearnTMHM -CanMonLearnTMHM: @ 8040374 - push {r4,r5,lr} - lsls r1, 24 - lsrs r4, r1, 24 - adds r5, r4, 0 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r1, r0, 16 - adds r3, r1, 0 - movs r0, 0xCE - lsls r0, 1 - cmp r1, r0 - bne _08040396 - movs r0, 0 - b _080403C2 -_08040396: - cmp r4, 0x1F - bls _080403B4 - adds r0, r4, 0 - subs r0, 0x20 - movs r2, 0x1 - lsls r2, r0 - ldr r0, _080403B0 @ =gTMHMLearnsets - lsls r1, 3 - adds r0, 0x4 - adds r1, r0 - ldr r0, [r1] - ands r0, r2 - b _080403C2 - .align 2, 0 -_080403B0: .4byte gTMHMLearnsets -_080403B4: - movs r1, 0x1 - lsls r1, r5 - ldr r2, _080403C8 @ =gTMHMLearnsets - lsls r0, r3, 3 - adds r0, r2 - ldr r0, [r0] - ands r0, r1 -_080403C2: - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_080403C8: .4byte gTMHMLearnsets - thumb_func_end CanMonLearnTMHM - - thumb_func_start sub_80403CC -sub_80403CC: @ 80403CC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x18 - adds r6, r0, 0 - str r1, [sp, 0x8] - movs r0, 0 - mov r10, r0 - adds r0, r6, 0 - movs r1, 0xB - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r7, r0, 16 - adds r0, r6, 0 - movs r1, 0x38 - movs r2, 0 - bl GetMonData - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0xC] - movs r5, 0 - mov r4, sp -_08040402: - adds r1, r5, 0 - adds r1, 0xD - adds r0, r6, 0 - movs r2, 0 - bl GetMonData - strh r0, [r4] - adds r4, 0x2 - adds r5, 0x1 - cmp r5, 0x3 - ble _08040402 - movs r5, 0 - ldr r6, _08040510 @ =gLevelUpLearnsets - lsls r1, r7, 2 - adds r2, r1, r6 - ldr r3, [r2] - ldrh r0, [r3] - ldr r4, _08040514 @ =0x0000ffff - str r1, [sp, 0x14] - cmp r0, r4 - beq _080404FC - mov r9, r2 - str r3, [sp, 0x10] -_08040430: - lsls r2, r5, 1 - ldr r1, [sp, 0x10] - adds r0, r2, r1 - ldrh r3, [r0] - movs r0, 0xFE - lsls r0, 8 - ands r0, r3 - ldr r4, [sp, 0xC] - lsls r1, r4, 9 - adds r7, r2, 0 - adds r5, 0x1 - mov r12, r5 - cmp r0, r1 - bgt _080404E6 - movs r4, 0 - mov r0, sp - ldrh r1, [r0] - ldr r0, _08040518 @ =0x000001ff - ands r0, r3 - cmp r1, r0 - beq _08040480 - ldr r0, [sp, 0x14] - ldr r1, _08040510 @ =gLevelUpLearnsets - adds r6, r0, r1 - ldr r2, _08040518 @ =0x000001ff - mov r8, r2 - mov r3, sp - adds r5, r7, 0 -_08040468: - adds r3, 0x2 - adds r4, 0x1 - cmp r4, 0x3 - bgt _08040480 - ldr r0, [r6] - adds r0, r5, r0 - ldrh r1, [r0] - ldrh r2, [r3] - mov r0, r8 - ands r0, r1 - cmp r2, r0 - bne _08040468 -_08040480: - cmp r4, 0x4 - bne _080404E6 - movs r4, 0 - cmp r4, r10 - bge _080404C4 - mov r1, r9 - ldr r0, [r1] - adds r0, r7, r0 - ldrh r1, [r0] - ldr r0, [sp, 0x8] - ldrh r2, [r0] - ldr r0, _08040518 @ =0x000001ff - ands r0, r1 - cmp r2, r0 - beq _080404C4 - ldr r1, [sp, 0x14] - ldr r2, _08040510 @ =gLevelUpLearnsets - adds r6, r1, r2 - ldr r0, _08040518 @ =0x000001ff - mov r8, r0 - ldr r3, [sp, 0x8] - adds r5, r7, 0 -_080404AC: - adds r3, 0x2 - adds r4, 0x1 - cmp r4, r10 - bge _080404C4 - ldr r0, [r6] - adds r0, r5, r0 - ldrh r1, [r0] - ldrh r2, [r3] - mov r0, r8 - ands r0, r1 - cmp r2, r0 - bne _080404AC -_080404C4: - cmp r4, r10 - bne _080404E6 - mov r0, r10 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - lsls r2, r4, 1 - ldr r1, [sp, 0x8] - adds r2, r1 - mov r4, r9 - ldr r0, [r4] - adds r0, r7, r0 - ldrh r1, [r0] - ldr r0, _08040518 @ =0x000001ff - ands r0, r1 - strh r0, [r2] -_080404E6: - mov r5, r12 - cmp r5, 0x13 - bgt _080404FC - mov r1, r9 - ldr r0, [r1] - lsls r1, r5, 1 - adds r1, r0 - ldrh r0, [r1] - ldr r2, _08040514 @ =0x0000ffff - cmp r0, r2 - bne _08040430 -_080404FC: - mov r0, r10 - add sp, 0x18 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08040510: .4byte gLevelUpLearnsets -_08040514: .4byte 0x0000ffff -_08040518: .4byte 0x000001ff - thumb_func_end sub_80403CC - - thumb_func_start sub_804051C -sub_804051C: @ 804051C - push {r4-r7,lr} - adds r6, r1, 0 - lsls r0, 16 - movs r5, 0 - movs r4, 0 - ldr r1, _08040568 @ =gLevelUpLearnsets - lsrs r0, 14 - adds r0, r1 - ldr r2, [r0] - ldrh r0, [r2] - ldr r1, _0804056C @ =0x0000ffff - cmp r0, r1 - beq _08040560 - ldr r0, _08040570 @ =0x000001ff - mov r12, r0 - adds r7, r1, 0 - adds r3, r2, 0 -_0804053E: - adds r1, r5, 0 - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 1 - adds r1, r6 - ldrh r2, [r3] - mov r0, r12 - ands r0, r2 - strh r0, [r1] - adds r3, 0x2 - adds r4, 0x1 - cmp r4, 0x13 - bgt _08040560 - ldrh r0, [r3] - cmp r0, r7 - bne _0804053E -_08040560: - adds r0, r5, 0 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08040568: .4byte gLevelUpLearnsets -_0804056C: .4byte 0x0000ffff -_08040570: .4byte 0x000001ff - thumb_func_end sub_804051C - - thumb_func_start sub_8040574 -sub_8040574: @ 8040574 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x3C - adds r6, r0, 0 - movs r0, 0 - mov r10, r0 - adds r0, r6, 0 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r4, r0, 16 - adds r0, r6, 0 - movs r1, 0x38 - movs r2, 0 - bl GetMonData - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x30] - movs r0, 0xCE - lsls r0, 1 - cmp r4, r0 - bne _080405B0 - movs r0, 0 - b _080406BA -_080405B0: - movs r5, 0 - lsls r4, 2 - str r4, [sp, 0x38] - mov r4, sp -_080405B8: - adds r1, r5, 0 - adds r1, 0xD - adds r0, r6, 0 - movs r2, 0 - bl GetMonData - strh r0, [r4] - adds r4, 0x2 - adds r5, 0x1 - cmp r5, 0x3 - ble _080405B8 - movs r5, 0 - ldr r3, _080406CC @ =gLevelUpLearnsets - ldr r2, [sp, 0x38] - adds r1, r2, r3 - ldr r0, [r1] - ldrh r0, [r0] - ldr r2, _080406D0 @ =0x0000ffff - cmp r0, r2 - beq _080406B8 - mov r9, r1 - mov r4, sp - adds r4, 0x8 - str r4, [sp, 0x34] -_080405E8: - mov r1, r9 - ldr r0, [r1] - lsls r2, r5, 1 - adds r0, r2, r0 - ldrh r3, [r0] - movs r0, 0xFE - lsls r0, 8 - ands r0, r3 - ldr r4, [sp, 0x30] - lsls r1, r4, 9 - adds r7, r2, 0 - adds r5, 0x1 - mov r12, r5 - cmp r0, r1 - bgt _080406A2 - movs r4, 0 - mov r0, sp - ldrh r1, [r0] - ldr r0, _080406D4 @ =0x000001ff - ands r0, r3 - cmp r1, r0 - beq _0804063A - ldr r0, [sp, 0x38] - ldr r1, _080406CC @ =gLevelUpLearnsets - adds r6, r0, r1 - ldr r2, _080406D4 @ =0x000001ff - mov r8, r2 - mov r3, sp - adds r5, r7, 0 -_08040622: - adds r3, 0x2 - adds r4, 0x1 - cmp r4, 0x3 - bgt _0804063A - ldr r0, [r6] - adds r0, r5, r0 - ldrh r1, [r0] - ldrh r2, [r3] - mov r0, r8 - ands r0, r1 - cmp r2, r0 - bne _08040622 -_0804063A: - cmp r4, 0x4 - bne _080406A2 - movs r4, 0 - cmp r4, r10 - bge _08040680 - mov r1, r9 - ldr r0, [r1] - adds r0, r7, r0 - ldrh r1, [r0] - ldr r0, [sp, 0x34] - ldrh r2, [r0] - ldr r0, _080406D4 @ =0x000001ff - ands r0, r1 - add r1, sp, 0x8 - cmp r2, r0 - beq _08040680 - ldr r2, [sp, 0x38] - ldr r0, _080406CC @ =gLevelUpLearnsets - adds r6, r2, r0 - ldr r2, _080406D4 @ =0x000001ff - mov r8, r2 - adds r3, r1, 0 - adds r5, r7, 0 -_08040668: - adds r3, 0x2 - adds r4, 0x1 - cmp r4, r10 - bge _08040680 - ldr r0, [r6] - adds r0, r5, r0 - ldrh r1, [r0] - ldrh r2, [r3] - mov r0, r8 - ands r0, r1 - cmp r2, r0 - bne _08040668 -_08040680: - cmp r4, r10 - bne _080406A2 - mov r0, r10 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - lsls r2, r4, 1 - ldr r4, [sp, 0x34] - adds r2, r4, r2 - mov r1, r9 - ldr r0, [r1] - adds r0, r7, r0 - ldrh r1, [r0] - ldr r0, _080406D4 @ =0x000001ff - ands r0, r1 - strh r0, [r2] -_080406A2: - mov r5, r12 - cmp r5, 0x13 - bgt _080406B8 - mov r2, r9 - ldr r0, [r2] - lsls r1, r5, 1 - adds r1, r0 - ldrh r0, [r1] - ldr r4, _080406D0 @ =0x0000ffff - cmp r0, r4 - bne _080405E8 -_080406B8: - mov r0, r10 -_080406BA: - add sp, 0x3C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080406CC: .4byte gLevelUpLearnsets -_080406D0: .4byte 0x0000ffff -_080406D4: .4byte 0x000001ff - thumb_func_end sub_8040574 - - thumb_func_start SpeciesToPokedexNum -SpeciesToPokedexNum: @ 80406D8 - push {r4,lr} - lsls r0, 16 - lsrs r4, r0, 16 - bl IsNationalPokedex - cmp r0, 0 - beq _080406F2 - adds r0, r4, 0 - bl SpeciesToNationalPokedexNum - lsls r0, 16 - lsrs r0, 16 - b _0804070A -_080406F2: - adds r0, r4, 0 - bl SpeciesToHoennPokedexNum - adds r4, r0, 0 - cmp r4, 0xCA - bls _08040708 - ldr r0, _08040704 @ =0x0000ffff - b _0804070A - .align 2, 0 -_08040704: .4byte 0x0000ffff -_08040708: - adds r0, r4, 0 -_0804070A: - pop {r4} - pop {r1} - bx r1 - thumb_func_end SpeciesToPokedexNum - - thumb_func_start sub_8040710 -sub_8040710: @ 8040710 - push {lr} - ldr r1, _08040724 @ =gUnknown_02024E84 - movs r2, 0 - adds r0, r1, 0x3 -_08040718: - strb r2, [r0] - subs r0, 0x1 - cmp r0, r1 - bge _08040718 - pop {r0} - bx r0 - .align 2, 0 -_08040724: .4byte gUnknown_02024E84 - thumb_func_end sub_8040710 - - thumb_func_start sub_8040728 -sub_8040728: @ 8040728 - push {lr} - ldr r0, _0804073C @ =gUnknown_020239F8 - ldrh r1, [r0] - movs r0, 0x80 - lsls r0, 5 - ands r0, r1 - cmp r0, 0 - beq _08040744 - ldr r0, _08040740 @ =0x000001cf - b _080408B2 - .align 2, 0 -_0804073C: .4byte gUnknown_020239F8 -_08040740: .4byte 0x000001cf -_08040744: - movs r0, 0x80 - lsls r0, 7 - ands r0, r1 - cmp r0, 0 - beq _08040754 - movs r0, 0xE7 - lsls r0, 1 - b _080408B2 -_08040754: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0804075E - b _080408A8 -_0804075E: - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - bne _08040768 - b _080408B0 -_08040768: - ldr r3, _0804078C @ =gTrainers - ldr r2, _08040790 @ =gTrainerBattleOpponent - ldrh r1, [r2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r3 - ldrb r0, [r0, 0x1] - subs r0, 0x2 - cmp r0, 0x31 - bls _08040780 - b _080408A8 -_08040780: - lsls r0, 2 - ldr r1, _08040794 @ =_08040798 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0804078C: .4byte gTrainers -_08040790: .4byte gTrainerBattleOpponent -_08040794: .4byte _08040798 - .align 2, 0 -_08040798: - .4byte _08040860 - .4byte _08040866 - .4byte _08040866 - .4byte _080408A8 - .4byte _080408A8 - .4byte _080408A8 - .4byte _080408A8 - .4byte _080408A8 - .4byte _080408A8 - .4byte _080408A8 - .4byte _080408A8 - .4byte _080408A8 - .4byte _080408A8 - .4byte _080408A8 - .4byte _080408A8 - .4byte _080408A8 - .4byte _080408A8 - .4byte _080408A8 - .4byte _080408A8 - .4byte _080408A8 - .4byte _080408A8 - .4byte _080408A8 - .4byte _080408A0 - .4byte _0804086C - .4byte _080408A8 - .4byte _080408A8 - .4byte _080408A8 - .4byte _080408A8 - .4byte _080408A8 - .4byte _080408A8 - .4byte _08040872 - .4byte _080408A8 - .4byte _080408A8 - .4byte _080408A8 - .4byte _080408A8 - .4byte _080408A8 - .4byte _080408A8 - .4byte _080408A8 - .4byte _080408A8 - .4byte _080408A8 - .4byte _080408A8 - .4byte _080408A8 - .4byte _080408A8 - .4byte _080408A8 - .4byte _0804087C - .4byte _080408A8 - .4byte _080408A8 - .4byte _08040860 - .4byte _08040866 - .4byte _08040866 -_08040860: - movs r0, 0xE9 - lsls r0, 1 - b _080408B2 -_08040866: - movs r0, 0xE5 - lsls r0, 1 - b _080408B2 -_0804086C: - movs r0, 0xE6 - lsls r0, 1 - b _080408B2 -_08040872: - ldr r0, _08040878 @ =0x000001cd - b _080408B2 - .align 2, 0 -_08040878: .4byte 0x000001cd -_0804087C: - ldrh r1, [r2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - ldr r1, _08040898 @ =gTrainers + 0x4 - adds r0, r1 - ldr r1, _0804089C @ =gUnknown_08400E42 - bl StringCompare - cmp r0, 0 - beq _080408A8 - movs r0, 0xE8 - lsls r0, 1 - b _080408B2 - .align 2, 0 -_08040898: .4byte gTrainers + 0x4 -_0804089C: .4byte gUnknown_08400E42 -_080408A0: - ldr r0, _080408A4 @ =0x000001d1 - b _080408B2 - .align 2, 0 -_080408A4: .4byte 0x000001d1 -_080408A8: - ldr r0, _080408AC @ =0x000001cb - b _080408B2 - .align 2, 0 -_080408AC: .4byte 0x000001cb -_080408B0: - ldr r0, _080408B8 @ =0x000001c9 -_080408B2: - pop {r1} - bx r1 - .align 2, 0 -_080408B8: .4byte 0x000001c9 - thumb_func_end sub_8040728 - - thumb_func_start sub_80408BC -sub_80408BC: @ 80408BC - push {lr} - bl ResetMapMusic - bl m4aMPlayAllStop - bl sub_8040728 - lsls r0, 16 - lsrs r0, 16 - bl PlayBGM - pop {r0} - bx r0 - thumb_func_end sub_80408BC - - thumb_func_start current_map_music_set__default_for_battle -current_map_music_set__default_for_battle: @ 80408D8 - push {r4,lr} - lsls r0, 16 - lsrs r4, r0, 16 - bl ResetMapMusic - bl m4aMPlayAllStop - cmp r4, 0 - beq _080408F2 - adds r0, r4, 0 - bl PlayNewMapMusic - b _080408FE -_080408F2: - bl sub_8040728 - lsls r0, 16 - lsrs r0, 16 - bl PlayNewMapMusic -_080408FE: - pop {r4} - pop {r0} - bx r0 - thumb_func_end current_map_music_set__default_for_battle - - thumb_func_start pokemon_get_pal -pokemon_get_pal: @ 8040904 - push {r4-r6,lr} - adds r5, r0, 0 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - movs r1, 0x1 - movs r2, 0 - bl GetMonData - adds r6, r0, 0 - adds r0, r5, 0 - movs r1, 0 - movs r2, 0 - bl GetMonData - adds r2, r0, 0 - adds r0, r4, 0 - adds r1, r6, 0 - bl species_and_otid_get_pal - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end pokemon_get_pal - - thumb_func_start species_and_otid_get_pal -species_and_otid_get_pal: @ 804093C - push {r4,r5,lr} - adds r3, r2, 0 - lsls r0, 16 - lsrs r4, r0, 16 - adds r5, r4, 0 - movs r0, 0xCE - lsls r0, 1 - cmp r4, r0 - bls _08040958 - ldr r0, _08040954 @ =gMonPaletteTable - ldr r0, [r0] - b _08040984 - .align 2, 0 -_08040954: .4byte gMonPaletteTable -_08040958: - lsrs r0, r1, 16 - ldr r2, _08040974 @ =0x0000ffff - ands r1, r2 - eors r0, r1 - lsrs r1, r3, 16 - eors r0, r1 - ands r3, r2 - eors r0, r3 - cmp r0, 0x7 - bls _0804097C - ldr r0, _08040978 @ =gMonPaletteTable - lsls r1, r4, 3 - b _08040980 - .align 2, 0 -_08040974: .4byte 0x0000ffff -_08040978: .4byte gMonPaletteTable -_0804097C: - ldr r0, _0804098C @ =gMonShinyPaletteTable - lsls r1, r5, 3 -_08040980: - adds r1, r0 - ldr r0, [r1] -_08040984: - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0804098C: .4byte gMonShinyPaletteTable - thumb_func_end species_and_otid_get_pal - - thumb_func_start sub_8040990 -sub_8040990: @ 8040990 - push {r4-r6,lr} - adds r5, r0, 0 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - movs r1, 0x1 - movs r2, 0 - bl GetMonData - adds r6, r0, 0 - adds r0, r5, 0 - movs r1, 0 - movs r2, 0 - bl GetMonData - adds r2, r0, 0 - adds r0, r4, 0 - adds r1, r6, 0 - bl sub_80409C8 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8040990 - - thumb_func_start sub_80409C8 -sub_80409C8: @ 80409C8 - push {r4,lr} - lsls r0, 16 - lsrs r4, r0, 16 - lsrs r0, r1, 16 - ldr r3, _080409E8 @ =0x0000ffff - ands r1, r3 - eors r0, r1 - lsrs r1, r2, 16 - eors r0, r1 - ands r2, r3 - eors r0, r2 - cmp r0, 0x7 - bls _080409F0 - lsls r0, r4, 3 - ldr r1, _080409EC @ =gMonPaletteTable - b _080409F4 - .align 2, 0 -_080409E8: .4byte 0x0000ffff -_080409EC: .4byte gMonPaletteTable -_080409F0: - lsls r0, r4, 3 - ldr r1, _080409FC @ =gMonShinyPaletteTable -_080409F4: - adds r0, r1 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080409FC: .4byte gMonShinyPaletteTable - thumb_func_end sub_80409C8 - - thumb_func_start sub_8040A00 -sub_8040A00: @ 8040A00 - push {r4,lr} - lsls r0, 16 - lsrs r3, r0, 16 - ldr r2, _08040A24 @ =gUnknown_0820831A - ldrh r0, [r2] - ldr r1, _08040A28 @ =0x0000ffff - cmp r0, r1 - beq _08040A32 - adds r4, r1, 0 - adds r1, r2, 0 -_08040A14: - ldrh r0, [r2] - adds r1, 0x2 - adds r2, 0x2 - cmp r0, r3 - bne _08040A2C - movs r0, 0x1 - b _08040A34 - .align 2, 0 -_08040A24: .4byte gUnknown_0820831A -_08040A28: .4byte 0x0000ffff -_08040A2C: - ldrh r0, [r1] - cmp r0, r4 - bne _08040A14 -_08040A32: - movs r0, 0 -_08040A34: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8040A00 - - thumb_func_start sub_8040A3C -sub_8040A3C: @ 8040A3C - lsls r0, 16 - lsrs r0, 16 - ldr r2, _08040A50 @ =gBaseStats - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r0, [r1, 0x19] - lsrs r0, 7 - bx lr - .align 2, 0 -_08040A50: .4byte gBaseStats - thumb_func_end sub_8040A3C - - thumb_func_start sub_8040A54 -sub_8040A54: @ 8040A54 - push {r4,lr} - lsls r4, r1, 24 - lsrs r4, 24 - bl GetNature - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08040A78 @ =gUnknown_083F7E28 - lsls r1, r0, 2 - adds r1, r0 - adds r1, r4 - adds r1, r2 - movs r0, 0 - ldrsb r0, [r1, r0] - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08040A78: .4byte gUnknown_083F7E28 - thumb_func_end sub_8040A54 - - thumb_func_start sub_8040A7C -sub_8040A7C: @ 8040A7C - push {r4,lr} - lsls r4, r1, 24 - lsrs r4, 24 - bl GetNatureFromPersonality - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08040AA0 @ =gUnknown_083F7E28 - lsls r1, r0, 2 - adds r1, r0 - adds r1, r4 - adds r1, r2 - movs r0, 0 - ldrsb r0, [r1, r0] - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08040AA0: .4byte gUnknown_083F7E28 - thumb_func_end sub_8040A7C - - thumb_func_start sub_8040AA4 -sub_8040AA4: @ 8040AA4 - push {r4,lr} - sub sp, 0x8 - adds r4, r0, 0 - movs r1, 0x7 - mov r2, sp - bl GetMonData - adds r0, r4, 0 - movs r1, 0x1 - movs r2, 0 - bl GetMonData - mov r1, sp - bl sub_8040AD0 - lsls r0, 24 - lsrs r0, 24 - add sp, 0x8 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8040AA4 - - thumb_func_start sub_8040AD0 -sub_8040AD0: @ 8040AD0 - push {r4,r5,lr} - adds r5, r1, 0 - ldr r3, _08040B10 @ =gSaveBlock2 - ldrb r2, [r3, 0xA] - ldrb r1, [r3, 0xB] - lsls r1, 8 - orrs r2, r1 - ldrb r1, [r3, 0xC] - lsls r1, 16 - orrs r2, r1 - ldrb r1, [r3, 0xD] - lsls r1, 24 - orrs r2, r1 - cmp r0, r2 - bne _08040B14 - movs r4, 0 - ldrb r0, [r5] - cmp r0, 0xFF - beq _08040B0C - adds r2, r5, 0 -_08040AF8: - adds r1, r4, r3 - ldrb r0, [r2] - ldrb r1, [r1] - cmp r0, r1 - bne _08040B14 - adds r2, 0x1 - adds r4, 0x1 - ldrb r0, [r2] - cmp r0, 0xFF - bne _08040AF8 -_08040B0C: - movs r0, 0 - b _08040B16 - .align 2, 0 -_08040B10: .4byte gSaveBlock2 -_08040B14: - movs r0, 0x1 -_08040B16: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8040AD0 - - thumb_func_start sub_8040B1C -sub_8040B1C: @ 8040B1C - push {lr} - bl pokemon_restore_pp - pop {r0} - bx r0 - thumb_func_end sub_8040B1C - - thumb_func_start pokemon_restore_pp -pokemon_restore_pp: @ 8040B28 - push {r4-r6,lr} - sub sp, 0x4 - adds r5, r0, 0 - movs r6, 0 -_08040B30: - adds r4, r6, 0 - adds r4, 0xD - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0 - bl GetBoxMonData - cmp r0, 0 - beq _08040B7C - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0 - bl GetBoxMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - movs r1, 0x15 - movs r2, 0 - bl GetBoxMonData - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r2, r6, 24 - lsrs r2, 24 - adds r0, r4, 0 - bl CalculatePPWithBonus - mov r1, sp - strb r0, [r1] - adds r1, r6, 0 - adds r1, 0x11 - adds r0, r5, 0 - mov r2, sp - bl SetBoxMonData -_08040B7C: - adds r6, 0x1 - cmp r6, 0x3 - ble _08040B30 - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end pokemon_restore_pp - - thumb_func_start sub_8040B8C -sub_8040B8C: @ 8040B8C - push {r4,r5,lr} - ldr r1, _08040BCC @ =byte_2024C06 - ldr r2, _08040BD0 @ =0x02000000 - ldr r3, _08040BD4 @ =0x000160c0 - adds r0, r2, r3 - ldrb r0, [r0] - strb r0, [r1] - ldr r5, _08040BD8 @ =gUnknown_030041C0 - movs r0, 0xFD - strb r0, [r5] - movs r0, 0x4 - strb r0, [r5, 0x1] - ldr r0, _08040BDC @ =0x00016054 - adds r4, r2, r0 - ldrb r0, [r4] - strb r0, [r5, 0x2] - movs r0, 0xFF - strb r0, [r5, 0x4] - ldrb r0, [r4] - bl battle_side_get_owner - lsls r0, 24 - cmp r0, 0 - bne _08040BE4 - ldr r1, _08040BE0 @ =gUnknown_02024A6A - ldrb r0, [r4] - lsls r0, 1 - adds r0, r1 - ldrb r0, [r0] - bl pokemon_order_func - b _08040BEE - .align 2, 0 -_08040BCC: .4byte byte_2024C06 -_08040BD0: .4byte 0x02000000 -_08040BD4: .4byte 0x000160c0 -_08040BD8: .4byte gUnknown_030041C0 -_08040BDC: .4byte 0x00016054 -_08040BE0: .4byte gUnknown_02024A6A -_08040BE4: - ldr r0, _08040C24 @ =gUnknown_02024A6A - ldrb r1, [r4] - lsls r1, 1 - adds r1, r0 - ldrh r0, [r1] -_08040BEE: - strb r0, [r5, 0x3] - ldr r4, _08040C28 @ =gUnknown_03004290 - movs r0, 0xFD - strb r0, [r4] - movs r0, 0x4 - strb r0, [r4, 0x1] - ldr r1, _08040C2C @ =gUnknown_02024E6C - ldrb r0, [r1] - strb r0, [r4, 0x2] - ldr r2, _08040C24 @ =gUnknown_02024A6A - ldrb r0, [r1] - lsls r0, 1 - adds r0, r2 - ldrb r0, [r0] - bl pokemon_order_func - strb r0, [r4, 0x3] - movs r0, 0xFF - strb r0, [r4, 0x4] - ldr r0, _08040C30 @ =gUnknown_083FFCCA - ldr r1, _08040C34 @ =gStringVar4 - bl sub_8120FFC - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08040C24: .4byte gUnknown_02024A6A -_08040C28: .4byte gUnknown_03004290 -_08040C2C: .4byte gUnknown_02024E6C -_08040C30: .4byte gUnknown_083FFCCA -_08040C34: .4byte gStringVar4 - thumb_func_end sub_8040B8C - - thumb_func_start sub_8040C38 -sub_8040C38: @ 8040C38 - push {r4,r5,lr} - ldr r0, _08040C90 @ =gUnknown_020239F8 - ldrh r1, [r0] - ldr r0, _08040C94 @ =0x00002008 - ands r0, r1 - cmp r0, 0 - bne _08040CAC - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x64 - bl __umodsi3 - lsls r0, 16 - lsrs r5, r0, 16 - ldr r4, _08040C98 @ =gEnemyParty - adds r0, r4, 0 - movs r1, 0xB - movs r2, 0 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - ldr r2, _08040C9C @ =gBaseStats - lsls r1, r0, 3 - subs r1, r0 - lsls r3, r1, 2 - adds r1, r3, r2 - ldrh r0, [r1, 0xC] - ldrh r1, [r1, 0xE] - cmp r0, r1 - beq _08040C82 - cmp r5, 0x2C - bls _08040CAC - cmp r5, 0x5E - bhi _08040CA0 -_08040C82: - adds r2, 0xC - adds r2, r3, r2 - adds r0, r4, 0 - movs r1, 0xC - bl SetMonData - b _08040CAC - .align 2, 0 -_08040C90: .4byte gUnknown_020239F8 -_08040C94: .4byte 0x00002008 -_08040C98: .4byte gEnemyParty -_08040C9C: .4byte gBaseStats -_08040CA0: - adds r2, 0xE - adds r2, r3, r2 - adds r0, r4, 0 - movs r1, 0xC - bl SetMonData -_08040CAC: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8040C38 - - thumb_func_start sub_8040CB4 -sub_8040CB4: @ 8040CB4 - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x1 - movs r2, 0 - bl GetMonData - adds r5, r0, 0 - adds r0, r4, 0 - movs r1, 0 - movs r2, 0 - bl GetMonData - adds r1, r0, 0 - adds r0, r5, 0 - bl sub_8040CE0 - lsls r0, 24 - lsrs r0, 24 - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8040CB4 - - thumb_func_start sub_8040CE0 -sub_8040CE0: @ 8040CE0 - push {r4,lr} - movs r4, 0 - lsrs r2, r0, 16 - ldr r3, _08040D04 @ =0x0000ffff - ands r0, r3 - eors r2, r0 - lsrs r0, r1, 16 - eors r2, r0 - ands r1, r3 - eors r2, r1 - cmp r2, 0x7 - bhi _08040CFA - movs r4, 0x1 -_08040CFA: - adds r0, r4, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08040D04: .4byte 0x0000ffff - thumb_func_end sub_8040CE0 - - thumb_func_start sub_8040D08 -sub_8040D08: @ 8040D08 - push {r4,lr} - bl GetMultiplayerId - lsls r0, 24 - lsrs r0, 24 - ldr r4, _08040D38 @ =gLinkPlayers - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r4 - ldrh r1, [r1, 0x18] - movs r0, 0x2 - eors r0, r1 - bl sub_803FC34 - adds r1, r0, 0 - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r4, 0x8 - adds r0, r4 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08040D38: .4byte gLinkPlayers - thumb_func_end sub_8040D08 - - thumb_func_start sub_8040D3C -sub_8040D3C: @ 8040D3C - push {r4,lr} - adds r4, r1, 0 - lsls r0, 16 - lsrs r1, r0, 16 - adds r0, r1, 0 - lsls r2, 24 - lsrs r2, 24 - movs r3, 0 - cmp r1, 0x20 - beq _08040D54 - cmp r1, 0x1D - bne _08040D7E -_08040D54: - cmp r2, 0x2 - bne _08040D68 - movs r0, 0xB - muls r1, r0 - ldr r0, _08040D64 @ =gSpeciesNames - adds r1, r0 - b _08040D70 - .align 2, 0 -_08040D64: .4byte gSpeciesNames -_08040D68: - ldr r1, _08040D88 @ =gUnknown_08208337 - cmp r0, 0x20 - bne _08040D70 - subs r1, 0xB -_08040D70: - adds r0, r4, 0 - bl StringCompareWithoutExtCtrlCodes - movs r3, 0 - cmp r0, 0 - bne _08040D7E - movs r3, 0x1 -_08040D7E: - adds r0, r3, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08040D88: .4byte gUnknown_08208337 - thumb_func_end sub_8040D3C - - thumb_func_start sub_8040D8C -sub_8040D8C: @ 8040D8C - push {lr} - lsls r0, 16 - lsrs r3, r0, 16 - movs r2, 0x2 - ldrb r0, [r1] - cmp r0, 0xFC - bne _08040DA2 - ldrb r0, [r1, 0x1] - cmp r0, 0x15 - bne _08040DA2 - movs r2, 0x1 -_08040DA2: - adds r0, r3, 0 - bl sub_8040D3C - pop {r1} - bx r1 - thumb_func_end sub_8040D8C - - thumb_func_start unref_sub_8040DAC -unref_sub_8040DAC: @ 8040DAC - push {r4-r6,lr} - sub sp, 0xC - adds r6, r0, 0 - movs r1, 0xB - movs r2, 0 - bl GetMonData - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - adds r0, r6, 0 - movs r1, 0x3 - movs r2, 0 - bl GetMonData - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r6, 0 - movs r1, 0x2 - mov r2, sp - bl GetMonData - adds r0, r5, 0 - mov r1, sp - adds r2, r4, 0 - bl sub_8040D3C - add sp, 0xC - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end unref_sub_8040DAC - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/rom_804373C.s b/asm/rom_804373C.s index a134237f1..ab3a81e18 100644 --- a/asm/rom_804373C.s +++ b/asm/rom_804373C.s @@ -5442,8 +5442,8 @@ _080461C8: bx r1 thumb_func_end sub_8046188 - thumb_func_start sub_80461D4 -sub_80461D4: @ 80461D4 + thumb_func_start GetScaledHPFraction +GetScaledHPFraction: @ 80461D4 push {r4,lr} lsls r2, 24 lsrs r2, 24 @@ -5465,10 +5465,10 @@ _080461F8: pop {r4} pop {r1} bx r1 - thumb_func_end sub_80461D4 + thumb_func_end GetScaledHPFraction - thumb_func_start sub_8046200 -sub_8046200: @ 8046200 + thumb_func_start GetHPBarLevel +GetHPBarLevel: @ 8046200 push {lr} lsls r0, 16 asrs r0, 16 @@ -5480,7 +5480,7 @@ sub_8046200: @ 8046200 b _0804622E _08046212: movs r2, 0x30 - bl sub_80461D4 + bl GetScaledHPFraction lsls r0, 24 lsrs r1, r0, 24 movs r0, 0x3 @@ -5495,3001 +5495,6 @@ _08046212: _0804622E: pop {r1} bx r1 - thumb_func_end sub_8046200 - - thumb_func_start sub_8046234 -sub_8046234: @ 8046234 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 16 - lsrs r6, r0, 16 - lsls r1, 16 - lsrs r7, r1, 16 - lsls r2, 24 - lsrs r4, r2, 24 - ldr r5, _0804636C @ =gUnknown_081FAEA4 - ldrh r0, [r5, 0x6] - bl GetSpriteTileStartByTag - lsls r0, 16 - ldr r1, _08046370 @ =0xffff0000 - cmp r0, r1 - bne _08046266 - adds r0, r5, 0 - bl LoadCompressedObjectPic - ldr r0, _08046374 @ =gUnknown_081FAEAC - bl LoadCompressedObjectPalette -_08046266: - ldr r0, _08046378 @ =sub_8046388 - bl object_new_hidden_with_callback - mov r8, r0 - mov r0, r8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r5, r0, 4 - add r5, r8 - lsls r5, 2 - ldr r0, _0804637C @ =gSprites - adds r5, r0 - strh r4, [r5, 0x30] - ldr r0, _08046380 @ =gSpriteTemplate_81FAF0C - mov r9, r0 - lsls r6, 16 - asrs r0, r6, 16 - mov r10, r0 - ldr r0, _08046384 @ =0xfff00000 - adds r6, r0 - asrs r6, 16 - lsls r4, r7, 16 - asrs r7, r4, 16 - adds r4, r0 - asrs r4, 16 - mov r0, r9 - adds r1, r6, 0 - adds r2, r4, 0 - movs r3, 0x2 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _0804637C @ =gSprites - adds r1, r0 - mov r0, r8 - strh r0, [r1, 0x2E] - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] - adds r0, r1, 0 - bl AnimateSprite - mov r0, r9 - mov r1, r10 - adds r2, r4, 0 - movs r3, 0x2 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, _0804637C @ =gSprites - adds r4, r0 - mov r0, r8 - strh r0, [r4, 0x2E] - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAnim - adds r0, r4, 0 - bl AnimateSprite - mov r0, r9 - adds r1, r6, 0 - adds r2, r7, 0 - movs r3, 0x2 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, _0804637C @ =gSprites - adds r4, r0 - mov r0, r8 - strh r0, [r4, 0x2E] - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] - adds r0, r4, 0 - movs r1, 0x2 - bl StartSpriteAnim - adds r0, r4, 0 - bl AnimateSprite - mov r0, r9 - mov r1, r10 - adds r2, r7, 0 - movs r3, 0x2 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r0, _0804637C @ =gSprites - adds r4, r0 - mov r0, r8 - strh r0, [r4, 0x2E] - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] - adds r0, r4, 0 - movs r1, 0x3 - bl StartSpriteAnim - adds r0, r4, 0 - bl AnimateSprite - mov r0, r8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0804636C: .4byte gUnknown_081FAEA4 -_08046370: .4byte 0xffff0000 -_08046374: .4byte gUnknown_081FAEAC -_08046378: .4byte sub_8046388 -_0804637C: .4byte gSprites -_08046380: .4byte gSpriteTemplate_81FAF0C -_08046384: .4byte 0xfff00000 - thumb_func_end sub_8046234 - - thumb_func_start sub_8046388 -sub_8046388: @ 8046388 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080463C0 - ldr r0, _080463B4 @ =gUnknown_081FAEA4 - ldrh r0, [r0, 0x6] - bl FreeSpriteTilesByTag - ldr r0, _080463B8 @ =gUnknown_081FAEAC - ldrh r0, [r0, 0x4] - bl FreeSpritePaletteByTag - movs r1, 0x30 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _080463BC - adds r0, r4, 0 - bl DestroySprite - b _080463C0 - .align 2, 0 -_080463B4: .4byte gUnknown_081FAEA4 -_080463B8: .4byte gUnknown_081FAEAC -_080463BC: - ldr r0, _080463C8 @ =SpriteCallbackDummy - str r0, [r4, 0x1C] -_080463C0: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080463C8: .4byte SpriteCallbackDummy - thumb_func_end sub_8046388 - - thumb_func_start sub_80463CC -sub_80463CC: @ 80463CC - push {lr} - adds r3, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080463F6 - ldr r2, _080463FC @ =gSprites - movs r0, 0x2E - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x2E] - subs r1, 0x1 - strh r1, [r0, 0x2E] - adds r0, r3, 0 - bl DestroySprite -_080463F6: - pop {r0} - bx r0 - .align 2, 0 -_080463FC: .4byte gSprites - thumb_func_end sub_80463CC - - thumb_func_start sub_8046400 -sub_8046400: @ 8046400 - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r1, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 24 - lsrs r5, 24 - ldr r1, _08046450 @ =gUnknown_02024E6D - movs r0, 0x1 - strb r0, [r1] - ldr r6, _08046454 @ =gUnknown_02024A60 - ldrb r1, [r6] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - ldr r1, _08046458 @ =0x02017810 - adds r0, r1 - ldrb r1, [r0] - movs r2, 0x8 - orrs r1, r2 - strb r1, [r0] - ldr r0, _0804645C @ =sub_8046464 - movs r1, 0x5 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08046460 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r4, [r1, 0xA] - strh r5, [r1, 0xC] - ldrb r0, [r6] - strh r0, [r1, 0xE] - movs r0, 0 - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08046450: .4byte gUnknown_02024E6D -_08046454: .4byte gUnknown_02024A60 -_08046458: .4byte 0x02017810 -_0804645C: .4byte sub_8046464 -_08046460: .4byte gTasks - thumb_func_end sub_8046400 - - thumb_func_start sub_8046464 -sub_8046464: @ 8046464 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - movs r0, 0 - str r0, [sp] - ldr r1, _08046498 @ =gTasks - mov r2, r10 - lsls r0, r2, 2 - add r0, r10 - lsls r0, 3 - adds r1, r0, r1 - ldrh r2, [r1, 0x8] - movs r3, 0x8 - ldrsh r0, [r1, r3] - cmp r0, 0 - bne _0804649C - adds r0, r2, 0x1 - strh r0, [r1, 0x8] - b _08046616 - .align 2, 0 -_08046498: .4byte gTasks -_0804649C: - ldrh r0, [r1, 0xC] - mov r8, r0 - ldrb r5, [r1, 0xE] - adds r0, r5, 0 - bl battle_side_get_owner - lsls r0, 24 - cmp r0, 0 - beq _080464C8 - ldr r1, _080464C0 @ =gUnknown_02024A6A - lsls r0, r5, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _080464C4 @ =gEnemyParty - b _080464D6 - .align 2, 0 -_080464C0: .4byte gUnknown_02024A6A -_080464C4: .4byte gEnemyParty -_080464C8: - ldr r1, _08046544 @ =gUnknown_02024A6A - lsls r0, r5, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08046548 @ =gPlayerParty -_080464D6: - adds r0, r1 - movs r1, 0x26 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - bl ball_number_to_ball_processing_index - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl sub_80478DC - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 3 - ldr r1, _0804654C @ =gSpriteTemplate_820AAB4 - adds r0, r1 - movs r1, 0x20 - movs r2, 0x50 - movs r3, 0x1D - bl CreateSprite - lsls r0, 24 - lsrs r7, r0, 24 - ldr r2, _08046550 @ =gSprites - mov r9, r2 - lsls r0, r7, 4 - adds r0, r7 - lsls r6, r0, 2 - adds r4, r6, r2 - movs r0, 0x80 - strh r0, [r4, 0x2E] - movs r3, 0 - strh r3, [r4, 0x30] - mov r0, r8 - strh r0, [r4, 0x3C] - mov r2, r8 - cmp r2, 0xFE - beq _0804655C - cmp r2, 0xFF - bne _08046598 - ldr r0, _08046554 @ =gUnknown_02024C08 - strb r5, [r0] - movs r0, 0x18 - strh r0, [r4, 0x20] - movs r0, 0x44 - strh r0, [r4, 0x22] - mov r0, r9 - adds r0, 0x1C - adds r0, r6, r0 - ldr r1, _08046558 @ =sub_8047074 - str r1, [r0] - b _080465A6 - .align 2, 0 -_08046544: .4byte gUnknown_02024A6A -_08046548: .4byte gPlayerParty -_0804654C: .4byte gSpriteTemplate_820AAB4 -_08046550: .4byte gSprites -_08046554: .4byte gUnknown_02024C08 -_08046558: .4byte sub_8047074 -_0804655C: - adds r0, r5, 0 - movs r1, 0 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x20] - adds r0, r5, 0 - movs r1, 0x1 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x18 - strh r0, [r4, 0x22] - ldr r0, _08046590 @ =gUnknown_02024C08 - strb r5, [r0] - movs r3, 0 - strh r3, [r4, 0x2E] - mov r0, r9 - adds r0, 0x1C - adds r0, r6, r0 - ldr r1, _08046594 @ =sub_8047254 - str r1, [r0] - b _080465A6 - .align 2, 0 -_08046590: .4byte gUnknown_02024C08 -_08046594: .4byte sub_8047254 -_08046598: - movs r0, 0x1 - bl battle_get_side_with_given_state - ldr r1, _080465C4 @ =gUnknown_02024C08 - strb r0, [r1] - movs r0, 0x1 - str r0, [sp] -_080465A6: - ldr r0, _080465C8 @ =gSprites - lsls r1, r7, 4 - adds r1, r7 - lsls r1, 2 - adds r4, r1, r0 - ldr r5, _080465C4 @ =gUnknown_02024C08 - ldrb r0, [r5] - strh r0, [r4, 0x3A] - ldr r2, [sp] - cmp r2, 0 - bne _080465CC - mov r0, r10 - bl DestroyTask - b _08046616 - .align 2, 0 -_080465C4: .4byte gUnknown_02024C08 -_080465C8: .4byte gSprites -_080465CC: - movs r0, 0x22 - strh r0, [r4, 0x2E] - ldrb r0, [r5] - movs r1, 0 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x32] - ldrb r0, [r5] - movs r1, 0x1 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x10 - strh r0, [r4, 0x36] - ldr r0, _08046628 @ =0x0000ffd8 - strh r0, [r4, 0x38] - adds r0, r4, 0 - bl sub_80786EC - mov r3, r10 - strh r3, [r4, 0x6] - ldr r1, _0804662C @ =gTasks - mov r2, r10 - lsls r0, r2, 2 - add r0, r10 - lsls r0, 3 - adds r0, r1 - ldrb r1, [r5] - strh r1, [r0, 0x10] - ldr r1, _08046630 @ =TaskDummy - str r1, [r0] - movs r0, 0x3D - bl PlaySE -_08046616: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08046628: .4byte 0x0000ffd8 -_0804662C: .4byte gTasks -_08046630: .4byte TaskDummy - thumb_func_end sub_8046464 - - thumb_func_start objc_0804ABD4 -objc_0804ABD4: @ 8046634 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - adds r7, r0, 0 - bl sub_8078718 - lsls r0, 24 - cmp r0, 0 - beq _080466D4 - ldrb r6, [r7, 0x6] - ldr r1, _080466E0 @ =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldrb r5, [r0, 0x10] - ldrb r0, [r0, 0xC] - mov r8, r0 - adds r0, r7, 0 - movs r1, 0x1 - bl StartSpriteAnim - adds r2, r7, 0 - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] - ldrh r0, [r7, 0x24] - ldrh r1, [r7, 0x20] - adds r0, r1 - movs r1, 0 - strh r0, [r7, 0x20] - ldrh r0, [r7, 0x26] - ldrh r2, [r7, 0x22] - adds r0, r2 - strh r0, [r7, 0x22] - strh r1, [r7, 0x24] - strh r1, [r7, 0x26] - strh r1, [r7, 0x38] - adds r0, r5, 0 - bl sub_8047978 - lsls r0, 16 - lsrs r0, 16 - bl ball_number_to_ball_processing_index - adds r4, r0, 0 - ldrh r0, [r7, 0x20] - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r7, 0x22] - subs r1, 0x5 - lsls r1, 24 - lsrs r1, 24 - lsls r4, 24 - lsrs r4, 24 - str r4, [sp] - movs r2, 0x1 - movs r3, 0x1C - bl sub_814086C - movs r0, 0 - adds r1, r5, 0 - movs r2, 0xE - adds r3, r4, 0 - bl sub_8141314 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r7, 0x2E] - strh r5, [r7, 0x3A] - mov r0, r8 - strh r0, [r7, 0x3C] - adds r0, r6, 0 - bl DestroyTask - ldr r0, _080466E4 @ =sub_80466E8 - str r0, [r7, 0x1C] -_080466D4: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080466E0: .4byte gTasks -_080466E4: .4byte sub_80466E8 - thumb_func_end objc_0804ABD4 - - thumb_func_start sub_80466E8 -sub_80466E8: @ 80466E8 - ldr r1, _080466F0 @ =sub_80466F4 - str r1, [r0, 0x1C] - bx lr - .align 2, 0 -_080466F0: .4byte sub_80466F4 - thumb_func_end sub_80466E8 - - thumb_func_start sub_80466F4 -sub_80466F4: @ 80466F4 - push {r4-r7,lr} - adds r6, r0, 0 - ldrh r0, [r6, 0x38] - adds r0, 0x1 - movs r7, 0 - strh r0, [r6, 0x38] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xA - bne _0804674E - strh r7, [r6, 0x38] - ldr r0, _08046754 @ =sub_8046760 - str r0, [r6, 0x1C] - ldr r5, _08046758 @ =gUnknown_02024BE0 - movs r1, 0x3A - ldrsh r0, [r6, r1] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, _0804675C @ =gSprites - adds r0, r4 - movs r1, 0x2 - bl StartSpriteAffineAnim - movs r1, 0x3A - ldrsh r0, [r6, r1] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl AnimateSprite - movs r1, 0x3A - ldrsh r0, [r6, r1] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - strh r7, [r0, 0x30] -_0804674E: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08046754: .4byte sub_8046760 -_08046758: .4byte gUnknown_02024BE0 -_0804675C: .4byte gSprites - thumb_func_end sub_80466F4 - - thumb_func_start sub_8046760 -sub_8046760: @ 8046760 - push {r4-r6,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xB - bne _08046778 - movs r0, 0x3C - bl PlaySE -_08046778: - ldr r6, _080467C4 @ =gSprites - ldr r5, _080467C8 @ =gUnknown_02024BE0 - movs r1, 0x3A - ldrsh r0, [r4, r1] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r6 - adds r0, r1, 0 - adds r0, 0x3F - ldrb r0, [r0] - lsls r0, 26 - cmp r0, 0 - bge _080467D0 - adds r0, r4, 0 - movs r1, 0x2 - bl StartSpriteAnim - movs r2, 0x3A - ldrsh r0, [r4, r2] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - movs r0, 0 - strh r0, [r4, 0x38] - ldr r0, _080467CC @ =sub_80467F8 - str r0, [r4, 0x1C] - b _080467F0 - .align 2, 0 -_080467C4: .4byte gSprites -_080467C8: .4byte gUnknown_02024BE0 -_080467CC: .4byte sub_80467F8 -_080467D0: - ldrh r0, [r1, 0x30] - adds r0, 0x60 - strh r0, [r1, 0x30] - movs r1, 0x3A - ldrsh r0, [r4, r1] - adds r0, r5 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - movs r2, 0x30 - ldrsh r0, [r1, r2] - negs r0, r0 - asrs r0, 8 - strh r0, [r1, 0x26] -_080467F0: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8046760 - - thumb_func_start sub_80467F8 -sub_80467F8: @ 80467F8 - push {r4,lr} - adds r4, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08046840 - ldrh r0, [r4, 0x38] - adds r0, 0x1 - movs r1, 0 - strh r0, [r4, 0x38] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - bne _08046840 - strh r1, [r4, 0x34] - movs r0, 0x20 - strh r0, [r4, 0x36] - strh r1, [r4, 0x38] - movs r0, 0 - movs r1, 0x20 - bl Cos - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - movs r0, 0x36 - ldrsh r1, [r4, r0] - movs r0, 0 - bl Cos - negs r0, r0 - strh r0, [r4, 0x26] - ldr r0, _08046848 @ =sub_804684C - str r0, [r4, 0x1C] -_08046840: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08046848: .4byte sub_804684C - thumb_func_end sub_80467F8 - - thumb_func_start sub_804684C -sub_804684C: @ 804684C - push {r4,r5,lr} - adds r4, r0, 0 - movs r5, 0 - ldrh r0, [r4, 0x34] - movs r1, 0xFF - ands r1, r0 - cmp r1, 0 - beq _08046862 - cmp r1, 0x1 - beq _080468D6 - b _08046902 -_08046862: - movs r1, 0x38 - ldrsh r0, [r4, r1] - movs r2, 0x36 - ldrsh r1, [r4, r2] - bl Cos - negs r0, r0 - strh r0, [r4, 0x26] - ldrh r1, [r4, 0x38] - adds r1, 0x4 - ldrh r2, [r4, 0x34] - lsls r0, r2, 16 - asrs r0, 24 - adds r1, r0 - strh r1, [r4, 0x38] - lsls r1, 16 - asrs r1, 16 - cmp r1, 0x3F - ble _08046902 - ldrh r0, [r4, 0x36] - subs r0, 0xA - strh r0, [r4, 0x36] - ldr r1, _080468AC @ =0x00000101 - adds r0, r2, r1 - strh r0, [r4, 0x34] - lsls r0, 16 - asrs r0, 24 - cmp r0, 0x4 - bne _0804689E - movs r5, 0x1 -_0804689E: - cmp r0, 0x2 - beq _080468BE - cmp r0, 0x2 - bgt _080468B0 - cmp r0, 0x1 - beq _080468B6 - b _080468CE - .align 2, 0 -_080468AC: .4byte 0x00000101 -_080468B0: - cmp r0, 0x3 - beq _080468C6 - b _080468CE -_080468B6: - movs r0, 0x38 - bl PlaySE - b _08046902 -_080468BE: - movs r0, 0x39 - bl PlaySE - b _08046902 -_080468C6: - movs r0, 0x3A - bl PlaySE - b _08046902 -_080468CE: - movs r0, 0x3B - bl PlaySE - b _08046902 -_080468D6: - movs r2, 0x38 - ldrsh r0, [r4, r2] - movs r2, 0x36 - ldrsh r1, [r4, r2] - bl Cos - negs r0, r0 - strh r0, [r4, 0x26] - ldrh r1, [r4, 0x38] - subs r1, 0x4 - ldrh r2, [r4, 0x34] - lsls r0, r2, 16 - asrs r0, 24 - subs r1, r0 - strh r1, [r4, 0x38] - lsls r1, 16 - cmp r1, 0 - bgt _08046902 - strh r5, [r4, 0x38] - ldr r0, _08046928 @ =0xffffff00 - ands r0, r2 - strh r0, [r4, 0x34] -_08046902: - cmp r5, 0 - beq _0804693A - movs r5, 0 - strh r5, [r4, 0x34] - movs r0, 0x40 - movs r1, 0x20 - bl Cos - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - strh r5, [r4, 0x26] - movs r2, 0x3C - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _08046930 - ldr r0, _0804692C @ =sub_8046C78 - str r0, [r4, 0x1C] - b _0804693A - .align 2, 0 -_08046928: .4byte 0xffffff00 -_0804692C: .4byte sub_8046C78 -_08046930: - ldr r0, _08046940 @ =sub_8046944 - str r0, [r4, 0x1C] - movs r0, 0x1 - strh r0, [r4, 0x36] - strh r5, [r4, 0x38] -_0804693A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08046940: .4byte sub_8046944 - thumb_func_end sub_804684C - - thumb_func_start sub_8046944 -sub_8046944: @ 8046944 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x34] - adds r0, 0x1 - strh r0, [r4, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1F - bne _08046978 - movs r0, 0 - strh r0, [r4, 0x34] - adds r2, r4, 0 - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim - ldr r0, _08046980 @ =sub_8046984 - str r0, [r4, 0x1C] - movs r0, 0x17 - bl PlaySE -_08046978: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08046980: .4byte sub_8046984 - thumb_func_end sub_8046944 - - thumb_func_start sub_8046984 -sub_8046984: @ 8046984 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x34] - movs r1, 0xFF - ands r1, r0 - cmp r1, 0x4 - bhi _08046A84 - lsls r0, r1, 2 - ldr r1, _0804699C @ =_080469A0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0804699C: .4byte _080469A0 - .align 2, 0 -_080469A0: - .4byte _080469B4 - .4byte _080469E6 - .4byte _080469B4 - .4byte _08046A3A - .4byte _08046A84 -_080469B4: - ldrh r0, [r4, 0x36] - ldrh r2, [r4, 0x24] - adds r1, r0, r2 - strh r1, [r4, 0x24] - ldrh r1, [r4, 0x38] - adds r0, r1 - strh r0, [r4, 0x38] - adds r2, r4, 0 - adds r2, 0x2C - ldrb r1, [r2] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2] - ldrh r0, [r4, 0x38] - adds r0, 0x3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x6 - bls _08046ACA - ldrh r0, [r4, 0x34] - adds r0, 0x1 - strh r0, [r4, 0x34] - movs r0, 0 - strh r0, [r4, 0x38] - b _08046ACA -_080469E6: - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - bne _08046A2C - movs r0, 0 - strh r0, [r4, 0x38] - ldrh r0, [r4, 0x36] - negs r0, r0 - strh r0, [r4, 0x36] - ldrh r0, [r4, 0x34] - adds r0, 0x1 - strh r0, [r4, 0x34] - adds r2, r4, 0 - adds r2, 0x2C - ldrb r1, [r2] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2] - movs r2, 0x36 - ldrsh r0, [r4, r2] - cmp r0, 0 - bge _08046A22 - adds r0, r4, 0 - movs r1, 0x2 - bl ChangeSpriteAffineAnim - b _08046ACA -_08046A22: - adds r0, r4, 0 - movs r1, 0x1 - bl ChangeSpriteAffineAnim - b _08046ACA -_08046A2C: - adds r0, r4, 0 - adds r0, 0x2C - ldrb r1, [r0] - movs r2, 0x80 - orrs r1, r2 - strb r1, [r0] - b _08046ACA -_08046A3A: - movs r1, 0x80 - lsls r1, 1 - adds r0, r1, 0 - ldrh r2, [r4, 0x34] - adds r0, r2 - strh r0, [r4, 0x34] - lsls r0, 16 - asrs r0, 24 - movs r2, 0x3C - ldrsh r1, [r4, r2] - cmp r0, r1 - bne _08046A5C - ldr r0, _08046A58 @ =sub_8046C78 - str r0, [r4, 0x1C] - b _08046ACA - .align 2, 0 -_08046A58: .4byte sub_8046C78 -_08046A5C: - cmp r1, 0x4 - bne _08046A70 - cmp r0, 0x3 - bne _08046A70 - ldr r0, _08046A6C @ =sub_8046E7C - str r0, [r4, 0x1C] - b _08046A76 - .align 2, 0 -_08046A6C: .4byte sub_8046E7C -_08046A70: - ldrh r0, [r4, 0x34] - adds r0, 0x1 - strh r0, [r4, 0x34] -_08046A76: - adds r2, r4, 0 - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] - b _08046ACA -_08046A84: - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1F - bne _08046ACA - movs r0, 0 - strh r0, [r4, 0x38] - ldrh r1, [r4, 0x34] - ldr r0, _08046AB8 @ =0xffffff00 - ands r0, r1 - strh r0, [r4, 0x34] - adds r0, r4, 0 - movs r1, 0x3 - bl StartSpriteAffineAnim - movs r1, 0x36 - ldrsh r0, [r4, r1] - cmp r0, 0 - bge _08046ABC - adds r0, r4, 0 - movs r1, 0x2 - bl StartSpriteAffineAnim - b _08046AC4 - .align 2, 0 -_08046AB8: .4byte 0xffffff00 -_08046ABC: - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim -_08046AC4: - movs r0, 0x17 - bl PlaySE -_08046ACA: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8046984 - - thumb_func_start sub_8046AD0 -sub_8046AD0: @ 8046AD0 - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _08046AFC @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldrb r6, [r0, 0xC] - ldrb r3, [r0, 0xA] - ldrh r5, [r0, 0x8] - movs r2, 0x26 - ldrsh r0, [r0, r2] - adds r2, r1, 0 - cmp r0, 0x20 - bhi _08046B88 - lsls r0, 2 - ldr r1, _08046B00 @ =_08046B04 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08046AFC: .4byte gTasks -_08046B00: .4byte _08046B04 - .align 2, 0 -_08046B04: - .4byte _08046B88 - .4byte _08046BA6 - .4byte _08046BB2 - .4byte _08046BF6 - .4byte _08046B88 - .4byte _08046B88 - .4byte _08046B88 - .4byte _08046B88 - .4byte _08046B88 - .4byte _08046B88 - .4byte _08046B88 - .4byte _08046B88 - .4byte _08046B88 - .4byte _08046B88 - .4byte _08046B88 - .4byte _08046B88 - .4byte _08046B88 - .4byte _08046B88 - .4byte _08046B88 - .4byte _08046B88 - .4byte _08046BD0 - .4byte _08046B88 - .4byte _08046B88 - .4byte _08046B88 - .4byte _08046B88 - .4byte _08046B88 - .4byte _08046B88 - .4byte _08046B88 - .4byte _08046B88 - .4byte _08046B88 - .4byte _08046C08 - .4byte _08046C20 - .4byte _08046C48 -_08046B88: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r1, r0, r2 - ldrh r2, [r1, 0x18] - movs r3, 0x18 - ldrsh r0, [r1, r3] - cmp r0, 0x2 - bgt _08046BA0 - adds r0, r2, 0x1 - strh r0, [r1, 0x18] - b _08046C72 -_08046BA0: - adds r0, r6, 0x1 - strh r0, [r1, 0x26] - b _08046C72 -_08046BA6: - lsls r1, r3, 24 - asrs r1, 24 - adds r0, r5, 0 - bl PlayCry1 - b _08046BEE -_08046BB2: - bl StopCryAndClearCrySongs - ldr r1, _08046BCC @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0x3 - strh r1, [r0, 0x1C] - movs r1, 0x14 - strh r1, [r0, 0x26] - b _08046C72 - .align 2, 0 -_08046BCC: .4byte gTasks -_08046BD0: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r1, r0, r2 - ldrh r2, [r1, 0x1C] - movs r6, 0x1C - ldrsh r0, [r1, r6] - cmp r0, 0 - bne _08046C5A - lsls r1, r3, 24 - asrs r1, 24 - adds r0, r5, 0 - movs r2, 0x1 - bl PlayCry4 -_08046BEE: - adds r0, r4, 0 - bl DestroyTask - b _08046C72 -_08046BF6: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r2 - movs r1, 0x6 - strh r1, [r0, 0x1C] - movs r1, 0x1E - strh r1, [r0, 0x26] - b _08046C72 -_08046C08: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r1, r0, r2 - ldrh r2, [r1, 0x1C] - movs r3, 0x1C - ldrsh r0, [r1, r3] - cmp r0, 0 - bne _08046C5A - ldrh r0, [r1, 0x26] - adds r0, 0x1 - strh r0, [r1, 0x26] -_08046C20: - bl IsCryPlayingOrClearCrySongs - lsls r0, 24 - cmp r0, 0 - bne _08046C72 - bl StopCryAndClearCrySongs - ldr r0, _08046C44 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - movs r0, 0x3 - strh r0, [r1, 0x1C] - ldrh r0, [r1, 0x26] - adds r0, 0x1 - strh r0, [r1, 0x26] - b _08046C72 - .align 2, 0 -_08046C44: .4byte gTasks -_08046C48: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r1, r0, r2 - ldrh r2, [r1, 0x1C] - movs r6, 0x1C - ldrsh r0, [r1, r6] - cmp r0, 0 - beq _08046C60 -_08046C5A: - subs r0, r2, 0x1 - strh r0, [r1, 0x1C] - b _08046C72 -_08046C60: - lsls r1, r3, 24 - asrs r1, 24 - adds r0, r5, 0 - movs r2, 0 - bl PlayCry4 - adds r0, r4, 0 - bl DestroyTask -_08046C72: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8046AD0 - - thumb_func_start sub_8046C78 -sub_8046C78: @ 8046C78 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - adds r6, r0, 0 - ldrh r0, [r6, 0x3A] - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r6, 0 - movs r1, 0x1 - bl StartSpriteAnim - adds r0, r5, 0 - bl sub_8047978 - lsls r0, 16 - lsrs r0, 16 - bl ball_number_to_ball_processing_index - adds r4, r0, 0 - ldrh r0, [r6, 0x20] - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r6, 0x22] - subs r1, 0x5 - lsls r1, 24 - lsrs r1, 24 - lsls r4, 24 - lsrs r4, 24 - str r4, [sp] - movs r2, 0x1 - movs r3, 0x1C - bl sub_814086C - ldrh r1, [r6, 0x3A] - lsls r1, 24 - lsrs r1, 24 - movs r0, 0x1 - movs r2, 0xE - adds r3, r4, 0 - bl sub_8141314 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0x2E] - ldr r0, _08046D0C @ =sub_8046E9C - str r0, [r6, 0x1C] - ldr r0, _08046D10 @ =gMain - ldr r1, _08046D14 @ =0x0000043d - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _08046CE8 - b _08046E1C -_08046CE8: - adds r0, r5, 0 - bl battle_side_get_owner - lsls r0, 24 - cmp r0, 0 - beq _08046D20 - ldr r1, _08046D18 @ =gUnknown_02024A6A - lsls r0, r5, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r1, r0 - ldr r0, _08046D1C @ =gEnemyParty - adds r0, r1, r0 - movs r3, 0x19 - mov r8, r3 - b _08046D34 - .align 2, 0 -_08046D0C: .4byte sub_8046E9C -_08046D10: .4byte gMain -_08046D14: .4byte 0x0000043d -_08046D18: .4byte gUnknown_02024A6A -_08046D1C: .4byte gEnemyParty -_08046D20: - ldr r1, _08046D90 @ =gUnknown_02024A6A - lsls r0, r5, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r1, r0 - ldr r0, _08046D94 @ =gPlayerParty - adds r0, r1, r0 - movs r1, 0xE7 - mov r8, r1 -_08046D34: - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r7, r0, 16 - movs r0, 0 - bl battle_get_side_with_given_state - lsls r0, 24 - lsrs r0, 24 - cmp r5, r0 - beq _08046D5A - movs r0, 0x1 - bl battle_get_side_with_given_state - lsls r0, 24 - lsrs r0, 24 - cmp r5, r0 - bne _08046DAE -_08046D5A: - bl battle_type_is_double - lsls r0, 24 - cmp r0, 0 - beq _08046DAE - ldr r0, _08046D98 @ =0x02017840 - ldrb r1, [r0, 0x9] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08046DAE - ldr r0, _08046D9C @ =gUnknown_020239F8 - ldrh r1, [r0] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08046DA4 - bl IsBGMPlaying - lsls r0, 24 - cmp r0, 0 - beq _08046DAE - ldr r0, _08046DA0 @ =gMPlay_BGM - bl m4aMPlayStop - b _08046DAE - .align 2, 0 -_08046D90: .4byte gUnknown_02024A6A -_08046D94: .4byte gPlayerParty -_08046D98: .4byte 0x02017840 -_08046D9C: .4byte gUnknown_020239F8 -_08046DA0: .4byte gMPlay_BGM -_08046DA4: - ldr r0, _08046DC8 @ =gMPlay_BGM - ldr r1, _08046DCC @ =0x0000ffff - movs r2, 0x80 - bl m4aMPlayVolumeControl -_08046DAE: - bl battle_type_is_double - lsls r0, 24 - cmp r0, 0 - beq _08046DC4 - ldr r0, _08046DD0 @ =0x02017840 - ldrb r1, [r0, 0x9] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _08046DD4 -_08046DC4: - movs r4, 0 - b _08046DF6 - .align 2, 0 -_08046DC8: .4byte gMPlay_BGM -_08046DCC: .4byte 0x0000ffff -_08046DD0: .4byte 0x02017840 -_08046DD4: - movs r0, 0 - bl battle_get_side_with_given_state - lsls r0, 24 - lsrs r0, 24 - cmp r5, r0 - beq _08046DF0 - movs r0, 0x1 - bl battle_get_side_with_given_state - lsls r0, 24 - lsrs r0, 24 - cmp r5, r0 - bne _08046DF4 -_08046DF0: - movs r4, 0x1 - b _08046DF6 -_08046DF4: - movs r4, 0x2 -_08046DF6: - ldr r0, _08046E6C @ =sub_8046AD0 - movs r1, 0x3 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08046E70 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0 - strh r7, [r1, 0x8] - mov r3, r8 - lsls r0, r3, 24 - asrs r0, 24 - strh r0, [r1, 0xA] - strh r4, [r1, 0xC] - strh r2, [r1, 0x26] -_08046E1C: - ldr r5, _08046E74 @ =gUnknown_02024BE0 - movs r1, 0x3A - ldrsh r0, [r6, r1] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, _08046E78 @ =gSprites - adds r0, r4 - movs r1, 0x1 - bl StartSpriteAffineAnim - movs r3, 0x3A - ldrsh r0, [r6, r3] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl AnimateSprite - movs r1, 0x3A - ldrsh r0, [r6, r1] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x80 - lsls r1, 5 - strh r1, [r0, 0x30] - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08046E6C: .4byte sub_8046AD0 -_08046E70: .4byte gTasks -_08046E74: .4byte gUnknown_02024BE0 -_08046E78: .4byte gSprites - thumb_func_end sub_8046C78 - - thumb_func_start sub_8046E7C -sub_8046E7C: @ 8046E7C - adds r3, r0, 0 - adds r3, 0x2C - ldrb r1, [r3] - movs r2, 0x40 - orrs r1, r2 - strb r1, [r3] - ldr r1, _08046E98 @ =sub_8046FBC - str r1, [r0, 0x1C] - movs r1, 0 - strh r1, [r0, 0x34] - strh r1, [r0, 0x36] - strh r1, [r0, 0x38] - bx lr - .align 2, 0 -_08046E98: .4byte sub_8046FBC - thumb_func_end sub_8046E7C - - thumb_func_start sub_8046E9C -sub_8046E9C: @ 8046E9C - push {r4-r7,lr} - adds r5, r0, 0 - movs r7, 0 - ldrh r0, [r5, 0x3A] - lsls r0, 24 - lsrs r4, r0, 24 - ldr r6, _08046F00 @ =gSprites - ldr r0, _08046F04 @ =gUnknown_02024BE0 - adds r3, r4, r0 - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - adds r0, r5, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08046EDE - adds r2, r5, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] -_08046EDE: - ldrb r0, [r3] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - adds r0, r1, 0 - adds r0, 0x3F - ldrb r0, [r0] - lsls r0, 26 - cmp r0, 0 - bge _08046F08 - adds r0, r1, 0 - movs r1, 0 - bl StartSpriteAffineAnim - movs r7, 0x1 - b _08046F24 - .align 2, 0 -_08046F00: .4byte gSprites -_08046F04: .4byte gUnknown_02024BE0 -_08046F08: - ldr r2, _08046FA8 @ =0xfffffee0 - adds r0, r2, 0 - ldrh r2, [r1, 0x30] - adds r0, r2 - strh r0, [r1, 0x30] - ldrb r0, [r3] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - ldrh r0, [r1, 0x30] - lsls r0, 16 - asrs r0, 24 - strh r0, [r1, 0x26] -_08046F24: - adds r0, r5, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08046FA0 - cmp r7, 0 - beq _08046FA0 - ldr r2, _08046FAC @ =gSprites - ldr r0, _08046FB0 @ =gUnknown_02024BE0 - adds r0, r4, r0 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r2, 0 - movs r1, 0 - strh r1, [r0, 0x26] - ldr r0, _08046FB4 @ =gUnknown_02024E6D - strb r2, [r0] - lsls r1, r4, 1 - adds r1, r4 - lsls r1, 2 - ldr r4, _08046FB8 @ =0x02017810 - adds r1, r4 - ldrb r2, [r1] - movs r0, 0x9 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - adds r0, r5, 0 - bl FreeSpriteOamMatrix - adds r0, r5, 0 - bl DestroySprite - movs r3, 0 - movs r5, 0x8 - adds r2, r4, 0 - movs r4, 0x3 -_08046F78: - ldrb r1, [r2] - adds r0, r5, 0 - ands r0, r1 - cmp r0, 0 - bne _08046F84 - adds r3, 0x1 -_08046F84: - adds r2, 0xC - subs r4, 0x1 - cmp r4, 0 - bge _08046F78 - cmp r3, 0x4 - bne _08046FA0 - movs r4, 0 -_08046F92: - lsls r0, r4, 24 - lsrs r0, 24 - bl sub_804794C - adds r4, 0x1 - cmp r4, 0xB - ble _08046F92 -_08046FA0: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08046FA8: .4byte 0xfffffee0 -_08046FAC: .4byte gSprites -_08046FB0: .4byte gUnknown_02024BE0 -_08046FB4: .4byte gUnknown_02024E6D -_08046FB8: .4byte 0x02017810 - thumb_func_end sub_8046E9C - - thumb_func_start sub_8046FBC -sub_8046FBC: @ 8046FBC - push {r4-r7,lr} - adds r6, r0, 0 - ldrh r0, [r6, 0x3A] - lsls r0, 24 - lsrs r7, r0, 24 - ldrh r0, [r6, 0x36] - adds r0, 0x1 - strh r0, [r6, 0x36] - lsls r0, 16 - asrs r1, r0, 16 - cmp r1, 0x28 - beq _08047056 - cmp r1, 0x5F - bne _08046FF4 - ldr r0, _08046FEC @ =gUnknown_02024E6D - movs r1, 0 - strb r1, [r0] - bl m4aMPlayAllStop - ldr r0, _08046FF0 @ =0x00000173 - bl PlaySE - b _08047056 - .align 2, 0 -_08046FEC: .4byte gUnknown_02024E6D -_08046FF0: .4byte 0x00000173 -_08046FF4: - ldr r0, _0804705C @ =0x0000013b - cmp r1, r0 - bne _08047056 - ldr r5, _08047060 @ =gSprites - ldr r4, _08047064 @ =gUnknown_02024BE0 - movs r1, 0x3A - ldrsh r0, [r6, r1] - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrb r0, [r0, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - movs r1, 0x3A - ldrsh r0, [r6, r1] - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - bl DestroySprite - adds r0, r6, 0 - bl DestroySpriteAndFreeResources - ldr r0, _08047068 @ =gMain - ldr r1, _0804706C @ =0x0000043d - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08047056 - lsls r1, r7, 1 - adds r1, r7 - lsls r1, 2 - ldr r0, _08047070 @ =0x02017810 - adds r1, r0 - ldrb r2, [r1] - movs r0, 0x9 - negs r0, r0 - ands r0, r2 - strb r0, [r1] -_08047056: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0804705C: .4byte 0x0000013b -_08047060: .4byte gSprites -_08047064: .4byte gUnknown_02024BE0 -_08047068: .4byte gMain -_0804706C: .4byte 0x0000043d -_08047070: .4byte 0x02017810 - thumb_func_end sub_8046FBC - - thumb_func_start sub_8047074 -sub_8047074: @ 8047074 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x19 - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x3A] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x2 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x3A] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x3 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x18 - strh r0, [r4, 0x36] - ldr r0, _080470BC @ =0x0000ffe2 - strh r0, [r4, 0x38] - ldrh r0, [r4, 0x3A] - strh r0, [r4, 0x6] - adds r0, r4, 0 - bl sub_80786EC - ldr r0, _080470C0 @ =sub_80470C4 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080470BC: .4byte 0x0000ffe2 -_080470C0: .4byte sub_80470C4 - thumb_func_end sub_8047074 - - thumb_func_start sub_80470C4 -sub_80470C4: @ 80470C4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r5, r0, 0 - ldrh r0, [r5, 0x3C] - movs r1, 0xFF - mov r8, r1 - lsrs r0, 8 - subs r0, 0x23 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2C - bhi _080471B8 - ldrh r1, [r5, 0x6] - movs r0, 0xFF - lsls r0, 8 - ands r0, r1 - cmp r0, 0 - bne _08047126 - ldrh r0, [r5, 0x30] - movs r1, 0x1 - adds r6, r1, 0 - ands r6, r0 - ldrh r0, [r5, 0x32] - adds r7, r1, 0 - ands r7, r0 - movs r2, 0x30 - ldrsh r0, [r5, r2] - movs r1, 0x3 - bl __divsi3 - movs r1, 0x2 - negs r1, r1 - adds r4, r1, 0 - ands r0, r4 - orrs r6, r0 - strh r6, [r5, 0x30] - movs r2, 0x32 - ldrsh r0, [r5, r2] - movs r1, 0x3 - bl __divsi3 - ands r0, r4 - orrs r7, r0 - strh r7, [r5, 0x32] - adds r0, r5, 0 - movs r1, 0x4 - bl StartSpriteAffineAnim -_08047126: - ldrh r4, [r5, 0x2E] - adds r0, r5, 0 - bl sub_8078B5C - movs r1, 0x3A - ldrsh r0, [r5, r1] - movs r1, 0x3 - bl __divsi3 - adds r1, r0, 0 - ldrh r0, [r5, 0x3C] - adds r0, r1 - strh r0, [r5, 0x3C] - lsls r0, 16 - asrs r0, 24 - mov r2, r8 - ands r0, r2 - movs r2, 0x38 - ldrsh r1, [r5, r2] - bl Sin - ldrh r1, [r5, 0x26] - adds r0, r1 - strh r0, [r5, 0x26] - movs r2, 0x80 - lsls r2, 1 - adds r0, r2, 0 - ldrh r1, [r5, 0x6] - adds r0, r1 - strh r0, [r5, 0x6] - lsls r0, 16 - lsrs r0, 24 - movs r1, 0x3 - bl __umodsi3 - lsls r0, 16 - cmp r0, 0 - beq _08047176 - strh r4, [r5, 0x2E] - b _0804717E -_08047176: - lsls r0, r4, 16 - asrs r0, 16 - subs r0, 0x1 - strh r0, [r5, 0x2E] -_0804717E: - ldrh r0, [r5, 0x3C] - lsrs r0, 8 - cmp r0, 0x4F - ble _08047220 - ldrh r0, [r5, 0x30] - movs r1, 0x1 - adds r6, r1, 0 - ands r6, r0 - ldrh r0, [r5, 0x32] - adds r7, r1, 0 - ands r7, r0 - movs r2, 0x30 - ldrsh r1, [r5, r2] - lsls r0, r1, 1 - adds r0, r1 - movs r1, 0x2 - negs r1, r1 - adds r2, r1, 0 - ands r0, r2 - orrs r0, r6 - strh r0, [r5, 0x30] - movs r0, 0x32 - ldrsh r1, [r5, r0] - lsls r0, r1, 1 - adds r0, r1 - ands r0, r2 - orrs r0, r7 - strh r0, [r5, 0x32] - b _08047220 -_080471B8: - adds r0, r5, 0 - bl sub_8078718 - lsls r0, 24 - cmp r0, 0 - beq _08047220 - ldrh r0, [r5, 0x24] - ldrh r1, [r5, 0x20] - adds r0, r1 - movs r1, 0 - strh r0, [r5, 0x20] - ldrh r0, [r5, 0x26] - ldrh r2, [r5, 0x22] - adds r0, r2 - strh r0, [r5, 0x22] - strh r1, [r5, 0x26] - strh r1, [r5, 0x24] - ldrb r0, [r5, 0x6] - strh r0, [r5, 0x3A] - strh r1, [r5, 0x2E] - bl battle_type_is_double - lsls r0, 24 - cmp r0, 0 - beq _08047214 - ldr r0, _0804720C @ =0x02017840 - ldrb r1, [r0, 0x9] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08047214 - movs r0, 0x3A - ldrsh r4, [r5, r0] - movs r0, 0x2 - bl battle_get_side_with_given_state - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bne _08047214 - ldr r0, _08047210 @ =sub_8047230 - b _08047216 - .align 2, 0 -_0804720C: .4byte 0x02017840 -_08047210: .4byte sub_8047230 -_08047214: - ldr r0, _0804722C @ =sub_8046C78 -_08047216: - str r0, [r5, 0x1C] - adds r0, r5, 0 - movs r1, 0 - bl StartSpriteAffineAnim -_08047220: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0804722C: .4byte sub_8046C78 - thumb_func_end sub_80470C4 - - thumb_func_start sub_8047230 -sub_8047230: @ 8047230 - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x2E] - adds r1, r0, 0x1 - strh r1, [r2, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x18 - ble _0804724A - movs r0, 0 - strh r0, [r2, 0x2E] - ldr r0, _08047250 @ =sub_8046C78 - str r0, [r2, 0x1C] -_0804724A: - pop {r0} - bx r0 - .align 2, 0 -_08047250: .4byte sub_8046C78 - thumb_func_end sub_8047230 - - thumb_func_start sub_8047254 -sub_8047254: @ 8047254 - push {r4,r5,lr} - adds r5, r0, 0 - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xF - ble _080472A4 - movs r0, 0 - strh r0, [r5, 0x2E] - bl battle_type_is_double - lsls r0, 24 - cmp r0, 0 - beq _080472A0 - ldr r0, _08047298 @ =0x02017840 - ldrb r1, [r0, 0x9] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _080472A0 - movs r0, 0x3A - ldrsh r4, [r5, r0] - movs r0, 0x3 - bl battle_get_side_with_given_state - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bne _080472A0 - ldr r0, _0804729C @ =sub_8047230 - b _080472A2 - .align 2, 0 -_08047298: .4byte 0x02017840 -_0804729C: .4byte sub_8047230 -_080472A0: - ldr r0, _080472AC @ =sub_8046C78 -_080472A2: - str r0, [r5, 0x1C] -_080472A4: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080472AC: .4byte sub_8046C78 - thumb_func_end sub_8047254 - - thumb_func_start sub_80472B0 -sub_80472B0: @ 80472B0 - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r3, 24 - movs r4, 0 - str r4, [sp] - bl sub_814086C - lsls r0, 24 - lsrs r0, 24 - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80472B0 - - thumb_func_start sub_80472D8 -sub_80472D8: @ 80472D8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - movs r3, 0 - bl sub_8141314 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_80472D8 - - thumb_func_start CreatePokeballSprite -CreatePokeballSprite: @ 80472F0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - adds r5, r0, 0 - mov r9, r2 - mov r10, r3 - ldr r6, [sp, 0x24] - ldr r4, [sp, 0x28] - ldr r0, [sp, 0x2C] - lsls r5, 24 - lsrs r5, 24 - lsls r1, 24 - lsrs r1, 24 - str r1, [sp] - mov r1, r9 - lsls r1, 24 - lsrs r1, 24 - mov r9, r1 - mov r2, r10 - lsls r2, 24 - lsrs r2, 24 - mov r10, r2 - lsls r6, 24 - lsrs r6, 24 - lsls r4, 24 - lsrs r4, 24 - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, _080473BC @ =gUnknown_0820A92C - bl LoadCompressedObjectPic - ldr r0, _080473C0 @ =gUnknown_0820A98C - bl LoadCompressedObjectPalette - ldr r0, _080473C4 @ =gSpriteTemplate_820AAB4 - mov r1, r9 - mov r2, r10 - adds r3, r4, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r3, _080473C8 @ =gSprites - mov r8, r3 - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - adds r1, r4, r3 - strh r5, [r1, 0x2E] - lsls r2, r5, 4 - adds r2, r5 - lsls r2, 2 - add r2, r8 - ldrh r0, [r2, 0x20] - strh r0, [r1, 0x38] - ldrh r0, [r2, 0x22] - strh r0, [r1, 0x3A] - mov r0, r9 - strh r0, [r2, 0x20] - mov r3, r10 - strh r3, [r2, 0x22] - strh r7, [r1, 0x30] - mov r0, sp - ldrh r0, [r0] - strh r0, [r1, 0x32] - mov r3, sp - ldrh r3, [r3, 0x30] - strh r3, [r1, 0x34] - ldr r3, [sp, 0x30] - lsrs r0, r3, 16 - strh r0, [r1, 0x36] - movs r0, 0x3 - ands r6, r0 - lsls r6, 2 - ldrb r3, [r1, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r3 - orrs r0, r6 - strb r0, [r1, 0x5] - movs r0, 0x1C - add r8, r0 - add r4, r8 - ldr r0, _080473CC @ =sub_80473D0 - str r0, [r4] - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080473BC: .4byte gUnknown_0820A92C -_080473C0: .4byte gUnknown_0820A98C -_080473C4: .4byte gSpriteTemplate_820AAB4 -_080473C8: .4byte gSprites -_080473CC: .4byte sub_80473D0 - thumb_func_end CreatePokeballSprite - - thumb_func_start sub_80473D0 -sub_80473D0: @ 80473D0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r6, r0, 0 - ldrh r1, [r6, 0x30] - movs r2, 0x30 - ldrsh r0, [r6, r2] - cmp r0, 0 - bne _0804747C - ldrh r0, [r6, 0x2E] - lsls r0, 24 - lsrs r7, r0, 24 - ldrh r0, [r6, 0x32] - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldrh r4, [r6, 0x34] - ldrh r0, [r6, 0x36] - lsls r0, 16 - orrs r4, r0 - adds r0, r6, 0 - adds r0, 0x43 - ldrb r0, [r0] - cmp r0, 0 - beq _0804740A - subs r0, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - b _0804740C -_0804740A: - movs r5, 0 -_0804740C: - adds r0, r6, 0 - movs r1, 0x1 - bl StartSpriteAnim - ldrh r0, [r6, 0x20] - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r6, 0x22] - subs r1, 0x5 - lsls r1, 24 - lsrs r1, 24 - ldrb r2, [r6, 0x5] - lsls r2, 28 - lsrs r2, 30 - adds r3, r5, 0 - bl sub_80472B0 - movs r0, 0x1 - mov r1, r8 - adds r2, r4, 0 - bl sub_80472D8 - lsls r0, 24 - lsrs r0, 24 - movs r5, 0 - strh r0, [r6, 0x30] - ldr r0, _08047474 @ =sub_804748C - str r0, [r6, 0x1C] - ldr r0, _08047478 @ =gSprites - lsls r4, r7, 4 - adds r4, r7 - lsls r4, 2 - adds r4, r0 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim - adds r0, r4, 0 - bl AnimateSprite - movs r0, 0x80 - lsls r0, 5 - strh r0, [r4, 0x30] - strh r5, [r6, 0x3C] - b _08047480 - .align 2, 0 -_08047474: .4byte sub_804748C -_08047478: .4byte gSprites -_0804747C: - subs r0, r1, 0x1 - strh r0, [r6, 0x30] -_08047480: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80473D0 - - thumb_func_start sub_804748C -sub_804748C: @ 804748C - push {r4-r7,lr} - adds r4, r0, 0 - movs r0, 0 - mov r12, r0 - movs r6, 0 - ldrh r0, [r4, 0x2E] - lsls r0, 24 - lsrs r3, r0, 24 - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080474B6 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] -_080474B6: - ldr r0, _08047544 @ =gSprites - lsls r1, r3, 4 - adds r1, r3 - lsls r1, 2 - adds r5, r1, r0 - adds r0, r5, 0 - adds r0, 0x3F - ldrb r0, [r0] - lsls r0, 26 - cmp r0, 0 - bge _080474D8 - adds r0, r5, 0 - movs r1, 0 - bl StartSpriteAffineAnim - movs r1, 0x1 - mov r12, r1 -_080474D8: - movs r2, 0x38 - ldrsh r0, [r4, r2] - movs r7, 0x20 - ldrsh r1, [r4, r7] - subs r0, r1 - movs r1, 0x3C - ldrsh r2, [r4, r1] - muls r0, r2 - cmp r0, 0 - bge _080474EE - adds r0, 0x7F -_080474EE: - asrs r0, 7 - ldrh r7, [r4, 0x20] - adds r0, r7 - lsls r0, 16 - lsrs r3, r0, 16 - movs r1, 0x3A - ldrsh r0, [r4, r1] - movs r7, 0x22 - ldrsh r1, [r4, r7] - subs r0, r1 - muls r0, r2 - cmp r0, 0 - bge _0804750A - adds r0, 0x7F -_0804750A: - asrs r0, 7 - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r3, [r5, 0x20] - strh r0, [r5, 0x22] - ldrh r2, [r4, 0x3C] - movs r7, 0x3C - ldrsh r0, [r4, r7] - cmp r0, 0x7F - bgt _0804754C - ldr r1, _08047548 @ =gSineTable - lsls r0, r2, 24 - lsrs r0, 23 - adds r0, r1 - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bge _08047530 - adds r0, 0x7 -_08047530: - asrs r0, 3 - negs r0, r0 - lsls r0, 16 - lsrs r0, 16 - adds r1, r2, 0x4 - strh r1, [r4, 0x3C] - strh r0, [r5, 0x24] - strh r0, [r5, 0x26] - b _0804755A - .align 2, 0 -_08047544: .4byte gSprites -_08047548: .4byte gSineTable -_0804754C: - ldrh r0, [r4, 0x38] - strh r0, [r5, 0x20] - ldrh r0, [r4, 0x3A] - strh r0, [r5, 0x22] - strh r6, [r5, 0x24] - strh r6, [r5, 0x26] - movs r6, 0x1 -_0804755A: - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08047578 - mov r2, r12 - cmp r2, 0 - beq _08047578 - cmp r6, 0 - beq _08047578 - adds r0, r4, 0 - bl DestroySpriteAndFreeResources -_08047578: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_804748C - - thumb_func_start sub_8047580 -sub_8047580: @ 8047580 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - mov r10, r0 - adds r6, r2, 0 - mov r8, r3 - ldr r5, [sp, 0x20] - ldr r4, [sp, 0x24] - ldr r0, [sp, 0x28] - mov r9, r0 - mov r0, r10 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - lsls r1, 24 - lsrs r7, r1, 24 - lsls r6, 24 - lsrs r6, 24 - mov r1, r8 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - lsls r5, 24 - lsrs r5, 24 - lsls r4, 24 - lsrs r4, 24 - mov r0, r9 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - ldr r0, _08047624 @ =gUnknown_0820A92C - bl LoadCompressedObjectPic - ldr r0, _08047628 @ =gUnknown_0820A98C - bl LoadCompressedObjectPalette - ldr r0, _0804762C @ =gSpriteTemplate_820AAB4 - adds r1, r6, 0 - mov r2, r8 - adds r3, r4, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r6, _08047630 @ =gSprites - lsls r3, r0, 4 - adds r3, r0 - lsls r3, 2 - adds r2, r3, r6 - mov r1, r10 - strh r1, [r2, 0x2E] - mov r4, r9 - strh r4, [r2, 0x30] - strh r7, [r2, 0x32] - mov r1, sp - ldrh r1, [r1, 0x2C] - strh r1, [r2, 0x34] - ldr r4, [sp, 0x2C] - lsrs r1, r4, 16 - strh r1, [r2, 0x36] - movs r1, 0x3 - ands r5, r1 - lsls r5, 2 - ldrb r4, [r2, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r4 - orrs r1, r5 - strb r1, [r2, 0x5] - adds r6, 0x1C - adds r3, r6 - ldr r1, _08047634 @ =sub_8047638 - str r1, [r3] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08047624: .4byte gUnknown_0820A92C -_08047628: .4byte gUnknown_0820A98C -_0804762C: .4byte gSpriteTemplate_820AAB4 -_08047630: .4byte gSprites -_08047634: .4byte sub_8047638 - thumb_func_end sub_8047580 - - thumb_func_start sub_8047638 -sub_8047638: @ 8047638 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r4, r0, 0 - ldrh r1, [r4, 0x30] - movs r2, 0x30 - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _080476D0 - ldrh r0, [r4, 0x2E] - lsls r0, 24 - lsrs r7, r0, 24 - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldrh r5, [r4, 0x34] - ldrh r0, [r4, 0x36] - lsls r0, 16 - orrs r5, r0 - adds r0, r4, 0 - adds r0, 0x43 - ldrb r0, [r0] - cmp r0, 0 - beq _08047672 - subs r0, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - b _08047674 -_08047672: - movs r6, 0 -_08047674: - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAnim - ldrh r0, [r4, 0x20] - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x22] - subs r1, 0x5 - lsls r1, 24 - lsrs r1, 24 - ldrb r2, [r4, 0x5] - lsls r2, 28 - lsrs r2, 30 - adds r3, r6, 0 - bl sub_80472B0 - movs r0, 0x1 - mov r1, r8 - adds r2, r5, 0 - bl sub_80472D8 - lsls r0, 24 - lsrs r0, 24 - movs r5, 0 - strh r0, [r4, 0x30] - ldr r0, _080476C8 @ =sub_80476E0 - str r0, [r4, 0x1C] - lsls r4, r7, 4 - adds r4, r7 - lsls r4, 2 - ldr r0, _080476CC @ =gSprites - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x2 - bl StartSpriteAffineAnim - adds r0, r4, 0 - bl AnimateSprite - strh r5, [r4, 0x30] - b _080476D4 - .align 2, 0 -_080476C8: .4byte sub_80476E0 -_080476CC: .4byte gSprites -_080476D0: - subs r0, r1, 0x1 - strh r0, [r4, 0x30] -_080476D4: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8047638 - - thumb_func_start sub_80476E0 -sub_80476E0: @ 80476E0 - push {r4,r5,lr} - adds r5, r0, 0 - ldrh r0, [r5, 0x38] - adds r0, 0x1 - strh r0, [r5, 0x38] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xB - bne _080476F8 - movs r0, 0x3C - bl PlaySE -_080476F8: - ldrh r1, [r5, 0x2E] - lsls r1, 24 - lsrs r1, 24 - ldr r2, _08047734 @ =gSprites - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r4, r0, r2 - adds r0, r4, 0 - adds r0, 0x3F - ldrb r0, [r0] - lsls r0, 26 - cmp r0, 0 - bge _0804773C - adds r0, r5, 0 - movs r1, 0x2 - bl StartSpriteAnim - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - movs r0, 0 - strh r0, [r5, 0x38] - ldr r0, _08047738 @ =sub_8047754 - str r0, [r5, 0x1C] - b _0804774C - .align 2, 0 -_08047734: .4byte gSprites -_08047738: .4byte sub_8047754 -_0804773C: - ldrh r0, [r4, 0x30] - adds r0, 0x60 - strh r0, [r4, 0x30] - movs r1, 0x30 - ldrsh r0, [r4, r1] - negs r0, r0 - asrs r0, 8 - strh r0, [r4, 0x26] -_0804774C: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80476E0 - - thumb_func_start sub_8047754 -sub_8047754: @ 8047754 - push {lr} - adds r2, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08047768 - ldr r0, _0804776C @ =SpriteCallbackDummy - str r0, [r2, 0x1C] -_08047768: - pop {r0} - bx r0 - .align 2, 0 -_0804776C: .4byte SpriteCallbackDummy - thumb_func_end sub_8047754 - - thumb_func_start obj_delete_and_free_associated_resources_ -obj_delete_and_free_associated_resources_: @ 8047770 - push {lr} - bl DestroySpriteAndFreeResources - pop {r0} - bx r0 - thumb_func_end obj_delete_and_free_associated_resources_ - - thumb_func_start sub_804777C -sub_804777C: @ 804777C - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - ldr r0, _080477FC @ =gUnknown_03004340 - adds r0, r5, r0 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r6, _08047800 @ =gSprites - adds r4, r0, r6 - movs r1, 0 - movs r0, 0x5 - strh r0, [r4, 0x2E] - strh r1, [r4, 0x30] - movs r0, 0x73 - strh r0, [r4, 0x24] - strh r1, [r4, 0x26] - ldr r0, _08047804 @ =sub_8047830 - str r0, [r4, 0x1C] - adds r0, r5, 0 - bl battle_side_get_owner - lsls r0, 24 - cmp r0, 0 - beq _080477CA - ldrh r0, [r4, 0x2E] - negs r0, r0 - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x30] - negs r0, r0 - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x24] - negs r0, r0 - strh r0, [r4, 0x24] - ldrh r0, [r4, 0x26] - negs r0, r0 - strh r0, [r4, 0x26] -_080477CA: - movs r0, 0x38 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r6, 0 - adds r1, 0x1C - adds r1, r0, r1 - adds r0, r6 - ldr r1, [r1] - bl _call_via_r1 - adds r0, r5, 0 - bl battle_get_per_side_status - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _080477F4 - ldr r0, _08047808 @ =sub_804780C - str r0, [r4, 0x1C] -_080477F4: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080477FC: .4byte gUnknown_03004340 -_08047800: .4byte gSprites -_08047804: .4byte sub_8047830 -_08047808: .4byte sub_804780C - thumb_func_end sub_804777C - - thumb_func_start sub_804780C -sub_804780C: @ 804780C - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0x30] - adds r0, 0x1 - strh r0, [r1, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x14 - bne _08047826 - movs r0, 0 - strh r0, [r1, 0x30] - ldr r0, _0804782C @ =sub_8047830 - str r0, [r1, 0x1C] -_08047826: - pop {r0} - bx r0 - .align 2, 0 -_0804782C: .4byte sub_8047830 - thumb_func_end sub_804780C - - thumb_func_start sub_8047830 -sub_8047830: @ 8047830 - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x24] - ldrh r1, [r2, 0x2E] - subs r0, r1 - strh r0, [r2, 0x24] - ldrh r0, [r2, 0x26] - ldrh r1, [r2, 0x30] - subs r0, r1 - strh r0, [r2, 0x26] - ldr r0, [r2, 0x24] - cmp r0, 0 - bne _0804784E - ldr r0, _08047854 @ =SpriteCallbackDummy - str r0, [r2, 0x1C] -_0804784E: - pop {r0} - bx r0 - .align 2, 0 -_08047854: .4byte SpriteCallbackDummy - thumb_func_end sub_8047830 - - thumb_func_start sub_8047858 -sub_8047858: @ 8047858 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r5, _08047890 @ =oamc_804BEB4 - adds r0, r5, 0 - bl object_new_hidden_with_callback - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08047894 @ =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r3, r1, r2 - movs r0, 0x1 - strh r0, [r3, 0x2E] - ldr r0, _08047898 @ =gUnknown_03004340 - adds r4, r0 - ldrb r0, [r4] - strh r0, [r3, 0x30] - adds r2, 0x1C - adds r1, r2 - str r5, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08047890: .4byte oamc_804BEB4 -_08047894: .4byte gSprites -_08047898: .4byte gUnknown_03004340 - thumb_func_end sub_8047858 - - thumb_func_start oamc_804BEB4 -oamc_804BEB4: @ 804789C - push {lr} - adds r3, r0, 0 - ldrh r1, [r3, 0x30] - lsls r1, 24 - lsrs r1, 24 - ldr r2, _080478D8 @ =gSprites - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r2 - ldrh r0, [r3, 0x2E] - movs r2, 0 - strh r0, [r1, 0x26] - ldrh r0, [r3, 0x2E] - negs r0, r0 - strh r0, [r3, 0x2E] - ldrh r0, [r3, 0x32] - adds r0, 0x1 - strh r0, [r3, 0x32] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x15 - bne _080478D4 - strh r2, [r1, 0x24] - strh r2, [r1, 0x26] - adds r0, r3, 0 - bl DestroySprite -_080478D4: - pop {r0} - bx r0 - .align 2, 0 -_080478D8: .4byte gSprites - thumb_func_end oamc_804BEB4 - - thumb_func_start sub_80478DC -sub_80478DC: @ 80478DC - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _08047938 @ =gUnknown_0820A92C - lsls r6, r4, 3 - adds r5, r6, r0 - ldrh r0, [r5, 0x6] - bl GetSpriteTileStartByTag - lsls r0, 16 - ldr r1, _0804793C @ =0xffff0000 - cmp r0, r1 - bne _08047904 - adds r0, r5, 0 - bl LoadCompressedObjectPic - ldr r0, _08047940 @ =gUnknown_0820A98C - adds r0, r6, r0 - bl LoadCompressedObjectPalette -_08047904: - cmp r4, 0x6 - beq _08047930 - cmp r4, 0x6 - blt _08047914 - cmp r4, 0xB - bgt _08047914 - cmp r4, 0xA - bge _08047930 -_08047914: - ldr r1, _08047938 @ =gUnknown_0820A92C - lsls r0, r4, 3 - adds r0, r1 - ldrh r0, [r0, 0x6] - bl GetSpriteTileStartByTag - adds r1, r0, 0 - lsls r1, 16 - ldr r0, _08047944 @ =gUnknown_08D030D0 - lsrs r1, 11 - ldr r2, _08047948 @ =0x06010100 - adds r1, r2 - bl LZDecompressVram -_08047930: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08047938: .4byte gUnknown_0820A92C -_0804793C: .4byte 0xffff0000 -_08047940: .4byte gUnknown_0820A98C -_08047944: .4byte gUnknown_08D030D0 -_08047948: .4byte 0x06010100 - thumb_func_end sub_80478DC - - thumb_func_start sub_804794C -sub_804794C: @ 804794C - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - ldr r0, _08047970 @ =gUnknown_0820A92C - lsrs r4, 21 - adds r0, r4, r0 - ldrh r0, [r0, 0x6] - bl FreeSpriteTilesByTag - ldr r0, _08047974 @ =gUnknown_0820A98C - adds r4, r0 - ldrh r0, [r4, 0x4] - bl FreeSpritePaletteByTag - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08047970: .4byte gUnknown_0820A92C -_08047974: .4byte gUnknown_0820A98C - thumb_func_end sub_804794C - - thumb_func_start sub_8047978 -sub_8047978: @ 8047978 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl battle_side_get_owner - lsls r0, 24 - cmp r0, 0 - beq _080479A4 - ldr r1, _0804799C @ =gUnknown_02024A6A - lsls r0, r4, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _080479A0 @ =gEnemyParty - b _080479B2 - .align 2, 0 -_0804799C: .4byte gUnknown_02024A6A -_080479A0: .4byte gEnemyParty -_080479A4: - ldr r1, _080479C4 @ =gUnknown_02024A6A - lsls r0, r4, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _080479C8 @ =gPlayerParty -_080479B2: - adds r0, r1 - movs r1, 0x26 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_080479C4: .4byte gUnknown_02024A6A -_080479C8: .4byte gPlayerParty - thumb_func_end sub_8047978 + thumb_func_end GetHPBarLevel .align 2, 0 @ Don't pad with nop. diff --git a/asm/rom_806D7F8.s b/asm/rom_806D7F8.s index 8f95428c3..d28aea9a8 100644 --- a/asm/rom_806D7F8.s +++ b/asm/rom_806D7F8.s @@ -19,7 +19,7 @@ sub_806D7F8: @ 806D7F8 asrs r2, 16 adds r0, r1, 0 adds r1, r2, 0 - bl sub_8046200 + bl GetHPBarLevel lsls r0, 24 lsrs r0, 24 movs r2, 0 @@ -1812,7 +1812,7 @@ sub_806E574: @ 806E574 asrs r3, 16 adds r0, r2, 0 adds r1, r3, 0 - bl sub_8046200 + bl GetHPBarLevel lsls r0, 24 lsrs r3, r0, 24 adds r4, r3, 0 @@ -4082,7 +4082,7 @@ sub_806F7E8: @ 806F7E8 adds r0, r6, r2 movs r4, 0 ldrsh r0, [r0, r4] - bl sub_8046200 + bl GetHPBarLevel lsls r0, 24 lsrs r2, r0, 24 adds r3, r2, 0 diff --git a/asm/rom_8074BAC.s b/asm/rom_8077ABC.s index 27f89abde..8a4f5595c 100644 --- a/asm/rom_8074BAC.s +++ b/asm/rom_8077ABC.s @@ -6,4726 +6,6 @@ .text - thumb_func_start sub_8075624 -sub_8075624: @ 8075624 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r0, _080756B8 @ =gUnknown_0202F7B0 - movs r1, 0 - strb r1, [r0] - ldr r0, _080756BC @ =gUnknown_0202F7B1 - strb r1, [r0] - ldr r0, _080756C0 @ =gUnknown_0202F7B2 - strb r1, [r0] - ldr r0, _080756C4 @ =gUnknown_0202F7B3 - strb r1, [r0] - ldr r0, _080756C8 @ =gUnknown_0202F7B4 - movs r1, 0 - str r1, [r0] - ldr r0, _080756CC @ =gUnknown_0202F7B8 - str r1, [r0] - ldr r0, _080756D0 @ =gUnknown_0202F7BC - movs r2, 0 - strh r1, [r0] - ldr r0, _080756D4 @ =gUnknown_0202F7BE - strb r2, [r0] - ldr r4, _080756D8 @ =gUnknown_0202F7C2 - ldr r5, _080756DC @ =gUnknown_0202F7C4 - ldr r6, _080756E0 @ =gUnknown_0202F7C5 - ldr r7, _080756E4 @ =gUnknown_0202F7C6 - ldr r0, _080756E8 @ =gUnknown_0202F7C8 - mov r12, r0 - ldr r1, _080756EC @ =gUnknown_0202F7C9 - mov r8, r1 - ldr r0, _080756F0 @ =gUnknown_0202F7D2 - mov r9, r0 - ldr r1, _080756F4 @ =0x0000ffff - adds r3, r1, 0 - ldr r1, _080756F8 @ =gUnknown_03004B10 - movs r2, 0x7 -_0807566E: - ldrh r0, [r1] - orrs r0, r3 - strh r0, [r1] - adds r1, 0x2 - subs r2, 0x1 - cmp r2, 0 - bge _0807566E - ldr r1, _080756FC @ =gUnknown_03004B00 - movs r2, 0 - adds r0, r1, 0 - adds r0, 0xE -_08075684: - strh r2, [r0] - subs r0, 0x2 - cmp r0, r1 - bge _08075684 - movs r1, 0 - movs r0, 0xFF - strb r0, [r4] - movs r0, 0x1 - negs r0, r0 - strb r0, [r4, 0x1] - strb r1, [r5] - strb r1, [r6] - movs r0, 0 - strh r1, [r7] - mov r1, r12 - strb r0, [r1] - mov r1, r8 - strb r0, [r1] - mov r1, r9 - strb r0, [r1] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080756B8: .4byte gUnknown_0202F7B0 -_080756BC: .4byte gUnknown_0202F7B1 -_080756C0: .4byte gUnknown_0202F7B2 -_080756C4: .4byte gUnknown_0202F7B3 -_080756C8: .4byte gUnknown_0202F7B4 -_080756CC: .4byte gUnknown_0202F7B8 -_080756D0: .4byte gUnknown_0202F7BC -_080756D4: .4byte gUnknown_0202F7BE -_080756D8: .4byte gUnknown_0202F7C2 -_080756DC: .4byte gUnknown_0202F7C4 -_080756E0: .4byte gUnknown_0202F7C5 -_080756E4: .4byte gUnknown_0202F7C6 -_080756E8: .4byte gUnknown_0202F7C8 -_080756EC: .4byte gUnknown_0202F7C9 -_080756F0: .4byte gUnknown_0202F7D2 -_080756F4: .4byte 0x0000ffff -_080756F8: .4byte gUnknown_03004B10 -_080756FC: .4byte gUnknown_03004B00 - thumb_func_end sub_8075624 - - thumb_func_start move_anim_start_t1 -move_anim_start_t1: @ 8075700 - push {lr} - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - ldr r2, _08075724 @ =gUnknown_0202F7C8 - ldr r0, _08075728 @ =gUnknown_02024C07 - ldrb r0, [r0] - strb r0, [r2] - ldr r2, _0807572C @ =gUnknown_0202F7C9 - ldr r0, _08075730 @ =gUnknown_02024C08 - ldrb r0, [r0] - strb r0, [r2] - ldr r0, _08075734 @ =gBattleAnims_Moves - movs r2, 0x1 - bl move_something - pop {r0} - bx r0 - .align 2, 0 -_08075724: .4byte gUnknown_0202F7C8 -_08075728: .4byte gUnknown_02024C07 -_0807572C: .4byte gUnknown_0202F7C9 -_08075730: .4byte gUnknown_02024C08 -_08075734: .4byte gBattleAnims_Moves - thumb_func_end move_anim_start_t1 - - thumb_func_start move_something -move_something: @ 8075738 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - str r0, [sp] - lsls r1, 16 - lsrs r1, 16 - mov r8, r1 - lsls r2, 24 - lsrs r2, 24 - mov r9, r2 - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - bne _080757D8 - bl sub_8079E24 - movs r0, 0 - bl sub_8043EB4 - movs r4, 0 - mov r0, r8 - lsls r0, 2 - mov r10, r0 - ldr r6, _0807578C @ =gUnknown_02024A6A - movs r7, 0x64 - ldr r5, _08075790 @ =gUnknown_0202F7CA -_08075774: - lsls r0, r4, 24 - lsrs r0, 24 - bl battle_side_get_owner - lsls r0, 24 - cmp r0, 0 - beq _08075798 - ldrh r0, [r6] - muls r0, r7 - ldr r1, _08075794 @ =gEnemyParty - b _0807579E - .align 2, 0 -_0807578C: .4byte gUnknown_02024A6A -_08075790: .4byte gUnknown_0202F7CA -_08075794: .4byte gEnemyParty -_08075798: - ldrh r0, [r6] - muls r0, r7 - ldr r1, _080757C0 @ =gPlayerParty -_0807579E: - adds r0, r1 - movs r1, 0xB - bl GetMonData - strh r0, [r5] - adds r6, 0x2 - adds r5, 0x2 - adds r4, 0x1 - cmp r4, 0x3 - ble _08075774 - ldr r3, _080757C4 @ =gUnknown_0202F7C6 - ldr r5, _080757C8 @ =gUnknown_0202F7C2 - ldr r1, _080757CC @ =gUnknown_0202F7B1 - mov r12, r1 - ldr r7, _080757D0 @ =gUnknown_0202F7AC - ldr r6, _080757D4 @ =sub_80759D0 - b _080757FC - .align 2, 0 -_080757C0: .4byte gPlayerParty -_080757C4: .4byte gUnknown_0202F7C6 -_080757C8: .4byte gUnknown_0202F7C2 -_080757CC: .4byte gUnknown_0202F7B1 -_080757D0: .4byte gUnknown_0202F7AC -_080757D4: .4byte sub_80759D0 -_080757D8: - ldr r3, _08075808 @ =gUnknown_0202F7C6 - ldr r5, _0807580C @ =gUnknown_0202F7C2 - mov r0, r8 - lsls r0, 2 - mov r10, r0 - ldr r1, _08075810 @ =gUnknown_0202F7B1 - mov r12, r1 - ldr r7, _08075814 @ =gUnknown_0202F7AC - ldr r6, _08075818 @ =sub_80759D0 - ldr r2, _0807581C @ =0x02019348 - ldr r1, _08075820 @ =gUnknown_0202F7CA - movs r4, 0x3 -_080757F0: - ldrh r0, [r2] - strh r0, [r1] - adds r1, 0x2 - subs r4, 0x1 - cmp r4, 0 - bge _080757F0 -_080757FC: - mov r0, r9 - cmp r0, 0 - bne _08075824 - strh r0, [r3] - b _08075828 - .align 2, 0 -_08075808: .4byte gUnknown_0202F7C6 -_0807580C: .4byte gUnknown_0202F7C2 -_08075810: .4byte gUnknown_0202F7B1 -_08075814: .4byte gUnknown_0202F7AC -_08075818: .4byte sub_80759D0 -_0807581C: .4byte 0x02019348 -_08075820: .4byte gUnknown_0202F7CA -_08075824: - mov r1, r8 - strh r1, [r3] -_08075828: - ldr r1, _0807587C @ =gUnknown_03004B00 - movs r2, 0 - adds r0, r1, 0 - adds r0, 0xE -_08075830: - strh r2, [r0] - subs r0, 0x2 - cmp r0, r1 - bge _08075830 - movs r0, 0xFF - strb r0, [r5] - movs r0, 0x1 - negs r0, r0 - strb r0, [r5, 0x1] - ldr r0, [sp] - add r0, r10 - ldr r0, [r0] - ldr r1, _08075880 @ =gUnknown_0202F7A4 - str r0, [r1] - movs r0, 0x1 - mov r1, r12 - strb r0, [r1] - movs r0, 0 - ldr r1, _08075884 @ =gUnknown_0202F7B0 - strb r0, [r1] - str r6, [r7] - ldr r0, _08075888 @ =0x0000ffff - adds r2, r0, 0 - ldr r1, _0807588C @ =gUnknown_03004B10 - movs r4, 0x7 -_08075862: - ldrh r0, [r1] - orrs r0, r2 - strh r0, [r1] - adds r1, 0x2 - subs r4, 0x1 - cmp r4, 0 - bge _08075862 - mov r1, r9 - cmp r1, 0 - beq _080758AE - movs r4, 0 - ldr r2, _08075890 @ =gUnknown_081C7160 - b _08075896 - .align 2, 0 -_0807587C: .4byte gUnknown_03004B00 -_08075880: .4byte gUnknown_0202F7A4 -_08075884: .4byte gUnknown_0202F7B0 -_08075888: .4byte 0x0000ffff -_0807588C: .4byte gUnknown_03004B10 -_08075890: .4byte gUnknown_081C7160 -_08075894: - adds r4, 0x1 -_08075896: - lsls r0, r4, 1 - adds r0, r2 - ldrh r0, [r0] - ldr r1, _080758D0 @ =0x0000ffff - cmp r0, r1 - beq _080758AE - cmp r8, r0 - bne _08075894 - ldr r0, _080758D4 @ =gMPlay_BGM - movs r2, 0x80 - bl m4aMPlayVolumeControl -_080758AE: - ldr r0, _080758D8 @ =gUnknown_030042C4 - movs r1, 0 - strh r1, [r0] - ldr r0, _080758DC @ =gUnknown_03004240 - strh r1, [r0] - ldr r0, _080758E0 @ =gUnknown_03004200 - strh r1, [r0] - ldr r0, _080758E4 @ =gUnknown_03004244 - strh r1, [r0] - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080758D0: .4byte 0x0000ffff -_080758D4: .4byte gMPlay_BGM -_080758D8: .4byte gUnknown_030042C4 -_080758DC: .4byte gUnknown_03004240 -_080758E0: .4byte gUnknown_03004200 -_080758E4: .4byte gUnknown_03004244 - thumb_func_end move_something - - thumb_func_start move_anim_8072740 -move_anim_8072740: @ 80758E8 - push {r4,lr} - adds r4, r0, 0 - bl FreeSpriteOamMatrix - adds r0, r4, 0 - bl DestroySprite - ldr r1, _08075904 @ =gUnknown_0202F7B2 - ldrb r0, [r1] - subs r0, 0x1 - strb r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08075904: .4byte gUnknown_0202F7B2 - thumb_func_end move_anim_8072740 - - thumb_func_start move_anim_task_del -move_anim_task_del: @ 8075908 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - ldr r1, _08075920 @ =gUnknown_0202F7B2 - ldrb r0, [r1] - subs r0, 0x1 - strb r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08075920: .4byte gUnknown_0202F7B2 - thumb_func_end move_anim_task_del - - thumb_func_start move_anim_related_task_del -move_anim_related_task_del: @ 8075924 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl DestroyTask - ldr r1, _0807593C @ =gUnknown_0202F7B3 - ldrb r0, [r1] - subs r0, 0x1 - strb r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_0807593C: .4byte gUnknown_0202F7B3 - thumb_func_end move_anim_related_task_del - - thumb_func_start sub_8075940 -sub_8075940: @ 8075940 - push {r4,lr} - lsls r0, 16 - lsrs r3, r0, 16 - movs r2, 0 - ldr r4, _08075958 @ =0x0000ffff - ldr r1, _0807595C @ =gUnknown_03004B10 -_0807594C: - ldrh r0, [r1] - cmp r0, r4 - bne _08075960 - strh r3, [r1] - b _08075968 - .align 2, 0 -_08075958: .4byte 0x0000ffff -_0807595C: .4byte gUnknown_03004B10 -_08075960: - adds r1, 0x2 - adds r2, 0x1 - cmp r2, 0x7 - ble _0807594C -_08075968: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8075940 - - thumb_func_start sub_8075970 -sub_8075970: @ 8075970 - push {r4,lr} - lsls r0, 16 - lsrs r3, r0, 16 - movs r2, 0 - ldr r0, _0807598C @ =0x0000ffff - adds r4, r0, 0 - ldr r1, _08075990 @ =gUnknown_03004B10 -_0807597E: - ldrh r0, [r1] - cmp r0, r3 - bne _08075994 - orrs r0, r4 - strh r0, [r1] - b _0807599C - .align 2, 0 -_0807598C: .4byte 0x0000ffff -_08075990: .4byte gUnknown_03004B10 -_08075994: - adds r1, 0x2 - adds r2, 0x1 - cmp r2, 0x7 - ble _0807597E -_0807599C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8075970 - - thumb_func_start move_anim_waiter -move_anim_waiter: @ 80759A4 - push {lr} - ldr r2, _080759BC @ =gUnknown_0202F7B0 - ldrb r1, [r2] - movs r0, 0 - ldrsb r0, [r2, r0] - cmp r0, 0 - bgt _080759C8 - ldr r0, _080759C0 @ =gUnknown_0202F7AC - ldr r1, _080759C4 @ =sub_80759D0 - str r1, [r0] - movs r0, 0 - b _080759CA - .align 2, 0 -_080759BC: .4byte gUnknown_0202F7B0 -_080759C0: .4byte gUnknown_0202F7AC -_080759C4: .4byte sub_80759D0 -_080759C8: - subs r0, r1, 0x1 -_080759CA: - strb r0, [r2] - pop {r0} - bx r0 - thumb_func_end move_anim_waiter - - thumb_func_start sub_80759D0 -sub_80759D0: @ 80759D0 - push {r4,lr} - ldr r4, _08075A00 @ =gUnknown_0837F4B8 -_080759D4: - ldr r0, _08075A04 @ =gUnknown_0202F7A4 - ldr r0, [r0] - ldrb r0, [r0] - lsls r0, 2 - adds r0, r4 - ldr r0, [r0] - bl _call_via_r0 - ldr r0, _08075A08 @ =gUnknown_0202F7B0 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - cmp r0, 0 - bne _080759F8 - ldr r0, _08075A0C @ =gUnknown_0202F7B1 - ldrb r0, [r0] - cmp r0, 0 - bne _080759D4 -_080759F8: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08075A00: .4byte gUnknown_0837F4B8 -_08075A04: .4byte gUnknown_0202F7A4 -_08075A08: .4byte gUnknown_0202F7B0 -_08075A0C: .4byte gUnknown_0202F7B1 - thumb_func_end sub_80759D0 - - thumb_func_start ma00_load_graphics -ma00_load_graphics: @ 8075A10 - push {r4-r6,lr} - ldr r6, _08075A5C @ =gUnknown_0202F7A4 - ldr r0, [r6] - adds r1, r0, 0x1 - str r1, [r6] - ldrb r4, [r0, 0x1] - ldrb r0, [r1, 0x1] - lsls r0, 8 - orrs r4, r0 - lsls r5, r4, 3 - ldr r0, _08075A60 @ =gBattleAnimPicTable - (10000 * 8) - adds r0, r5, r0 - bl LoadCompressedObjectPic - ldr r0, _08075A64 @ =gBattleAnimPaletteTable - (10000 * 8) - adds r5, r0 - adds r0, r5, 0 - bl LoadCompressedObjectPalette - ldr r0, [r6] - adds r0, 0x2 - str r0, [r6] - ldr r0, _08075A68 @ =0xffffd8f0 - adds r4, r0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r4, 0 - bl sub_8075940 - ldr r1, _08075A6C @ =gUnknown_0202F7B0 - movs r0, 0x1 - strb r0, [r1] - ldr r1, _08075A70 @ =gUnknown_0202F7AC - ldr r0, _08075A74 @ =move_anim_waiter - str r0, [r1] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08075A5C: .4byte gUnknown_0202F7A4 -_08075A60: .4byte gBattleAnimPicTable - (10000 * 8) -_08075A64: .4byte gBattleAnimPaletteTable - (10000 * 8) -_08075A68: .4byte 0xffffd8f0 -_08075A6C: .4byte gUnknown_0202F7B0 -_08075A70: .4byte gUnknown_0202F7AC -_08075A74: .4byte move_anim_waiter - thumb_func_end ma00_load_graphics - - thumb_func_start ma01_080728D0 -ma01_080728D0: @ 8075A78 - push {r4-r6,lr} - ldr r6, _08075AB8 @ =gUnknown_0202F7A4 - ldr r0, [r6] - adds r1, r0, 0x1 - str r1, [r6] - ldrb r4, [r0, 0x1] - ldrb r0, [r1, 0x1] - lsls r0, 8 - orrs r4, r0 - ldr r1, _08075ABC @ =gBattleAnimPicTable - ldr r0, _08075AC0 @ =0xffffd8f0 - adds r4, r0 - lsls r0, r4, 3 - adds r0, r1 - ldrh r5, [r0, 0x6] - adds r0, r5, 0 - bl FreeSpriteTilesByTag - adds r0, r5, 0 - bl FreeSpritePaletteByTag - ldr r0, [r6] - adds r0, 0x2 - str r0, [r6] - lsls r4, 16 - lsrs r4, 16 - adds r0, r4, 0 - bl sub_8075970 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08075AB8: .4byte gUnknown_0202F7A4 -_08075ABC: .4byte gBattleAnimPicTable -_08075AC0: .4byte 0xffffd8f0 - thumb_func_end ma01_080728D0 - - thumb_func_start ma02_instanciate_template -ma02_instanciate_template: @ 8075AC4 - push {r4-r7,lr} - ldr r5, _08075B2C @ =gUnknown_0202F7A4 - ldr r1, [r5] - adds r3, r1, 0x1 - str r3, [r5] - ldrb r2, [r1, 0x1] - ldrb r0, [r3, 0x1] - lsls r0, 8 - adds r2, r0 - ldrb r0, [r3, 0x2] - lsls r0, 16 - adds r2, r0 - ldrb r0, [r3, 0x3] - lsls r0, 24 - adds r7, r2, r0 - adds r0, r1, 0x5 - str r0, [r5] - ldrb r4, [r1, 0x5] - adds r0, r1, 0x6 - str r0, [r5] - ldrb r0, [r1, 0x6] - adds r1, 0x7 - str r1, [r5] - cmp r0, 0 - beq _08075B14 - adds r6, r5, 0 - ldr r5, _08075B30 @ =gUnknown_03004B00 - adds r3, r0, 0 -_08075AFC: - ldr r2, [r6] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - strh r1, [r5] - adds r2, 0x2 - str r2, [r6] - adds r5, 0x2 - subs r3, 0x1 - cmp r3, 0 - bne _08075AFC -_08075B14: - movs r0, 0x80 - ands r0, r4 - cmp r0, 0 - beq _08075B44 - movs r0, 0x80 - eors r4, r0 - cmp r4, 0x3F - bls _08075B34 - adds r0, r4, 0 - subs r0, 0x40 - b _08075B36 - .align 2, 0 -_08075B2C: .4byte gUnknown_0202F7A4 -_08075B30: .4byte gUnknown_03004B00 -_08075B34: - negs r0, r4 -_08075B36: - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _08075B40 @ =gUnknown_0202F7C9 - b _08075B56 - .align 2, 0 -_08075B40: .4byte gUnknown_0202F7C9 -_08075B44: - cmp r4, 0x3F - bls _08075B4E - adds r0, r4, 0 - subs r0, 0x40 - b _08075B50 -_08075B4E: - negs r0, r4 -_08075B50: - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _08075BAC @ =gUnknown_0202F7C8 -_08075B56: - ldrb r0, [r0] - bl sub_8079E90 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r4, 24 - asrs r1, 24 - adds r0, r1 - lsls r0, 16 - lsrs r6, r0, 16 - lsls r0, r6, 16 - asrs r0, 16 - cmp r0, 0x2 - bgt _08075B74 - movs r6, 0x3 -_08075B74: - ldr r5, _08075BB0 @ =gUnknown_0202F7C9 - ldrb r0, [r5] - movs r1, 0x2 - bl sub_8077ABC - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldrb r0, [r5] - movs r1, 0x3 - bl sub_8077ABC - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - lsls r3, r6, 24 - lsrs r3, 24 - adds r0, r7, 0 - adds r1, r4, 0 - bl CreateSpriteAndAnimate - ldr r1, _08075BB4 @ =gUnknown_0202F7B2 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08075BAC: .4byte gUnknown_0202F7C8 -_08075BB0: .4byte gUnknown_0202F7C9 -_08075BB4: .4byte gUnknown_0202F7B2 - thumb_func_end ma02_instanciate_template - - thumb_func_start sub_8075BB8 -sub_8075BB8: @ 8075BB8 - push {r4-r7,lr} - ldr r4, _08075C28 @ =gUnknown_0202F7A4 - ldr r1, [r4] - adds r3, r1, 0x1 - str r3, [r4] - ldrb r2, [r1, 0x1] - ldrb r0, [r3, 0x1] - lsls r0, 8 - adds r2, r0 - ldrb r0, [r3, 0x2] - lsls r0, 16 - adds r2, r0 - ldrb r0, [r3, 0x3] - lsls r0, 24 - adds r6, r2, r0 - adds r0, r1, 0x5 - str r0, [r4] - ldrb r7, [r1, 0x5] - adds r0, r1, 0x6 - str r0, [r4] - ldrb r0, [r1, 0x6] - adds r1, 0x7 - str r1, [r4] - cmp r0, 0 - beq _08075C08 - adds r5, r4, 0 - ldr r4, _08075C2C @ =gUnknown_03004B00 - adds r3, r0, 0 -_08075BF0: - ldr r2, [r5] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - strh r1, [r4] - adds r2, 0x2 - str r2, [r5] - adds r4, 0x2 - subs r3, 0x1 - cmp r3, 0 - bne _08075BF0 -_08075C08: - adds r0, r6, 0 - adds r1, r7, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - bl _call_via_r6 - ldr r1, _08075C30 @ =gUnknown_0202F7B2 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08075C28: .4byte gUnknown_0202F7A4 -_08075C2C: .4byte gUnknown_03004B00 -_08075C30: .4byte gUnknown_0202F7B2 - thumb_func_end sub_8075BB8 - - thumb_func_start ma04_wait_countdown -ma04_wait_countdown: @ 8075C34 - push {r4,lr} - ldr r1, _08075C64 @ =gUnknown_0202F7A4 - ldr r0, [r1] - adds r2, r0, 0x1 - str r2, [r1] - ldr r3, _08075C68 @ =gUnknown_0202F7B0 - ldrb r0, [r0, 0x1] - strb r0, [r3] - lsls r0, 24 - cmp r0, 0 - bne _08075C52 - movs r4, 0x1 - negs r4, r4 - adds r0, r4, 0 - strb r0, [r3] -_08075C52: - adds r0, r2, 0x1 - str r0, [r1] - ldr r1, _08075C6C @ =gUnknown_0202F7AC - ldr r0, _08075C70 @ =move_anim_waiter - str r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08075C64: .4byte gUnknown_0202F7A4 -_08075C68: .4byte gUnknown_0202F7B0 -_08075C6C: .4byte gUnknown_0202F7AC -_08075C70: .4byte move_anim_waiter - thumb_func_end ma04_wait_countdown - - thumb_func_start sub_8075C74 -sub_8075C74: @ 8075C74 - push {lr} - ldr r0, _08075C8C @ =gUnknown_0202F7B2 - ldrb r2, [r0] - cmp r2, 0 - bne _08075C98 - ldr r0, _08075C90 @ =gUnknown_0202F7A4 - ldr r1, [r0] - adds r1, 0x1 - str r1, [r0] - ldr r0, _08075C94 @ =gUnknown_0202F7B0 - strb r2, [r0] - b _08075C9E - .align 2, 0 -_08075C8C: .4byte gUnknown_0202F7B2 -_08075C90: .4byte gUnknown_0202F7A4 -_08075C94: .4byte gUnknown_0202F7B0 -_08075C98: - ldr r1, _08075CA4 @ =gUnknown_0202F7B0 - movs r0, 0x1 - strb r0, [r1] -_08075C9E: - pop {r0} - bx r0 - .align 2, 0 -_08075CA4: .4byte gUnknown_0202F7B0 - thumb_func_end sub_8075C74 - - thumb_func_start nullsub_53 -nullsub_53: @ 8075CA8 - bx lr - thumb_func_end nullsub_53 - - thumb_func_start nullsub_88 -nullsub_88: @ 8075CAC - bx lr - thumb_func_end nullsub_88 - - thumb_func_start sub_8075CB0 -sub_8075CB0: @ 8075CB0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r0, 0 - mov r8, r0 - ldr r0, _08075CE0 @ =gUnknown_0202F7B2 - ldrb r0, [r0] - cmp r0, 0 - bne _08075CD8 - ldr r0, _08075CE4 @ =gUnknown_0202F7B3 - ldrb r0, [r0] - cmp r0, 0 - bne _08075CD8 - ldr r1, _08075CE8 @ =gUnknown_0202F7C2 - ldrb r0, [r1] - cmp r0, 0xFF - bne _08075CD8 - ldrb r0, [r1, 0x1] - cmp r0, 0xFF - beq _08075CF0 -_08075CD8: - ldr r1, _08075CEC @ =gUnknown_03004AF0 - movs r0, 0 - strh r0, [r1] - b _08075D0A - .align 2, 0 -_08075CE0: .4byte gUnknown_0202F7B2 -_08075CE4: .4byte gUnknown_0202F7B3 -_08075CE8: .4byte gUnknown_0202F7C2 -_08075CEC: .4byte gUnknown_03004AF0 -_08075CF0: - bl IsSEPlaying - lsls r0, 24 - cmp r0, 0 - beq _08075D28 - ldr r1, _08075D14 @ =gUnknown_03004AF0 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x5A - bhi _08075D1C -_08075D0A: - ldr r1, _08075D18 @ =gUnknown_0202F7B0 - movs r0, 0x1 - strb r0, [r1] - b _08075D8E - .align 2, 0 -_08075D14: .4byte gUnknown_03004AF0 -_08075D18: .4byte gUnknown_0202F7B0 -_08075D1C: - ldr r0, _08075D98 @ =gMPlay_SE1 - bl m4aMPlayStop - ldr r0, _08075D9C @ =gMPlay_SE2 - bl m4aMPlayStop -_08075D28: - ldr r1, _08075DA0 @ =gUnknown_03004AF0 - movs r0, 0 - strh r0, [r1] - movs r5, 0 - ldr r7, _08075DA4 @ =0x0000ffff - ldr r6, _08075DA8 @ =gBattleAnimPicTable - ldr r4, _08075DAC @ =gUnknown_03004B10 -_08075D36: - ldrh r0, [r4] - cmp r0, r7 - beq _08075D5A - lsls r0, 3 - adds r0, r6 - ldrh r0, [r0, 0x6] - bl FreeSpriteTilesByTag - ldrh r0, [r4] - lsls r0, 3 - adds r0, r6 - ldrh r0, [r0, 0x6] - bl FreeSpritePaletteByTag - ldrh r1, [r4] - adds r0, r7, 0 - orrs r0, r1 - strh r0, [r4] -_08075D5A: - adds r4, 0x2 - adds r5, 0x1 - cmp r5, 0x7 - ble _08075D36 - mov r1, r8 - cmp r1, 0 - bne _08075D8E - ldr r0, _08075DB0 @ =gMPlay_BGM - ldr r1, _08075DA4 @ =0x0000ffff - movs r2, 0x80 - lsls r2, 1 - bl m4aMPlayVolumeControl - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - bne _08075D88 - bl sub_8079E24 - movs r0, 0x1 - bl sub_8043EB4 -_08075D88: - ldr r0, _08075DB4 @ =gUnknown_0202F7B1 - mov r1, r8 - strb r1, [r0] -_08075D8E: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08075D98: .4byte gMPlay_SE1 -_08075D9C: .4byte gMPlay_SE2 -_08075DA0: .4byte gUnknown_03004AF0 -_08075DA4: .4byte 0x0000ffff -_08075DA8: .4byte gBattleAnimPicTable -_08075DAC: .4byte gUnknown_03004B10 -_08075DB0: .4byte gMPlay_BGM -_08075DB4: .4byte gUnknown_0202F7B1 - thumb_func_end sub_8075CB0 - - thumb_func_start ma09_play_sound -ma09_play_sound: @ 8075DB8 - push {r4,lr} - ldr r4, _08075DDC @ =gUnknown_0202F7A4 - ldr r0, [r4] - adds r1, r0, 0x1 - str r1, [r4] - ldrb r0, [r0, 0x1] - ldrb r1, [r1, 0x1] - lsls r1, 8 - orrs r0, r1 - bl PlaySE - ldr r0, [r4] - adds r0, 0x2 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08075DDC: .4byte gUnknown_0202F7A4 - thumb_func_end ma09_play_sound - - thumb_func_start sub_8075DE0 -sub_8075DE0: @ 8075DE0 - push {r4-r7,lr} - ldr r0, _08075DF4 @ =gUnknown_0202F7A4 - ldr r2, [r0] - adds r1, r2, 0x1 - str r1, [r0] - ldrb r6, [r2, 0x1] - cmp r6, 0 - bne _08075DF8 - movs r6, 0x2 - b _08075E02 - .align 2, 0 -_08075DF4: .4byte gUnknown_0202F7A4 -_08075DF8: - cmp r6, 0x1 - bne _08075DFE - movs r6, 0x3 -_08075DFE: - cmp r6, 0 - beq _08075E06 -_08075E02: - cmp r6, 0x2 - bne _08075E10 -_08075E06: - ldr r0, _08075E0C @ =gUnknown_0202F7C8 - b _08075E12 - .align 2, 0 -_08075E0C: .4byte gUnknown_0202F7C8 -_08075E10: - ldr r0, _08075E44 @ =gUnknown_0202F7C9 -_08075E12: - ldrb r5, [r0] - adds r0, r5, 0 - bl b_side_obj__get_some_boolean - lsls r0, 24 - cmp r0, 0 - beq _08075ECE - adds r0, r5, 0 - bl battle_get_per_side_status - lsls r0, 24 - movs r1, 0xFF - lsls r1, 24 - adds r0, r1 - lsrs r0, 24 - cmp r0, 0x1 - bls _08075E3E - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - beq _08075E48 -_08075E3E: - movs r7, 0 - b _08075E4A - .align 2, 0 -_08075E44: .4byte gUnknown_0202F7C9 -_08075E48: - movs r7, 0x1 -_08075E4A: - adds r0, r5, 0 - adds r1, r7, 0 - bl sub_8076034 - ldr r0, _08075E98 @ =gUnknown_02024BE0 - adds r0, r5, r0 - ldrb r4, [r0] - ldr r0, _08075E9C @ =task_pA_ma0A_obj_to_bg_pal - movs r1, 0xA - bl CreateTask - lsls r0, 24 - lsrs r3, r0, 24 - ldr r1, _08075EA0 @ =gTasks - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 3 - adds r2, r0, r1 - strh r4, [r2, 0x8] - ldr r1, _08075EA4 @ =gSprites - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r0, r1 - ldrh r1, [r0, 0x24] - ldrh r4, [r0, 0x20] - adds r1, r4 - strh r1, [r2, 0xA] - ldrh r1, [r0, 0x26] - ldrh r0, [r0, 0x22] - adds r1, r0 - strh r1, [r2, 0xC] - cmp r7, 0 - bne _08075EB0 - ldr r0, _08075EA8 @ =gUnknown_030042C0 - ldrh r0, [r0] - strh r0, [r2, 0xE] - ldr r0, _08075EAC @ =gUnknown_030041B4 - b _08075EB8 - .align 2, 0 -_08075E98: .4byte gUnknown_02024BE0 -_08075E9C: .4byte task_pA_ma0A_obj_to_bg_pal -_08075EA0: .4byte gTasks -_08075EA4: .4byte gSprites -_08075EA8: .4byte gUnknown_030042C0 -_08075EAC: .4byte gUnknown_030041B4 -_08075EB0: - ldr r0, _08075F04 @ =gUnknown_03004288 - ldrh r0, [r0] - strh r0, [r2, 0xE] - ldr r0, _08075F08 @ =gUnknown_03004280 -_08075EB8: - ldrh r0, [r0] - strh r0, [r2, 0x10] - ldr r0, _08075F0C @ =gTasks - lsls r1, r3, 2 - adds r1, r3 - lsls r1, 3 - adds r1, r0 - strh r7, [r1, 0x12] - strh r5, [r1, 0x14] - ldr r0, _08075F10 @ =gUnknown_0202F7C2 - strb r3, [r0] -_08075ECE: - movs r0, 0x2 - eors r5, r0 - cmp r6, 0x1 - bls _08075F9A - adds r0, r5, 0 - bl b_side_obj__get_some_boolean - lsls r0, 24 - cmp r0, 0 - beq _08075F9A - adds r0, r5, 0 - bl battle_get_per_side_status - lsls r0, 24 - movs r1, 0xFF - lsls r1, 24 - adds r0, r1 - lsrs r0, 24 - cmp r0, 0x1 - bls _08075F00 - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - beq _08075F14 -_08075F00: - movs r7, 0 - b _08075F16 - .align 2, 0 -_08075F04: .4byte gUnknown_03004288 -_08075F08: .4byte gUnknown_03004280 -_08075F0C: .4byte gTasks -_08075F10: .4byte gUnknown_0202F7C2 -_08075F14: - movs r7, 0x1 -_08075F16: - adds r0, r5, 0 - adds r1, r7, 0 - bl sub_8076034 - ldr r0, _08075F64 @ =gUnknown_02024BE0 - adds r0, r5, r0 - ldrb r4, [r0] - ldr r0, _08075F68 @ =task_pA_ma0A_obj_to_bg_pal - movs r1, 0xA - bl CreateTask - lsls r0, 24 - lsrs r3, r0, 24 - ldr r1, _08075F6C @ =gTasks - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 3 - adds r2, r0, r1 - strh r4, [r2, 0x8] - ldr r1, _08075F70 @ =gSprites - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r0, r1 - ldrh r1, [r0, 0x24] - ldrh r4, [r0, 0x20] - adds r1, r4 - strh r1, [r2, 0xA] - ldrh r1, [r0, 0x26] - ldrh r0, [r0, 0x22] - adds r1, r0 - strh r1, [r2, 0xC] - cmp r7, 0 - bne _08075F7C - ldr r0, _08075F74 @ =gUnknown_030042C0 - ldrh r0, [r0] - strh r0, [r2, 0xE] - ldr r0, _08075F78 @ =gUnknown_030041B4 - b _08075F84 - .align 2, 0 -_08075F64: .4byte gUnknown_02024BE0 -_08075F68: .4byte task_pA_ma0A_obj_to_bg_pal -_08075F6C: .4byte gTasks -_08075F70: .4byte gSprites -_08075F74: .4byte gUnknown_030042C0 -_08075F78: .4byte gUnknown_030041B4 -_08075F7C: - ldr r0, _08075FA8 @ =gUnknown_03004288 - ldrh r0, [r0] - strh r0, [r2, 0xE] - ldr r0, _08075FAC @ =gUnknown_03004280 -_08075F84: - ldrh r0, [r0] - strh r0, [r2, 0x10] - ldr r0, _08075FB0 @ =gTasks - lsls r1, r3, 2 - adds r1, r3 - lsls r1, 3 - adds r1, r0 - strh r7, [r1, 0x12] - strh r5, [r1, 0x14] - ldr r0, _08075FB4 @ =gUnknown_0202F7C2 - strb r3, [r0, 0x1] -_08075F9A: - ldr r1, _08075FB8 @ =gUnknown_0202F7A4 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08075FA8: .4byte gUnknown_03004288 -_08075FAC: .4byte gUnknown_03004280 -_08075FB0: .4byte gTasks -_08075FB4: .4byte gUnknown_0202F7C2 -_08075FB8: .4byte gUnknown_0202F7A4 - thumb_func_end sub_8075DE0 - - thumb_func_start b_side_obj__get_some_boolean -b_side_obj__get_some_boolean: @ 8075FBC - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - beq _08075FDC - ldr r0, _08075FD8 @ =gUnknown_0202F7C8 - ldrb r0, [r0] - cmp r4, r0 - beq _0807601C - b _0807602C - .align 2, 0 -_08075FD8: .4byte gUnknown_0202F7C8 -_08075FDC: - adds r0, r4, 0 - bl sub_8078874 - lsls r0, 24 - cmp r0, 0 - beq _0807602C - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - bne _0807601C - lsls r0, r5, 2 - ldr r1, _08076020 @ =0x02017800 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0807601C - ldr r2, _08076024 @ =gSprites - ldr r0, _08076028 @ =gUnknown_02024BE0 - adds r0, r5, r0 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r0, [r0] - lsls r0, 29 - cmp r0, 0 - blt _0807602C -_0807601C: - movs r0, 0x1 - b _0807602E - .align 2, 0 -_08076020: .4byte 0x02017800 -_08076024: .4byte gSprites -_08076028: .4byte gUnknown_02024BE0 -_0807602C: - movs r0, 0 -_0807602E: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end b_side_obj__get_some_boolean - - thumb_func_start sub_8076034 -sub_8076034: @ 8076034 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x28 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - lsls r1, 24 - cmp r1, 0 - beq _0807604E - b _08076220 -_0807604E: - add r4, sp, 0x10 - adds r0, r4, 0 - bl sub_8078914 - ldr r2, [sp, 0x10] - movs r3, 0x80 - lsls r3, 6 - add r6, sp, 0x1C - add r0, sp, 0x20 - mov r10, r0 - mov r1, r9 - lsls r1, 5 - str r1, [sp, 0x24] - movs r5, 0 - ldr r1, _08076194 @ =0x040000d4 - movs r4, 0x80 - lsls r4, 5 - mov r12, r6 - ldr r7, _08076198 @ =0x85000400 - movs r0, 0x85 - lsls r0, 24 - mov r8, r0 -_0807607A: - str r5, [sp, 0x1C] - mov r0, r12 - str r0, [r1] - str r2, [r1, 0x4] - str r7, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r2, r4 - subs r3, r4 - cmp r3, r4 - bhi _0807607A - str r5, [sp, 0x1C] - str r6, [r1] - str r2, [r1, 0x4] - lsrs r0, r3, 2 - mov r2, r8 - orrs r0, r2 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - add r0, sp, 0xC - movs r1, 0 - strb r1, [r0] - strb r1, [r0] - ldr r1, [sp, 0x14] - movs r0, 0xFF - mov r3, r10 - strh r0, [r3] - ldr r0, _08076194 @ =0x040000d4 - str r3, [r0] - str r1, [r0, 0x4] - ldr r1, _0807619C @ =0x81000800 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - ldr r2, _080761A0 @ =REG_BG1CNT - ldrb r1, [r2] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2] - ldrb r1, [r2, 0x1] - movs r0, 0x3F - ands r0, r1 - movs r1, 0x40 - orrs r0, r1 - strb r0, [r2, 0x1] - ldrb r1, [r2, 0x1] - movs r0, 0x21 - negs r0, r0 - ands r0, r1 - strb r0, [r2, 0x1] - ldr r0, _080761A4 @ =gUnknown_02024BE0 - add r0, r9 - ldrb r4, [r0] - ldr r5, _080761A8 @ =gUnknown_030042C0 - ldr r0, _080761AC @ =gSprites - lsls r1, r4, 4 - adds r1, r4 - lsls r1, 2 - adds r1, r0 - ldrh r0, [r1, 0x24] - ldrh r1, [r1, 0x20] - adds r0, r1 - negs r0, r0 - adds r0, 0x20 - strh r0, [r5] - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - beq _0807611C - ldr r0, _080761B0 @ =0x02019348 - ldrh r0, [r0] - bl sub_80AEB1C - lsls r0, 24 - cmp r0, 0 - beq _0807611C - ldrh r0, [r5] - subs r0, 0x1 - strh r0, [r5] -_0807611C: - ldr r3, _080761B4 @ =gUnknown_030041B4 - ldr r2, _080761AC @ =gSprites - lsls r1, r4, 4 - adds r1, r4 - lsls r1, 2 - adds r1, r2 - ldrh r0, [r1, 0x26] - ldrh r1, [r1, 0x22] - adds r0, r1 - negs r0, r0 - adds r0, 0x20 - strh r0, [r3] - ldr r0, _080761A4 @ =gUnknown_02024BE0 - add r0, r9 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - ldr r1, _080761B8 @ =REG_BG1HOFS - ldr r0, _080761A8 @ =gUnknown_030042C0 - ldrh r0, [r0] - strh r0, [r1] - adds r1, 0x2 - ldrh r0, [r3] - strh r0, [r1] - ldr r4, _080761BC @ =gPlttBufferUnfaded + 0x200 - ldr r0, [sp, 0x24] - adds r4, r0, r4 - mov r2, sp - ldrb r1, [r2, 0x18] - lsls r1, 4 - adds r0, r4, 0 - movs r2, 0x20 - bl LoadPalette - mov r3, sp - ldrb r0, [r3, 0x18] - lsls r0, 5 - movs r1, 0xA0 - lsls r1, 19 - adds r0, r1 - ldr r1, _08076194 @ =0x040000d4 - str r4, [r1] - str r0, [r1, 0x4] - ldr r0, _080761C0 @ =0x84000008 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - beq _080761C4 - movs r2, 0 - b _080761CE - .align 2, 0 -_08076194: .4byte 0x040000d4 -_08076198: .4byte 0x85000400 -_0807619C: .4byte 0x81000800 -_080761A0: .4byte REG_BG1CNT -_080761A4: .4byte gUnknown_02024BE0 -_080761A8: .4byte gUnknown_030042C0 -_080761AC: .4byte gSprites -_080761B0: .4byte 0x02019348 -_080761B4: .4byte gUnknown_030041B4 -_080761B8: .4byte REG_BG1HOFS -_080761BC: .4byte gPlttBufferUnfaded + 0x200 -_080761C0: .4byte 0x84000008 -_080761C4: - mov r0, r9 - bl battle_get_per_side_status - lsls r0, 24 - lsrs r2, r0, 24 -_080761CE: - mov r0, sp - ldrb r3, [r0, 0x18] - ldr r0, [sp, 0x10] - lsls r0, 16 - lsrs r0, 16 - str r0, [sp] - ldr r4, [sp, 0x14] - movs r1, 0xFA - lsls r1, 24 - adds r0, r4, r1 - cmp r0, 0 - bge _080761EA - ldr r1, _08076218 @ =0xfa0007ff - adds r0, r4, r1 -_080761EA: - asrs r0, 11 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - ldr r0, _0807621C @ =REG_BG1CNT - ldr r0, [r0] - lsls r0, 28 - lsrs r0, 30 - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0 - bl sub_80E4EF8 - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - bne _08076210 - b _08076338 -_08076210: - bl sub_8076380 - b _08076338 - .align 2, 0 -_08076218: .4byte 0xfa0007ff -_0807621C: .4byte REG_BG1CNT -_08076220: - ldr r3, _08076348 @ =0x06006000 - movs r5, 0x80 - lsls r5, 6 - add r6, sp, 0x1C - ldr r2, _0807634C @ =gSprites - mov r10, r2 - mov r0, r9 - lsls r0, 5 - str r0, [sp, 0x24] - movs r4, 0 - ldr r1, _08076350 @ =0x040000d4 - movs r2, 0x80 - lsls r2, 5 - mov r12, r6 - ldr r7, _08076354 @ =0x85000400 - movs r0, 0x85 - lsls r0, 24 - mov r8, r0 -_08076244: - str r4, [sp, 0x1C] - mov r0, r12 - str r0, [r1] - str r3, [r1, 0x4] - str r7, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r3, r2 - subs r5, r2 - cmp r5, r2 - bhi _08076244 - str r4, [sp, 0x1C] - str r6, [r1] - str r3, [r1, 0x4] - lsrs r0, r5, 2 - mov r2, r8 - orrs r0, r2 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - add r0, sp, 0xC - movs r1, 0 - strb r1, [r0] - strb r1, [r0] - ldr r1, _08076358 @ =0x0600f000 - movs r0, 0 - str r0, [sp, 0x1C] - ldr r5, _08076350 @ =0x040000d4 - str r6, [r5] - str r1, [r5, 0x4] - ldr r0, _0807635C @ =0x85000200 - str r0, [r5, 0x8] - ldr r0, [r5, 0x8] - ldr r6, _08076360 @ =REG_BG2CNT - ldrb r1, [r6] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - movs r1, 0x2 - orrs r0, r1 - strb r0, [r6] - ldrb r1, [r6, 0x1] - movs r0, 0x3F - ands r0, r1 - movs r1, 0x40 - orrs r0, r1 - strb r0, [r6, 0x1] - ldrb r1, [r6, 0x1] - movs r0, 0x21 - negs r0, r0 - ands r0, r1 - strb r0, [r6, 0x1] - ldr r2, _08076364 @ =gUnknown_02024BE0 - add r2, r9 - ldrb r4, [r2] - lsls r1, r4, 4 - adds r1, r4 - lsls r1, 2 - add r1, r10 - ldrh r0, [r1, 0x24] - ldrh r3, [r1, 0x20] - adds r0, r3 - negs r0, r0 - adds r0, 0x20 - ldr r3, _08076368 @ =gUnknown_03004288 - strh r0, [r3] - ldrh r0, [r1, 0x26] - ldrh r1, [r1, 0x22] - adds r0, r1 - negs r0, r0 - adds r0, 0x20 - ldr r1, _0807636C @ =gUnknown_03004280 - strh r0, [r1] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r10 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - ldr r1, _08076370 @ =REG_BG2HOFS - ldrh r0, [r3] - strh r0, [r1] - adds r1, 0x2 - ldr r2, _0807636C @ =gUnknown_03004280 - ldrh r0, [r2] - strh r0, [r1] - ldr r3, [sp, 0x24] - ldr r0, _08076374 @ =gPlttBufferUnfaded + 0x200 - adds r4, r3, r0 - adds r0, r4, 0 - movs r1, 0x90 - movs r2, 0x20 - bl LoadPalette - ldr r0, _08076378 @ =0x05000120 - str r4, [r5] - str r0, [r5, 0x4] - ldr r0, _0807637C @ =0x84000008 - str r0, [r5, 0x8] - ldr r0, [r5, 0x8] - mov r0, r9 - bl battle_get_per_side_status - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - movs r0, 0xC0 - lsls r0, 7 - str r0, [sp] - movs r0, 0x1E - str r0, [sp, 0x4] - ldr r0, [r6] - lsls r0, 28 - lsrs r0, 30 - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0 - movs r3, 0x9 - bl sub_80E4EF8 -_08076338: - add sp, 0x28 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08076348: .4byte 0x06006000 -_0807634C: .4byte gSprites -_08076350: .4byte 0x040000d4 -_08076354: .4byte 0x85000400 -_08076358: .4byte 0x0600f000 -_0807635C: .4byte 0x85000200 -_08076360: .4byte REG_BG2CNT -_08076364: .4byte gUnknown_02024BE0 -_08076368: .4byte gUnknown_03004288 -_0807636C: .4byte gUnknown_03004280 -_08076370: .4byte REG_BG2HOFS -_08076374: .4byte gPlttBufferUnfaded + 0x200 -_08076378: .4byte 0x05000120 -_0807637C: .4byte 0x84000008 - thumb_func_end sub_8076034 - - thumb_func_start sub_8076380 -sub_8076380: @ 8076380 - push {r4-r7,lr} - sub sp, 0xC - ldr r0, _080763F8 @ =0x02019348 - ldrh r0, [r0] - bl sub_80AEB1C - lsls r0, 24 - cmp r0, 0 - beq _080763EE - mov r0, sp - bl sub_8078914 - ldr r6, [sp, 0x4] - movs r5, 0 - movs r0, 0x7 - mov r12, r0 - movs r7, 0 -_080763A2: - movs r4, 0 - adds r3, r7, r6 - mov r1, r12 - lsls r0, r1, 1 - adds r2, r0, r6 -_080763AC: - ldrh r1, [r3] - ldrh r0, [r2] - strh r0, [r3] - strh r1, [r2] - adds r3, 0x2 - subs r2, 0x2 - adds r4, 0x1 - cmp r4, 0x3 - ble _080763AC - movs r0, 0x20 - add r12, r0 - adds r7, 0x40 - adds r5, 0x1 - cmp r5, 0x7 - ble _080763A2 - movs r5, 0 - movs r1, 0x80 - lsls r1, 3 - adds r3, r1, 0 -_080763D2: - adds r2, r5, 0x1 - lsls r0, r5, 6 - adds r1, r0, r6 - movs r4, 0x7 -_080763DA: - ldrh r0, [r1] - eors r0, r3 - strh r0, [r1] - adds r1, 0x2 - subs r4, 0x1 - cmp r4, 0 - bge _080763DA - adds r5, r2, 0 - cmp r5, 0x7 - ble _080763D2 -_080763EE: - add sp, 0xC - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080763F8: .4byte 0x02019348 - thumb_func_end sub_8076380 - - thumb_func_start sub_80763FC -sub_80763FC: @ 80763FC - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - mov r12, r1 - adds r7, r2, 0 - lsls r0, 16 - lsrs r6, r0, 16 - lsls r3, 24 - movs r0, 0x40 - mov r9, r0 - cmp r3, 0 - bne _0807641A - movs r1, 0x20 - mov r9, r1 -_0807641A: - lsls r0, r6, 28 - lsrs r6, r0, 16 - movs r0, 0 - cmp r0, r9 - bcs _08076452 - ldr r1, _08076460 @ =0x00000fff - mov r8, r1 -_08076428: - movs r3, 0 - adds r5, r0, 0x1 - lsls r4, r0, 5 -_0807642E: - adds r1, r4, r3 - lsls r1, 1 - add r1, r12 - ldrh r2, [r1] - mov r0, r8 - ands r0, r2 - orrs r0, r6 - adds r0, r7 - strh r0, [r1] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x1F - bls _0807642E - lsls r0, r5, 24 - lsrs r0, 24 - cmp r0, r9 - bcc _08076428 -_08076452: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08076460: .4byte 0x00000fff - thumb_func_end sub_80763FC - - thumb_func_start sub_8076464 -sub_8076464: @ 8076464 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - add r5, sp, 0x4 - adds r0, r5, 0 - bl sub_8078914 - cmp r4, 0 - beq _0807648C - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - beq _080764F0 -_0807648C: - ldr r2, [sp, 0x4] - movs r3, 0x80 - lsls r3, 6 - add r5, sp, 0x10 - ldr r0, _080764E0 @ =gUnknown_030042C0 - mov r9, r0 - ldr r0, _080764E4 @ =gUnknown_030041B4 - mov r10, r0 - movs r6, 0 - ldr r1, _080764E8 @ =0x040000d4 - movs r4, 0x80 - lsls r4, 5 - mov r12, r5 - ldr r7, _080764EC @ =0x85000400 - movs r0, 0x85 - lsls r0, 24 - mov r8, r0 -_080764AE: - str r6, [sp, 0x10] - mov r0, r12 - str r0, [r1] - str r2, [r1, 0x4] - str r7, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r2, r4 - subs r3, r4 - cmp r3, r4 - bhi _080764AE - str r6, [sp, 0x10] - str r5, [r1] - str r2, [r1, 0x4] - lsrs r0, r3, 2 - mov r2, r8 - orrs r0, r2 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - mov r0, sp - movs r1, 0 - strb r1, [r0] - strb r1, [r0] - ldr r1, [sp, 0x8] - b _08076540 - .align 2, 0 -_080764E0: .4byte gUnknown_030042C0 -_080764E4: .4byte gUnknown_030041B4 -_080764E8: .4byte 0x040000d4 -_080764EC: .4byte 0x85000400 -_080764F0: - ldr r2, _08076568 @ =0x06006000 - movs r3, 0x80 - lsls r3, 6 - add r5, sp, 0x10 - ldr r0, _0807656C @ =gUnknown_03004288 - mov r9, r0 - ldr r0, _08076570 @ =gUnknown_03004280 - mov r10, r0 - movs r6, 0 - ldr r1, _08076574 @ =0x040000d4 - movs r4, 0x80 - lsls r4, 5 - mov r12, r5 - ldr r7, _08076578 @ =0x85000400 - movs r0, 0x85 - lsls r0, 24 - mov r8, r0 -_08076512: - str r6, [sp, 0x10] - mov r0, r12 - str r0, [r1] - str r2, [r1, 0x4] - str r7, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r2, r4 - subs r3, r4 - cmp r3, r4 - bhi _08076512 - str r6, [sp, 0x10] - str r5, [r1] - str r2, [r1, 0x4] - lsrs r0, r3, 2 - mov r2, r8 - orrs r0, r2 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - mov r0, sp - movs r1, 0 - strb r1, [r0] - strb r1, [r0] - ldr r1, _0807657C @ =0x0600f000 -_08076540: - movs r2, 0 - str r2, [sp, 0x10] - ldr r0, _08076574 @ =0x040000d4 - str r5, [r0] - str r1, [r0, 0x4] - ldr r1, _08076580 @ =0x85000200 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - mov r0, r9 - strh r2, [r0] - mov r0, r10 - strh r2, [r0] - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08076568: .4byte 0x06006000 -_0807656C: .4byte gUnknown_03004288 -_08076570: .4byte gUnknown_03004280 -_08076574: .4byte 0x040000d4 -_08076578: .4byte 0x85000400 -_0807657C: .4byte 0x0600f000 -_08076580: .4byte 0x85000200 - thumb_func_end sub_8076464 - - thumb_func_start task_pA_ma0A_obj_to_bg_pal -task_pA_ma0A_obj_to_bg_pal: @ 8076584 - push {r4-r6,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080765FC @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r5, r1, r2 - ldrb r4, [r5, 0x8] - ldrb r6, [r5, 0x14] - mov r0, sp - bl sub_8078914 - ldr r0, _08076600 @ =gSprites - lsls r1, r4, 4 - adds r1, r4 - lsls r1, 2 - adds r1, r0 - ldrh r2, [r1, 0x24] - ldrh r0, [r1, 0x20] - adds r2, r0 - ldrh r0, [r5, 0xA] - subs r0, r2 - lsls r0, 16 - lsrs r3, r0, 16 - ldrh r2, [r1, 0x26] - ldrh r1, [r1, 0x22] - adds r2, r1 - ldrh r0, [r5, 0xC] - subs r0, r2 - lsls r0, 16 - lsrs r2, r0, 16 - movs r1, 0x12 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _08076614 - ldr r1, _08076604 @ =gUnknown_030042C0 - lsls r0, r3, 16 - asrs r0, 16 - ldrh r3, [r5, 0xE] - adds r0, r3 - strh r0, [r1] - ldr r1, _08076608 @ =gUnknown_030041B4 - lsls r0, r2, 16 - asrs r0, 16 - ldrh r5, [r5, 0x10] - adds r0, r5 - strh r0, [r1] - lsls r2, r6, 5 - ldr r1, _0807660C @ =gPlttBufferFaded + 0x200 - adds r2, r1 - mov r0, sp - ldrb r0, [r0, 0x8] - lsls r0, 5 - ldr r3, _08076610 @ =0xfffffe00 - adds r1, r3 - adds r0, r1 - b _08076634 - .align 2, 0 -_080765FC: .4byte gTasks -_08076600: .4byte gSprites -_08076604: .4byte gUnknown_030042C0 -_08076608: .4byte gUnknown_030041B4 -_0807660C: .4byte gPlttBufferFaded + 0x200 -_08076610: .4byte 0xfffffe00 -_08076614: - ldr r1, _08076648 @ =gUnknown_03004288 - lsls r0, r3, 16 - asrs r0, 16 - ldrh r3, [r5, 0xE] - adds r0, r3 - strh r0, [r1] - ldr r1, _0807664C @ =gUnknown_03004280 - lsls r0, r2, 16 - asrs r0, 16 - ldrh r5, [r5, 0x10] - adds r0, r5 - strh r0, [r1] - lsls r2, r6, 5 - ldr r0, _08076650 @ =gPlttBufferFaded + 0x200 - adds r2, r0 - subs r0, 0xE0 -_08076634: - ldr r1, _08076654 @ =0x040000d4 - str r2, [r1] - str r0, [r1, 0x4] - ldr r0, _08076658 @ =0x84000008 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08076648: .4byte gUnknown_03004288 -_0807664C: .4byte gUnknown_03004280 -_08076650: .4byte gPlttBufferFaded + 0x200 -_08076654: .4byte 0x040000d4 -_08076658: .4byte 0x84000008 - thumb_func_end task_pA_ma0A_obj_to_bg_pal - - thumb_func_start ma0B_0807324C -ma0B_0807324C: @ 807665C - push {r4,r5,lr} - ldr r0, _08076670 @ =gUnknown_0202F7A4 - ldr r2, [r0] - adds r1, r2, 0x1 - str r1, [r0] - ldrb r4, [r2, 0x1] - cmp r4, 0 - bne _08076674 - movs r4, 0x2 - b _0807667E - .align 2, 0 -_08076670: .4byte gUnknown_0202F7A4 -_08076674: - cmp r4, 0x1 - bne _0807667A - movs r4, 0x3 -_0807667A: - cmp r4, 0 - beq _08076682 -_0807667E: - cmp r4, 0x2 - bne _0807668C -_08076682: - ldr r0, _08076688 @ =gUnknown_0202F7C8 - b _0807668E - .align 2, 0 -_08076688: .4byte gUnknown_0202F7C8 -_0807668C: - ldr r0, _080766E4 @ =gUnknown_0202F7C9 -_0807668E: - ldrb r5, [r0] - ldr r3, _080766E8 @ =gUnknown_0202F7C2 - ldrb r0, [r3] - cmp r0, 0xFF - beq _080766B4 - ldr r2, _080766EC @ =gSprites - ldr r0, _080766F0 @ =gUnknown_02024BE0 - adds r0, r5, r0 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] -_080766B4: - cmp r4, 0x1 - bls _080766F4 - ldrb r0, [r3, 0x1] - cmp r0, 0xFF - beq _080766F4 - ldr r3, _080766EC @ =gSprites - ldr r2, _080766F0 @ =gUnknown_02024BE0 - movs r1, 0x2 - adds r0, r5, 0 - eors r0, r1 - adds r0, r2 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - b _080766F6 - .align 2, 0 -_080766E4: .4byte gUnknown_0202F7C9 -_080766E8: .4byte gUnknown_0202F7C2 -_080766EC: .4byte gSprites -_080766F0: .4byte gUnknown_02024BE0 -_080766F4: - movs r4, 0 -_080766F6: - ldr r0, _08076720 @ =sub_807672C - movs r1, 0x5 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08076724 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r4, [r1, 0x8] - strh r5, [r1, 0xC] - ldr r1, _08076728 @ =gUnknown_0202F7A4 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08076720: .4byte sub_807672C -_08076724: .4byte gTasks -_08076728: .4byte gUnknown_0202F7A4 - thumb_func_end ma0B_0807324C - - thumb_func_start sub_807672C -sub_807672C: @ 807672C - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _0807676C @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r1, r0, r1 - ldrh r0, [r1, 0xA] - adds r0, 0x1 - strh r0, [r1, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - beq _080767B6 - ldrb r0, [r1, 0xC] - bl battle_get_per_side_status - lsls r0, 24 - movs r1, 0xFF - lsls r1, 24 - adds r0, r1 - lsrs r0, 24 - cmp r0, 0x1 - bls _08076768 - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - beq _08076770 -_08076768: - movs r4, 0 - b _08076772 - .align 2, 0 -_0807676C: .4byte gTasks -_08076770: - movs r4, 0x1 -_08076772: - ldr r6, _080767BC @ =gUnknown_0202F7C2 - ldrb r0, [r6] - cmp r0, 0xFF - beq _0807678A - adds r0, r4, 0 - bl sub_8076464 - ldrb r0, [r6] - bl DestroyTask - movs r0, 0xFF - strb r0, [r6] -_0807678A: - ldr r0, _080767C0 @ =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - movs r2, 0x8 - ldrsh r0, [r1, r2] - cmp r0, 0x1 - ble _080767B0 - movs r0, 0x1 - eors r4, r0 - adds r0, r4, 0 - bl sub_8076464 - ldrb r0, [r6, 0x1] - bl DestroyTask - movs r0, 0xFF - strb r0, [r6, 0x1] -_080767B0: - adds r0, r5, 0 - bl DestroyTask -_080767B6: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080767BC: .4byte gUnknown_0202F7C2 -_080767C0: .4byte gTasks - thumb_func_end sub_807672C - - thumb_func_start sub_80767C4 -sub_80767C4: @ 80767C4 - push {r4,r5,lr} - ldr r0, _080767D8 @ =gUnknown_0202F7A4 - ldr r2, [r0] - adds r1, r2, 0x1 - str r1, [r0] - ldrb r5, [r2, 0x1] - cmp r5, 0 - bne _080767DC - movs r5, 0x2 - b _080767E6 - .align 2, 0 -_080767D8: .4byte gUnknown_0202F7A4 -_080767DC: - cmp r5, 0x1 - bne _080767E2 - movs r5, 0x3 -_080767E2: - cmp r5, 0 - beq _080767EA -_080767E6: - cmp r5, 0x2 - bne _080767F4 -_080767EA: - ldr r0, _080767F0 @ =gUnknown_0202F7C8 - b _080767F6 - .align 2, 0 -_080767F0: .4byte gUnknown_0202F7C8 -_080767F4: - ldr r0, _08076828 @ =gUnknown_0202F7C9 -_080767F6: - ldrb r4, [r0] - adds r0, r4, 0 - bl b_side_obj__get_some_boolean - lsls r0, 24 - cmp r0, 0 - beq _08076850 - adds r0, r4, 0 - bl battle_get_per_side_status - lsls r0, 24 - movs r1, 0xFF - lsls r1, 24 - adds r0, r1 - lsrs r0, 24 - cmp r0, 0x1 - bls _08076822 - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - beq _0807682C -_08076822: - movs r1, 0 - b _0807682E - .align 2, 0 -_08076828: .4byte gUnknown_0202F7C9 -_0807682C: - movs r1, 0x1 -_0807682E: - adds r0, r4, 0 - bl sub_8076034 - ldr r2, _08076888 @ =gSprites - ldr r0, _0807688C @ =gUnknown_02024BE0 - adds r0, r4, r0 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] -_08076850: - movs r0, 0x2 - eors r4, r0 - cmp r5, 0x1 - bls _080768B4 - adds r0, r4, 0 - bl b_side_obj__get_some_boolean - lsls r0, 24 - cmp r0, 0 - beq _080768B4 - adds r0, r4, 0 - bl battle_get_per_side_status - lsls r0, 24 - movs r1, 0xFF - lsls r1, 24 - adds r0, r1 - lsrs r0, 24 - cmp r0, 0x1 - bls _08076882 - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - beq _08076890 -_08076882: - movs r1, 0 - b _08076892 - .align 2, 0 -_08076888: .4byte gSprites -_0807688C: .4byte gUnknown_02024BE0 -_08076890: - movs r1, 0x1 -_08076892: - adds r0, r4, 0 - bl sub_8076034 - ldr r2, _080768C4 @ =gSprites - ldr r0, _080768C8 @ =gUnknown_02024BE0 - adds r0, r4, r0 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] -_080768B4: - ldr r1, _080768CC @ =gUnknown_0202F7A4 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080768C4: .4byte gSprites -_080768C8: .4byte gUnknown_02024BE0 -_080768CC: .4byte gUnknown_0202F7A4 - thumb_func_end sub_80767C4 - - thumb_func_start ma23_8073484 -ma23_8073484: @ 80768D0 - push {r4-r6,lr} - ldr r0, _080768E4 @ =gUnknown_0202F7A4 - ldr r2, [r0] - adds r1, r2, 0x1 - str r1, [r0] - ldrb r5, [r2, 0x1] - cmp r5, 0 - bne _080768E8 - movs r5, 0x2 - b _080768F2 - .align 2, 0 -_080768E4: .4byte gUnknown_0202F7A4 -_080768E8: - cmp r5, 0x1 - bne _080768EE - movs r5, 0x3 -_080768EE: - cmp r5, 0 - beq _080768F6 -_080768F2: - cmp r5, 0x2 - bne _08076900 -_080768F6: - ldr r0, _080768FC @ =gUnknown_0202F7C8 - b _08076902 - .align 2, 0 -_080768FC: .4byte gUnknown_0202F7C8 -_08076900: - ldr r0, _08076960 @ =gUnknown_0202F7C9 -_08076902: - ldrb r6, [r0] - adds r0, r6, 0 - bl b_side_obj__get_some_boolean - lsls r0, 24 - cmp r0, 0 - beq _0807692C - ldr r2, _08076964 @ =gSprites - ldr r0, _08076968 @ =gUnknown_02024BE0 - adds r0, r6, r0 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] -_0807692C: - cmp r5, 0x1 - bls _0807696C - movs r0, 0x2 - adds r4, r6, 0 - eors r4, r0 - adds r0, r4, 0 - bl b_side_obj__get_some_boolean - lsls r0, 24 - cmp r0, 0 - beq _0807696C - ldr r2, _08076964 @ =gSprites - ldr r0, _08076968 @ =gUnknown_02024BE0 - adds r0, r4, r0 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - b _0807696E - .align 2, 0 -_08076960: .4byte gUnknown_0202F7C9 -_08076964: .4byte gSprites -_08076968: .4byte gUnknown_02024BE0 -_0807696C: - movs r5, 0 -_0807696E: - ldr r0, _08076998 @ =sub_80769A4 - movs r1, 0x5 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0807699C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r5, [r1, 0x8] - strh r6, [r1, 0xC] - ldr r1, _080769A0 @ =gUnknown_0202F7A4 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08076998: .4byte sub_80769A4 -_0807699C: .4byte gTasks -_080769A0: .4byte gUnknown_0202F7A4 - thumb_func_end ma23_8073484 - - thumb_func_start sub_80769A4 -sub_80769A4: @ 80769A4 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, _080769E8 @ =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r1, r0, r1 - ldrh r0, [r1, 0xA] - adds r0, 0x1 - strh r0, [r1, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - beq _08076A32 - ldrb r4, [r1, 0xC] - adds r0, r4, 0 - bl battle_get_per_side_status - lsls r0, 24 - movs r1, 0xFF - lsls r1, 24 - adds r0, r1 - lsrs r0, 24 - cmp r0, 0x1 - bls _080769E2 - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - beq _080769EC -_080769E2: - movs r5, 0 - b _080769EE - .align 2, 0 -_080769E8: .4byte gTasks -_080769EC: - movs r5, 0x1 -_080769EE: - adds r0, r4, 0 - bl b_side_obj__get_some_boolean - lsls r0, 24 - cmp r0, 0 - beq _08076A00 - adds r0, r5, 0 - bl sub_8076464 -_08076A00: - ldr r0, _08076A38 @ =gTasks - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r0 - movs r2, 0x8 - ldrsh r0, [r1, r2] - cmp r0, 0x1 - ble _08076A2C - movs r0, 0x2 - eors r4, r0 - adds r0, r4, 0 - bl b_side_obj__get_some_boolean - lsls r0, 24 - cmp r0, 0 - beq _08076A2C - movs r0, 0x1 - eors r5, r0 - adds r0, r5, 0 - bl sub_8076464 -_08076A2C: - adds r0, r6, 0 - bl DestroyTask -_08076A32: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08076A38: .4byte gTasks - thumb_func_end sub_80769A4 - - thumb_func_start sub_8076A3C -sub_8076A3C: @ 8076A3C - push {r4,lr} - ldr r2, _08076A6C @ =gUnknown_0202F7A4 - ldr r0, [r2] - adds r1, r0, 0x1 - str r1, [r2] - ldrb r3, [r0, 0x1] - adds r0, r1, 0x1 - str r0, [r2] - ldrb r1, [r1, 0x1] - lsls r1, 8 - adds r0, 0x1 - str r0, [r2] - ldr r2, _08076A70 @ =REG_BLDCNT - movs r4, 0xFD - lsls r4, 6 - adds r0, r4, 0 - strh r0, [r2] - ldr r0, _08076A74 @ =REG_BLDALPHA - orrs r3, r1 - strh r3, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08076A6C: .4byte gUnknown_0202F7A4 -_08076A70: .4byte REG_BLDCNT -_08076A74: .4byte REG_BLDALPHA - thumb_func_end sub_8076A3C - - thumb_func_start sub_8076A78 -sub_8076A78: @ 8076A78 - ldr r2, _08076A98 @ =gUnknown_0202F7A4 - ldr r0, [r2] - adds r1, r0, 0x1 - str r1, [r2] - ldrb r3, [r0, 0x1] - adds r0, r1, 0x1 - str r0, [r2] - ldrb r1, [r1, 0x1] - lsls r1, 8 - adds r0, 0x1 - str r0, [r2] - ldr r0, _08076A9C @ =REG_BLDCNT - orrs r3, r1 - strh r3, [r0] - bx lr - .align 2, 0 -_08076A98: .4byte gUnknown_0202F7A4 -_08076A9C: .4byte REG_BLDCNT - thumb_func_end sub_8076A78 - - thumb_func_start sub_8076AA0 -sub_8076AA0: @ 8076AA0 - ldr r1, _08076AB4 @ =gUnknown_0202F7A4 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - ldr r0, _08076AB8 @ =REG_BLDCNT - movs r1, 0 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - bx lr - .align 2, 0 -_08076AB4: .4byte gUnknown_0202F7A4 -_08076AB8: .4byte REG_BLDCNT - thumb_func_end sub_8076AA0 - - thumb_func_start ma0E_call -ma0E_call: @ 8076ABC - push {r4,lr} - ldr r4, _08076AE8 @ =gUnknown_0202F7A4 - ldr r1, [r4] - adds r3, r1, 0x1 - str r3, [r4] - ldr r2, _08076AEC @ =gUnknown_0202F7A8 - adds r0, r1, 0x5 - str r0, [r2] - ldrb r1, [r1, 0x1] - ldrb r0, [r3, 0x1] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r3, 0x2] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r3, 0x3] - lsls r0, 24 - adds r1, r0 - str r1, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08076AE8: .4byte gUnknown_0202F7A4 -_08076AEC: .4byte gUnknown_0202F7A8 - thumb_func_end ma0E_call - - thumb_func_start sub_8076AF0 -sub_8076AF0: @ 8076AF0 - ldr r0, _08076AFC @ =gUnknown_0202F7A4 - ldr r1, _08076B00 @ =gUnknown_0202F7A8 - ldr r1, [r1] - str r1, [r0] - bx lr - .align 2, 0 -_08076AFC: .4byte gUnknown_0202F7A4 -_08076B00: .4byte gUnknown_0202F7A8 - thumb_func_end sub_8076AF0 - - thumb_func_start ma10_080736AC -ma10_080736AC: @ 8076B04 - push {r4,r5,lr} - ldr r5, _08076B30 @ =gUnknown_0202F7A4 - ldr r1, [r5] - adds r0, r1, 0x1 - str r0, [r5] - ldrb r2, [r1, 0x1] - adds r3, r0, 0x1 - str r3, [r5] - ldrb r4, [r0, 0x1] - ldrb r0, [r3, 0x1] - lsls r0, 8 - orrs r4, r0 - adds r1, 0x4 - str r1, [r5] - ldr r0, _08076B34 @ =gUnknown_03004B00 - lsls r2, 1 - adds r2, r0 - strh r4, [r2] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08076B30: .4byte gUnknown_0202F7A4 -_08076B34: .4byte gUnknown_03004B00 - thumb_func_end ma10_080736AC - - thumb_func_start ma11_if_else -ma11_if_else: @ 8076B38 - push {lr} - ldr r3, _08076B70 @ =gUnknown_0202F7A4 - ldr r2, [r3] - adds r0, r2, 0x1 - str r0, [r3] - ldr r0, _08076B74 @ =gUnknown_0202F7C4 - ldrb r1, [r0] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08076B52 - adds r0, r2, 0x5 - str r0, [r3] -_08076B52: - ldr r2, [r3] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - adds r1, r0 - str r1, [r3] - pop {r0} - bx r0 - .align 2, 0 -_08076B70: .4byte gUnknown_0202F7A4 -_08076B74: .4byte gUnknown_0202F7C4 - thumb_func_end ma11_if_else - - thumb_func_start ma12_cond_if -ma12_cond_if: @ 8076B78 - push {r4,r5,lr} - ldr r5, _08076BA8 @ =gUnknown_0202F7A4 - ldr r4, [r5] - adds r2, r4, 0x1 - str r2, [r5] - ldrb r1, [r4, 0x1] - adds r3, r2, 0x1 - str r3, [r5] - ldr r0, _08076BAC @ =gUnknown_0202F7C4 - ldrb r0, [r0] - cmp r1, r0 - bne _08076BB0 - ldrb r1, [r2, 0x1] - ldrb r0, [r3, 0x1] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r3, 0x2] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r3, 0x3] - lsls r0, 24 - adds r1, r0 - str r1, [r5] - b _08076BB4 - .align 2, 0 -_08076BA8: .4byte gUnknown_0202F7A4 -_08076BAC: .4byte gUnknown_0202F7C4 -_08076BB0: - adds r0, r4, 0x6 - str r0, [r5] -_08076BB4: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end ma12_cond_if - - thumb_func_start sub_8076BBC -sub_8076BBC: @ 8076BBC - ldr r3, _08076BDC @ =gUnknown_0202F7A4 - ldr r0, [r3] - adds r2, r0, 0x1 - str r2, [r3] - ldrb r1, [r0, 0x1] - ldrb r0, [r2, 0x1] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - adds r1, r0 - str r1, [r3] - bx lr - .align 2, 0 -_08076BDC: .4byte gUnknown_0202F7A4 - thumb_func_end sub_8076BBC - - thumb_func_start sub_8076BE0 -sub_8076BE0: @ 8076BE0 - push {lr} - ldr r0, _08076BF8 @ =gMain - ldr r1, _08076BFC @ =0x0000043d - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08076C00 - movs r0, 0 - b _08076C02 - .align 2, 0 -_08076BF8: .4byte gMain -_08076BFC: .4byte 0x0000043d -_08076C00: - movs r0, 0x1 -_08076C02: - pop {r1} - bx r1 - thumb_func_end sub_8076BE0 - - thumb_func_start ma14_load_background -ma14_load_background: @ 8076C08 - push {r4,lr} - ldr r1, _08076C3C @ =gUnknown_0202F7A4 - ldr r2, [r1] - adds r0, r2, 0x1 - str r0, [r1] - ldrb r4, [r2, 0x1] - adds r0, 0x1 - str r0, [r1] - ldr r0, _08076C40 @ =task_p5_load_battle_screen_elements - movs r1, 0x5 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08076C44 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r4, [r1, 0x8] - ldr r1, _08076C48 @ =gUnknown_0202F7C5 - movs r0, 0x1 - strb r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08076C3C: .4byte gUnknown_0202F7A4 -_08076C40: .4byte task_p5_load_battle_screen_elements -_08076C44: .4byte gTasks -_08076C48: .4byte gUnknown_0202F7C5 - thumb_func_end ma14_load_background - - thumb_func_start sub_8076C4C -sub_8076C4C: @ 8076C4C - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r2, _08076C8C @ =gUnknown_0202F7A4 - ldr r1, [r2] - adds r0, r1, 0x1 - str r0, [r2] - ldrb r3, [r1, 0x1] - mov r8, r3 - ldrb r7, [r0, 0x1] - ldrb r6, [r0, 0x2] - adds r1, 0x4 - str r1, [r2] - ldr r0, _08076C90 @ =task_p5_load_battle_screen_elements - movs r1, 0x5 - bl CreateTask - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - beq _08076C98 - ldr r1, _08076C94 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - strh r6, [r0, 0x8] - b _08076CCA - .align 2, 0 -_08076C8C: .4byte gUnknown_0202F7A4 -_08076C90: .4byte task_p5_load_battle_screen_elements -_08076C94: .4byte gTasks -_08076C98: - ldr r0, _08076CB4 @ =gUnknown_0202F7C9 - ldrb r0, [r0] - bl battle_side_get_owner - lsls r0, 24 - cmp r0, 0 - bne _08076CBC - ldr r1, _08076CB8 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - strh r7, [r0, 0x8] - b _08076CCA - .align 2, 0 -_08076CB4: .4byte gUnknown_0202F7C9 -_08076CB8: .4byte gTasks -_08076CBC: - ldr r1, _08076CDC @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - mov r1, r8 - strh r1, [r0, 0x8] -_08076CCA: - ldr r1, _08076CE0 @ =gUnknown_0202F7C5 - movs r0, 0x1 - strb r0, [r1] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08076CDC: .4byte gTasks -_08076CE0: .4byte gUnknown_0202F7C5 - thumb_func_end sub_8076C4C - - thumb_func_start task_p5_load_battle_screen_elements -task_p5_load_battle_screen_elements: @ 8076CE4 - push {r4-r7,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _08076D18 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - ldrh r6, [r4, 0x1C] - movs r0, 0x1C - ldrsh r3, [r4, r0] - adds r7, r1, 0 - cmp r3, 0 - bne _08076D1C - str r3, [sp] - movs r0, 0xE8 - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginHardwarePaletteFade - ldrh r0, [r4, 0x1C] - adds r0, 0x1 - strh r0, [r4, 0x1C] - b _08076DAC - .align 2, 0 -_08076D18: .4byte gTasks -_08076D1C: - ldr r2, _08076D38 @ =gPaletteFade - ldrb r1, [r2, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08076DAC - cmp r3, 0x1 - bne _08076D40 - adds r0, r6, 0x1 - strh r0, [r4, 0x1C] - ldr r1, _08076D3C @ =gUnknown_0202F7C5 - movs r0, 0x2 - strb r0, [r1] - b _08076D84 - .align 2, 0 -_08076D38: .4byte gPaletteFade -_08076D3C: .4byte gUnknown_0202F7C5 -_08076D40: - cmp r3, 0x2 - bne _08076D84 - ldrh r0, [r4, 0x8] - lsls r2, r0, 16 - asrs r1, r2, 16 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _08076D58 - bl dp01t_11_3_message_for_player_only - b _08076D5E -_08076D58: - lsrs r0, r2, 16 - bl sub_8076DB8 -_08076D5E: - movs r0, 0x1 - str r0, [sp] - movs r0, 0xE8 - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginHardwarePaletteFade - ldr r1, _08076D80 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldrh r1, [r0, 0x1C] - adds r1, 0x1 - strh r1, [r0, 0x1C] - b _08076DAC - .align 2, 0 -_08076D80: .4byte gTasks -_08076D84: - ldrb r1, [r2, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _08076DAC - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r7 - movs r1, 0x1C - ldrsh r0, [r0, r1] - cmp r0, 0x3 - bne _08076DAC - adds r0, r5, 0 - bl DestroyTask - ldr r0, _08076DB4 @ =gUnknown_0202F7C5 - strb r4, [r0] -_08076DAC: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08076DB4: .4byte gUnknown_0202F7C5 - thumb_func_end task_p5_load_battle_screen_elements - - thumb_func_start sub_8076DB8 -sub_8076DB8: @ 8076DB8 - push {r4-r7,lr} - lsls r0, 16 - lsrs r6, r0, 16 - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - beq _08076E70 - ldr r7, _08076E54 @ =gBattleAnimBackgroundTable - lsls r0, r6, 1 - adds r0, r6 - lsls r4, r0, 2 - adds r0, r7, 0 - adds r0, 0x8 - adds r0, r4, r0 - ldr r5, [r0] - bl sub_8076BE0 - lsls r0, 24 - ldr r1, _08076E58 @ =0x02018000 - cmp r0, 0 - beq _08076DE8 - ldr r0, _08076E5C @ =0xffffc800 - adds r1, r0 -_08076DE8: - adds r0, r5, 0 - bl sub_800D238 - bl sub_80789BC - lsls r0, 24 - lsrs r5, r0, 24 - bl sub_8076BE0 - lsls r0, 24 - ldr r1, _08076E58 @ =0x02018000 - cmp r0, 0 - beq _08076E06 - ldr r0, _08076E5C @ =0xffffc800 - adds r1, r0 -_08076E06: - movs r2, 0x80 - lsls r2, 1 - adds r0, r5, 0 - movs r3, 0 - bl sub_80763FC - bl sub_8076BE0 - lsls r0, 24 - ldr r2, _08076E58 @ =0x02018000 - cmp r0, 0 - beq _08076E22 - ldr r0, _08076E5C @ =0xffffc800 - adds r2, r0 -_08076E22: - ldr r1, _08076E60 @ =0x0600d000 - ldr r0, _08076E64 @ =0x040000d4 - str r2, [r0] - str r1, [r0, 0x4] - ldr r1, _08076E68 @ =0x84000200 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - adds r0, r4, r7 - ldr r0, [r0] - ldr r1, _08076E6C @ =0x06002000 - bl LZDecompressVram - adds r0, r7, 0x4 - adds r0, r4, r0 - ldr r4, [r0] - bl sub_80789BC - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 20 - adds r0, r4, 0 - movs r2, 0x20 - bl LoadCompressedPalette - b _08076E9E - .align 2, 0 -_08076E54: .4byte gBattleAnimBackgroundTable -_08076E58: .4byte 0x02018000 -_08076E5C: .4byte 0xffffc800 -_08076E60: .4byte 0x0600d000 -_08076E64: .4byte 0x040000d4 -_08076E68: .4byte 0x84000200 -_08076E6C: .4byte 0x06002000 -_08076E70: - ldr r5, _08076EA4 @ =gBattleAnimBackgroundTable - lsls r4, r6, 1 - adds r4, r6 - lsls r4, 2 - adds r0, r5, 0 - adds r0, 0x8 - adds r0, r4, r0 - ldr r0, [r0] - ldr r1, _08076EA8 @ =0x0600d000 - bl LZDecompressVram - adds r0, r4, r5 - ldr r0, [r0] - ldr r1, _08076EAC @ =0x06008000 - bl LZDecompressVram - adds r5, 0x4 - adds r4, r5 - ldr r0, [r4] - movs r1, 0x20 - movs r2, 0x20 - bl LoadCompressedPalette -_08076E9E: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08076EA4: .4byte gBattleAnimBackgroundTable -_08076EA8: .4byte 0x0600d000 -_08076EAC: .4byte 0x06008000 - thumb_func_end sub_8076DB8 - - thumb_func_start dp01t_11_3_message_for_player_only -dp01t_11_3_message_for_player_only: @ 8076EB0 - push {lr} - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - beq _08076EC2 - bl sub_80AB2AC - b _08076EC6 -_08076EC2: - bl sub_800D7B8 -_08076EC6: - pop {r0} - bx r0 - thumb_func_end dp01t_11_3_message_for_player_only - - thumb_func_start ma15_load_battle_screen_elements -ma15_load_battle_screen_elements: @ 8076ECC - push {lr} - ldr r1, _08076EFC @ =gUnknown_0202F7A4 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - ldr r0, _08076F00 @ =task_p5_load_battle_screen_elements - movs r1, 0x5 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08076F04 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r0, _08076F08 @ =0x0000ffff - strh r0, [r1, 0x8] - ldr r1, _08076F0C @ =gUnknown_0202F7C5 - movs r0, 0x1 - strb r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08076EFC: .4byte gUnknown_0202F7A4 -_08076F00: .4byte task_p5_load_battle_screen_elements -_08076F04: .4byte gTasks -_08076F08: .4byte 0x0000ffff -_08076F0C: .4byte gUnknown_0202F7C5 - thumb_func_end ma15_load_battle_screen_elements - - thumb_func_start ma16_wait_for_battle_screen_elements_s2 -ma16_wait_for_battle_screen_elements_s2: @ 8076F10 - push {lr} - ldr r0, _08076F28 @ =gUnknown_0202F7C5 - ldrb r0, [r0] - cmp r0, 0x2 - bne _08076F34 - ldr r1, _08076F2C @ =gUnknown_0202F7A4 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - ldr r1, _08076F30 @ =gUnknown_0202F7B0 - movs r0, 0 - b _08076F38 - .align 2, 0 -_08076F28: .4byte gUnknown_0202F7C5 -_08076F2C: .4byte gUnknown_0202F7A4 -_08076F30: .4byte gUnknown_0202F7B0 -_08076F34: - ldr r1, _08076F40 @ =gUnknown_0202F7B0 - movs r0, 0x1 -_08076F38: - strb r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08076F40: .4byte gUnknown_0202F7B0 - thumb_func_end ma16_wait_for_battle_screen_elements_s2 - - thumb_func_start sub_8076F44 -sub_8076F44: @ 8076F44 - push {lr} - ldr r0, _08076F5C @ =gUnknown_0202F7C5 - ldrb r2, [r0] - cmp r2, 0 - bne _08076F68 - ldr r0, _08076F60 @ =gUnknown_0202F7A4 - ldr r1, [r0] - adds r1, 0x1 - str r1, [r0] - ldr r0, _08076F64 @ =gUnknown_0202F7B0 - strb r2, [r0] - b _08076F6E - .align 2, 0 -_08076F5C: .4byte gUnknown_0202F7C5 -_08076F60: .4byte gUnknown_0202F7A4 -_08076F64: .4byte gUnknown_0202F7B0 -_08076F68: - ldr r1, _08076F74 @ =gUnknown_0202F7B0 - movs r0, 0x1 - strb r0, [r1] -_08076F6E: - pop {r0} - bx r0 - .align 2, 0 -_08076F74: .4byte gUnknown_0202F7B0 - thumb_func_end sub_8076F44 - - thumb_func_start ma18_load_background_probably -ma18_load_background_probably: @ 8076F78 - push {r4,lr} - ldr r4, _08076F94 @ =gUnknown_0202F7A4 - ldr r1, [r4] - adds r0, r1, 0x1 - str r0, [r4] - ldrb r0, [r1, 0x1] - bl sub_8076DB8 - ldr r0, [r4] - adds r0, 0x1 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08076F94: .4byte gUnknown_0202F7A4 - thumb_func_end ma18_load_background_probably - - thumb_func_start sub_8076F98 -sub_8076F98: @ 8076F98 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - bne _08076FDC - ldr r0, _08076FD4 @ =gUnknown_0202F7C8 - ldrb r2, [r0] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - ldr r1, _08076FD8 @ =0x02017810 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08076FDC - adds r0, r2, 0 - bl battle_side_get_owner - lsls r0, 24 - movs r4, 0xC0 - cmp r0, 0 - beq _0807706E - movs r4, 0x3F - b _0807706E - .align 2, 0 -_08076FD4: .4byte gUnknown_0202F7C8 -_08076FD8: .4byte 0x02017810 -_08076FDC: - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - beq _08077004 - ldr r0, _08076FFC @ =gUnknown_0202F7C8 - ldr r1, _08077000 @ =gUnknown_0202F7C9 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bne _08077068 - cmp r0, 0x2 - bne _08077068 - cmp r4, 0x3F - beq _0807707A - b _08077068 - .align 2, 0 -_08076FFC: .4byte gUnknown_0202F7C8 -_08077000: .4byte gUnknown_0202F7C9 -_08077004: - ldr r0, _0807702C @ =gUnknown_0202F7C8 - ldrb r0, [r0] - bl battle_side_get_owner - lsls r0, 24 - cmp r0, 0 - bne _08077042 - ldr r0, _08077030 @ =gUnknown_0202F7C9 - ldrb r0, [r0] - bl battle_side_get_owner - lsls r0, 24 - cmp r0, 0 - bne _0807706E - lsls r0, r4, 24 - asrs r1, r0, 24 - cmp r1, 0x3F - bne _08077034 - movs r4, 0xC0 - b _0807706E - .align 2, 0 -_0807702C: .4byte gUnknown_0202F7C8 -_08077030: .4byte gUnknown_0202F7C9 -_08077034: - movs r0, 0x40 - negs r0, r0 - cmp r1, r0 - beq _0807706E - negs r0, r1 - lsls r0, 24 - b _0807706C -_08077042: - ldr r0, _08077064 @ =gUnknown_0202F7C9 - ldrb r0, [r0] - bl battle_side_get_owner - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08077068 - lsls r0, r4, 24 - asrs r0, 24 - movs r1, 0x40 - negs r1, r1 - cmp r0, r1 - bne _0807706E - movs r4, 0x3F - b _0807706E - .align 2, 0 -_08077064: .4byte gUnknown_0202F7C9 -_08077068: - lsls r0, r4, 24 - negs r0, r0 -_0807706C: - lsrs r4, r0, 24 -_0807706E: - lsls r0, r4, 24 - asrs r0, 24 - cmp r0, 0x3F - ble _0807707A - movs r4, 0x3F - b _08077088 -_0807707A: - lsls r0, r4, 24 - asrs r0, 24 - movs r1, 0x40 - negs r1, r1 - cmp r0, r1 - bge _08077088 - movs r4, 0xC0 -_08077088: - lsls r0, r4, 24 - asrs r0, 24 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8076F98 - - thumb_func_start sub_8077094 -sub_8077094: @ 8077094 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - bne _080770D8 - ldr r0, _080770D0 @ =gUnknown_0202F7C8 - ldrb r2, [r0] - lsls r0, r2, 1 - adds r0, r2 - lsls r0, 2 - ldr r1, _080770D4 @ =0x02017810 - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _080770D8 - adds r0, r2, 0 - bl battle_side_get_owner - lsls r0, 24 - movs r4, 0xC0 - cmp r0, 0 - beq _080770F6 - movs r4, 0x3F - b _080770F6 - .align 2, 0 -_080770D0: .4byte gUnknown_0202F7C8 -_080770D4: .4byte 0x02017810 -_080770D8: - ldr r0, _08077100 @ =gUnknown_0202F7C8 - ldrb r0, [r0] - bl battle_side_get_owner - lsls r0, 24 - cmp r0, 0 - bne _080770F0 - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - beq _080770F6 -_080770F0: - lsls r0, r4, 24 - negs r0, r0 - lsrs r4, r0, 24 -_080770F6: - lsls r0, r4, 24 - asrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08077100: .4byte gUnknown_0202F7C8 - thumb_func_end sub_8077094 - - thumb_func_start sub_8077104 -sub_8077104: @ 8077104 - push {lr} - lsls r0, 16 - lsrs r1, r0, 16 - asrs r2, r0, 16 - cmp r2, 0x3F - ble _08077114 - movs r1, 0x3F - b _0807711E -_08077114: - movs r0, 0x40 - negs r0, r0 - cmp r2, r0 - bge _0807711E - ldr r1, _08077128 @ =0x0000ffc0 -_0807711E: - lsls r0, r1, 16 - asrs r0, 16 - pop {r1} - bx r1 - .align 2, 0 -_08077128: .4byte 0x0000ffc0 - thumb_func_end sub_8077104 - - thumb_func_start sub_807712C -sub_807712C: @ 807712C - push {lr} - lsls r2, 16 - lsrs r2, 16 - adds r3, r2, 0 - lsls r0, 16 - asrs r0, 16 - lsls r1, 16 - asrs r1, 16 - cmp r0, r1 - bge _0807714A - lsls r0, r2, 16 - asrs r0, 16 - cmp r0, 0 - bge _0807715A - b _08077158 -_0807714A: - cmp r0, r1 - ble _08077160 - lsls r0, r3, 16 - asrs r0, 16 - cmp r0, 0 - bge _08077158 - negs r0, r0 -_08077158: - negs r0, r0 -_0807715A: - lsls r0, 16 - lsrs r0, 16 - b _08077162 -_08077160: - movs r0, 0 -_08077162: - lsls r0, 16 - asrs r0, 16 - pop {r1} - bx r1 - thumb_func_end sub_807712C - - thumb_func_start ma19_08073BC8 -ma19_08073BC8: @ 807716C - push {r4,r5,lr} - ldr r5, _080771A0 @ =gUnknown_0202F7A4 - ldr r0, [r5] - adds r1, r0, 0x1 - str r1, [r5] - ldrb r4, [r0, 0x1] - ldrb r0, [r1, 0x1] - lsls r0, 8 - orrs r4, r0 - movs r0, 0x2 - ldrsb r0, [r1, r0] - bl sub_8076F98 - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 24 - adds r0, r4, 0 - bl PlaySE12WithPanning - ldr r0, [r5] - adds r0, 0x3 - str r0, [r5] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080771A0: .4byte gUnknown_0202F7A4 - thumb_func_end ma19_08073BC8 - - thumb_func_start ma1A_8073C00 -ma1A_8073C00: @ 80771A4 - push {r4,lr} - ldr r4, _080771CC @ =gUnknown_0202F7A4 - ldr r1, [r4] - adds r0, r1, 0x1 - str r0, [r4] - movs r0, 0x1 - ldrsb r0, [r1, r0] - bl sub_8076F98 - lsls r0, 24 - asrs r0, 24 - bl SE12PanpotControl - ldr r0, [r4] - adds r0, 0x1 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080771CC: .4byte gUnknown_0202F7A4 - thumb_func_end ma1A_8073C00 - - thumb_func_start ma1B_8073C2C -ma1B_8073C2C: @ 80771D0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r0, _08077280 @ =gUnknown_0202F7A4 - mov r10, r0 - ldr r0, [r0] - adds r1, r0, 0x1 - mov r2, r10 - str r1, [r2] - ldrb r0, [r0, 0x1] - mov r9, r0 - ldrb r0, [r1, 0x1] - lsls r0, 8 - mov r2, r9 - orrs r2, r0 - mov r9, r2 - ldrb r4, [r1, 0x3] - ldrb r6, [r1, 0x4] - ldrb r7, [r1, 0x5] - movs r0, 0x2 - ldrsb r0, [r1, r0] - bl sub_8076F98 - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r4, 24 - asrs r4, 24 - adds r0, r4, 0 - bl sub_8076F98 - mov r8, r0 - lsls r5, 24 - asrs r5, 24 - mov r0, r8 - lsls r0, 24 - asrs r0, 24 - mov r8, r0 - lsls r6, 24 - asrs r6, 24 - adds r0, r5, 0 - mov r1, r8 - adds r2, r6, 0 - bl sub_807712C - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _08077284 @ =c3_08073CEC - movs r1, 0x1 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08077288 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r5, [r1, 0x8] - mov r2, r8 - strh r2, [r1, 0xA] - lsls r4, 24 - asrs r4, 24 - strh r4, [r1, 0xC] - strh r7, [r1, 0xE] - strh r5, [r1, 0x10] - mov r0, r9 - adds r1, r5, 0 - bl PlaySE12WithPanning - ldr r1, _0807728C @ =gUnknown_0202F7B3 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - mov r1, r10 - ldr r0, [r1] - adds r0, 0x6 - str r0, [r1] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08077280: .4byte gUnknown_0202F7A4 -_08077284: .4byte c3_08073CEC -_08077288: .4byte gTasks -_0807728C: .4byte gUnknown_0202F7B3 - thumb_func_end ma1B_8073C2C - - thumb_func_start c3_08073CEC -c3_08073CEC: @ 8077290 - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r7, 0 - ldr r1, _080772D4 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r2, r0, r1 - ldrh r0, [r2, 0x18] - adds r1, r0, 0x1 - strh r1, [r2, 0x18] - lsls r0, 16 - asrs r0, 16 - movs r3, 0xE - ldrsh r1, [r2, r3] - cmp r0, r1 - blt _08077314 - strh r7, [r2, 0x18] - ldrh r6, [r2, 0x8] - ldrh r3, [r2, 0xA] - movs r4, 0x10 - ldrsh r0, [r2, r4] - movs r4, 0xC - ldrsh r1, [r2, r4] - adds r0, r1 - lsls r0, 16 - lsrs r4, r0, 16 - strh r4, [r2, 0x10] - cmp r1, 0 - bne _080772D8 - lsls r2, r3, 16 - b _080772FC - .align 2, 0 -_080772D4: .4byte gTasks -_080772D8: - lsls r1, r6, 16 - lsls r0, r3, 16 - asrs r3, r0, 16 - adds r2, r0, 0 - cmp r1, r2 - bge _080772EE - lsls r0, r4, 16 - asrs r0, 16 - cmp r0, r3 - blt _080772F8 - b _080772FC -_080772EE: - lsls r0, r4, 16 - asrs r0, 16 - cmp r0, r3 - bgt _080772F8 - movs r7, 0x1 -_080772F8: - cmp r7, 0 - beq _0807730C -_080772FC: - lsrs r4, r2, 16 - adds r0, r5, 0 - bl DestroyTask - ldr r1, _0807731C @ =gUnknown_0202F7B3 - ldrb r0, [r1] - subs r0, 0x1 - strb r0, [r1] -_0807730C: - lsls r0, r4, 24 - asrs r0, 24 - bl SE12PanpotControl -_08077314: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0807731C: .4byte gUnknown_0202F7B3 - thumb_func_end c3_08073CEC - - thumb_func_start sub_8077320 -sub_8077320: @ 8077320 - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - ldr r0, _080773A4 @ =gUnknown_0202F7A4 - mov r9, r0 - ldr r0, [r0] - adds r1, r0, 0x1 - mov r2, r9 - str r1, [r2] - ldrb r0, [r0, 0x1] - mov r8, r0 - ldrb r0, [r1, 0x1] - lsls r0, 8 - mov r2, r8 - orrs r2, r0 - mov r8, r2 - ldrb r4, [r1, 0x2] - ldrb r5, [r1, 0x3] - ldrb r6, [r1, 0x4] - ldrb r1, [r1, 0x5] - mov r10, r1 - ldr r0, _080773A8 @ =c3_08073CEC - movs r1, 0x1 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080773AC @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - lsls r4, 24 - asrs r4, 24 - strh r4, [r1, 0x8] - lsls r5, 24 - asrs r5, 24 - strh r5, [r1, 0xA] - lsls r6, 24 - asrs r6, 24 - strh r6, [r1, 0xC] - mov r0, r10 - strh r0, [r1, 0xE] - strh r4, [r1, 0x10] - mov r0, r8 - adds r1, r4, 0 - bl PlaySE12WithPanning - ldr r1, _080773B0 @ =gUnknown_0202F7B3 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - mov r1, r9 - ldr r0, [r1] - adds r0, 0x6 - str r0, [r1] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080773A4: .4byte gUnknown_0202F7A4 -_080773A8: .4byte c3_08073CEC -_080773AC: .4byte gTasks -_080773B0: .4byte gUnknown_0202F7B3 - thumb_func_end sub_8077320 - - thumb_func_start sub_80773B4 -sub_80773B4: @ 80773B4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r0, _08077464 @ =gUnknown_0202F7A4 - mov r10, r0 - ldr r0, [r0] - adds r1, r0, 0x1 - mov r2, r10 - str r1, [r2] - ldrb r0, [r0, 0x1] - mov r9, r0 - ldrb r0, [r1, 0x1] - lsls r0, 8 - mov r2, r9 - orrs r2, r0 - mov r9, r2 - ldrb r4, [r1, 0x3] - ldrb r0, [r1, 0x4] - mov r8, r0 - ldrb r7, [r1, 0x5] - movs r0, 0x2 - ldrsb r0, [r1, r0] - bl sub_8077094 - adds r6, r0, 0 - lsls r6, 24 - lsrs r6, 24 - lsls r4, 24 - asrs r4, 24 - adds r0, r4, 0 - bl sub_8077094 - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - mov r1, r8 - lsls r1, 24 - asrs r1, 24 - mov r8, r1 - mov r0, r8 - bl sub_8077094 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _08077468 @ =c3_08073CEC - movs r1, 0x1 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0807746C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - lsls r6, 24 - asrs r6, 24 - strh r6, [r1, 0x8] - lsls r5, 24 - asrs r5, 24 - strh r5, [r1, 0xA] - lsls r4, 24 - asrs r4, 24 - strh r4, [r1, 0xC] - strh r7, [r1, 0xE] - strh r6, [r1, 0x10] - mov r0, r9 - adds r1, r6, 0 - bl PlaySE12WithPanning - ldr r1, _08077470 @ =gUnknown_0202F7B3 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - mov r2, r10 - ldr r0, [r2] - adds r0, 0x6 - str r0, [r2] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08077464: .4byte gUnknown_0202F7A4 -_08077468: .4byte c3_08073CEC -_0807746C: .4byte gTasks -_08077470: .4byte gUnknown_0202F7B3 - thumb_func_end sub_80773B4 - - thumb_func_start ma1C_8073ED0 -ma1C_8073ED0: @ 8077474 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - ldr r6, _080774EC @ =gUnknown_0202F7A4 - ldr r0, [r6] - adds r1, r0, 0x1 - str r1, [r6] - ldrb r5, [r0, 0x1] - ldrb r0, [r1, 0x1] - lsls r0, 8 - orrs r5, r0 - ldrb r0, [r1, 0x3] - mov r8, r0 - ldrb r2, [r1, 0x4] - mov r9, r2 - movs r0, 0x2 - ldrsb r0, [r1, r0] - bl sub_8076F98 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _080774F0 @ =sub_80774FC - movs r1, 0x1 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080774F4 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r5, [r1, 0x8] - lsls r4, 24 - asrs r4, 24 - strh r4, [r1, 0xA] - mov r2, r8 - strh r2, [r1, 0xC] - mov r2, r9 - strh r2, [r1, 0xE] - mov r2, r8 - strh r2, [r1, 0x18] - ldr r1, [r1] - bl _call_via_r1 - ldr r1, _080774F8 @ =gUnknown_0202F7B3 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r0, [r6] - adds r0, 0x5 - str r0, [r6] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080774EC: .4byte gUnknown_0202F7A4 -_080774F0: .4byte sub_80774FC -_080774F4: .4byte gTasks -_080774F8: .4byte gUnknown_0202F7B3 - thumb_func_end ma1C_8073ED0 - - thumb_func_start sub_80774FC -sub_80774FC: @ 80774FC - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _08077550 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r2, r0, r1 - ldrh r0, [r2, 0x18] - adds r1, r0, 0x1 - strh r1, [r2, 0x18] - lsls r0, 16 - asrs r0, 16 - movs r3, 0xC - ldrsh r1, [r2, r3] - cmp r0, r1 - blt _0807754A - movs r0, 0 - strh r0, [r2, 0x18] - ldrh r0, [r2, 0x8] - ldrb r1, [r2, 0xA] - ldrh r4, [r2, 0xE] - subs r4, 0x1 - strh r4, [r2, 0xE] - lsls r4, 24 - lsrs r4, 24 - lsls r1, 24 - asrs r1, 24 - bl PlaySE12WithPanning - cmp r4, 0 - bne _0807754A - adds r0, r5, 0 - bl DestroyTask - ldr r1, _08077554 @ =gUnknown_0202F7B3 - ldrb r0, [r1] - subs r0, 0x1 - strb r0, [r1] -_0807754A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08077550: .4byte gTasks -_08077554: .4byte gUnknown_0202F7B3 - thumb_func_end sub_80774FC - - thumb_func_start ma1D_08073FB4 -ma1D_08073FB4: @ 8077558 - push {r4-r6,lr} - mov r6, r8 - push {r6} - ldr r6, _080775BC @ =gUnknown_0202F7A4 - ldr r0, [r6] - adds r1, r0, 0x1 - str r1, [r6] - ldrb r5, [r0, 0x1] - ldrb r0, [r1, 0x1] - lsls r0, 8 - orrs r5, r0 - ldrb r0, [r1, 0x3] - mov r8, r0 - movs r0, 0x2 - ldrsb r0, [r1, r0] - bl sub_8076F98 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _080775C0 @ =sub_80775CC - movs r1, 0x1 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080775C4 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r5, [r1, 0x8] - lsls r4, 24 - asrs r4, 24 - strh r4, [r1, 0xA] - mov r0, r8 - strh r0, [r1, 0xC] - ldr r1, _080775C8 @ =gUnknown_0202F7B3 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r0, [r6] - adds r0, 0x4 - str r0, [r6] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080775BC: .4byte gUnknown_0202F7A4 -_080775C0: .4byte sub_80775CC -_080775C4: .4byte gTasks -_080775C8: .4byte gUnknown_0202F7B3 - thumb_func_end ma1D_08073FB4 - - thumb_func_start sub_80775CC -sub_80775CC: @ 80775CC - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _08077608 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r2, r0, r1 - ldrh r0, [r2, 0xC] - subs r1, r0, 0x1 - strh r1, [r2, 0xC] - lsls r0, 16 - cmp r0, 0 - bgt _08077600 - ldrh r0, [r2, 0x8] - movs r1, 0xA - ldrsb r1, [r2, r1] - bl PlaySE12WithPanning - adds r0, r4, 0 - bl DestroyTask - ldr r1, _0807760C @ =gUnknown_0202F7B3 - ldrb r0, [r1] - subs r0, 0x1 - strb r0, [r1] -_08077600: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08077608: .4byte gTasks -_0807760C: .4byte gUnknown_0202F7B3 - thumb_func_end sub_80775CC - - thumb_func_start sub_8077610 -sub_8077610: @ 8077610 - push {r4-r6,lr} - ldr r4, _08077678 @ =gUnknown_0202F7A4 - ldr r1, [r4] - adds r3, r1, 0x1 - str r3, [r4] - ldrb r2, [r1, 0x1] - ldrb r0, [r3, 0x1] - lsls r0, 8 - adds r2, r0 - ldrb r0, [r3, 0x2] - lsls r0, 16 - adds r2, r0 - ldrb r0, [r3, 0x3] - lsls r0, 24 - adds r6, r2, r0 - adds r0, r1, 0x5 - str r0, [r4] - ldrb r0, [r1, 0x5] - adds r1, 0x6 - str r1, [r4] - cmp r0, 0 - beq _0807765A - adds r5, r4, 0 - ldr r4, _0807767C @ =gUnknown_03004B00 - adds r3, r0, 0 -_08077642: - ldr r2, [r5] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - orrs r1, r0 - strh r1, [r4] - adds r2, 0x2 - str r2, [r5] - adds r4, 0x2 - subs r3, 0x1 - cmp r3, 0 - bne _08077642 -_0807765A: - adds r0, r6, 0 - movs r1, 0x1 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - bl _call_via_r6 - ldr r1, _08077680 @ =gUnknown_0202F7B3 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08077678: .4byte gUnknown_0202F7A4 -_0807767C: .4byte gUnknown_03004B00 -_08077680: .4byte gUnknown_0202F7B3 - thumb_func_end sub_8077610 - - thumb_func_start ma20_wait_for_something -ma20_wait_for_something: @ 8077684 - push {r4,r5,lr} - ldr r0, _080776BC @ =gUnknown_0202F7B3 - ldrb r5, [r0] - cmp r5, 0 - bne _080776CC - bl IsSEPlaying - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _080776E4 - ldr r4, _080776C0 @ =gUnknown_03004AF0 - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x5A - bls _080776D2 - ldr r0, _080776C4 @ =gMPlay_SE1 - bl m4aMPlayStop - ldr r0, _080776C8 @ =gMPlay_SE2 - bl m4aMPlayStop - strh r5, [r4] - b _080776F6 - .align 2, 0 -_080776BC: .4byte gUnknown_0202F7B3 -_080776C0: .4byte gUnknown_03004AF0 -_080776C4: .4byte gMPlay_SE1 -_080776C8: .4byte gMPlay_SE2 -_080776CC: - ldr r1, _080776DC @ =gUnknown_03004AF0 - movs r0, 0 - strh r0, [r1] -_080776D2: - ldr r1, _080776E0 @ =gUnknown_0202F7B0 - movs r0, 0x1 - strb r0, [r1] - b _080776F6 - .align 2, 0 -_080776DC: .4byte gUnknown_03004AF0 -_080776E0: .4byte gUnknown_0202F7B0 -_080776E4: - ldr r0, _080776FC @ =gUnknown_03004AF0 - movs r2, 0 - strh r1, [r0] - ldr r1, _08077700 @ =gUnknown_0202F7A4 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - ldr r0, _08077704 @ =gUnknown_0202F7B0 - strb r2, [r0] -_080776F6: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080776FC: .4byte gUnknown_03004AF0 -_08077700: .4byte gUnknown_0202F7A4 -_08077704: .4byte gUnknown_0202F7B0 - thumb_func_end ma20_wait_for_something - - thumb_func_start ma21_08074164 -ma21_08074164: @ 8077708 - push {r4-r6,lr} - ldr r5, _08077748 @ =gUnknown_0202F7A4 - ldr r4, [r5] - adds r3, r4, 0x1 - str r3, [r5] - ldrb r2, [r4, 0x1] - ldrb r1, [r3, 0x1] - ldrb r0, [r3, 0x2] - lsls r0, 8 - orrs r1, r0 - ldr r0, _0807774C @ =gUnknown_03004B00 - lsls r2, 1 - adds r2, r0 - lsls r1, 16 - asrs r1, 16 - movs r6, 0 - ldrsh r0, [r2, r6] - cmp r1, r0 - bne _08077750 - ldrb r1, [r3, 0x3] - ldrb r0, [r3, 0x4] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r3, 0x5] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r3, 0x6] - lsls r0, 24 - adds r1, r0 - str r1, [r5] - b _08077756 - .align 2, 0 -_08077748: .4byte gUnknown_0202F7A4 -_0807774C: .4byte gUnknown_03004B00 -_08077750: - adds r0, r4, 0 - adds r0, 0x8 - str r0, [r5] -_08077756: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end ma21_08074164 - - thumb_func_start sub_807775C -sub_807775C: @ 807775C - push {r4,lr} - ldr r4, _0807778C @ =gUnknown_0202F7A4 - ldr r0, [r4] - adds r0, 0x1 - str r0, [r4] - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - beq _08077790 - ldr r2, [r4] - ldrb r1, [r2] - ldrb r0, [r2, 0x1] - lsls r0, 8 - adds r1, r0 - ldrb r0, [r2, 0x2] - lsls r0, 16 - adds r1, r0 - ldrb r0, [r2, 0x3] - lsls r0, 24 - adds r1, r0 - str r1, [r4] - b _08077796 - .align 2, 0 -_0807778C: .4byte gUnknown_0202F7A4 -_08077790: - ldr r0, [r4] - adds r0, 0x4 - str r0, [r4] -_08077796: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_807775C - - thumb_func_start sub_807779C -sub_807779C: @ 807779C - push {r4,lr} - ldr r0, _080777B0 @ =gUnknown_0202F7A4 - ldr r1, [r0] - ldrb r2, [r1, 0x1] - adds r1, 0x2 - str r1, [r0] - cmp r2, 0 - beq _080777B8 - ldr r0, _080777B4 @ =gUnknown_0202F7C9 - b _080777BA - .align 2, 0 -_080777B0: .4byte gUnknown_0202F7A4 -_080777B4: .4byte gUnknown_0202F7C9 -_080777B8: - ldr r0, _080777FC @ =gUnknown_0202F7C8 -_080777BA: - ldrb r0, [r0] - bl battle_get_per_side_status - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - bne _080777F4 - cmp r4, 0 - beq _080777D6 - cmp r4, 0x3 - bne _080777F4 -_080777D6: - ldr r3, _08077800 @ =REG_BG1CNT - ldrb r2, [r3] - movs r1, 0x4 - negs r1, r1 - adds r0, r1, 0 - ands r0, r2 - movs r2, 0x1 - orrs r0, r2 - strb r0, [r3] - ldr r2, _08077804 @ =REG_BG2CNT - ldrb r0, [r2] - ands r1, r0 - movs r0, 0x2 - orrs r1, r0 - strb r1, [r2] -_080777F4: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080777FC: .4byte gUnknown_0202F7C8 -_08077800: .4byte REG_BG1CNT -_08077804: .4byte REG_BG2CNT - thumb_func_end sub_807779C - - thumb_func_start sub_8077808 -sub_8077808: @ 8077808 - push {lr} - ldr r0, _08077840 @ =gUnknown_0202F7A4 - ldr r1, [r0] - adds r1, 0x1 - str r1, [r0] - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - bne _0807783A - ldr r3, _08077844 @ =REG_BG1CNT - ldrb r2, [r3] - movs r1, 0x4 - negs r1, r1 - adds r0, r1, 0 - ands r0, r2 - movs r2, 0x1 - orrs r0, r2 - strb r0, [r3] - ldr r2, _08077848 @ =REG_BG2CNT - ldrb r0, [r2] - ands r1, r0 - movs r0, 0x2 - orrs r1, r0 - strb r1, [r2] -_0807783A: - pop {r0} - bx r0 - .align 2, 0 -_08077840: .4byte gUnknown_0202F7A4 -_08077844: .4byte REG_BG1CNT -_08077848: .4byte REG_BG2CNT - thumb_func_end sub_8077808 - - thumb_func_start sub_807784C -sub_807784C: @ 807784C - push {r4-r7,lr} - ldr r1, _0807787C @ =gUnknown_0202F7A4 - ldr r0, [r1] - ldrb r6, [r0, 0x1] - adds r0, 0x2 - str r0, [r1] - ldr r7, _08077880 @ =gUnknown_0202F7C8 - ldrb r0, [r7] - bl battle_side_get_owner - adds r4, r0, 0 - ldr r5, _08077884 @ =gUnknown_0202F7C9 - ldrb r0, [r5] - bl battle_side_get_owner - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - beq _080778C2 - cmp r6, 0 - beq _08077888 - ldrb r0, [r5] - b _0807788A - .align 2, 0 -_0807787C: .4byte gUnknown_0202F7A4 -_08077880: .4byte gUnknown_0202F7C8 -_08077884: .4byte gUnknown_0202F7C9 -_08077888: - ldrb r0, [r7] -_0807788A: - bl battle_get_per_side_status - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - bne _080778C2 - cmp r4, 0 - beq _080778A4 - cmp r4, 0x3 - bne _080778C2 -_080778A4: - ldr r3, _080778C8 @ =REG_BG1CNT - ldrb r2, [r3] - movs r1, 0x4 - negs r1, r1 - adds r0, r1, 0 - ands r0, r2 - movs r2, 0x1 - orrs r0, r2 - strb r0, [r3] - ldr r2, _080778CC @ =REG_BG2CNT - ldrb r0, [r2] - ands r1, r0 - movs r0, 0x2 - orrs r1, r0 - strb r1, [r2] -_080778C2: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080778C8: .4byte REG_BG1CNT -_080778CC: .4byte REG_BG2CNT - thumb_func_end sub_807784C - - thumb_func_start ma2B_make_side_invisible -ma2B_make_side_invisible: @ 80778D0 - push {r4,lr} - ldr r4, _08077904 @ =gUnknown_0202F7A4 - ldr r0, [r4] - ldrb r0, [r0, 0x1] - bl obj_id_for_side_relative_to_move - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xFF - beq _080778F8 - ldr r1, _08077908 @ =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] -_080778F8: - ldr r0, [r4] - adds r0, 0x2 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08077904: .4byte gUnknown_0202F7A4 -_08077908: .4byte gSprites - thumb_func_end ma2B_make_side_invisible - - thumb_func_start ma2C_make_side_visible -ma2C_make_side_visible: @ 807790C - push {r4,lr} - ldr r4, _08077944 @ =gUnknown_0202F7A4 - ldr r0, [r4] - ldrb r0, [r0, 0x1] - bl obj_id_for_side_relative_to_move - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xFF - beq _08077936 - ldr r1, _08077948 @ =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] -_08077936: - ldr r0, [r4] - adds r0, 0x2 - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08077944: .4byte gUnknown_0202F7A4 -_08077948: .4byte gSprites - thumb_func_end ma2C_make_side_visible - - thumb_func_start sub_807794C -sub_807794C: @ 807794C - push {r4-r7,lr} - ldr r1, _08077998 @ =gUnknown_0202F7A4 - ldr r0, [r1] - ldrb r7, [r0, 0x1] - adds r0, 0x2 - str r0, [r1] - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - bne _080779F6 - bl battle_type_is_double - lsls r0, 24 - cmp r0, 0 - beq _080779F6 - ldr r6, _0807799C @ =gUnknown_0202F7C8 - ldrb r0, [r6] - bl battle_side_get_owner - adds r4, r0, 0 - ldr r5, _080779A0 @ =gUnknown_0202F7C9 - ldrb r0, [r5] - bl battle_side_get_owner - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - bne _080779F6 - cmp r7, 0 - bne _080779A4 - ldrb r0, [r6] - bl battle_get_per_side_status_permutated - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0 - b _080779B0 - .align 2, 0 -_08077998: .4byte gUnknown_0202F7A4 -_0807799C: .4byte gUnknown_0202F7C8 -_080779A0: .4byte gUnknown_0202F7C9 -_080779A4: - ldrb r0, [r5] - bl battle_get_per_side_status_permutated - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x1 -_080779B0: - bl obj_id_for_side_relative_to_move - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xFF - beq _080779F6 - ldr r1, _080779EC @ =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r2, r0, r1 - adds r3, r2, 0 - adds r3, 0x3E - ldrb r1, [r3] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r3] - cmp r4, 0x2 - bne _080779E0 - ldrb r0, [r2, 0x5] - movs r1, 0xC - orrs r0, r1 - strb r0, [r2, 0x5] -_080779E0: - cmp r4, 0x1 - bne _080779F0 - movs r0, 0 - bl sub_8076464 - b _080779F6 - .align 2, 0 -_080779EC: .4byte gSprites -_080779F0: - movs r0, 0x1 - bl sub_8076464 -_080779F6: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_807794C - - thumb_func_start sub_80779FC -sub_80779FC: @ 80779FC - push {r4-r7,lr} - ldr r1, _08077A48 @ =gUnknown_0202F7A4 - ldr r0, [r1] - ldrb r7, [r0, 0x1] - adds r0, 0x2 - str r0, [r1] - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - bne _08077A88 - bl battle_type_is_double - lsls r0, 24 - cmp r0, 0 - beq _08077A88 - ldr r6, _08077A4C @ =gUnknown_0202F7C8 - ldrb r0, [r6] - bl battle_side_get_owner - adds r4, r0, 0 - ldr r5, _08077A50 @ =gUnknown_0202F7C9 - ldrb r0, [r5] - bl battle_side_get_owner - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - bne _08077A88 - cmp r7, 0 - bne _08077A54 - ldrb r0, [r6] - bl battle_get_per_side_status_permutated - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0 - b _08077A60 - .align 2, 0 -_08077A48: .4byte gUnknown_0202F7A4 -_08077A4C: .4byte gUnknown_0202F7C8 -_08077A50: .4byte gUnknown_0202F7C9 -_08077A54: - ldrb r0, [r5] - bl battle_get_per_side_status_permutated - lsls r0, 24 - lsrs r4, r0, 24 - movs r0, 0x1 -_08077A60: - bl obj_id_for_side_relative_to_move - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xFF - beq _08077A88 - cmp r4, 0x2 - bne _08077A88 - ldr r1, _08077A90 @ =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - ldrb r2, [r0, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - movs r2, 0x8 - orrs r1, r2 - strb r1, [r0, 0x5] -_08077A88: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08077A90: .4byte gSprites - thumb_func_end sub_80779FC - - thumb_func_start ma2F_stop_music -ma2F_stop_music: @ 8077A94 - push {lr} - ldr r0, _08077AB0 @ =gMPlay_SE1 - bl m4aMPlayStop - ldr r0, _08077AB4 @ =gMPlay_SE2 - bl m4aMPlayStop - ldr r1, _08077AB8 @ =gUnknown_0202F7A4 - ldr r0, [r1] - adds r0, 0x1 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08077AB0: .4byte gMPlay_SE1 -_08077AB4: .4byte gMPlay_SE2 -_08077AB8: .4byte gUnknown_0202F7A4 - thumb_func_end ma2F_stop_music - thumb_func_start sub_8077ABC sub_8077ABC: @ 8077ABC push {r4,r5,lr} diff --git a/asm/rom_8094928.s b/asm/rom_8094928.s index 231f13e9c..4acaddce5 100644 --- a/asm/rom_8094928.s +++ b/asm/rom_8094928.s @@ -27864,1596 +27864,4 @@ _080A24FA: bx r0 thumb_func_end sub_80A2490 - thumb_func_start SetUpFieldMove_Cut -SetUpFieldMove_Cut: @ 80A2504 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r0, 0x52 - bl npc_before_player_of_type - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A2534 - ldr r1, _080A2524 @ =gUnknown_0300485C - ldr r0, _080A2528 @ =sub_808AB90 - str r0, [r1] - ldr r1, _080A252C @ =gUnknown_03005CE4 - ldr r0, _080A2530 @ =sub_80A2634 - b _080A25A8 - .align 2, 0 -_080A2524: .4byte gUnknown_0300485C -_080A2528: .4byte sub_808AB90 -_080A252C: .4byte gUnknown_03005CE4 -_080A2530: .4byte sub_80A2634 -_080A2534: - ldr r4, _080A25B0 @ =gUnknown_0203923C - adds r1, r4, 0x2 - adds r0, r4, 0 - bl PlayerGetDestCoords - movs r7, 0 - mov r8, r4 -_080A2542: - ldr r1, _080A25B4 @ =0x0000ffff - adds r0, r7, r1 - mov r2, r8 - ldrh r2, [r2, 0x2] - adds r0, r2 - movs r6, 0 - lsls r0, 16 - asrs r5, r0, 16 -_080A2552: - ldr r1, _080A25B4 @ =0x0000ffff - adds r0, r6, r1 - mov r2, r8 - ldrh r2, [r2] - adds r0, r2 - lsls r0, 16 - asrs r4, r0, 16 - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridGetZCoordAt - lsls r0, 24 - lsrs r0, 24 - mov r2, r8 - movs r1, 0x4 - ldrsb r1, [r2, r1] - cmp r0, r1 - bne _080A25C8 - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl sub_8056E14 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080A259E - adds r0, r4, 0 - bl MetatileBehavior_IsAsh - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A25C8 -_080A259E: - ldr r1, _080A25B8 @ =gUnknown_0300485C - ldr r0, _080A25BC @ =sub_808AB90 - str r0, [r1] - ldr r1, _080A25C0 @ =gUnknown_03005CE4 - ldr r0, _080A25C4 @ =sub_80A25E8 -_080A25A8: - str r0, [r1] - movs r0, 0x1 - b _080A25DE - .align 2, 0 -_080A25B0: .4byte gUnknown_0203923C -_080A25B4: .4byte 0x0000ffff -_080A25B8: .4byte gUnknown_0300485C -_080A25BC: .4byte sub_808AB90 -_080A25C0: .4byte gUnknown_03005CE4 -_080A25C4: .4byte sub_80A25E8 -_080A25C8: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x2 - bls _080A2552 - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x2 - bls _080A2542 - movs r0, 0 -_080A25DE: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end SetUpFieldMove_Cut - - thumb_func_start sub_80A25E8 -sub_80A25E8: @ 80A25E8 - push {lr} - movs r0, 0x1 - bl FieldEffectStart - ldr r0, _080A25FC @ =gUnknown_0202FF84 - ldr r1, _080A2600 @ =gUnknown_03005CE0 - ldrb r1, [r1] - str r1, [r0] - pop {r0} - bx r0 - .align 2, 0 -_080A25FC: .4byte gUnknown_0202FF84 -_080A2600: .4byte gUnknown_03005CE0 - thumb_func_end sub_80A25E8 - - thumb_func_start FldEff_UseCutOnGrass -FldEff_UseCutOnGrass: @ 80A2604 - push {lr} - bl oei_task_add - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080A262C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r2, _080A2630 @ =sub_80A2684 - lsrs r0, r2, 16 - strh r0, [r1, 0x18] - strh r2, [r1, 0x1A] - movs r0, 0x12 - bl sav12_xor_increment - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_080A262C: .4byte gTasks -_080A2630: .4byte sub_80A2684 - thumb_func_end FldEff_UseCutOnGrass - - thumb_func_start sub_80A2634 -sub_80A2634: @ 80A2634 - push {lr} - ldr r1, _080A2648 @ =gUnknown_0202FF84 - ldr r0, _080A264C @ =gUnknown_03005CE0 - ldrb r0, [r0] - str r0, [r1] - ldr r0, _080A2650 @ =UseCutScript - bl ScriptContext1_SetupScript - pop {r0} - bx r0 - .align 2, 0 -_080A2648: .4byte gUnknown_0202FF84 -_080A264C: .4byte gUnknown_03005CE0 -_080A2650: .4byte UseCutScript - thumb_func_end sub_80A2634 - - thumb_func_start FldEff_UseCutOnTree -FldEff_UseCutOnTree: @ 80A2654 - push {lr} - bl oei_task_add - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080A267C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r2, _080A2680 @ =sub_80A2B00 - lsrs r0, r2, 16 - strh r0, [r1, 0x18] - strh r2, [r1, 0x1A] - movs r0, 0x12 - bl sav12_xor_increment - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_080A267C: .4byte gTasks -_080A2680: .4byte sub_80A2B00 - thumb_func_end FldEff_UseCutOnTree - - thumb_func_start sub_80A2684 -sub_80A2684: @ 80A2684 - push {lr} - movs r0, 0x1 - bl FieldEffectActiveListRemove - movs r0, 0x3A - bl FieldEffectStart - pop {r0} - bx r0 - thumb_func_end sub_80A2684 - - thumb_func_start FldEff_CutGrass -FldEff_CutGrass: @ 80A2698 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r7, 0 - movs r0, 0x80 - bl PlaySE - ldr r4, _080A2790 @ =gUnknown_0203923C - adds r1, r4, 0x2 - adds r0, r4, 0 - bl PlayerGetDestCoords - mov r8, r4 -_080A26B2: - ldr r1, _080A2794 @ =0x0000ffff - adds r0, r7, r1 - mov r2, r8 - ldrh r2, [r2, 0x2] - adds r0, r2 - movs r6, 0 - lsls r0, 16 - asrs r5, r0, 16 -_080A26C2: - ldr r1, _080A2794 @ =0x0000ffff - adds r0, r6, r1 - mov r2, r8 - ldrh r2, [r2] - adds r0, r2 - lsls r0, 16 - asrs r4, r0, 16 - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridGetZCoordAt - lsls r0, 24 - lsrs r0, 24 - mov r2, r8 - movs r1, 0x4 - ldrsb r1, [r2, r1] - cmp r0, r1 - bne _080A270E - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridGetMetatileBehaviorAt - lsls r0, 24 - lsrs r0, 24 - bl sub_80578F8 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080A270E - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_80A27A8 - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_805BCC0 -_080A270E: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x2 - bls _080A26C2 - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x2 - bls _080A26B2 - ldr r1, _080A2790 @ =gUnknown_0203923C - ldrh r0, [r1] - subs r0, 0x1 - lsls r0, 16 - asrs r0, 16 - ldrh r1, [r1, 0x2] - subs r1, 0x2 - lsls r1, 16 - asrs r1, 16 - bl sub_80A28F4 - bl DrawWholeMapView - movs r7, 0 - ldr r4, _080A2798 @ =gSprites -_080A2740: - ldr r0, _080A279C @ =gPlayerAvatar - ldrb r1, [r0, 0x4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r0, 0x2] - lsls r1, 23 - lsrs r1, 7 - movs r2, 0x80 - lsls r2, 12 - adds r1, r2 - asrs r1, 16 - ldrb r2, [r0] - adds r2, 0x14 - ldr r0, _080A27A0 @ =gSpriteTemplate_CutGrass - movs r3, 0 - bl CreateSprite - ldr r1, _080A27A4 @ =0x0201fff0 - adds r1, r7, r1 - strb r0, [r1] - ldrb r1, [r1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - lsls r1, r7, 5 - strh r1, [r0, 0x32] - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x7 - bls _080A2740 - movs r0, 0 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080A2790: .4byte gUnknown_0203923C -_080A2794: .4byte 0x0000ffff -_080A2798: .4byte gSprites -_080A279C: .4byte gPlayerAvatar -_080A27A0: .4byte gSpriteTemplate_CutGrass -_080A27A4: .4byte 0x0201fff0 - thumb_func_end FldEff_CutGrass - - thumb_func_start sub_80A27A8 -sub_80A27A8: @ 80A27A8 - push {r4-r7,lr} - lsls r0, 16 - lsls r1, 16 - lsrs r6, r0, 16 - asrs r4, r0, 16 - lsrs r7, r1, 16 - asrs r5, r1, 16 - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridGetMetatileIdAt - adds r1, r0, 0 - ldr r0, _080A27E0 @ =0x00000207 - cmp r1, r0 - bgt _080A27F4 - subs r0, 0x1 - cmp r1, r0 - bge _080A286C - cmp r1, 0x25 - beq _080A288E - cmp r1, 0x25 - bgt _080A27E4 - cmp r1, 0xD - beq _080A2834 - cmp r1, 0x15 - beq _080A2834 - b _080A2898 - .align 2, 0 -_080A27E0: .4byte 0x00000207 -_080A27E4: - movs r0, 0xE3 - lsls r0, 1 - cmp r1, r0 - beq _080A2844 - adds r0, 0x1 - cmp r1, r0 - beq _080A284A - b _080A2898 -_080A27F4: - ldr r0, _080A280C @ =0x00000212 - cmp r1, r0 - beq _080A287C - cmp r1, r0 - bgt _080A2810 - subs r0, 0xA - cmp r1, r0 - beq _080A2834 - adds r0, 0x2 - cmp r1, r0 - beq _080A287C - b _080A2898 - .align 2, 0 -_080A280C: .4byte 0x00000212 -_080A2810: - ldr r0, _080A2824 @ =0x00000282 - cmp r1, r0 - beq _080A285C - cmp r1, r0 - bgt _080A2828 - subs r0, 0x1 - cmp r1, r0 - beq _080A2854 - b _080A2898 - .align 2, 0 -_080A2824: .4byte 0x00000282 -_080A2828: - ldr r0, _080A2830 @ =0x00000283 - cmp r1, r0 - beq _080A2864 - b _080A2898 - .align 2, 0 -_080A2830: .4byte 0x00000283 -_080A2834: - lsls r0, r6, 16 - asrs r0, 16 - lsls r1, r7, 16 - asrs r1, 16 - movs r2, 0x1 - bl MapGridSetMetatileIdAt - b _080A2898 -_080A2844: - movs r2, 0xE7 - lsls r2, 1 - b _080A286E -_080A284A: - ldr r2, _080A2850 @ =0x000001cf - b _080A286E - .align 2, 0 -_080A2850: .4byte 0x000001cf -_080A2854: - ldr r2, _080A2858 @ =0x00000279 - b _080A286E - .align 2, 0 -_080A2858: .4byte 0x00000279 -_080A285C: - ldr r2, _080A2860 @ =0x0000027a - b _080A286E - .align 2, 0 -_080A2860: .4byte 0x0000027a -_080A2864: - ldr r2, _080A2868 @ =0x0000027b - b _080A286E - .align 2, 0 -_080A2868: .4byte 0x0000027b -_080A286C: - ldr r2, _080A2878 @ =0x00000271 -_080A286E: - adds r0, r4, 0 - adds r1, r5, 0 - bl MapGridSetMetatileIdAt - b _080A2898 - .align 2, 0 -_080A2878: .4byte 0x00000271 -_080A287C: - lsls r0, r6, 16 - asrs r0, 16 - lsls r1, r7, 16 - asrs r1, 16 - movs r2, 0x86 - lsls r2, 2 - bl MapGridSetMetatileIdAt - b _080A2898 -_080A288E: - adds r0, r4, 0 - adds r1, r5, 0 - movs r2, 0xE - bl MapGridSetMetatileIdAt -_080A2898: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80A27A8 - - thumb_func_start sub_80A28A0 -sub_80A28A0: @ 80A28A0 - push {lr} - lsls r0, 16 - asrs r0, 16 - lsls r1, 16 - asrs r1, 16 - bl MapGridGetMetatileIdAt - lsls r0, 16 - lsrs r1, r0, 16 - adds r2, r1, 0 - cmp r1, 0x1 - bne _080A28BC - movs r0, 0x1 - b _080A28EE -_080A28BC: - ldr r0, _080A28C8 @ =0x00000279 - cmp r1, r0 - bne _080A28CC - movs r0, 0x2 - b _080A28EE - .align 2, 0 -_080A28C8: .4byte 0x00000279 -_080A28CC: - ldr r0, _080A28D8 @ =0x0000027a - cmp r1, r0 - bne _080A28DC - movs r0, 0x3 - b _080A28EE - .align 2, 0 -_080A28D8: .4byte 0x0000027a -_080A28DC: - ldr r0, _080A28E8 @ =0x0000027b - cmp r2, r0 - beq _080A28EC - movs r0, 0 - b _080A28EE - .align 2, 0 -_080A28E8: .4byte 0x0000027b -_080A28EC: - movs r0, 0x4 -_080A28EE: - pop {r1} - bx r1 - thumb_func_end sub_80A28A0 - - thumb_func_start sub_80A28F4 -sub_80A28F4: @ 80A28F4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 16 - lsrs r0, 16 - mov r10, r0 - lsls r1, 16 - movs r2, 0xC0 - lsls r2, 10 - adds r0, r1, r2 - lsrs r0, 16 - mov r9, r0 - movs r4, 0 - asrs r7, r1, 16 -_080A2914: - mov r1, r10 - lsls r0, r1, 16 - asrs r0, 16 - lsls r4, 16 - asrs r1, r4, 16 - adds r0, r1 - lsls r0, 16 - lsrs r6, r0, 16 - asrs r5, r0, 16 - adds r0, r5, 0 - adds r1, r7, 0 - bl MapGridGetMetatileIdAt - mov r8, r4 - cmp r0, 0x15 - bne _080A2996 - adds r4, r7, 0x1 - lsls r1, r4, 16 - asrs r1, 16 - adds r0, r5, 0 - bl sub_80A28A0 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - beq _080A296A - cmp r0, 0x2 - bgt _080A2952 - cmp r0, 0x1 - beq _080A295C - b _080A2996 -_080A2952: - cmp r0, 0x3 - beq _080A297C - cmp r0, 0x4 - beq _080A298C - b _080A2996 -_080A295C: - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0x82 - lsls r2, 2 - bl MapGridSetMetatileIdAt - b _080A2996 -_080A296A: - adds r0, r5, 0 - adds r1, r4, 0 - ldr r2, _080A2978 @ =0x00000281 - bl MapGridSetMetatileIdAt - b _080A2996 - .align 2, 0 -_080A2978: .4byte 0x00000281 -_080A297C: - adds r0, r5, 0 - adds r1, r4, 0 - ldr r2, _080A2988 @ =0x00000282 - bl MapGridSetMetatileIdAt - b _080A2996 - .align 2, 0 -_080A2988: .4byte 0x00000282 -_080A298C: - adds r0, r5, 0 - adds r1, r4, 0 - ldr r2, _080A2A30 @ =0x00000283 - bl MapGridSetMetatileIdAt -_080A2996: - lsls r0, r6, 16 - asrs r5, r0, 16 - mov r2, r9 - lsls r0, r2, 16 - asrs r4, r0, 16 - adds r0, r5, 0 - adds r1, r4, 0 - bl MapGridGetMetatileIdAt - cmp r0, 0x1 - bne _080A2A10 - adds r4, 0x1 - adds r0, r5, 0 - adds r1, r4, 0 - bl MapGridGetMetatileIdAt - movs r1, 0x82 - lsls r1, 2 - cmp r0, r1 - bne _080A29C8 - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0x1 - bl MapGridSetMetatileIdAt -_080A29C8: - adds r0, r5, 0 - adds r1, r4, 0 - bl MapGridGetMetatileIdAt - ldr r1, _080A2A34 @ =0x00000281 - cmp r0, r1 - bne _080A29E0 - adds r0, r5, 0 - adds r1, r4, 0 - ldr r2, _080A2A38 @ =0x00000279 - bl MapGridSetMetatileIdAt -_080A29E0: - adds r0, r5, 0 - adds r1, r4, 0 - bl MapGridGetMetatileIdAt - ldr r1, _080A2A3C @ =0x00000282 - cmp r0, r1 - bne _080A29F8 - adds r0, r5, 0 - adds r1, r4, 0 - ldr r2, _080A2A40 @ =0x0000027a - bl MapGridSetMetatileIdAt -_080A29F8: - adds r0, r5, 0 - adds r1, r4, 0 - bl MapGridGetMetatileIdAt - ldr r1, _080A2A30 @ =0x00000283 - cmp r0, r1 - bne _080A2A10 - adds r0, r5, 0 - adds r1, r4, 0 - ldr r2, _080A2A44 @ =0x0000027b - bl MapGridSetMetatileIdAt -_080A2A10: - movs r0, 0x80 - lsls r0, 9 - add r0, r8 - lsrs r4, r0, 16 - asrs r0, 16 - cmp r0, 0x2 - bgt _080A2A20 - b _080A2914 -_080A2A20: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080A2A30: .4byte 0x00000283 -_080A2A34: .4byte 0x00000281 -_080A2A38: .4byte 0x00000279 -_080A2A3C: .4byte 0x00000282 -_080A2A40: .4byte 0x0000027a -_080A2A44: .4byte 0x0000027b - thumb_func_end sub_80A28F4 - - thumb_func_start sub_80A2A48 -sub_80A2A48: @ 80A2A48 - movs r2, 0 - movs r1, 0x8 - strh r1, [r0, 0x2E] - strh r2, [r0, 0x30] - strh r2, [r0, 0x34] - ldr r1, _080A2A58 @ =objc_8097BBC - str r1, [r0, 0x1C] - bx lr - .align 2, 0 -_080A2A58: .4byte objc_8097BBC - thumb_func_end sub_80A2A48 - - thumb_func_start objc_8097BBC -objc_8097BBC: @ 80A2A5C - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x32 - ldrsh r0, [r4, r1] - movs r2, 0x2E - ldrsh r1, [r4, r2] - bl Sin - strh r0, [r4, 0x24] - movs r1, 0x32 - ldrsh r0, [r4, r1] - movs r2, 0x2E - ldrsh r1, [r4, r2] - bl Cos - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x32] - adds r0, 0x8 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x32] - ldrh r1, [r4, 0x2E] - adds r1, 0x1 - ldrh r2, [r4, 0x34] - lsls r0, r2, 16 - asrs r0, 18 - adds r1, r0 - strh r1, [r4, 0x2E] - adds r2, 0x1 - strh r2, [r4, 0x34] - ldrh r1, [r4, 0x30] - movs r2, 0x30 - ldrsh r0, [r4, r2] - cmp r0, 0x1C - beq _080A2AA8 - adds r0, r1, 0x1 - strh r0, [r4, 0x30] - b _080A2AAC -_080A2AA8: - ldr r0, _080A2AB4 @ =sub_80A2AB8 - str r0, [r4, 0x1C] -_080A2AAC: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A2AB4: .4byte sub_80A2AB8 - thumb_func_end objc_8097BBC - - thumb_func_start sub_80A2AB8 -sub_80A2AB8: @ 80A2AB8 - push {r4-r6,lr} - movs r4, 0x1 -_080A2ABC: - ldr r6, _080A2AF8 @ =0x0201fff0 - adds r0, r4, r6 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r5, _080A2AFC @ =gSprites - adds r0, r5 - bl DestroySprite - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x7 - bls _080A2ABC - ldrb r1, [r6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r1, 0x3A - bl FieldEffectStop - bl sub_8064E2C - bl ScriptContext2_Disable - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A2AF8: .4byte 0x0201fff0 -_080A2AFC: .4byte gSprites - thumb_func_end sub_80A2AB8 - - thumb_func_start sub_80A2B00 -sub_80A2B00: @ 80A2B00 - push {lr} - movs r0, 0x80 - bl PlaySE - movs r0, 0x2 - bl FieldEffectActiveListRemove - bl EnableBothScriptContexts - pop {r0} - bx r0 - thumb_func_end sub_80A2B00 - - thumb_func_start sub_80A2B18 -sub_80A2B18: @ 80A2B18 - push {r4,r5,lr} - movs r4, 0 - ldr r5, _080A2B3C @ =gSaveBlock1 + 0x2B4C -_080A2B1E: - lsls r0, r4, 3 - adds r0, r4 - lsls r0, 2 - adds r0, r5 - bl sub_80A2B40 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xF - bls _080A2B1E - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A2B3C: .4byte gSaveBlock1 + 0x2B4C - thumb_func_end sub_80A2B18 - - thumb_func_start sub_80A2B40 -sub_80A2B40: @ 80A2B40 - push {r4-r6,lr} - adds r3, r0, 0 - ldr r0, _080A2B90 @ =0x0000ffff - adds r4, r0, 0 - adds r1, r3, 0 - movs r2, 0x8 -_080A2B4C: - ldrh r0, [r1] - orrs r0, r4 - strh r0, [r1] - adds r1, 0x2 - subs r2, 0x1 - cmp r2, 0 - bge _080A2B4C - movs r2, 0 - adds r6, r3, 0 - adds r6, 0x1A - adds r4, r3, 0 - adds r4, 0x12 - movs r5, 0xFF -_080A2B66: - adds r1, r4, r2 - ldrb r0, [r1] - orrs r0, r5 - strb r0, [r1] - adds r2, 0x1 - cmp r2, 0x7 - ble _080A2B66 - adds r1, r6, 0 - movs r2, 0 - adds r0, r1, 0x3 -_080A2B7A: - strb r2, [r0] - subs r0, 0x1 - cmp r0, r1 - bge _080A2B7A - movs r1, 0 - movs r0, 0x1 - strh r0, [r3, 0x1E] - strh r1, [r3, 0x20] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_080A2B90: .4byte 0x0000ffff - thumb_func_end sub_80A2B40 - - thumb_func_start sub_80A2B94 -sub_80A2B94: @ 80A2B94 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0xC - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - bl itemid_is_mail - lsls r0, 24 - cmp r0, 0 - beq _080A2BBC - adds r0, r4, 0 - movs r1, 0x40 - bl GetMonData - cmp r0, 0xFF - beq _080A2BBC - movs r0, 0x1 - b _080A2BBE -_080A2BBC: - movs r0, 0 -_080A2BBE: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80A2B94 - - thumb_func_start sub_80A2BC4 -sub_80A2BC4: @ 80A2BC4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - adds r7, r0, 0 - lsls r1, 16 - lsrs r0, r1, 16 - str r0, [sp, 0x8] - mov r0, sp - movs r2, 0 - ldrb r3, [r0, 0x8] - strb r3, [r0] - lsrs r1, 24 - strb r1, [r0, 0x1] - add r3, sp, 0x4 - strb r2, [r3] - mov r10, r3 - ldr r4, _080A2D00 @ =gSaveBlock1 - mov r9, r4 - mov r8, r3 - adds r2, r3, 0 -_080A2BF2: - ldrb r1, [r2] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - add r0, r9 - ldr r5, _080A2D04 @ =0x00002b6c - adds r0, r5 - ldrh r0, [r0] - cmp r0, 0 - beq _080A2C08 - b _080A2D24 -_080A2C08: - movs r3, 0 - ldr r0, _080A2D08 @ =gSaveBlock2 - mov r12, r0 - mov r4, r10 - ldr r6, _080A2D0C @ =gSaveBlock1 + 0x2B4C - ldr r1, _080A2D10 @ =0x0000ffff - adds r5, r1, 0 -_080A2C16: - lsls r2, r3, 1 - ldrb r1, [r4] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r2, r0 - adds r2, r6 - ldrh r0, [r2] - orrs r0, r5 - strh r0, [r2] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x8 - bls _080A2C16 - movs r3, 0 - mov r2, r10 - ldr r4, _080A2D14 @ =gSaveBlock1 + 0x2B5E -_080A2C3A: - ldrb r1, [r2] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r3, r0 - adds r0, r4 - mov r5, r12 - adds r1, r3, r5 - ldrb r1, [r1] - strb r1, [r0] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x6 - bls _080A2C3A - mov r0, r8 - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r3, r0 - ldr r1, _080A2D14 @ =gSaveBlock1 + 0x2B5E - adds r0, r1 - movs r1, 0xFF - strb r1, [r0] - mov r2, r8 - ldrb r1, [r2] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r3, _080A2D14 @ =gSaveBlock1 + 0x2B5E - adds r0, r3 - movs r1, 0 - bl sub_814A518 - movs r3, 0 - mov r2, r10 - ldr r5, _080A2D18 @ =gSaveBlock1 + 0x2B66 - ldr r4, _080A2D1C @ =gSaveBlock2 + 0xA -_080A2C88: - ldrb r1, [r2] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r3, r0 - adds r0, r5 - adds r1, r3, r4 - ldrb r1, [r1] - strb r1, [r0] - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x3 - bls _080A2C88 - adds r0, r7, 0 - movs r1, 0xB - bl GetBoxMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r7, 0 - movs r1, 0 - bl GetBoxMonData - adds r1, r0, 0 - adds r0, r4, 0 - bl sub_80A2D44 - mov r4, r8 - ldrb r2, [r4] - lsls r1, r2, 3 - adds r1, r2 - lsls r1, 2 - add r1, r9 - ldr r5, _080A2D20 @ =0x00002b6a - adds r1, r5 - strh r0, [r1] - ldrb r1, [r4] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - add r0, r9 - ldr r1, _080A2D04 @ =0x00002b6c - adds r0, r1 - mov r2, sp - ldrh r2, [r2, 0x8] - strh r2, [r0] - adds r0, r7, 0 - movs r1, 0x40 - mov r2, r8 - bl SetMonData - adds r0, r7, 0 - movs r1, 0xC - mov r2, sp - bl SetMonData - ldrb r0, [r4] - b _080A2D32 - .align 2, 0 -_080A2D00: .4byte gSaveBlock1 -_080A2D04: .4byte 0x00002b6c -_080A2D08: .4byte gSaveBlock2 -_080A2D0C: .4byte gSaveBlock1 + 0x2B4C -_080A2D10: .4byte 0x0000ffff -_080A2D14: .4byte gSaveBlock1 + 0x2B5E -_080A2D18: .4byte gSaveBlock1 + 0x2B66 -_080A2D1C: .4byte gSaveBlock2 + 0xA -_080A2D20: .4byte 0x00002b6a -_080A2D24: - adds r0, r1, 0x1 - strb r0, [r3] - ldrb r0, [r2] - cmp r0, 0x5 - bhi _080A2D30 - b _080A2BF2 -_080A2D30: - movs r0, 0xFF -_080A2D32: - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80A2BC4 - - thumb_func_start sub_80A2D44 -sub_80A2D44: @ 80A2D44 - push {lr} - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xC9 - bne _080A2D5C - adds r0, r1, 0 - bl sub_809D474 - lsls r0, 16 - ldr r1, _080A2D60 @ =0x75300000 - adds r0, r1 - lsrs r0, 16 -_080A2D5C: - pop {r1} - bx r1 - .align 2, 0 -_080A2D60: .4byte 0x75300000 - thumb_func_end sub_80A2D44 - - thumb_func_start sub_80A2D64 -sub_80A2D64: @ 80A2D64 - push {lr} - lsls r0, 16 - lsrs r3, r0, 16 - ldr r0, _080A2D7C @ =0xffff8ad0 - adds r2, r3, r0 - lsls r0, r2, 16 - lsrs r0, 16 - cmp r0, 0x1B - bhi _080A2D80 - movs r0, 0xC9 - strh r2, [r1] - b _080A2D82 - .align 2, 0 -_080A2D7C: .4byte 0xffff8ad0 -_080A2D80: - adds r0, r3, 0 -_080A2D82: - pop {r1} - bx r1 - thumb_func_end sub_80A2D64 - - thumb_func_start sub_80A2D88 -sub_80A2D88: @ 80A2D88 - push {r4-r7,lr} - sub sp, 0x8 - adds r6, r0, 0 - adds r7, r1, 0 - ldrh r5, [r7, 0x20] - adds r1, r5, 0 - bl sub_80A2BC4 - add r4, sp, 0x4 - strb r0, [r4] - ldrb r2, [r4] - cmp r2, 0xFF - beq _080A2DE8 - ldr r0, _080A2DE0 @ =gSaveBlock1 - lsls r1, r2, 3 - adds r1, r2 - lsls r1, 2 - adds r1, r0 - ldr r0, _080A2DE4 @ =0x00002b4c - adds r1, r0 - adds r0, r7, 0 - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - adds r0, r6, 0 - movs r1, 0x40 - adds r2, r4, 0 - bl SetMonData - mov r0, sp - strb r5, [r0] - mov r1, sp - lsrs r0, r5, 8 - strb r0, [r1, 0x1] - adds r0, r6, 0 - movs r1, 0xC - mov r2, sp - bl SetMonData - ldrb r0, [r4] - b _080A2DEA - .align 2, 0 -_080A2DE0: .4byte gSaveBlock1 -_080A2DE4: .4byte 0x00002b4c -_080A2DE8: - movs r0, 0xFF -_080A2DEA: - add sp, 0x8 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80A2D88 - - thumb_func_start unref_sub_80A2DF4 -unref_sub_80A2DF4: @ 80A2DF4 - movs r0, 0 - bx lr - thumb_func_end unref_sub_80A2DF4 - - thumb_func_start sub_80A2DF8 -sub_80A2DF8: @ 80A2DF8 - push {r4,lr} - sub sp, 0x8 - adds r4, r0, 0 - bl sub_80A2B94 - lsls r0, 24 - cmp r0, 0 - beq _080A2E46 - adds r0, r4, 0 - movs r1, 0x40 - bl GetMonData - add r2, sp, 0x4 - strb r0, [r2] - ldr r3, _080A2E50 @ =gSaveBlock1 - ldrb r1, [r2] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldr r1, _080A2E54 @ =0x00002b6c - adds r0, r1 - movs r3, 0 - movs r1, 0 - strh r1, [r0] - movs r0, 0xFF - strb r0, [r2] - mov r0, sp - strb r3, [r0] - strb r3, [r0, 0x1] - adds r0, r4, 0 - movs r1, 0x40 - bl SetMonData - adds r0, r4, 0 - movs r1, 0xC - mov r2, sp - bl SetMonData -_080A2E46: - add sp, 0x8 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080A2E50: .4byte gSaveBlock1 -_080A2E54: .4byte 0x00002b6c - thumb_func_end sub_80A2DF8 - - thumb_func_start unref_sub_80A2E58 -unref_sub_80A2E58: @ 80A2E58 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080A2E70 @ =gSaveBlock1 - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldr r0, _080A2E74 @ =0x00002b6c - adds r1, r0 - movs r0, 0 - strh r0, [r1] - bx lr - .align 2, 0 -_080A2E70: .4byte gSaveBlock1 -_080A2E74: .4byte 0x00002b6c - thumb_func_end unref_sub_80A2E58 - - thumb_func_start sub_80A2E78 -sub_80A2E78: @ 80A2E78 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0xC - adds r5, r0, 0 - mov r0, sp - movs r1, 0 - strb r1, [r0] - strb r1, [r0, 0x1] - add r1, sp, 0x4 - movs r0, 0xFF - strb r0, [r1] - movs r7, 0x6 - mov r9, r1 - ldr r0, _080A2F04 @ =gSaveBlock1 - mov r8, r0 - ldr r2, _080A2F08 @ =0x00002b4c - add r2, r8 -_080A2E9E: - lsls r0, r7, 3 - adds r0, r7 - lsls r4, r0, 2 - mov r1, r8 - adds r0, r4, r1 - ldr r3, _080A2F0C @ =0x00002b6c - adds r0, r3 - ldrh r6, [r0] - cmp r6, 0 - bne _080A2F10 - adds r4, r2 - adds r0, r5, 0 - movs r1, 0x40 - str r2, [sp, 0x8] - bl GetMonData - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - ldr r2, [sp, 0x8] - adds r1, r2 - ldm r1!, {r0,r2,r3} - stm r4!, {r0,r2,r3} - ldm r1!, {r0,r2,r3} - stm r4!, {r0,r2,r3} - ldm r1!, {r0,r2,r3} - stm r4!, {r0,r2,r3} - adds r0, r5, 0 - movs r1, 0x40 - bl GetMonData - lsls r1, r0, 3 - adds r1, r0 - lsls r1, 2 - add r1, r8 - ldr r0, _080A2F0C @ =0x00002b6c - adds r1, r0 - strh r6, [r1] - adds r0, r5, 0 - movs r1, 0x40 - mov r2, r9 - bl SetMonData - adds r0, r5, 0 - movs r1, 0xC - mov r2, sp - bl SetMonData - adds r0, r7, 0 - b _080A2F1C - .align 2, 0 -_080A2F04: .4byte gSaveBlock1 -_080A2F08: .4byte 0x00002b4c -_080A2F0C: .4byte 0x00002b6c -_080A2F10: - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0xF - bls _080A2E9E - movs r0, 0xFF -_080A2F1C: - add sp, 0xC - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80A2E78 - - thumb_func_start itemid_is_mail -itemid_is_mail: @ 80A2F2C - push {lr} - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x84 - bgt _080A2F3E - cmp r0, 0x79 - blt _080A2F3E - movs r0, 0x1 - b _080A2F40 -_080A2F3E: - movs r0, 0 -_080A2F40: - pop {r1} - bx r1 - thumb_func_end itemid_is_mail - - thumb_func_start unref_sub_80A2F44 -unref_sub_80A2F44: @ 80A2F44 - push {lr} - bl sub_8071C20 - bl AddMapNamePopUpWindowTask - movs r0, 0x1 - pop {r1} - bx r1 - thumb_func_end unref_sub_80A2F44 - - thumb_func_start AddMapNamePopUpWindowTask -AddMapNamePopUpWindowTask: @ 80A2F54 - push {r4,r5,lr} - movs r0, 0x80 - lsls r0, 7 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080A2FE4 - ldr r4, _080A2FAC @ =sub_80A2FF4 - adds r0, r4, 0 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - bne _080A2FBC - adds r0, r4, 0 - movs r1, 0x5A - bl CreateTask - ldr r4, _080A2FB0 @ =gUnknown_02038538 - strb r0, [r4] - ldr r1, _080A2FB4 @ =REG_BG0VOFS - movs r0, 0x20 - strh r0, [r1] - bl sub_80A30E0 - ldr r2, _080A2FB8 @ =gTasks - ldrb r1, [r4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - strh r5, [r0, 0x8] - ldrb r1, [r4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r1, 0x20 - strh r1, [r0, 0xC] - b _080A2FE4 - .align 2, 0 -_080A2FAC: .4byte sub_80A2FF4 -_080A2FB0: .4byte gUnknown_02038538 -_080A2FB4: .4byte REG_BG0VOFS -_080A2FB8: .4byte gTasks -_080A2FBC: - ldr r3, _080A2FEC @ =gTasks - ldr r2, _080A2FF0 @ =gUnknown_02038538 - ldrb r0, [r2] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r3 - movs r4, 0x8 - ldrsh r0, [r1, r4] - cmp r0, 0x2 - beq _080A2FD6 - movs r0, 0x2 - strh r0, [r1, 0x8] -_080A2FD6: - ldrb r0, [r2] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r3 - movs r0, 0x1 - strh r0, [r1, 0xE] -_080A2FE4: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A2FEC: .4byte gTasks -_080A2FF0: .4byte gUnknown_02038538 - thumb_func_end AddMapNamePopUpWindowTask - - thumb_func_start sub_80A2FF4 -sub_80A2FF4: @ 80A2FF4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r3, _080A3018 @ =gTasks - adds r4, r1, r3 - movs r0, 0x8 - ldrsh r2, [r4, r0] - cmp r2, 0x1 - beq _080A304C - cmp r2, 0x1 - bgt _080A301C - cmp r2, 0 - beq _080A3026 - b _080A3092 - .align 2, 0 -_080A3018: .4byte gTasks -_080A301C: - cmp r2, 0x2 - beq _080A3064 - cmp r2, 0x4 - beq _080A308C - b _080A3092 -_080A3026: - ldrh r0, [r4, 0xC] - subs r0, 0x2 - strh r0, [r4, 0xC] - lsls r0, 16 - cmp r0, 0 - bgt _080A3092 - movs r0, 0x1 - strh r0, [r4, 0x8] - ldr r0, _080A3048 @ =gUnknown_02038538 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r3 - strh r2, [r0, 0xA] - b _080A3092 - .align 2, 0 -_080A3048: .4byte gUnknown_02038538 -_080A304C: - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x78 - ble _080A3092 - movs r0, 0 - strh r0, [r4, 0xA] - movs r0, 0x2 - strh r0, [r4, 0x8] - b _080A3092 -_080A3064: - ldrh r0, [r4, 0xC] - adds r0, 0x2 - movs r5, 0 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1F - ble _080A3092 - movs r1, 0xE - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _080A3086 - bl sub_80A30E0 - strh r5, [r4, 0x8] - strh r5, [r4, 0xE] - b _080A3092 -_080A3086: - movs r0, 0x4 - strh r0, [r4, 0x8] - b _080A3098 -_080A308C: - bl HideMapNamePopUpWindow - b _080A3098 -_080A3092: - ldr r1, _080A30A0 @ =REG_BG0VOFS - ldrh r0, [r4, 0xC] - strh r0, [r1] -_080A3098: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080A30A0: .4byte REG_BG0VOFS - thumb_func_end sub_80A2FF4 - - thumb_func_start HideMapNamePopUpWindow -HideMapNamePopUpWindow: @ 80A30A4 - push {lr} - ldr r0, _080A30D4 @ =sub_80A2FF4 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - beq _080A30D0 - bl MenuLoadTextWindowGraphics - movs r0, 0 - movs r1, 0 - movs r2, 0xD - movs r3, 0x3 - bl MenuZeroFillWindowRect - ldr r1, _080A30D8 @ =REG_BG0VOFS - movs r0, 0 - strh r0, [r1] - ldr r0, _080A30DC @ =gUnknown_02038538 - ldrb r0, [r0] - bl DestroyTask -_080A30D0: - pop {r0} - bx r0 - .align 2, 0 -_080A30D4: .4byte sub_80A2FF4 -_080A30D8: .4byte REG_BG0VOFS -_080A30DC: .4byte gUnknown_02038538 - thumb_func_end HideMapNamePopUpWindow - - thumb_func_start sub_80A30E0 -sub_80A30E0: @ 80A30E0 - push {lr} - sub sp, 0x14 - movs r0, 0 - bl MenuLoadTextWindowGraphics_OverrideFrameType - ldr r0, _080A3114 @ =gMapHeader - ldrb r1, [r0, 0x14] - mov r0, sp - movs r2, 0 - bl sub_80FBFB4 - movs r0, 0 - movs r1, 0 - movs r2, 0xD - movs r3, 0x3 - bl MenuDrawTextWindow - mov r0, sp - movs r1, 0x1 - movs r2, 0x1 - movs r3, 0x60 - bl sub_8072BD8 - add sp, 0x14 - pop {r0} - bx r0 - .align 2, 0 -_080A3114: .4byte gMapHeader - thumb_func_end sub_80A30E0 - .align 2, 0 @ Don't pad with nop. diff --git a/asm/rom_80A2B18.s b/asm/rom_80A2B18.s new file mode 100644 index 000000000..4f4f245ce --- /dev/null +++ b/asm/rom_80A2B18.s @@ -0,0 +1,813 @@ + .include "constants/gba_constants.inc" + .include "constants/species_constants.inc" + .include "asm/macros.inc" + + .syntax unified + + .text + + thumb_func_start sub_80A2B18 +sub_80A2B18: @ 80A2B18 + push {r4,r5,lr} + movs r4, 0 + ldr r5, _080A2B3C @ =gSaveBlock1 + 0x2B4C +_080A2B1E: + lsls r0, r4, 3 + adds r0, r4 + lsls r0, 2 + adds r0, r5 + bl sub_80A2B40 + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0xF + bls _080A2B1E + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A2B3C: .4byte gSaveBlock1 + 0x2B4C + thumb_func_end sub_80A2B18 + + thumb_func_start sub_80A2B40 +sub_80A2B40: @ 80A2B40 + push {r4-r6,lr} + adds r3, r0, 0 + ldr r0, _080A2B90 @ =0x0000ffff + adds r4, r0, 0 + adds r1, r3, 0 + movs r2, 0x8 +_080A2B4C: + ldrh r0, [r1] + orrs r0, r4 + strh r0, [r1] + adds r1, 0x2 + subs r2, 0x1 + cmp r2, 0 + bge _080A2B4C + movs r2, 0 + adds r6, r3, 0 + adds r6, 0x1A + adds r4, r3, 0 + adds r4, 0x12 + movs r5, 0xFF +_080A2B66: + adds r1, r4, r2 + ldrb r0, [r1] + orrs r0, r5 + strb r0, [r1] + adds r2, 0x1 + cmp r2, 0x7 + ble _080A2B66 + adds r1, r6, 0 + movs r2, 0 + adds r0, r1, 0x3 +_080A2B7A: + strb r2, [r0] + subs r0, 0x1 + cmp r0, r1 + bge _080A2B7A + movs r1, 0 + movs r0, 0x1 + strh r0, [r3, 0x1E] + strh r1, [r3, 0x20] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_080A2B90: .4byte 0x0000ffff + thumb_func_end sub_80A2B40 + + thumb_func_start sub_80A2B94 +sub_80A2B94: @ 80A2B94 + push {r4,lr} + adds r4, r0, 0 + movs r1, 0xC + bl GetMonData + lsls r0, 16 + lsrs r0, 16 + bl itemid_is_mail + lsls r0, 24 + cmp r0, 0 + beq _080A2BBC + adds r0, r4, 0 + movs r1, 0x40 + bl GetMonData + cmp r0, 0xFF + beq _080A2BBC + movs r0, 0x1 + b _080A2BBE +_080A2BBC: + movs r0, 0 +_080A2BBE: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_80A2B94 + + thumb_func_start sub_80A2BC4 +sub_80A2BC4: @ 80A2BC4 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0xC + adds r7, r0, 0 + lsls r1, 16 + lsrs r0, r1, 16 + str r0, [sp, 0x8] + mov r0, sp + movs r2, 0 + ldrb r3, [r0, 0x8] + strb r3, [r0] + lsrs r1, 24 + strb r1, [r0, 0x1] + add r3, sp, 0x4 + strb r2, [r3] + mov r10, r3 + ldr r4, _080A2D00 @ =gSaveBlock1 + mov r9, r4 + mov r8, r3 + adds r2, r3, 0 +_080A2BF2: + ldrb r1, [r2] + lsls r0, r1, 3 + adds r0, r1 + lsls r0, 2 + add r0, r9 + ldr r5, _080A2D04 @ =0x00002b6c + adds r0, r5 + ldrh r0, [r0] + cmp r0, 0 + beq _080A2C08 + b _080A2D24 +_080A2C08: + movs r3, 0 + ldr r0, _080A2D08 @ =gSaveBlock2 + mov r12, r0 + mov r4, r10 + ldr r6, _080A2D0C @ =gSaveBlock1 + 0x2B4C + ldr r1, _080A2D10 @ =0x0000ffff + adds r5, r1, 0 +_080A2C16: + lsls r2, r3, 1 + ldrb r1, [r4] + lsls r0, r1, 3 + adds r0, r1 + lsls r0, 2 + adds r2, r0 + adds r2, r6 + ldrh r0, [r2] + orrs r0, r5 + strh r0, [r2] + adds r0, r3, 0x1 + lsls r0, 24 + lsrs r3, r0, 24 + cmp r3, 0x8 + bls _080A2C16 + movs r3, 0 + mov r2, r10 + ldr r4, _080A2D14 @ =gSaveBlock1 + 0x2B5E +_080A2C3A: + ldrb r1, [r2] + lsls r0, r1, 3 + adds r0, r1 + lsls r0, 2 + adds r0, r3, r0 + adds r0, r4 + mov r5, r12 + adds r1, r3, r5 + ldrb r1, [r1] + strb r1, [r0] + adds r0, r3, 0x1 + lsls r0, 24 + lsrs r3, r0, 24 + cmp r3, 0x6 + bls _080A2C3A + mov r0, r8 + ldrb r1, [r0] + lsls r0, r1, 3 + adds r0, r1 + lsls r0, 2 + adds r0, r3, r0 + ldr r1, _080A2D14 @ =gSaveBlock1 + 0x2B5E + adds r0, r1 + movs r1, 0xFF + strb r1, [r0] + mov r2, r8 + ldrb r1, [r2] + lsls r0, r1, 3 + adds r0, r1 + lsls r0, 2 + ldr r3, _080A2D14 @ =gSaveBlock1 + 0x2B5E + adds r0, r3 + movs r1, 0 + bl sub_814A518 + movs r3, 0 + mov r2, r10 + ldr r5, _080A2D18 @ =gSaveBlock1 + 0x2B66 + ldr r4, _080A2D1C @ =gSaveBlock2 + 0xA +_080A2C88: + ldrb r1, [r2] + lsls r0, r1, 3 + adds r0, r1 + lsls r0, 2 + adds r0, r3, r0 + adds r0, r5 + adds r1, r3, r4 + ldrb r1, [r1] + strb r1, [r0] + adds r0, r3, 0x1 + lsls r0, 24 + lsrs r3, r0, 24 + cmp r3, 0x3 + bls _080A2C88 + adds r0, r7, 0 + movs r1, 0xB + bl GetBoxMonData + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + adds r0, r7, 0 + movs r1, 0 + bl GetBoxMonData + adds r1, r0, 0 + adds r0, r4, 0 + bl sub_80A2D44 + mov r4, r8 + ldrb r2, [r4] + lsls r1, r2, 3 + adds r1, r2 + lsls r1, 2 + add r1, r9 + ldr r5, _080A2D20 @ =0x00002b6a + adds r1, r5 + strh r0, [r1] + ldrb r1, [r4] + lsls r0, r1, 3 + adds r0, r1 + lsls r0, 2 + add r0, r9 + ldr r1, _080A2D04 @ =0x00002b6c + adds r0, r1 + mov r2, sp + ldrh r2, [r2, 0x8] + strh r2, [r0] + adds r0, r7, 0 + movs r1, 0x40 + mov r2, r8 + bl SetMonData + adds r0, r7, 0 + movs r1, 0xC + mov r2, sp + bl SetMonData + ldrb r0, [r4] + b _080A2D32 + .align 2, 0 +_080A2D00: .4byte gSaveBlock1 +_080A2D04: .4byte 0x00002b6c +_080A2D08: .4byte gSaveBlock2 +_080A2D0C: .4byte gSaveBlock1 + 0x2B4C +_080A2D10: .4byte 0x0000ffff +_080A2D14: .4byte gSaveBlock1 + 0x2B5E +_080A2D18: .4byte gSaveBlock1 + 0x2B66 +_080A2D1C: .4byte gSaveBlock2 + 0xA +_080A2D20: .4byte 0x00002b6a +_080A2D24: + adds r0, r1, 0x1 + strb r0, [r3] + ldrb r0, [r2] + cmp r0, 0x5 + bhi _080A2D30 + b _080A2BF2 +_080A2D30: + movs r0, 0xFF +_080A2D32: + add sp, 0xC + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_80A2BC4 + + thumb_func_start sub_80A2D44 +sub_80A2D44: @ 80A2D44 + push {lr} + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0xC9 + bne _080A2D5C + adds r0, r1, 0 + bl sub_809D474 + lsls r0, 16 + ldr r1, _080A2D60 @ =0x75300000 + adds r0, r1 + lsrs r0, 16 +_080A2D5C: + pop {r1} + bx r1 + .align 2, 0 +_080A2D60: .4byte 0x75300000 + thumb_func_end sub_80A2D44 + + thumb_func_start sub_80A2D64 +sub_80A2D64: @ 80A2D64 + push {lr} + lsls r0, 16 + lsrs r3, r0, 16 + ldr r0, _080A2D7C @ =0xffff8ad0 + adds r2, r3, r0 + lsls r0, r2, 16 + lsrs r0, 16 + cmp r0, 0x1B + bhi _080A2D80 + movs r0, 0xC9 + strh r2, [r1] + b _080A2D82 + .align 2, 0 +_080A2D7C: .4byte 0xffff8ad0 +_080A2D80: + adds r0, r3, 0 +_080A2D82: + pop {r1} + bx r1 + thumb_func_end sub_80A2D64 + + thumb_func_start sub_80A2D88 +sub_80A2D88: @ 80A2D88 + push {r4-r7,lr} + sub sp, 0x8 + adds r6, r0, 0 + adds r7, r1, 0 + ldrh r5, [r7, 0x20] + adds r1, r5, 0 + bl sub_80A2BC4 + add r4, sp, 0x4 + strb r0, [r4] + ldrb r2, [r4] + cmp r2, 0xFF + beq _080A2DE8 + ldr r0, _080A2DE0 @ =gSaveBlock1 + lsls r1, r2, 3 + adds r1, r2 + lsls r1, 2 + adds r1, r0 + ldr r0, _080A2DE4 @ =0x00002b4c + adds r1, r0 + adds r0, r7, 0 + ldm r0!, {r2,r3,r7} + stm r1!, {r2,r3,r7} + ldm r0!, {r2,r3,r7} + stm r1!, {r2,r3,r7} + ldm r0!, {r2,r3,r7} + stm r1!, {r2,r3,r7} + adds r0, r6, 0 + movs r1, 0x40 + adds r2, r4, 0 + bl SetMonData + mov r0, sp + strb r5, [r0] + mov r1, sp + lsrs r0, r5, 8 + strb r0, [r1, 0x1] + adds r0, r6, 0 + movs r1, 0xC + mov r2, sp + bl SetMonData + ldrb r0, [r4] + b _080A2DEA + .align 2, 0 +_080A2DE0: .4byte gSaveBlock1 +_080A2DE4: .4byte 0x00002b4c +_080A2DE8: + movs r0, 0xFF +_080A2DEA: + add sp, 0x8 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_80A2D88 + + thumb_func_start unref_sub_80A2DF4 +unref_sub_80A2DF4: @ 80A2DF4 + movs r0, 0 + bx lr + thumb_func_end unref_sub_80A2DF4 + + thumb_func_start sub_80A2DF8 +sub_80A2DF8: @ 80A2DF8 + push {r4,lr} + sub sp, 0x8 + adds r4, r0, 0 + bl sub_80A2B94 + lsls r0, 24 + cmp r0, 0 + beq _080A2E46 + adds r0, r4, 0 + movs r1, 0x40 + bl GetMonData + add r2, sp, 0x4 + strb r0, [r2] + ldr r3, _080A2E50 @ =gSaveBlock1 + ldrb r1, [r2] + lsls r0, r1, 3 + adds r0, r1 + lsls r0, 2 + adds r0, r3 + ldr r1, _080A2E54 @ =0x00002b6c + adds r0, r1 + movs r3, 0 + movs r1, 0 + strh r1, [r0] + movs r0, 0xFF + strb r0, [r2] + mov r0, sp + strb r3, [r0] + strb r3, [r0, 0x1] + adds r0, r4, 0 + movs r1, 0x40 + bl SetMonData + adds r0, r4, 0 + movs r1, 0xC + mov r2, sp + bl SetMonData +_080A2E46: + add sp, 0x8 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080A2E50: .4byte gSaveBlock1 +_080A2E54: .4byte 0x00002b6c + thumb_func_end sub_80A2DF8 + + thumb_func_start unref_sub_80A2E58 +unref_sub_80A2E58: @ 80A2E58 + lsls r0, 24 + lsrs r0, 24 + ldr r2, _080A2E70 @ =gSaveBlock1 + lsls r1, r0, 3 + adds r1, r0 + lsls r1, 2 + adds r1, r2 + ldr r0, _080A2E74 @ =0x00002b6c + adds r1, r0 + movs r0, 0 + strh r0, [r1] + bx lr + .align 2, 0 +_080A2E70: .4byte gSaveBlock1 +_080A2E74: .4byte 0x00002b6c + thumb_func_end unref_sub_80A2E58 + + thumb_func_start sub_80A2E78 +sub_80A2E78: @ 80A2E78 + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + sub sp, 0xC + adds r5, r0, 0 + mov r0, sp + movs r1, 0 + strb r1, [r0] + strb r1, [r0, 0x1] + add r1, sp, 0x4 + movs r0, 0xFF + strb r0, [r1] + movs r7, 0x6 + mov r9, r1 + ldr r0, _080A2F04 @ =gSaveBlock1 + mov r8, r0 + ldr r2, _080A2F08 @ =0x00002b4c + add r2, r8 +_080A2E9E: + lsls r0, r7, 3 + adds r0, r7 + lsls r4, r0, 2 + mov r1, r8 + adds r0, r4, r1 + ldr r3, _080A2F0C @ =0x00002b6c + adds r0, r3 + ldrh r6, [r0] + cmp r6, 0 + bne _080A2F10 + adds r4, r2 + adds r0, r5, 0 + movs r1, 0x40 + str r2, [sp, 0x8] + bl GetMonData + lsls r1, r0, 3 + adds r1, r0 + lsls r1, 2 + ldr r2, [sp, 0x8] + adds r1, r2 + ldm r1!, {r0,r2,r3} + stm r4!, {r0,r2,r3} + ldm r1!, {r0,r2,r3} + stm r4!, {r0,r2,r3} + ldm r1!, {r0,r2,r3} + stm r4!, {r0,r2,r3} + adds r0, r5, 0 + movs r1, 0x40 + bl GetMonData + lsls r1, r0, 3 + adds r1, r0 + lsls r1, 2 + add r1, r8 + ldr r0, _080A2F0C @ =0x00002b6c + adds r1, r0 + strh r6, [r1] + adds r0, r5, 0 + movs r1, 0x40 + mov r2, r9 + bl SetMonData + adds r0, r5, 0 + movs r1, 0xC + mov r2, sp + bl SetMonData + adds r0, r7, 0 + b _080A2F1C + .align 2, 0 +_080A2F04: .4byte gSaveBlock1 +_080A2F08: .4byte 0x00002b4c +_080A2F0C: .4byte 0x00002b6c +_080A2F10: + adds r0, r7, 0x1 + lsls r0, 24 + lsrs r7, r0, 24 + cmp r7, 0xF + bls _080A2E9E + movs r0, 0xFF +_080A2F1C: + add sp, 0xC + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_80A2E78 + + thumb_func_start itemid_is_mail +itemid_is_mail: @ 80A2F2C + push {lr} + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x84 + bgt _080A2F3E + cmp r0, 0x79 + blt _080A2F3E + movs r0, 0x1 + b _080A2F40 +_080A2F3E: + movs r0, 0 +_080A2F40: + pop {r1} + bx r1 + thumb_func_end itemid_is_mail + + thumb_func_start unref_sub_80A2F44 +unref_sub_80A2F44: @ 80A2F44 + push {lr} + bl sub_8071C20 + bl AddMapNamePopUpWindowTask + movs r0, 0x1 + pop {r1} + bx r1 + thumb_func_end unref_sub_80A2F44 + + thumb_func_start AddMapNamePopUpWindowTask +AddMapNamePopUpWindowTask: @ 80A2F54 + push {r4,r5,lr} + movs r0, 0x80 + lsls r0, 7 + bl FlagGet + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _080A2FE4 + ldr r4, _080A2FAC @ =sub_80A2FF4 + adds r0, r4, 0 + bl FuncIsActiveTask + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0 + bne _080A2FBC + adds r0, r4, 0 + movs r1, 0x5A + bl CreateTask + ldr r4, _080A2FB0 @ =gUnknown_02038538 + strb r0, [r4] + ldr r1, _080A2FB4 @ =REG_BG0VOFS + movs r0, 0x20 + strh r0, [r1] + bl sub_80A30E0 + ldr r2, _080A2FB8 @ =gTasks + ldrb r1, [r4] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r0, r2 + strh r5, [r0, 0x8] + ldrb r1, [r4] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r0, r2 + movs r1, 0x20 + strh r1, [r0, 0xC] + b _080A2FE4 + .align 2, 0 +_080A2FAC: .4byte sub_80A2FF4 +_080A2FB0: .4byte gUnknown_02038538 +_080A2FB4: .4byte REG_BG0VOFS +_080A2FB8: .4byte gTasks +_080A2FBC: + ldr r3, _080A2FEC @ =gTasks + ldr r2, _080A2FF0 @ =gUnknown_02038538 + ldrb r0, [r2] + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r3 + movs r4, 0x8 + ldrsh r0, [r1, r4] + cmp r0, 0x2 + beq _080A2FD6 + movs r0, 0x2 + strh r0, [r1, 0x8] +_080A2FD6: + ldrb r0, [r2] + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r3 + movs r0, 0x1 + strh r0, [r1, 0xE] +_080A2FE4: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A2FEC: .4byte gTasks +_080A2FF0: .4byte gUnknown_02038538 + thumb_func_end AddMapNamePopUpWindowTask + + thumb_func_start sub_80A2FF4 +sub_80A2FF4: @ 80A2FF4 + push {r4,r5,lr} + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r3, _080A3018 @ =gTasks + adds r4, r1, r3 + movs r0, 0x8 + ldrsh r2, [r4, r0] + cmp r2, 0x1 + beq _080A304C + cmp r2, 0x1 + bgt _080A301C + cmp r2, 0 + beq _080A3026 + b _080A3092 + .align 2, 0 +_080A3018: .4byte gTasks +_080A301C: + cmp r2, 0x2 + beq _080A3064 + cmp r2, 0x4 + beq _080A308C + b _080A3092 +_080A3026: + ldrh r0, [r4, 0xC] + subs r0, 0x2 + strh r0, [r4, 0xC] + lsls r0, 16 + cmp r0, 0 + bgt _080A3092 + movs r0, 0x1 + strh r0, [r4, 0x8] + ldr r0, _080A3048 @ =gUnknown_02038538 + ldrb r1, [r0] + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + adds r0, r3 + strh r2, [r0, 0xA] + b _080A3092 + .align 2, 0 +_080A3048: .4byte gUnknown_02038538 +_080A304C: + ldrh r0, [r4, 0xA] + adds r0, 0x1 + strh r0, [r4, 0xA] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x78 + ble _080A3092 + movs r0, 0 + strh r0, [r4, 0xA] + movs r0, 0x2 + strh r0, [r4, 0x8] + b _080A3092 +_080A3064: + ldrh r0, [r4, 0xC] + adds r0, 0x2 + movs r5, 0 + strh r0, [r4, 0xC] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x1F + ble _080A3092 + movs r1, 0xE + ldrsh r0, [r4, r1] + cmp r0, 0 + beq _080A3086 + bl sub_80A30E0 + strh r5, [r4, 0x8] + strh r5, [r4, 0xE] + b _080A3092 +_080A3086: + movs r0, 0x4 + strh r0, [r4, 0x8] + b _080A3098 +_080A308C: + bl HideMapNamePopUpWindow + b _080A3098 +_080A3092: + ldr r1, _080A30A0 @ =REG_BG0VOFS + ldrh r0, [r4, 0xC] + strh r0, [r1] +_080A3098: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_080A30A0: .4byte REG_BG0VOFS + thumb_func_end sub_80A2FF4 + + thumb_func_start HideMapNamePopUpWindow +HideMapNamePopUpWindow: @ 80A30A4 + push {lr} + ldr r0, _080A30D4 @ =sub_80A2FF4 + bl FuncIsActiveTask + lsls r0, 24 + cmp r0, 0 + beq _080A30D0 + bl MenuLoadTextWindowGraphics + movs r0, 0 + movs r1, 0 + movs r2, 0xD + movs r3, 0x3 + bl MenuZeroFillWindowRect + ldr r1, _080A30D8 @ =REG_BG0VOFS + movs r0, 0 + strh r0, [r1] + ldr r0, _080A30DC @ =gUnknown_02038538 + ldrb r0, [r0] + bl DestroyTask +_080A30D0: + pop {r0} + bx r0 + .align 2, 0 +_080A30D4: .4byte sub_80A2FF4 +_080A30D8: .4byte REG_BG0VOFS +_080A30DC: .4byte gUnknown_02038538 + thumb_func_end HideMapNamePopUpWindow + + thumb_func_start sub_80A30E0 +sub_80A30E0: @ 80A30E0 + push {lr} + sub sp, 0x14 + movs r0, 0 + bl MenuLoadTextWindowGraphics_OverrideFrameType + ldr r0, _080A3114 @ =gMapHeader + ldrb r1, [r0, 0x14] + mov r0, sp + movs r2, 0 + bl sub_80FBFB4 + movs r0, 0 + movs r1, 0 + movs r2, 0xD + movs r3, 0x3 + bl MenuDrawTextWindow + mov r0, sp + movs r1, 0x1 + movs r2, 0x1 + movs r3, 0x60 + bl sub_8072BD8 + add sp, 0x14 + pop {r0} + bx r0 + .align 2, 0 +_080A3114: .4byte gMapHeader + thumb_func_end sub_80A30E0 + + .align 2, 0 @ Don't pad with nop. diff --git a/asm/rom_810CBB4.s b/asm/rom_810CBB4.s new file mode 100644 index 000000000..fee17ab5b --- /dev/null +++ b/asm/rom_810CBB4.s @@ -0,0 +1,6732 @@ + .include "constants/gba_constants.inc" + .include "constants/species_constants.inc" + .include "asm/macros.inc" + + .syntax unified + + .text + + thumb_func_start SetUpFieldMove_Flash +SetUpFieldMove_Flash: @ 810CBB4 + push {lr} + ldr r0, _0810CBDC @ =gMapHeader + ldrb r0, [r0, 0x15] + cmp r0, 0x1 + bne _0810CBF4 + ldr r0, _0810CBE0 @ =0x00000828 + bl FlagGet + lsls r0, 24 + cmp r0, 0 + bne _0810CBF4 + ldr r1, _0810CBE4 @ =gUnknown_0300485C + ldr r0, _0810CBE8 @ =sub_808AB90 + str r0, [r1] + ldr r1, _0810CBEC @ =gUnknown_03005CE4 + ldr r0, _0810CBF0 @ =sub_810CBFC + str r0, [r1] + movs r0, 0x1 + b _0810CBF6 + .align 2, 0 +_0810CBDC: .4byte gMapHeader +_0810CBE0: .4byte 0x00000828 +_0810CBE4: .4byte gUnknown_0300485C +_0810CBE8: .4byte sub_808AB90 +_0810CBEC: .4byte gUnknown_03005CE4 +_0810CBF0: .4byte sub_810CBFC +_0810CBF4: + movs r0, 0 +_0810CBF6: + pop {r1} + bx r1 + thumb_func_end SetUpFieldMove_Flash + + thumb_func_start sub_810CBFC +sub_810CBFC: @ 810CBFC + push {lr} + bl oei_task_add + lsls r0, 24 + lsrs r0, 24 + ldr r2, _0810CC24 @ =gUnknown_0202FF84 + ldr r1, _0810CC28 @ =gUnknown_03005CE0 + ldrb r1, [r1] + str r1, [r2] + ldr r2, _0810CC2C @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + ldr r2, _0810CC30 @ =sub_810CC34 + lsrs r0, r2, 16 + strh r0, [r1, 0x18] + strh r2, [r1, 0x1A] + pop {r0} + bx r0 + .align 2, 0 +_0810CC24: .4byte gUnknown_0202FF84 +_0810CC28: .4byte gUnknown_03005CE0 +_0810CC2C: .4byte gTasks +_0810CC30: .4byte sub_810CC34 + thumb_func_end sub_810CBFC + + thumb_func_start sub_810CC34 +sub_810CC34: @ 810CC34 + push {lr} + movs r0, 0xCF + bl PlaySE + ldr r0, _0810CC4C @ =0x00000828 + bl FlagSet + ldr r0, _0810CC50 @ =gUnknown_081B694A + bl ScriptContext1_SetupScript + pop {r0} + bx r0 + .align 2, 0 +_0810CC4C: .4byte 0x00000828 +_0810CC50: .4byte gUnknown_081B694A + thumb_func_end sub_810CC34 + + thumb_func_start sub_810CC54 +sub_810CC54: @ 810CC54 + push {lr} + bl RunTasks + bl AnimateSprites + bl BuildOamBuffer + bl UpdatePaletteFade + pop {r0} + bx r0 + thumb_func_end sub_810CC54 + + thumb_func_start sub_810CC6C +sub_810CC6C: @ 810CC6C + push {lr} + bl LoadOam + bl ProcessSpriteCopyRequests + bl TransferPlttBuffer + pop {r0} + bx r0 + thumb_func_end sub_810CC6C + + thumb_func_start sub_810CC80 +sub_810CC80: @ 810CC80 + push {r4,lr} + sub sp, 0x8 + movs r0, 0 + bl SetVBlankCallback + movs r0, 0x80 + lsls r0, 19 + movs r1, 0 + strh r1, [r0] + adds r0, 0xC + strh r1, [r0] + subs r0, 0x2 + strh r1, [r0] + subs r0, 0x2 + strh r1, [r0] + adds r0, 0x10 + strh r1, [r0] + adds r0, 0x2 + strh r1, [r0] + subs r0, 0x6 + strh r1, [r0] + adds r0, 0x2 + strh r1, [r0] + subs r0, 0x6 + strh r1, [r0] + adds r0, 0x2 + strh r1, [r0] + mov r0, sp + strh r1, [r0] + ldr r1, _0810CD34 @ =0x040000d4 + str r0, [r1] + movs r0, 0xC0 + lsls r0, 19 + str r0, [r1, 0x4] + ldr r0, _0810CD38 @ =0x8100c000 + str r0, [r1, 0x8] + ldr r0, [r1, 0x8] + movs r4, 0 + str r4, [sp, 0x4] + add r0, sp, 0x4 + str r0, [r1] + movs r0, 0xE0 + lsls r0, 19 + str r0, [r1, 0x4] + ldr r0, _0810CD3C @ =0x85000100 + str r0, [r1, 0x8] + ldr r0, [r1, 0x8] + mov r0, sp + strh r4, [r0] + str r0, [r1] + ldr r0, _0810CD40 @ =0x05000002 + str r0, [r1, 0x4] + ldr r0, _0810CD44 @ =0x810001ff + str r0, [r1, 0x8] + ldr r0, [r1, 0x8] + bl ResetPaletteFade + bl ResetTasks + bl ResetSpriteData + ldr r3, _0810CD48 @ =0x04000208 + ldrh r2, [r3] + strh r4, [r3] + ldr r4, _0810CD4C @ =0x04000200 + ldrh r0, [r4] + movs r1, 0x1 + orrs r0, r1 + strh r0, [r4] + strh r2, [r3] + ldr r0, _0810CD50 @ =sub_810CC6C + bl SetVBlankCallback + ldr r0, _0810CD54 @ =sub_810CC54 + bl SetMainCallback2 + bl sub_810CD5C + lsls r0, 24 + cmp r0, 0 + bne _0810CD2A + ldr r0, _0810CD58 @ =gMain + ldr r0, [r0, 0x8] + bl SetMainCallback2 +_0810CD2A: + add sp, 0x8 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0810CD34: .4byte 0x040000d4 +_0810CD38: .4byte 0x8100c000 +_0810CD3C: .4byte 0x85000100 +_0810CD40: .4byte 0x05000002 +_0810CD44: .4byte 0x810001ff +_0810CD48: .4byte 0x04000208 +_0810CD4C: .4byte 0x04000200 +_0810CD50: .4byte sub_810CC6C +_0810CD54: .4byte sub_810CC54 +_0810CD58: .4byte gMain + thumb_func_end sub_810CC80 + + thumb_func_start sub_810CD5C +sub_810CD5C: @ 810CD5C + push {r4-r7,lr} + bl get_map_light_from_warp0 + lsls r0, 24 + lsrs r6, r0, 24 + bl sav1_map_get_light_level + lsls r0, 24 + lsrs r5, r0, 24 + movs r3, 0 + ldr r4, _0810CD9C @ =gUnknown_083F7FC4 + ldrb r0, [r4] + cmp r0, 0 + beq _0810CDB0 + adds r7, r4, 0 + adds r0, r4, 0x4 + mov r12, r0 +_0810CD7E: + lsls r2, r3, 3 + adds r1, r2, r7 + ldrb r0, [r1] + cmp r0, r6 + bne _0810CDA0 + ldrb r0, [r1, 0x1] + cmp r0, r5 + bne _0810CDA0 + mov r1, r12 + adds r0, r2, r1 + ldr r0, [r0] + bl _call_via_r0 + movs r0, 0x1 + b _0810CDB2 + .align 2, 0 +_0810CD9C: .4byte gUnknown_083F7FC4 +_0810CDA0: + adds r0, r3, 0x1 + lsls r0, 24 + lsrs r3, r0, 24 + lsls r0, r3, 3 + adds r0, r4 + ldrb r0, [r0] + cmp r0, 0 + bne _0810CD7E +_0810CDB0: + movs r0, 0 +_0810CDB2: + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_810CD5C + + thumb_func_start sub_810CDB8 +sub_810CDB8: @ 810CDB8 + push {r4-r6,lr} + lsls r0, 24 + lsls r1, 24 + lsrs r5, r0, 24 + lsrs r4, r1, 24 + movs r3, 0 + ldr r1, _0810CDE4 @ =gUnknown_083F7FC4 + ldrb r0, [r1] + cmp r0, 0 + beq _0810CDF8 + adds r6, r1, 0 +_0810CDCE: + lsls r0, r3, 3 + adds r2, r0, r6 + ldrb r0, [r2] + cmp r0, r5 + bne _0810CDE8 + ldrb r0, [r2, 0x1] + cmp r0, r4 + bne _0810CDE8 + ldrb r0, [r2, 0x2] + b _0810CDFA + .align 2, 0 +_0810CDE4: .4byte gUnknown_083F7FC4 +_0810CDE8: + adds r0, r3, 0x1 + lsls r0, 24 + lsrs r3, r0, 24 + lsls r0, r3, 3 + adds r0, r1 + ldrb r0, [r0] + cmp r0, 0 + bne _0810CDCE +_0810CDF8: + movs r0, 0 +_0810CDFA: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_810CDB8 + + thumb_func_start fade_type_for_given_maplight_pair +fade_type_for_given_maplight_pair: @ 810CE00 + push {r4-r6,lr} + lsls r0, 24 + lsls r1, 24 + lsrs r5, r0, 24 + lsrs r4, r1, 24 + movs r3, 0 + ldr r1, _0810CE2C @ =gUnknown_083F7FC4 + ldrb r0, [r1] + cmp r0, 0 + beq _0810CE40 + adds r6, r1, 0 +_0810CE16: + lsls r0, r3, 3 + adds r2, r0, r6 + ldrb r0, [r2] + cmp r0, r5 + bne _0810CE30 + ldrb r0, [r2, 0x1] + cmp r0, r4 + bne _0810CE30 + ldrb r0, [r2, 0x3] + b _0810CE42 + .align 2, 0 +_0810CE2C: .4byte gUnknown_083F7FC4 +_0810CE30: + adds r0, r3, 0x1 + lsls r0, 24 + lsrs r3, r0, 24 + lsls r0, r3, 3 + adds r0, r1 + ldrb r0, [r0] + cmp r0, 0 + bne _0810CE16 +_0810CE40: + movs r0, 0 +_0810CE42: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end fade_type_for_given_maplight_pair + + thumb_func_start sub_810CE48 +sub_810CE48: @ 810CE48 + push {lr} + ldr r0, _0810CE58 @ =sub_810CE5C + movs r1, 0 + bl CreateTask + pop {r0} + bx r0 + .align 2, 0 +_0810CE58: .4byte sub_810CE5C + thumb_func_end sub_810CE48 + + thumb_func_start sub_810CE5C +sub_810CE5C: @ 810CE5C + lsls r0, 24 + lsrs r0, 24 + ldr r2, _0810CE70 @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + ldr r0, _0810CE74 @ =sub_810CE78 + str r0, [r1] + bx lr + .align 2, 0 +_0810CE70: .4byte gTasks +_0810CE74: .4byte sub_810CE78 + thumb_func_end sub_810CE5C + + thumb_func_start sub_810CE78 +sub_810CE78: @ 810CE78 + push {r4-r6,lr} + adds r4, r0, 0 + lsls r4, 24 + lsrs r4, 24 + movs r6, 0x80 + lsls r6, 19 + movs r5, 0 + strh r5, [r6] + ldr r0, _0810CEE8 @ =gCaveTransitionTiles + ldr r1, _0810CEEC @ =0x0600c000 + bl LZ77UnCompVram + ldr r0, _0810CEF0 @ =gCaveTransitionTilemap + ldr r1, _0810CEF4 @ =0x0600f800 + bl LZ77UnCompVram + ldr r0, _0810CEF8 @ =gCaveTransitionPalette_White + movs r1, 0xE0 + movs r2, 0x20 + bl LoadPalette + ldr r0, _0810CEFC @ =gUnknown_083F809C + movs r1, 0xE0 + movs r2, 0x10 + bl LoadPalette + ldr r1, _0810CF00 @ =REG_BLDCNT + ldr r2, _0810CF04 @ =0x00003e41 + adds r0, r2, 0 + strh r0, [r1] + ldr r0, _0810CF08 @ =REG_BLDALPHA + strh r5, [r0] + adds r0, 0x2 + strh r5, [r0] + subs r1, 0x48 + ldr r2, _0810CF0C @ =0x00001f0c + adds r0, r2, 0 + strh r0, [r1] + movs r1, 0x8A + lsls r1, 5 + adds r0, r1, 0 + strh r0, [r6] + ldr r1, _0810CF10 @ =gTasks + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 3 + adds r0, r1 + ldr r1, _0810CF14 @ =sub_810CF18 + str r1, [r0] + movs r2, 0 + movs r1, 0x10 + strh r1, [r0, 0x8] + strh r2, [r0, 0xA] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0810CEE8: .4byte gCaveTransitionTiles +_0810CEEC: .4byte 0x0600c000 +_0810CEF0: .4byte gCaveTransitionTilemap +_0810CEF4: .4byte 0x0600f800 +_0810CEF8: .4byte gCaveTransitionPalette_White +_0810CEFC: .4byte gUnknown_083F809C +_0810CF00: .4byte REG_BLDCNT +_0810CF04: .4byte 0x00003e41 +_0810CF08: .4byte REG_BLDALPHA +_0810CF0C: .4byte 0x00001f0c +_0810CF10: .4byte gTasks +_0810CF14: .4byte sub_810CF18 + thumb_func_end sub_810CE78 + + thumb_func_start sub_810CF18 +sub_810CF18: @ 810CF18 + push {lr} + lsls r0, 24 + lsrs r0, 24 + ldr r2, _0810CF44 @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r3, r1, r2 + ldrh r2, [r3, 0xA] + movs r1, 0x80 + lsls r1, 5 + adds r0, r2, r1 + lsls r0, 16 + lsrs r0, 16 + ldr r1, _0810CF48 @ =REG_BLDALPHA + strh r0, [r1] + cmp r2, 0x10 + bhi _0810CF4C + ldrh r0, [r3, 0xA] + adds r0, 0x1 + strh r0, [r3, 0xA] + b _0810CF54 + .align 2, 0 +_0810CF44: .4byte gTasks +_0810CF48: .4byte REG_BLDALPHA +_0810CF4C: + movs r0, 0 + strh r0, [r3, 0xC] + ldr r0, _0810CF58 @ =sub_810CF5C + str r0, [r3] +_0810CF54: + pop {r0} + bx r0 + .align 2, 0 +_0810CF58: .4byte sub_810CF5C + thumb_func_end sub_810CF18 + + thumb_func_start sub_810CF5C +sub_810CF5C: @ 810CF5C + push {r4,lr} + lsls r0, 24 + lsrs r0, 24 + ldr r2, _0810CF94 @ =REG_BLDALPHA + ldr r3, _0810CF98 @ =0x00001010 + adds r1, r3, 0 + strh r1, [r2] + ldr r2, _0810CF9C @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r4, r1, r2 + ldrh r1, [r4, 0xC] + cmp r1, 0x7 + bhi _0810CFA4 + adds r0, r1, 0x1 + strh r0, [r4, 0xC] + lsls r1, 1 + ldr r0, _0810CFA0 @ =gUnknown_083F809C + adds r0, r1, r0 + movs r2, 0x10 + subs r2, r1 + lsls r2, 16 + lsrs r2, 16 + movs r1, 0xE0 + bl LoadPalette + b _0810CFB6 + .align 2, 0 +_0810CF94: .4byte REG_BLDALPHA +_0810CF98: .4byte 0x00001010 +_0810CF9C: .4byte gTasks +_0810CFA0: .4byte gUnknown_083F809C +_0810CFA4: + ldr r0, _0810CFBC @ =gCaveTransitionPalette_White + movs r1, 0 + movs r2, 0x20 + bl LoadPalette + ldr r0, _0810CFC0 @ =sub_810CFC4 + str r0, [r4] + movs r0, 0x8 + strh r0, [r4, 0xC] +_0810CFB6: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0810CFBC: .4byte gCaveTransitionPalette_White +_0810CFC0: .4byte sub_810CFC4 + thumb_func_end sub_810CF5C + + thumb_func_start sub_810CFC4 +sub_810CFC4: @ 810CFC4 + push {lr} + lsls r0, 24 + lsrs r0, 24 + ldr r2, _0810CFE4 @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + ldrh r2, [r1, 0xC] + movs r3, 0xC + ldrsh r0, [r1, r3] + cmp r0, 0 + beq _0810CFE8 + subs r0, r2, 0x1 + strh r0, [r1, 0xC] + b _0810CFF0 + .align 2, 0 +_0810CFE4: .4byte gTasks +_0810CFE8: + ldr r0, _0810CFF4 @ =gMain + ldr r0, [r0, 0x8] + bl SetMainCallback2 +_0810CFF0: + pop {r0} + bx r0 + .align 2, 0 +_0810CFF4: .4byte gMain + thumb_func_end sub_810CFC4 + + thumb_func_start sub_810CFF8 +sub_810CFF8: @ 810CFF8 + push {lr} + ldr r0, _0810D008 @ =sub_810D00C + movs r1, 0 + bl CreateTask + pop {r0} + bx r0 + .align 2, 0 +_0810D008: .4byte sub_810D00C + thumb_func_end sub_810CFF8 + + thumb_func_start sub_810D00C +sub_810D00C: @ 810D00C + lsls r0, 24 + lsrs r0, 24 + ldr r2, _0810D020 @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + ldr r0, _0810D024 @ =sub_810D028 + str r0, [r1] + bx lr + .align 2, 0 +_0810D020: .4byte gTasks +_0810D024: .4byte sub_810D028 + thumb_func_end sub_810D00C + + thumb_func_start sub_810D028 +sub_810D028: @ 810D028 + push {r4-r6,lr} + adds r5, r0, 0 + lsls r5, 24 + lsrs r5, 24 + movs r6, 0x80 + lsls r6, 19 + movs r4, 0 + strh r4, [r6] + ldr r0, _0810D098 @ =gCaveTransitionTiles + ldr r1, _0810D09C @ =0x0600c000 + bl LZ77UnCompVram + ldr r0, _0810D0A0 @ =gCaveTransitionTilemap + ldr r1, _0810D0A4 @ =0x0600f800 + bl LZ77UnCompVram + ldr r0, _0810D0A8 @ =REG_BLDCNT + strh r4, [r0] + adds r0, 0x2 + strh r4, [r0] + adds r0, 0x2 + strh r4, [r0] + ldr r1, _0810D0AC @ =REG_BG0CNT + ldr r2, _0810D0B0 @ =0x00001f0c + adds r0, r2, 0 + strh r0, [r1] + movs r1, 0x8A + lsls r1, 5 + adds r0, r1, 0 + strh r0, [r6] + ldr r0, _0810D0B4 @ =gCaveTransitionPalette_White + movs r1, 0xE0 + movs r2, 0x20 + bl LoadPalette + ldr r0, _0810D0B8 @ =gCaveTransitionPalette_Black + movs r1, 0 + movs r2, 0x20 + bl LoadPalette + ldr r1, _0810D0BC @ =gTasks + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + adds r0, r1 + ldr r1, _0810D0C0 @ =sub_810D0C4 + str r1, [r0] + movs r2, 0 + movs r1, 0x10 + strh r1, [r0, 0x8] + strh r2, [r0, 0xA] + strh r2, [r0, 0xC] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0810D098: .4byte gCaveTransitionTiles +_0810D09C: .4byte 0x0600c000 +_0810D0A0: .4byte gCaveTransitionTilemap +_0810D0A4: .4byte 0x0600f800 +_0810D0A8: .4byte REG_BLDCNT +_0810D0AC: .4byte REG_BG0CNT +_0810D0B0: .4byte 0x00001f0c +_0810D0B4: .4byte gCaveTransitionPalette_White +_0810D0B8: .4byte gCaveTransitionPalette_Black +_0810D0BC: .4byte gTasks +_0810D0C0: .4byte sub_810D0C4 + thumb_func_end sub_810D028 + + thumb_func_start sub_810D0C4 +sub_810D0C4: @ 810D0C4 + push {lr} + lsls r0, 24 + lsrs r0, 24 + ldr r2, _0810D0F8 @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r3, r1, r2 + ldrh r1, [r3, 0xC] + cmp r1, 0xF + bhi _0810D100 + adds r2, r1, 0x1 + adds r0, r2, 0x1 + strh r0, [r3, 0xC] + movs r0, 0xF + subs r0, r1 + lsls r0, 1 + ldr r1, _0810D0FC @ =gUnknown_083F808C + adds r0, r1 + lsls r2, 17 + lsrs r2, 16 + movs r1, 0xE0 + bl LoadPalette + b _0810D114 + .align 2, 0 +_0810D0F8: .4byte gTasks +_0810D0FC: .4byte gUnknown_083F808C +_0810D100: + ldr r1, _0810D118 @ =REG_BLDALPHA + ldr r2, _0810D11C @ =0x00001010 + adds r0, r2, 0 + strh r0, [r1] + subs r1, 0x2 + ldr r2, _0810D120 @ =0x00003e41 + adds r0, r2, 0 + strh r0, [r1] + ldr r0, _0810D124 @ =sub_810D128 + str r0, [r3] +_0810D114: + pop {r0} + bx r0 + .align 2, 0 +_0810D118: .4byte REG_BLDALPHA +_0810D11C: .4byte 0x00001010 +_0810D120: .4byte 0x00003e41 +_0810D124: .4byte sub_810D128 + thumb_func_end sub_810D0C4 + + thumb_func_start sub_810D128 +sub_810D128: @ 810D128 + push {lr} + lsls r0, 24 + lsrs r0, 24 + ldr r2, _0810D158 @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r3, r1, r2 + ldrh r0, [r3, 0xA] + movs r1, 0x10 + subs r1, r0 + lsls r1, 16 + movs r2, 0x80 + lsls r2, 21 + adds r0, r1, r2 + lsrs r0, 16 + ldr r2, _0810D15C @ =REG_BLDALPHA + strh r0, [r2] + cmp r1, 0 + beq _0810D160 + ldrh r0, [r3, 0xA] + adds r0, 0x1 + strh r0, [r3, 0xA] + b _0810D172 + .align 2, 0 +_0810D158: .4byte gTasks +_0810D15C: .4byte REG_BLDALPHA +_0810D160: + ldr r0, _0810D178 @ =gCaveTransitionPalette_Black + movs r1, 0 + movs r2, 0x20 + bl LoadPalette + ldr r0, _0810D17C @ =gMain + ldr r0, [r0, 0x8] + bl SetMainCallback2 +_0810D172: + pop {r0} + bx r0 + .align 2, 0 +_0810D178: .4byte gCaveTransitionPalette_Black +_0810D17C: .4byte gMain + thumb_func_end sub_810D128 + + thumb_func_start sub_810D180 +sub_810D180: @ 810D180 + push {r4-r7,lr} + sub sp, 0x4 + bl HealPlayerParty + ldr r4, _0810D1A0 @ =0x00000804 + adds r0, r4, 0 + bl FlagGet + lsls r0, 24 + lsrs r1, r0, 24 + cmp r1, 0x1 + bne _0810D1A8 + ldr r0, _0810D1A4 @ =gUnknown_02039324 + strb r1, [r0] + b _0810D1B4 + .align 2, 0 +_0810D1A0: .4byte 0x00000804 +_0810D1A4: .4byte gUnknown_02039324 +_0810D1A8: + ldr r1, _0810D1E8 @ =gUnknown_02039324 + movs r0, 0 + strb r0, [r1] + adds r0, r4, 0 + bl FlagSet +_0810D1B4: + movs r0, 0x1 + bl sub_8053108 + cmp r0, 0 + bne _0810D1D4 + ldr r2, _0810D1EC @ =gSaveBlock2 + ldrh r1, [r2, 0xE] + lsls r1, 16 + ldrb r0, [r2, 0x10] + lsls r0, 8 + orrs r1, r0 + ldrb r0, [r2, 0x11] + orrs r1, r0 + movs r0, 0x1 + bl sav12_xor_set +_0810D1D4: + bl SetSecretBase2Field_9 + ldr r0, _0810D1EC @ =gSaveBlock2 + ldrb r0, [r0, 0x8] + cmp r0, 0 + bne _0810D1F0 + movs r0, 0x1 + bl sub_80537CC + b _0810D1F6 + .align 2, 0 +_0810D1E8: .4byte gUnknown_02039324 +_0810D1EC: .4byte gSaveBlock2 +_0810D1F0: + movs r0, 0x2 + bl sub_80537CC +_0810D1F6: + movs r6, 0 + movs r5, 0 + mov r7, sp +_0810D1FC: + movs r0, 0x64 + adds r1, r5, 0 + muls r1, r0 + ldr r0, _0810D260 @ =gPlayerParty + adds r4, r1, r0 + adds r0, r4, 0 + movs r1, 0x5 + bl GetMonData + cmp r0, 0 + beq _0810D23A + adds r0, r4, 0 + movs r1, 0x6 + bl GetMonData + cmp r0, 0 + bne _0810D23A + adds r0, r4, 0 + movs r1, 0x43 + bl GetMonData + cmp r0, 0 + bne _0810D23A + movs r0, 0x1 + strb r0, [r7] + adds r0, r4, 0 + movs r1, 0x43 + mov r2, sp + bl SetMonData + movs r6, 0x1 +_0810D23A: + adds r5, 0x1 + cmp r5, 0x5 + ble _0810D1FC + cmp r6, 0x1 + bne _0810D250 + movs r0, 0x2A + bl sav12_xor_increment + ldr r0, _0810D264 @ =0x0000083b + bl FlagSet +_0810D250: + ldr r0, _0810D268 @ =sub_8141F90 + bl SetMainCallback2 + movs r0, 0 + add sp, 0x4 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_0810D260: .4byte gPlayerParty +_0810D264: .4byte 0x0000083b +_0810D268: .4byte sub_8141F90 + thumb_func_end sub_810D180 + + thumb_func_start sp0C8_whiteout_maybe +sp0C8_whiteout_maybe: @ 810D26C + push {lr} + ldr r0, _0810D27C @ =c2_whiteout + bl SetMainCallback2 + movs r0, 0 + pop {r1} + bx r1 + .align 2, 0 +_0810D27C: .4byte c2_whiteout + thumb_func_end sp0C8_whiteout_maybe + + thumb_func_start sub_810D280 +sub_810D280: @ 810D280 + push {r4,lr} + ldr r0, _0810D2A4 @ =0x00004024 + bl VarGet + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + ldr r0, _0810D2A8 @ =0x00004025 + bl VarGet + lsls r0, 16 + lsrs r0, 16 + lsls r4, 16 + orrs r4, r0 + adds r0, r4, 0 + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_0810D2A4: .4byte 0x00004024 +_0810D2A8: .4byte 0x00004025 + thumb_func_end sub_810D280 + + thumb_func_start sub_810D2AC +sub_810D2AC: @ 810D2AC + push {r4,lr} + adds r4, r0, 0 + ldr r0, _0810D2CC @ =0x00004024 + lsrs r1, r4, 16 + bl VarSet + ldr r0, _0810D2D0 @ =0x00004025 + lsls r4, 16 + lsrs r4, 16 + adds r1, r4, 0 + bl VarSet + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0810D2CC: .4byte 0x00004024 +_0810D2D0: .4byte 0x00004025 + thumb_func_end sub_810D2AC + + thumb_func_start unref_sub_810D2D4 +unref_sub_810D2D4: @ 810D2D4 + push {r4,lr} + bl Random + adds r4, r0, 0 + bl Random + lsls r4, 16 + lsls r0, 16 + lsrs r0, 16 + orrs r4, r0 + adds r0, r4, 0 + bl sub_810D2AC + pop {r4} + pop {r0} + bx r0 + thumb_func_end unref_sub_810D2D4 + + thumb_func_start sub_810D2F4 +sub_810D2F4: @ 810D2F4 + push {r4,lr} + lsls r0, 16 + lsrs r4, r0, 16 + bl sub_810D280 + adds r1, r0, 0 + cmp r4, 0 + beq _0810D318 + ldr r3, _0810D324 @ =0x41c64e6d + ldr r2, _0810D328 @ =0x00003039 +_0810D308: + adds r0, r1, 0 + muls r0, r3 + adds r1, r0, r2 + subs r0, r4, 0x1 + lsls r0, 16 + lsrs r4, r0, 16 + cmp r4, 0 + bne _0810D308 +_0810D318: + adds r0, r1, 0 + bl sub_810D2AC + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0810D324: .4byte 0x41c64e6d +_0810D328: .4byte 0x00003039 + thumb_func_end sub_810D2F4 + + thumb_func_start sub_810D32C +sub_810D32C: @ 810D32C + push {r4-r6,lr} + bl sub_810D280 + lsrs r6, r0, 16 + movs r5, 0 +_0810D336: + movs r0, 0x64 + adds r1, r5, 0 + muls r1, r0 + ldr r0, _0810D360 @ =gPlayerParty + adds r4, r1, r0 + adds r0, r4, 0 + movs r1, 0xB + bl GetMonData + cmp r0, 0 + beq _0810D368 + adds r0, r4, 0 + movs r1, 0 + bl GetMonData + ldr r1, _0810D364 @ =0x0000ffff + ands r1, r0 + cmp r1, r6 + bne _0810D368 + movs r0, 0x1 + b _0810D370 + .align 2, 0 +_0810D360: .4byte gPlayerParty +_0810D364: .4byte 0x0000ffff +_0810D368: + adds r5, 0x1 + cmp r5, 0x5 + ble _0810D336 + movs r0, 0 +_0810D370: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end sub_810D32C + + thumb_func_start sub_810D378 +sub_810D378: @ 810D378 + push {lr} + bl get_map_light_from_warp0 + lsls r0, 24 + lsrs r0, 24 + bl is_light_level_1_2_3_5_or_6 + lsls r0, 24 + cmp r0, 0 + beq _0810D3BE + bl RtcCalcLocalTime + ldr r1, _0810D3AC @ =gUnknown_083F8340 + ldr r0, _0810D3B0 @ =gLocalTime + ldrb r0, [r0, 0x2] + lsls r0, 24 + asrs r0, 24 + adds r0, r1 + ldrb r0, [r0] + cmp r0, 0 + beq _0810D3B8 + ldr r0, _0810D3B4 @ =0x0000083a + bl FlagSet + b _0810D3BE + .align 2, 0 +_0810D3AC: .4byte gUnknown_083F8340 +_0810D3B0: .4byte gLocalTime +_0810D3B4: .4byte 0x0000083a +_0810D3B8: + ldr r0, _0810D3C4 @ =0x0000083a + bl FlagReset +_0810D3BE: + pop {r0} + bx r0 + .align 2, 0 +_0810D3C4: .4byte 0x0000083a + thumb_func_end sub_810D378 + + thumb_func_start sub_810D3C8 +sub_810D3C8: @ 810D3C8 + push {r4,lr} + lsls r0, 24 + lsrs r4, r0, 24 + bl sub_807DDFC + lsls r0, 24 + cmp r0, 0 + beq _0810D3E2 + bl EnableBothScriptContexts + adds r0, r4, 0 + bl DestroyTask +_0810D3E2: + pop {r4} + pop {r0} + bx r0 + thumb_func_end sub_810D3C8 + + thumb_func_start sub_810D3E8 +sub_810D3E8: @ 810D3E8 + push {lr} + ldr r0, _0810D3F8 @ =sub_810D3C8 + movs r1, 0x50 + bl CreateTask + pop {r0} + bx r0 + .align 2, 0 +_0810D3F8: .4byte sub_810D3C8 + thumb_func_end sub_810D3E8 + + thumb_func_start sub_810D3FC +sub_810D3FC: @ 810D3FC + push {lr} + ldr r0, _0810D40C @ =0x00004049 + bl GetVarPointer + movs r1, 0 + strh r1, [r0] + pop {r0} + bx r0 + .align 2, 0 +_0810D40C: .4byte 0x00004049 + thumb_func_end sub_810D3FC + + thumb_func_start UpdateBirchState +UpdateBirchState: @ 810D410 + push {r4,r5,lr} + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + ldr r0, _0810D438 @ =0x00004049 + bl GetVarPointer + adds r5, r0, 0 + ldrh r0, [r5] + adds r4, r0 + strh r4, [r5] + ldrh r0, [r5] + movs r1, 0x7 + bl __umodsi3 + strh r0, [r5] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0810D438: .4byte 0x00004049 + thumb_func_end UpdateBirchState + + thumb_func_start ScriptGetPokedexInfo +ScriptGetPokedexInfo: @ 810D43C + push {lr} + ldr r0, _0810D458 @ =gSpecialVar_0x8004 + ldrh r0, [r0] + cmp r0, 0 + bne _0810D460 + movs r0, 0 + bl GetHoennPokedexCount + ldr r1, _0810D45C @ =gSpecialVar_0x8005 + strh r0, [r1] + movs r0, 0x1 + bl GetHoennPokedexCount + b _0810D470 + .align 2, 0 +_0810D458: .4byte gSpecialVar_0x8004 +_0810D45C: .4byte gSpecialVar_0x8005 +_0810D460: + movs r0, 0 + bl GetNationalPokedexCount + ldr r1, _0810D480 @ =gSpecialVar_0x8005 + strh r0, [r1] + movs r0, 0x1 + bl GetNationalPokedexCount +_0810D470: + ldr r1, _0810D484 @ =gSpecialVar_0x8006 + strh r0, [r1] + bl IsNationalPokedex + lsls r0, 16 + lsrs r0, 16 + pop {r1} + bx r1 + .align 2, 0 +_0810D480: .4byte gSpecialVar_0x8005 +_0810D484: .4byte gSpecialVar_0x8006 + thumb_func_end ScriptGetPokedexInfo + + thumb_func_start GetPokedexRatingText +GetPokedexRatingText: @ 810D488 + push {lr} + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x9 + bhi _0810D494 + b _0810D5EC +_0810D494: + cmp r0, 0x13 + bhi _0810D4A0 + ldr r0, _0810D49C @ =gUnknown_081C456A + b _0810D5F6 + .align 2, 0 +_0810D49C: .4byte gUnknown_081C456A +_0810D4A0: + cmp r0, 0x1D + bhi _0810D4AC + ldr r0, _0810D4A8 @ =gUnknown_081C45B0 + b _0810D5F6 + .align 2, 0 +_0810D4A8: .4byte gUnknown_081C45B0 +_0810D4AC: + cmp r0, 0x27 + bhi _0810D4B8 + ldr r0, _0810D4B4 @ =gUnknown_081C45F9 + b _0810D5F6 + .align 2, 0 +_0810D4B4: .4byte gUnknown_081C45F9 +_0810D4B8: + cmp r0, 0x31 + bhi _0810D4C4 + ldr r0, _0810D4C0 @ =gUnknown_081C4648 + b _0810D5F6 + .align 2, 0 +_0810D4C0: .4byte gUnknown_081C4648 +_0810D4C4: + cmp r0, 0x3B + bhi _0810D4D0 + ldr r0, _0810D4CC @ =gUnknown_081C467E + b _0810D5F6 + .align 2, 0 +_0810D4CC: .4byte gUnknown_081C467E +_0810D4D0: + cmp r0, 0x45 + bhi _0810D4DC + ldr r0, _0810D4D8 @ =gUnknown_081C46B9 + b _0810D5F6 + .align 2, 0 +_0810D4D8: .4byte gUnknown_081C46B9 +_0810D4DC: + cmp r0, 0x4F + bhi _0810D4E8 + ldr r0, _0810D4E4 @ =gUnknown_081C46FE + b _0810D5F6 + .align 2, 0 +_0810D4E4: .4byte gUnknown_081C46FE +_0810D4E8: + cmp r0, 0x59 + bhi _0810D4F4 + ldr r0, _0810D4F0 @ =gUnknown_081C4747 + b _0810D5F6 + .align 2, 0 +_0810D4F0: .4byte gUnknown_081C4747 +_0810D4F4: + cmp r0, 0x63 + bhi _0810D500 + ldr r0, _0810D4FC @ =gUnknown_081C4780 + b _0810D5F6 + .align 2, 0 +_0810D4FC: .4byte gUnknown_081C4780 +_0810D500: + cmp r0, 0x6D + bhi _0810D50C + ldr r0, _0810D508 @ =gUnknown_081C47DF + b _0810D5F6 + .align 2, 0 +_0810D508: .4byte gUnknown_081C47DF +_0810D50C: + cmp r0, 0x77 + bhi _0810D518 + ldr r0, _0810D514 @ =gUnknown_081C4828 + b _0810D5F6 + .align 2, 0 +_0810D514: .4byte gUnknown_081C4828 +_0810D518: + cmp r0, 0x81 + bhi _0810D524 + ldr r0, _0810D520 @ =gUnknown_081C4863 + b _0810D5F6 + .align 2, 0 +_0810D520: .4byte gUnknown_081C4863 +_0810D524: + cmp r0, 0x8B + bhi _0810D530 + ldr r0, _0810D52C @ =gUnknown_081C489C + b _0810D5F6 + .align 2, 0 +_0810D52C: .4byte gUnknown_081C489C +_0810D530: + cmp r0, 0x95 + bhi _0810D53C + ldr r0, _0810D538 @ =gUnknown_081C48EB + b _0810D5F6 + .align 2, 0 +_0810D538: .4byte gUnknown_081C48EB +_0810D53C: + cmp r0, 0x9F + bhi _0810D548 + ldr r0, _0810D544 @ =gUnknown_081C4936 + b _0810D5F6 + .align 2, 0 +_0810D544: .4byte gUnknown_081C4936 +_0810D548: + cmp r0, 0xA9 + bhi _0810D554 + ldr r0, _0810D550 @ =gUnknown_081C49A2 + b _0810D5F6 + .align 2, 0 +_0810D550: .4byte gUnknown_081C49A2 +_0810D554: + cmp r0, 0xB3 + bhi _0810D560 + ldr r0, _0810D55C @ =gUnknown_081C4A06 + b _0810D5F6 + .align 2, 0 +_0810D55C: .4byte gUnknown_081C4A06 +_0810D560: + cmp r0, 0xBD + bhi _0810D56C + ldr r0, _0810D568 @ =gUnknown_081C4A4F + b _0810D5F6 + .align 2, 0 +_0810D568: .4byte gUnknown_081C4A4F +_0810D56C: + cmp r0, 0xC7 + bls _0810D5DA + cmp r0, 0xC8 + bne _0810D5A8 + ldr r0, _0810D5A4 @ =0x00000199 + bl SpeciesToNationalPokedexNum + lsls r0, 16 + lsrs r0, 16 + movs r1, 0x1 + bl sub_8090D90 + lsls r0, 24 + cmp r0, 0 + bne _0810D5DA + movs r0, 0xCD + lsls r0, 1 + bl SpeciesToNationalPokedexNum + lsls r0, 16 + lsrs r0, 16 + movs r1, 0x1 + bl sub_8090D90 + lsls r0, 24 + cmp r0, 0 + bne _0810D5DA + b _0810D5F4 + .align 2, 0 +_0810D5A4: .4byte 0x00000199 +_0810D5A8: + cmp r0, 0xC9 + bne _0810D5E8 + ldr r0, _0810D5E0 @ =0x00000199 + bl SpeciesToNationalPokedexNum + lsls r0, 16 + lsrs r0, 16 + movs r1, 0x1 + bl sub_8090D90 + lsls r0, 24 + cmp r0, 0 + beq _0810D5F4 + movs r0, 0xCD + lsls r0, 1 + bl SpeciesToNationalPokedexNum + lsls r0, 16 + lsrs r0, 16 + movs r1, 0x1 + bl sub_8090D90 + lsls r0, 24 + cmp r0, 0 + beq _0810D5F4 +_0810D5DA: + ldr r0, _0810D5E4 @ =gUnknown_081C4A91 + b _0810D5F6 + .align 2, 0 +_0810D5E0: .4byte 0x00000199 +_0810D5E4: .4byte gUnknown_081C4A91 +_0810D5E8: + cmp r0, 0xCA + beq _0810D5F4 +_0810D5EC: + ldr r0, _0810D5F0 @ =gUnknown_081C4520 + b _0810D5F6 + .align 2, 0 +_0810D5F0: .4byte gUnknown_081C4520 +_0810D5F4: + ldr r0, _0810D5FC @ =gUnknown_081C4ADA +_0810D5F6: + pop {r1} + bx r1 + .align 2, 0 +_0810D5FC: .4byte gUnknown_081C4ADA + thumb_func_end GetPokedexRatingText + + thumb_func_start ShowPokedexRatingMessage +ShowPokedexRatingMessage: @ 810D600 + push {lr} + ldr r0, _0810D614 @ =gSpecialVar_0x8004 + ldrh r0, [r0] + bl GetPokedexRatingText + bl ShowFieldMessage + pop {r0} + bx r0 + .align 2, 0 +_0810D614: .4byte gSpecialVar_0x8004 + thumb_func_end ShowPokedexRatingMessage + + thumb_func_start AccessHallOfFamePC +AccessHallOfFamePC: @ 810D618 + push {lr} + ldr r0, _0810D628 @ =sub_81428CC + bl SetMainCallback2 + bl ScriptContext2_Enable + pop {r0} + bx r0 + .align 2, 0 +_0810D628: .4byte sub_81428CC + thumb_func_end AccessHallOfFamePC + + thumb_func_start ReturnFromHallOfFamePC +ReturnFromHallOfFamePC: @ 810D62C + push {lr} + ldr r0, _0810D640 @ =c2_exit_to_overworld_2_switch + bl SetMainCallback2 + ldr r1, _0810D644 @ =gUnknown_0300485C + ldr r0, _0810D648 @ =ReshowPCMenuAfterHallOfFamePC + str r0, [r1] + pop {r0} + bx r0 + .align 2, 0 +_0810D640: .4byte c2_exit_to_overworld_2_switch +_0810D644: .4byte gUnknown_0300485C +_0810D648: .4byte ReshowPCMenuAfterHallOfFamePC + thumb_func_end ReturnFromHallOfFamePC + + thumb_func_start ReshowPCMenuAfterHallOfFamePC +ReshowPCMenuAfterHallOfFamePC: @ 810D64C + push {lr} + sub sp, 0x4 + bl ScriptContext2_Enable + bl sub_8053E90 + movs r0, 0x1 + negs r0, r0 + movs r1, 0 + str r1, [sp] + movs r2, 0x10 + movs r3, 0 + bl BeginNormalPaletteFade + bl TryCreatePCMenu + bl sub_80B5838 + ldr r0, _0810D680 @ =sub_810D684 + movs r1, 0xA + bl CreateTask + add sp, 0x4 + pop {r0} + bx r0 + .align 2, 0 +_0810D680: .4byte sub_810D684 + thumb_func_end ReshowPCMenuAfterHallOfFamePC + + thumb_func_start sub_810D684 +sub_810D684: @ 810D684 + push {lr} + lsls r0, 24 + lsrs r2, r0, 24 + ldr r0, _0810D6A0 @ =gPaletteFade + ldrb r1, [r0, 0x7] + movs r0, 0x80 + ands r0, r1 + cmp r0, 0 + bne _0810D69C + adds r0, r2, 0 + bl DestroyTask +_0810D69C: + pop {r0} + bx r0 + .align 2, 0 +_0810D6A0: .4byte gPaletteFade + thumb_func_end sub_810D684 + + thumb_func_start sub_810D6A4 +sub_810D6A4: @ 810D6A4 + push {lr} + ldr r0, _0810D6B4 @ =sub_8145D88 + bl SetMainCallback2 + bl ScriptContext2_Enable + pop {r0} + bx r0 + .align 2, 0 +_0810D6B4: .4byte sub_8145D88 + thumb_func_end sub_810D6A4 + + thumb_func_start sub_810D6B8 +sub_810D6B8: @ 810D6B8 + push {lr} + ldr r0, _0810D6D0 @ =gMain + ldr r1, _0810D6D4 @ =c2_exit_to_overworld_2_switch + str r1, [r0, 0x8] + ldr r0, _0810D6D8 @ =Cb2_ViewWallClock + bl SetMainCallback2 + bl ScriptContext2_Enable + pop {r0} + bx r0 + .align 2, 0 +_0810D6D0: .4byte gMain +_0810D6D4: .4byte c2_exit_to_overworld_2_switch +_0810D6D8: .4byte Cb2_ViewWallClock + thumb_func_end sub_810D6B8 + + thumb_func_start ResetCyclingRoadChallengeData +ResetCyclingRoadChallengeData: @ 810D6DC + ldr r0, _0810D6F0 @ =gUnknown_02039250 + movs r1, 0 + strb r1, [r0] + ldr r0, _0810D6F4 @ =gUnknown_02039251 + strb r1, [r0] + ldr r1, _0810D6F8 @ =gUnknown_02039254 + movs r0, 0 + str r0, [r1] + bx lr + .align 2, 0 +_0810D6F0: .4byte gUnknown_02039250 +_0810D6F4: .4byte gUnknown_02039251 +_0810D6F8: .4byte gUnknown_02039254 + thumb_func_end ResetCyclingRoadChallengeData + + thumb_func_start BeginCyclingRoadChallenge +BeginCyclingRoadChallenge: @ 810D6FC + ldr r1, _0810D714 @ =gUnknown_02039250 + movs r0, 0x1 + strb r0, [r1] + ldr r1, _0810D718 @ =gUnknown_02039251 + movs r0, 0 + strb r0, [r1] + ldr r1, _0810D71C @ =gUnknown_02039254 + ldr r0, _0810D720 @ =gMain + ldr r0, [r0, 0x20] + str r0, [r1] + bx lr + .align 2, 0 +_0810D714: .4byte gUnknown_02039250 +_0810D718: .4byte gUnknown_02039251 +_0810D71C: .4byte gUnknown_02039254 +_0810D720: .4byte gMain + thumb_func_end BeginCyclingRoadChallenge + + thumb_func_start GetPlayerAvatarBike +GetPlayerAvatarBike: @ 810D724 + push {lr} + movs r0, 0x4 + bl TestPlayerAvatarFlags + lsls r0, 24 + cmp r0, 0 + beq _0810D736 + movs r0, 0x1 + b _0810D748 +_0810D736: + movs r0, 0x2 + bl TestPlayerAvatarFlags + lsls r0, 24 + cmp r0, 0 + bne _0810D746 + movs r0, 0 + b _0810D748 +_0810D746: + movs r0, 0x2 +_0810D748: + pop {r1} + bx r1 + thumb_func_end GetPlayerAvatarBike + + thumb_func_start DetermineCyclingRoadResults +DetermineCyclingRoadResults: @ 810D74C + push {r4-r7,lr} + adds r7, r0, 0 + lsls r1, 24 + lsrs r6, r1, 24 + cmp r6, 0x63 + bhi _0810D778 + ldr r4, _0810D770 @ =gStringVar1 + adds r0, r4, 0 + adds r1, r6, 0 + movs r2, 0 + movs r3, 0x2 + bl ConvertIntToDecimalStringN + ldr r1, _0810D774 @ =gOtherText_Times + adds r0, r4, 0 + bl StringAppend + b _0810D780 + .align 2, 0 +_0810D770: .4byte gStringVar1 +_0810D774: .4byte gOtherText_Times +_0810D778: + ldr r0, _0810D7CC @ =gStringVar1 + ldr r1, _0810D7D0 @ =gOtherText_99Times + bl StringCopy +_0810D780: + ldr r0, _0810D7D4 @ =0x00000e0f + cmp r7, r0 + bhi _0810D7E0 + ldr r4, _0810D7D8 @ =gStringVar2 + adds r0, r7, 0 + movs r1, 0x3C + bl __udivsi3 + adds r1, r0, 0 + adds r0, r4, 0 + movs r2, 0x1 + movs r3, 0x2 + bl ConvertIntToDecimalStringN + movs r0, 0xAD + strb r0, [r4, 0x2] + adds r5, r4, 0x3 + adds r0, r7, 0 + movs r1, 0x3C + bl __umodsi3 + movs r1, 0x64 + muls r0, r1 + movs r1, 0x3C + bl __udivsi3 + adds r1, r0, 0 + adds r0, r5, 0 + movs r2, 0x2 + movs r3, 0x2 + bl ConvertIntToDecimalStringN + ldr r1, _0810D7DC @ =gOtherText_Seconds + adds r0, r4, 0 + bl StringAppend + b _0810D7E8 + .align 2, 0 +_0810D7CC: .4byte gStringVar1 +_0810D7D0: .4byte gOtherText_99Times +_0810D7D4: .4byte 0x00000e0f +_0810D7D8: .4byte gStringVar2 +_0810D7DC: .4byte gOtherText_Seconds +_0810D7E0: + ldr r0, _0810D7F4 @ =gStringVar2 + ldr r1, _0810D7F8 @ =gOtherText_1Minute + bl StringCopy +_0810D7E8: + movs r4, 0 + cmp r6, 0 + bne _0810D7FC + movs r4, 0x5 + b _0810D81A + .align 2, 0 +_0810D7F4: .4byte gStringVar2 +_0810D7F8: .4byte gOtherText_1Minute +_0810D7FC: + cmp r6, 0x3 + bhi _0810D804 + movs r4, 0x4 + b _0810D81A +_0810D804: + cmp r6, 0x9 + bhi _0810D80C + movs r4, 0x3 + b _0810D81A +_0810D80C: + cmp r6, 0x13 + bhi _0810D814 + movs r4, 0x2 + b _0810D81A +_0810D814: + cmp r6, 0x63 + bhi _0810D81A + movs r4, 0x1 +_0810D81A: + adds r0, r7, 0 + movs r1, 0x3C + bl __udivsi3 + cmp r0, 0xA + bhi _0810D82A + adds r0, r4, 0x5 + b _0810D848 +_0810D82A: + cmp r0, 0xF + bhi _0810D832 + adds r0, r4, 0x4 + b _0810D848 +_0810D832: + cmp r0, 0x14 + bhi _0810D83A + adds r0, r4, 0x3 + b _0810D848 +_0810D83A: + cmp r0, 0x28 + bhi _0810D842 + adds r0, r4, 0x2 + b _0810D848 +_0810D842: + cmp r0, 0x3B + bhi _0810D84C + adds r0, r4, 0x1 +_0810D848: + lsls r0, 24 + lsrs r4, r0, 24 +_0810D84C: + ldr r0, _0810D858 @ =gScriptResult + strh r4, [r0] + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0810D858: .4byte gScriptResult + thumb_func_end DetermineCyclingRoadResults + + thumb_func_start FinishCyclingRoadChallenge +FinishCyclingRoadChallenge: @ 810D85C + push {r4,r5,lr} + ldr r0, _0810D880 @ =gMain + ldr r1, _0810D884 @ =gUnknown_02039254 + ldr r4, [r0, 0x20] + ldr r0, [r1] + subs r4, r0 + ldr r5, _0810D888 @ =gUnknown_02039251 + ldrb r1, [r5] + adds r0, r4, 0 + bl DetermineCyclingRoadResults + ldrb r1, [r5] + adds r0, r4, 0 + bl RecordCyclingRoadResults + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0810D880: .4byte gMain +_0810D884: .4byte gUnknown_02039254 +_0810D888: .4byte gUnknown_02039251 + thumb_func_end FinishCyclingRoadChallenge + + thumb_func_start RecordCyclingRoadResults +RecordCyclingRoadResults: @ 810D88C + push {r4-r7,lr} + mov r7, r8 + push {r7} + adds r5, r0, 0 + lsls r1, 24 + lsrs r1, 24 + mov r8, r1 + ldr r6, _0810D8E0 @ =0x00004028 + adds r0, r6, 0 + bl VarGet + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + ldr r7, _0810D8E4 @ =0x00004029 + adds r0, r7, 0 + bl VarGet + lsls r0, 16 + adds r4, r0 + cmp r4, r5 + bhi _0810D8BC + cmp r4, 0 + bne _0810D8D6 +_0810D8BC: + lsls r1, r5, 16 + lsrs r1, 16 + adds r0, r6, 0 + bl VarSet + lsrs r1, r5, 16 + adds r0, r7, 0 + bl VarSet + ldr r0, _0810D8E8 @ =0x00004027 + mov r1, r8 + bl VarSet +_0810D8D6: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0810D8E0: .4byte 0x00004028 +_0810D8E4: .4byte 0x00004029 +_0810D8E8: .4byte 0x00004027 + thumb_func_end RecordCyclingRoadResults + + thumb_func_start GetRecordedCyclingRoadResults +GetRecordedCyclingRoadResults: @ 810D8EC + push {r4,lr} + ldr r0, _0810D920 @ =0x00004028 + bl VarGet + adds r4, r0, 0 + lsls r4, 16 + lsrs r4, 16 + ldr r0, _0810D924 @ =0x00004029 + bl VarGet + lsls r0, 16 + adds r4, r0 + cmp r4, 0 + beq _0810D92C + ldr r0, _0810D928 @ =0x00004027 + bl VarGet + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + adds r0, r4, 0 + bl DetermineCyclingRoadResults + movs r0, 0x1 + b _0810D92E + .align 2, 0 +_0810D920: .4byte 0x00004028 +_0810D924: .4byte 0x00004029 +_0810D928: .4byte 0x00004027 +_0810D92C: + movs r0, 0 +_0810D92E: + pop {r4} + pop {r1} + bx r1 + thumb_func_end GetRecordedCyclingRoadResults + + thumb_func_start UpdateCyclingRoadState +UpdateCyclingRoadState: @ 810D934 + push {r4,lr} + ldr r0, _0810D974 @ =gUnknown_020297F0 + ldrh r1, [r0] + ldr r0, _0810D978 @ =0x00000c1d + cmp r1, r0 + beq _0810D96C + ldr r4, _0810D97C @ =0x000040a9 + adds r0, r4, 0 + bl VarGet + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x2 + beq _0810D95E + adds r0, r4, 0 + bl VarGet + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x3 + bne _0810D96C +_0810D95E: + adds r0, r4, 0 + movs r1, 0 + bl VarSet + movs r0, 0 + bl sav1_set_battle_music_maybe +_0810D96C: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0810D974: .4byte gUnknown_020297F0 +_0810D978: .4byte 0x00000c1d +_0810D97C: .4byte 0x000040a9 + thumb_func_end UpdateCyclingRoadState + + thumb_func_start SetSSTidalFlag +SetSSTidalFlag: @ 810D980 + push {lr} + ldr r0, _0810D998 @ =0x0000082d + bl FlagSet + ldr r0, _0810D99C @ =0x0000404a + bl GetVarPointer + movs r1, 0 + strh r1, [r0] + pop {r0} + bx r0 + .align 2, 0 +_0810D998: .4byte 0x0000082d +_0810D99C: .4byte 0x0000404a + thumb_func_end SetSSTidalFlag + + thumb_func_start ResetSSTidalFlag +ResetSSTidalFlag: @ 810D9A0 + push {lr} + ldr r0, _0810D9AC @ =0x0000082d + bl FlagReset + pop {r0} + bx r0 + .align 2, 0 +_0810D9AC: .4byte 0x0000082d + thumb_func_end ResetSSTidalFlag + + thumb_func_start sub_810D9B0 +sub_810D9B0: @ 810D9B0 + push {r4,lr} + lsls r0, 16 + lsrs r4, r0, 16 + ldr r0, _0810D9DC @ =0x0000082d + bl FlagGet + lsls r0, 24 + cmp r0, 0 + beq _0810D9D6 + ldr r0, _0810D9E0 @ =0x0000404a + bl GetVarPointer + ldrh r1, [r0] + adds r1, r4, r1 + strh r1, [r0] + lsls r1, 16 + lsrs r1, 16 + cmp r1, 0xCC + bhi _0810D9E4 +_0810D9D6: + movs r0, 0 + b _0810D9E6 + .align 2, 0 +_0810D9DC: .4byte 0x0000082d +_0810D9E0: .4byte 0x0000404a +_0810D9E4: + movs r0, 0x1 +_0810D9E6: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_810D9B0 + + thumb_func_start sub_810D9EC +sub_810D9EC: @ 810D9EC + push {r4-r7,lr} + mov r7, r8 + push {r7} + mov r8, r0 + adds r5, r1, 0 + adds r6, r2, 0 + adds r7, r3, 0 + ldr r0, _0810DA1C @ =0x0000404a + bl GetVarPointer + adds r4, r0, 0 + ldr r0, _0810DA20 @ =0x000040b4 + bl GetVarPointer + ldrh r0, [r0] + subs r0, 0x1 + cmp r0, 0x9 + bhi _0810DAB2 + lsls r0, 2 + ldr r1, _0810DA24 @ =_0810DA28 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0810DA1C: .4byte 0x0000404a +_0810DA20: .4byte 0x000040b4 +_0810DA24: .4byte _0810DA28 + .align 2, 0 +_0810DA28: + .4byte _0810DA50 + .4byte _0810DA60 + .4byte _0810DA54 + .4byte _0810DA58 + .4byte _0810DA58 + .4byte _0810DA5C + .4byte _0810DA88 + .4byte _0810DA50 + .4byte _0810DA54 + .4byte _0810DA5C +_0810DA50: + movs r0, 0x1 + b _0810DABE +_0810DA54: + movs r0, 0x4 + b _0810DABE +_0810DA58: + movs r0, 0x2 + b _0810DABE +_0810DA5C: + movs r0, 0x3 + b _0810DABE +_0810DA60: + ldrh r0, [r4] + cmp r0, 0x3B + bhi _0810DA70 + movs r0, 0x31 + strb r0, [r5] + ldrh r0, [r4] + adds r0, 0x13 + b _0810DAB0 +_0810DA70: + cmp r0, 0x8B + bhi _0810DA7E + movs r0, 0x30 + strb r0, [r5] + ldrh r0, [r4] + subs r0, 0x3C + b _0810DAB0 +_0810DA7E: + movs r0, 0x2F + strb r0, [r5] + ldrh r0, [r4] + subs r0, 0x8C + b _0810DAB0 +_0810DA88: + ldrh r0, [r4] + cmp r0, 0x41 + bhi _0810DA98 + movs r0, 0x2F + strb r0, [r5] + ldrh r1, [r4] + movs r0, 0x41 + b _0810DAAE +_0810DA98: + cmp r0, 0x91 + bhi _0810DAA6 + movs r0, 0x30 + strb r0, [r5] + ldrh r1, [r4] + movs r0, 0x91 + b _0810DAAE +_0810DAA6: + movs r0, 0x31 + strb r0, [r5] + ldrh r1, [r4] + movs r0, 0xE0 +_0810DAAE: + subs r0, r1 +_0810DAB0: + strh r0, [r6] +_0810DAB2: + movs r0, 0 + mov r1, r8 + strb r0, [r1] + movs r0, 0x14 + strh r0, [r7] + movs r0, 0 +_0810DABE: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r1} + bx r1 + thumb_func_end sub_810D9EC + + thumb_func_start GetLinkPartnerNames +GetLinkPartnerNames: @ 810DAC8 + push {r4-r7,lr} + mov r7, r8 + push {r7} + movs r6, 0 + bl sub_8008218 + lsls r0, 24 + lsrs r7, r0, 24 + bl sub_800820C + lsls r0, 24 + lsrs r5, r0, 24 + movs r4, 0 + cmp r4, r5 + bcs _0810DB12 + ldr r0, _0810DB20 @ =gUnknown_083D1464 + mov r8, r0 +_0810DAEA: + cmp r7, r4 + beq _0810DB08 + lsls r0, r6, 2 + add r0, r8 + ldr r0, [r0] + lsls r1, r4, 3 + subs r1, r4 + lsls r1, 2 + ldr r2, _0810DB24 @ =gLinkPlayers + 0x8 + adds r1, r2 + bl StringCopy + adds r0, r6, 0x1 + lsls r0, 24 + lsrs r6, r0, 24 +_0810DB08: + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, r5 + bcc _0810DAEA +_0810DB12: + adds r0, r5, 0 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_0810DB20: .4byte gUnknown_083D1464 +_0810DB24: .4byte gLinkPlayers + 0x8 + thumb_func_end GetLinkPartnerNames + + thumb_func_start sub_810DB28 +sub_810DB28: @ 810DB28 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + sub sp, 0x14 + movs r7, 0 + movs r0, 0 + mov r9, r0 + mov r8, r0 + ldr r1, _0810DB74 @ =gUnknown_083F8358 + add r0, sp, 0x8 + movs r2, 0x4 + bl memcpy + add r4, sp, 0xC + ldr r1, _0810DB78 @ =gUnknown_083F835C + adds r0, r4, 0 + movs r2, 0x8 + bl memcpy + bl sub_8008218 + lsls r0, 24 + lsrs r0, 24 + mov r10, r0 + bl player_get_direction_lower_nybble + lsls r0, 24 + lsrs r0, 24 + adds r1, r0, 0 + cmp r0, 0x2 + beq _0810DB94 + cmp r0, 0x2 + bgt _0810DB7C + cmp r0, 0x1 + beq _0810DBC0 + b _0810DBD2 + .align 2, 0 +_0810DB74: .4byte gUnknown_083F8358 +_0810DB78: .4byte gUnknown_083F835C +_0810DB7C: + cmp r1, 0x3 + beq _0810DB86 + cmp r1, 0x4 + beq _0810DBA8 + b _0810DBD2 +_0810DB86: + movs r7, 0x2 + ldr r1, _0810DB90 @ =gSaveBlock1 + ldrh r0, [r1] + subs r0, 0x1 + b _0810DBAE + .align 2, 0 +_0810DB90: .4byte gSaveBlock1 +_0810DB94: + movs r7, 0x1 + ldr r0, _0810DBA4 @ =gSaveBlock1 + ldrh r1, [r0] + mov r9, r1 + ldrh r0, [r0, 0x2] + subs r0, 0x1 + b _0810DBCC + .align 2, 0 +_0810DBA4: .4byte gSaveBlock1 +_0810DBA8: + ldr r1, _0810DBBC @ =gSaveBlock1 + ldrh r0, [r1] + adds r0, 0x1 +_0810DBAE: + lsls r0, 16 + lsrs r0, 16 + mov r9, r0 + ldrh r1, [r1, 0x2] + mov r8, r1 + b _0810DBD2 + .align 2, 0 +_0810DBBC: .4byte gSaveBlock1 +_0810DBC0: + movs r7, 0x3 + ldr r0, _0810DBD8 @ =gSaveBlock1 + ldrh r4, [r0] + mov r9, r4 + ldrh r0, [r0, 0x2] + adds r0, 0x1 +_0810DBCC: + lsls r0, 16 + lsrs r0, 16 + mov r8, r0 +_0810DBD2: + movs r6, 0 + b _0810DC5C + .align 2, 0 +_0810DBD8: .4byte gSaveBlock1 +_0810DBDC: + cmp r10, r6 + beq _0810DC56 + ldr r1, _0810DC74 @ =gLinkPlayers + lsls r0, r6, 3 + subs r0, r6 + lsls r0, 2 + adds r0, r1 + ldrb r1, [r0, 0x13] + movs r0, 0 + bl sub_805983C + lsls r0, 24 + lsrs r0, 24 + mov r1, sp + adds r1, r7 + adds r1, 0x8 + ldrb r1, [r1] + movs r2, 0xF0 + subs r2, r6 + lsls r2, 24 + lsrs r2, 24 + lsls r5, r7, 1 + mov r3, sp + adds r3, r5 + adds r3, 0xC + ldrb r3, [r3] + lsls r3, 24 + asrs r3, 24 + mov r12, r3 + mov r4, r9 + lsls r3, r4, 16 + asrs r3, 16 + add r3, r12 + adds r3, 0x7 + lsls r3, 16 + asrs r3, 16 + mov r4, sp + adds r4, 0xD + adds r4, r5 + ldrb r4, [r4] + lsls r4, 24 + asrs r4, 24 + mov r12, r4 + mov r5, r8 + lsls r4, r5, 16 + asrs r4, 16 + add r4, r12 + adds r4, 0x7 + lsls r4, 16 + asrs r4, 16 + str r4, [sp] + movs r4, 0 + str r4, [sp, 0x4] + bl SpawnSpecialFieldObjectParametrized + adds r0, r7, 0x1 + lsls r0, 24 + lsrs r7, r0, 24 + cmp r7, 0x4 + bne _0810DC56 + movs r7, 0 +_0810DC56: + adds r0, r6, 0x1 + lsls r0, 24 + lsrs r6, r0, 24 +_0810DC5C: + ldr r0, _0810DC78 @ =gSpecialVar_0x8004 + ldrh r0, [r0] + cmp r6, r0 + bcc _0810DBDC + add sp, 0x14 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0810DC74: .4byte gLinkPlayers +_0810DC78: .4byte gSpecialVar_0x8004 + thumb_func_end sub_810DB28 + + thumb_func_start sub_810DC7C +sub_810DC7C: @ 810DC7C + push {r4,r5,lr} + movs r4, 0 + ldr r5, _0810DC9C @ =gUnknown_083F8364 +_0810DC82: + ldr r0, _0810DCA0 @ =gSpecialVar_0x8004 + ldrh r0, [r0] + cmp r4, r0 + bne _0810DCA8 + lsls r1, r4, 2 + adds r1, r5 + ldrb r0, [r1] + ldrb r1, [r1, 0x1] + ldr r2, _0810DCA4 @ =0x00000206 + bl MapGridSetMetatileIdAt + b _0810DCB6 + .align 2, 0 +_0810DC9C: .4byte gUnknown_083F8364 +_0810DCA0: .4byte gSpecialVar_0x8004 +_0810DCA4: .4byte 0x00000206 +_0810DCA8: + lsls r1, r4, 2 + adds r1, r5 + ldrb r0, [r1] + ldrb r1, [r1, 0x1] + ldr r2, _0810DCC8 @ =0x00000205 + bl MapGridSetMetatileIdAt +_0810DCB6: + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0x2 + bls _0810DC82 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0810DCC8: .4byte 0x00000205 + thumb_func_end sub_810DC7C + + thumb_func_start sub_810DCCC +sub_810DCCC: @ 810DCCC + push {r4-r6,lr} + movs r5, 0xC +_0810DCD0: + movs r4, 0x7 + adds r6, r5, 0x1 +_0810DCD4: + adds r0, r4, 0 + adds r1, r5, 0 + bl MapGridGetMetatileIdAt + ldr r1, _0810DCF0 @ =0xfffffde6 + adds r0, r1 + cmp r0, 0x37 + bls _0810DCE6 + b _0810DEC0 +_0810DCE6: + lsls r0, 2 + ldr r1, _0810DCF4 @ =_0810DCF8 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0810DCF0: .4byte 0xfffffde6 +_0810DCF4: .4byte _0810DCF8 + .align 2, 0 +_0810DCF8: + .4byte _0810DE7E + .4byte _0810DEC0 + .4byte _0810DEC0 + .4byte _0810DEC0 + .4byte _0810DEC0 + .4byte _0810DEC0 + .4byte _0810DDD8 + .4byte _0810DDDE + .4byte _0810DE18 + .4byte _0810DE20 + .4byte _0810DEC0 + .4byte _0810DEC0 + .4byte _0810DEC0 + .4byte _0810DEC0 + .4byte _0810DDE8 + .4byte _0810DDEE + .4byte _0810DE28 + .4byte _0810DE30 + .4byte _0810DEC0 + .4byte _0810DEC0 + .4byte _0810DEC0 + .4byte _0810DEC0 + .4byte _0810DDF8 + .4byte _0810DDFE + .4byte _0810DE38 + .4byte _0810DE40 + .4byte _0810DEC0 + .4byte _0810DEC0 + .4byte _0810DEC0 + .4byte _0810DEC0 + .4byte _0810DE08 + .4byte _0810DE10 + .4byte _0810DE48 + .4byte _0810DE50 + .4byte _0810DEC0 + .4byte _0810DEC0 + .4byte _0810DEC0 + .4byte _0810DEC0 + .4byte _0810DE58 + .4byte _0810DE68 + .4byte _0810DE78 + .4byte _0810DEA0 + .4byte _0810DEC0 + .4byte _0810DEC0 + .4byte _0810DEC0 + .4byte _0810DEC0 + .4byte _0810DE60 + .4byte _0810DE70 + .4byte _0810DEC0 + .4byte _0810DEC0 + .4byte _0810DEC0 + .4byte _0810DEC0 + .4byte _0810DEC0 + .4byte _0810DEC0 + .4byte _0810DEB6 + .4byte _0810DEA8 +_0810DDD8: + movs r2, 0x8C + lsls r2, 2 + b _0810DEAC +_0810DDDE: + ldr r2, _0810DDE4 @ =0x00000231 + b _0810DEAC + .align 2, 0 +_0810DDE4: .4byte 0x00000231 +_0810DDE8: + movs r2, 0x8E + lsls r2, 2 + b _0810DEAC +_0810DDEE: + ldr r2, _0810DDF4 @ =0x00000239 + b _0810DEAC + .align 2, 0 +_0810DDF4: .4byte 0x00000239 +_0810DDF8: + movs r2, 0x88 + lsls r2, 2 + b _0810DEAC +_0810DDFE: + ldr r2, _0810DE04 @ =0x00000221 + b _0810DEAC + .align 2, 0 +_0810DE04: .4byte 0x00000221 +_0810DE08: + ldr r2, _0810DE0C @ =0x00000e28 + b _0810DEAC + .align 2, 0 +_0810DE0C: .4byte 0x00000e28 +_0810DE10: + ldr r2, _0810DE14 @ =0x00000e29 + b _0810DEAC + .align 2, 0 +_0810DE14: .4byte 0x00000e29 +_0810DE18: + ldr r2, _0810DE1C @ =0x00000232 + b _0810DEAC + .align 2, 0 +_0810DE1C: .4byte 0x00000232 +_0810DE20: + ldr r2, _0810DE24 @ =0x00000233 + b _0810DEAC + .align 2, 0 +_0810DE24: .4byte 0x00000233 +_0810DE28: + ldr r2, _0810DE2C @ =0x0000023a + b _0810DEAC + .align 2, 0 +_0810DE2C: .4byte 0x0000023a +_0810DE30: + ldr r2, _0810DE34 @ =0x0000023b + b _0810DEAC + .align 2, 0 +_0810DE34: .4byte 0x0000023b +_0810DE38: + ldr r2, _0810DE3C @ =0x00000222 + b _0810DEAC + .align 2, 0 +_0810DE3C: .4byte 0x00000222 +_0810DE40: + ldr r2, _0810DE44 @ =0x00000223 + b _0810DEAC + .align 2, 0 +_0810DE44: .4byte 0x00000223 +_0810DE48: + ldr r2, _0810DE4C @ =0x00000e2a + b _0810DEAC + .align 2, 0 +_0810DE4C: .4byte 0x00000e2a +_0810DE50: + ldr r2, _0810DE54 @ =0x00000e2b + b _0810DEAC + .align 2, 0 +_0810DE54: .4byte 0x00000e2b +_0810DE58: + ldr r2, _0810DE5C @ =0x00000e42 + b _0810DEAC + .align 2, 0 +_0810DE5C: .4byte 0x00000e42 +_0810DE60: + ldr r2, _0810DE64 @ =0x0000021a + b _0810DEAC + .align 2, 0 +_0810DE64: .4byte 0x0000021a +_0810DE68: + ldr r2, _0810DE6C @ =0x00000e43 + b _0810DEAC + .align 2, 0 +_0810DE6C: .4byte 0x00000e43 +_0810DE70: + ldr r2, _0810DE74 @ =0x0000021a + b _0810DEAC + .align 2, 0 +_0810DE74: .4byte 0x0000021a +_0810DE78: + movs r2, 0xE4 + lsls r2, 4 + b _0810DEAC +_0810DE7E: + subs r1, r5, 0x1 + adds r0, r4, 0 + bl MapGridGetMetatileIdAt + movs r1, 0x90 + lsls r1, 2 + cmp r0, r1 + bne _0810DE98 + ldr r2, _0810DE94 @ =0x00000e48 + b _0810DEAC + .align 2, 0 +_0810DE94: .4byte 0x00000e48 +_0810DE98: + ldr r2, _0810DE9C @ =0x00000e49 + b _0810DEAC + .align 2, 0 +_0810DE9C: .4byte 0x00000e49 +_0810DEA0: + ldr r2, _0810DEA4 @ =0x00000e41 + b _0810DEAC + .align 2, 0 +_0810DEA4: .4byte 0x00000e41 +_0810DEA8: + movs r2, 0xE5 + lsls r2, 4 +_0810DEAC: + adds r0, r4, 0 + adds r1, r5, 0 + bl MapGridSetMetatileIdAt + b _0810DEC0 +_0810DEB6: + ldr r2, _0810DED8 @ =0x00000251 + adds r0, r4, 0 + adds r1, r5, 0 + bl MapGridSetMetatileIdAt +_0810DEC0: + adds r4, 0x1 + cmp r4, 0xF + bgt _0810DEC8 + b _0810DCD4 +_0810DEC8: + adds r5, r6, 0 + cmp r5, 0x17 + bgt _0810DED0 + b _0810DCD0 +_0810DED0: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0810DED8: .4byte 0x00000251 + thumb_func_end sub_810DCCC + + thumb_func_start sub_810DEDC +sub_810DEDC: @ 810DEDC + push {r4-r6,lr} + ldr r4, _0810DF18 @ =gUnknown_083F8364 + movs r5, 0x2 +_0810DEE2: + ldrb r0, [r4] + ldrb r1, [r4, 0x1] + ldr r2, _0810DF1C @ =0x00000206 + bl MapGridSetMetatileIdAt + adds r4, 0x4 + subs r5, 0x1 + cmp r5, 0 + bge _0810DEE2 + movs r5, 0xC +_0810DEF6: + movs r4, 0x7 + adds r6, r5, 0x1 +_0810DEFA: + adds r0, r4, 0 + adds r1, r5, 0 + bl MapGridGetMetatileIdAt + ldr r1, _0810DF20 @ =0xfffffde0 + adds r0, r1 + cmp r0, 0x30 + bls _0810DF0C + b _0810E056 +_0810DF0C: + lsls r0, 2 + ldr r1, _0810DF24 @ =_0810DF28 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0810DF18: .4byte gUnknown_083F8364 +_0810DF1C: .4byte 0x00000206 +_0810DF20: .4byte 0xfffffde0 +_0810DF24: .4byte _0810DF28 + .align 2, 0 +_0810DF28: + .4byte _0810DFEC + .4byte _0810DFF2 + .4byte _0810E00C + .4byte _0810E014 + .4byte _0810E056 + .4byte _0810E056 + .4byte _0810E056 + .4byte _0810E056 + .4byte _0810DFFC + .4byte _0810E002 + .4byte _0810E01C + .4byte _0810E024 + .4byte _0810E056 + .4byte _0810E056 + .4byte _0810E056 + .4byte _0810E056 + .4byte _0810E056 + .4byte _0810E056 + .4byte _0810E056 + .4byte _0810E056 + .4byte _0810E056 + .4byte _0810E056 + .4byte _0810E056 + .4byte _0810E056 + .4byte _0810E056 + .4byte _0810E056 + .4byte _0810E056 + .4byte _0810E056 + .4byte _0810E056 + .4byte _0810E056 + .4byte _0810E056 + .4byte _0810E056 + .4byte _0810E02C + .4byte _0810E034 + .4byte _0810E056 + .4byte _0810E056 + .4byte _0810E056 + .4byte _0810E056 + .4byte _0810E056 + .4byte _0810E056 + .4byte _0810E03C + .4byte _0810E03C + .4byte _0810E056 + .4byte _0810E056 + .4byte _0810E056 + .4byte _0810E056 + .4byte _0810E056 + .4byte _0810E056 + .4byte _0810E04C +_0810DFEC: + movs r2, 0x8C + lsls r2, 2 + b _0810E03E +_0810DFF2: + ldr r2, _0810DFF8 @ =0x00000231 + b _0810E03E + .align 2, 0 +_0810DFF8: .4byte 0x00000231 +_0810DFFC: + movs r2, 0x8E + lsls r2, 2 + b _0810E03E +_0810E002: + ldr r2, _0810E008 @ =0x00000239 + b _0810E03E + .align 2, 0 +_0810E008: .4byte 0x00000239 +_0810E00C: + ldr r2, _0810E010 @ =0x00000232 + b _0810E03E + .align 2, 0 +_0810E010: .4byte 0x00000232 +_0810E014: + ldr r2, _0810E018 @ =0x00000233 + b _0810E03E + .align 2, 0 +_0810E018: .4byte 0x00000233 +_0810E01C: + ldr r2, _0810E020 @ =0x0000023a + b _0810E03E + .align 2, 0 +_0810E020: .4byte 0x0000023a +_0810E024: + ldr r2, _0810E028 @ =0x0000023b + b _0810E03E + .align 2, 0 +_0810E028: .4byte 0x0000023b +_0810E02C: + ldr r2, _0810E030 @ =0x00000e42 + b _0810E03E + .align 2, 0 +_0810E030: .4byte 0x00000e42 +_0810E034: + ldr r2, _0810E038 @ =0x00000e43 + b _0810E03E + .align 2, 0 +_0810E038: .4byte 0x00000e43 +_0810E03C: + ldr r2, _0810E048 @ =0x0000021a +_0810E03E: + adds r0, r4, 0 + adds r1, r5, 0 + bl MapGridSetMetatileIdAt + b _0810E056 + .align 2, 0 +_0810E048: .4byte 0x0000021a +_0810E04C: + ldr r2, _0810E06C @ =0x00000251 + adds r0, r4, 0 + adds r1, r5, 0 + bl MapGridSetMetatileIdAt +_0810E056: + adds r4, 0x1 + cmp r4, 0xF + bgt _0810E05E + b _0810DEFA +_0810E05E: + adds r5, r6, 0 + cmp r5, 0x17 + bgt _0810E066 + b _0810DEF6 +_0810E066: + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0810E06C: .4byte 0x00000251 + thumb_func_end sub_810DEDC + + thumb_func_start sub_810E070 +sub_810E070: @ 810E070 + push {lr} + ldr r0, _0810E090 @ =gUnknown_02039258 + movs r1, 0 + strb r1, [r0] + ldr r0, _0810E094 @ =gUnknown_02039259 + strb r1, [r0] + movs r0, 0x2C + bl PlaySE + ldr r0, _0810E098 @ =sub_810E09C + movs r1, 0x8 + bl CreateTask + pop {r0} + bx r0 + .align 2, 0 +_0810E090: .4byte gUnknown_02039258 +_0810E094: .4byte gUnknown_02039259 +_0810E098: .4byte sub_810E09C + thumb_func_end sub_810E070 + + thumb_func_start sub_810E09C +sub_810E09C: @ 810E09C + push {r4-r6,lr} + lsls r0, 24 + lsrs r6, r0, 24 + ldr r0, _0810E0E4 @ =gUnknown_083F8370 + ldr r5, _0810E0E8 @ =gUnknown_02039259 + ldrb r1, [r5] + adds r0, r1, r0 + ldr r4, _0810E0EC @ =gUnknown_02039258 + ldrb r2, [r4] + ldrb r0, [r0] + cmp r0, r2 + bne _0810E0F8 + ldr r0, _0810E0F0 @ =gSpecialVar_0x8004 + ldrb r0, [r0] + ldr r2, _0810E0F4 @ =gUnknown_083F8376 + lsls r1, 1 + adds r1, r2 + ldrh r1, [r1] + bl sub_810E104 + movs r0, 0 + strb r0, [r4] + ldrb r0, [r5] + adds r0, 0x1 + strb r0, [r5] + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x5 + bne _0810E0FC + adds r0, r6, 0 + bl DestroyTask + bl EnableBothScriptContexts + b _0810E0FC + .align 2, 0 +_0810E0E4: .4byte gUnknown_083F8370 +_0810E0E8: .4byte gUnknown_02039259 +_0810E0EC: .4byte gUnknown_02039258 +_0810E0F0: .4byte gSpecialVar_0x8004 +_0810E0F4: .4byte gUnknown_083F8376 +_0810E0F8: + adds r0, r2, 0x1 + strb r0, [r4] +_0810E0FC: + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end sub_810E09C + + thumb_func_start sub_810E104 +sub_810E104: @ 810E104 + push {r4-r7,lr} + mov r7, r9 + mov r6, r8 + push {r6,r7} + sub sp, 0x10 + lsls r0, 24 + lsrs r0, 24 + lsls r1, 16 + lsrs r2, r1, 16 + movs r7, 0 + subs r0, 0x1 + cmp r0, 0x7 + bhi _0810E1CC + lsls r0, 2 + ldr r1, _0810E128 @ =_0810E12C + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0810E128: .4byte _0810E12C + .align 2, 0 +_0810E12C: + .4byte _0810E14C + .4byte _0810E15E + .4byte _0810E170 + .4byte _0810E182 + .4byte _0810E190 + .4byte _0810E1A6 + .4byte _0810E1B2 + .4byte _0810E1C0 +_0810E14C: + movs r7, 0x2 + mov r1, sp + movs r0, 0x1 + strh r0, [r1] + movs r0, 0x7 + strh r0, [r1, 0x2] + add r1, sp, 0x8 + movs r0, 0x68 + b _0810E1A0 +_0810E15E: + movs r7, 0x2 + mov r1, sp + movs r0, 0x1 + strh r0, [r1] + movs r0, 0x7 + strh r0, [r1, 0x2] + add r1, sp, 0x8 + movs r0, 0x4E + b _0810E1A0 +_0810E170: + movs r7, 0x2 + mov r1, sp + movs r0, 0x1 + strh r0, [r1] + movs r0, 0x7 + strh r0, [r1, 0x2] + add r1, sp, 0x8 + movs r0, 0x5B + b _0810E1A0 +_0810E182: + movs r7, 0x1 + mov r1, sp + movs r0, 0x7 + strh r0, [r1] + add r1, sp, 0x8 + movs r0, 0x27 + b _0810E1CA +_0810E190: + movs r7, 0x2 + mov r1, sp + movs r0, 0x1 + strh r0, [r1] + movs r0, 0x7 + strh r0, [r1, 0x2] + add r1, sp, 0x8 + movs r0, 0x34 +_0810E1A0: + strh r0, [r1] + strh r0, [r1, 0x2] + b _0810E1CC +_0810E1A6: + movs r7, 0x1 + mov r0, sp + strh r7, [r0] + add r1, sp, 0x8 + movs r0, 0x41 + b _0810E1CA +_0810E1B2: + movs r7, 0x1 + mov r1, sp + movs r0, 0x7 + strh r0, [r1] + add r1, sp, 0x8 + movs r0, 0xD + b _0810E1CA +_0810E1C0: + movs r7, 0x1 + mov r0, sp + strh r7, [r0] + add r1, sp, 0x8 + movs r0, 0x1A +_0810E1CA: + strh r0, [r1] +_0810E1CC: + movs r6, 0 + cmp r6, r7 + bcs _0810E21E + movs r1, 0xC0 + lsls r1, 4 + adds r0, r1, 0 + adds r1, r2, 0 + orrs r1, r0 + lsls r1, 16 + mov r9, r1 + adds r1, r2, 0 + adds r1, 0x8 + orrs r1, r0 + lsls r1, 16 + mov r8, r1 +_0810E1EA: + lsls r1, r6, 1 + mov r3, sp + adds r5, r3, r1 + ldrh r0, [r5] + adds r0, 0x7 + add r4, sp, 0x8 + adds r4, r1 + ldrh r1, [r4] + adds r1, 0x7 + mov r3, r9 + lsrs r2, r3, 16 + bl MapGridSetMetatileIdAt + ldrh r0, [r5] + adds r0, 0x7 + ldrh r1, [r4] + adds r1, 0x8 + mov r3, r8 + lsrs r2, r3, 16 + bl MapGridSetMetatileIdAt + adds r0, r6, 0x1 + lsls r0, 24 + lsrs r6, r0, 24 + cmp r6, r7 + bcc _0810E1EA +_0810E21E: + bl DrawWholeMapView + add sp, 0x10 + pop {r3,r4} + mov r8, r3 + mov r9, r4 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_810E104 + + thumb_func_start sub_810E230 +sub_810E230: @ 810E230 + push {lr} + ldr r0, _0810E244 @ =gSpecialVar_0x8004 + ldrb r0, [r0] + ldr r1, _0810E248 @ =gUnknown_083F8376 + ldrh r1, [r1, 0x8] + bl sub_810E104 + pop {r0} + bx r0 + .align 2, 0 +_0810E244: .4byte gSpecialVar_0x8004 +_0810E248: .4byte gUnknown_083F8376 + thumb_func_end sub_810E230 + + thumb_func_start ShowFieldMessageStringVar4 +ShowFieldMessageStringVar4: @ 810E24C + push {lr} + ldr r0, _0810E258 @ =gStringVar4 + bl ShowFieldMessage + pop {r0} + bx r0 + .align 2, 0 +_0810E258: .4byte gStringVar4 + thumb_func_end ShowFieldMessageStringVar4 + + thumb_func_start StorePlayerCoordsInVars +StorePlayerCoordsInVars: @ 810E25C + ldr r1, _0810E26C @ =gSpecialVar_0x8004 + ldr r2, _0810E270 @ =gSaveBlock1 + ldrh r0, [r2] + strh r0, [r1] + ldr r1, _0810E274 @ =gSpecialVar_0x8005 + ldrh r0, [r2, 0x2] + strh r0, [r1] + bx lr + .align 2, 0 +_0810E26C: .4byte gSpecialVar_0x8004 +_0810E270: .4byte gSaveBlock1 +_0810E274: .4byte gSpecialVar_0x8005 + thumb_func_end StorePlayerCoordsInVars + + thumb_func_start GetPlayerTrainerIdOnesDigit +GetPlayerTrainerIdOnesDigit: @ 810E278 + push {lr} + ldr r0, _0810E294 @ =gSaveBlock2 + ldrb r1, [r0, 0xB] + lsls r1, 8 + ldrb r0, [r0, 0xA] + orrs r0, r1 + movs r1, 0xA + bl __umodsi3 + lsls r0, 24 + lsrs r0, 24 + pop {r1} + bx r1 + .align 2, 0 +_0810E294: .4byte gSaveBlock2 + thumb_func_end GetPlayerTrainerIdOnesDigit + + thumb_func_start GetPlayerBigGuyGirlString +GetPlayerBigGuyGirlString: @ 810E298 + push {lr} + ldr r0, _0810E2AC @ =gSaveBlock2 + ldrb r0, [r0, 0x8] + cmp r0, 0 + bne _0810E2B8 + ldr r0, _0810E2B0 @ =gStringVar1 + ldr r1, _0810E2B4 @ =gOtherText_BigGuy + bl StringCopy + b _0810E2C0 + .align 2, 0 +_0810E2AC: .4byte gSaveBlock2 +_0810E2B0: .4byte gStringVar1 +_0810E2B4: .4byte gOtherText_BigGuy +_0810E2B8: + ldr r0, _0810E2C4 @ =gStringVar1 + ldr r1, _0810E2C8 @ =gOtherText_BigGirl + bl StringCopy +_0810E2C0: + pop {r0} + bx r0 + .align 2, 0 +_0810E2C4: .4byte gStringVar1 +_0810E2C8: .4byte gOtherText_BigGirl + thumb_func_end GetPlayerBigGuyGirlString + + thumb_func_start GetRivalSonDaughterString +GetRivalSonDaughterString: @ 810E2CC + push {lr} + ldr r0, _0810E2E0 @ =gSaveBlock2 + ldrb r0, [r0, 0x8] + cmp r0, 0 + bne _0810E2EC + ldr r0, _0810E2E4 @ =gStringVar1 + ldr r1, _0810E2E8 @ =gOtherText_Daughter + bl StringCopy + b _0810E2F4 + .align 2, 0 +_0810E2E0: .4byte gSaveBlock2 +_0810E2E4: .4byte gStringVar1 +_0810E2E8: .4byte gOtherText_Daughter +_0810E2EC: + ldr r0, _0810E2F8 @ =gStringVar1 + ldr r1, _0810E2FC @ =gOtherText_Son + bl StringCopy +_0810E2F4: + pop {r0} + bx r0 + .align 2, 0 +_0810E2F8: .4byte gStringVar1 +_0810E2FC: .4byte gOtherText_Son + thumb_func_end GetRivalSonDaughterString + + thumb_func_start sub_810E300 +sub_810E300: @ 810E300 + ldr r0, _0810E308 @ =gUnknown_02024D26 + ldrb r0, [r0] + bx lr + .align 2, 0 +_0810E308: .4byte gUnknown_02024D26 + thumb_func_end sub_810E300 + + thumb_func_start CableCarWarp +CableCarWarp: @ 810E30C + push {lr} + sub sp, 0x4 + ldr r0, _0810E32C @ =gSpecialVar_0x8004 + ldrh r0, [r0] + cmp r0, 0 + beq _0810E330 + movs r2, 0x1 + negs r2, r2 + movs r0, 0x4 + str r0, [sp] + movs r0, 0x13 + movs r1, 0 + movs r3, 0x6 + bl warp1_set + b _0810E342 + .align 2, 0 +_0810E32C: .4byte gSpecialVar_0x8004 +_0810E330: + movs r2, 0x1 + negs r2, r2 + movs r0, 0x4 + str r0, [sp] + movs r0, 0x13 + movs r1, 0x1 + movs r3, 0x6 + bl warp1_set +_0810E342: + add sp, 0x4 + pop {r0} + bx r0 + thumb_func_end CableCarWarp + + thumb_func_start SetFlagInVar +SetFlagInVar: @ 810E348 + push {lr} + ldr r0, _0810E358 @ =gSpecialVar_0x8004 + ldrh r0, [r0] + bl FlagSet + pop {r0} + bx r0 + .align 2, 0 +_0810E358: .4byte gSpecialVar_0x8004 + thumb_func_end SetFlagInVar + + thumb_func_start GetWeekCount +GetWeekCount: @ 810E35C + push {lr} + ldr r0, _0810E37C @ =gLocalTime + movs r1, 0 + ldrsh r0, [r0, r1] + movs r1, 0x7 + bl __divsi3 + lsls r0, 16 + lsrs r0, 16 + ldr r1, _0810E380 @ =0x0000270f + cmp r0, r1 + bls _0810E376 + adds r0, r1, 0 +_0810E376: + pop {r1} + bx r1 + .align 2, 0 +_0810E37C: .4byte gLocalTime +_0810E380: .4byte 0x0000270f + thumb_func_end GetWeekCount + + thumb_func_start GetLeadMonFriendshipScore +GetLeadMonFriendshipScore: @ 810E384 + push {r4,lr} + bl GetLeadMonIndex + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x64 + muls r1, r0 + ldr r0, _0810E3A8 @ =gPlayerParty + adds r4, r1, r0 + adds r0, r4, 0 + movs r1, 0x20 + bl GetMonData + cmp r0, 0xFF + bne _0810E3AC + movs r0, 0x6 + b _0810E3FE + .align 2, 0 +_0810E3A8: .4byte gPlayerParty +_0810E3AC: + adds r0, r4, 0 + movs r1, 0x20 + bl GetMonData + cmp r0, 0xC7 + bls _0810E3BC + movs r0, 0x5 + b _0810E3FE +_0810E3BC: + adds r0, r4, 0 + movs r1, 0x20 + bl GetMonData + cmp r0, 0x95 + bls _0810E3CC + movs r0, 0x4 + b _0810E3FE +_0810E3CC: + adds r0, r4, 0 + movs r1, 0x20 + bl GetMonData + cmp r0, 0x63 + bls _0810E3DC + movs r0, 0x3 + b _0810E3FE +_0810E3DC: + adds r0, r4, 0 + movs r1, 0x20 + bl GetMonData + cmp r0, 0x31 + bls _0810E3EC + movs r0, 0x2 + b _0810E3FE +_0810E3EC: + adds r0, r4, 0 + movs r1, 0x20 + bl GetMonData + cmp r0, 0 + bne _0810E3FC + movs r0, 0 + b _0810E3FE +_0810E3FC: + movs r0, 0x1 +_0810E3FE: + pop {r4} + pop {r1} + bx r1 + thumb_func_end GetLeadMonFriendshipScore + + thumb_func_start CB2_FieldShowRegionMap +CB2_FieldShowRegionMap: @ 810E404 + push {lr} + ldr r0, _0810E410 @ =c2_exit_to_overworld_1_continue_scripts_restart_music + bl FieldInitRegionMap + pop {r0} + bx r0 + .align 2, 0 +_0810E410: .4byte c2_exit_to_overworld_1_continue_scripts_restart_music + thumb_func_end CB2_FieldShowRegionMap + + thumb_func_start FieldShowRegionMap +FieldShowRegionMap: @ 810E414 + push {lr} + ldr r0, _0810E420 @ =CB2_FieldShowRegionMap + bl SetMainCallback2 + pop {r0} + bx r0 + .align 2, 0 +_0810E420: .4byte CB2_FieldShowRegionMap + thumb_func_end FieldShowRegionMap + + thumb_func_start DoPCTurnOnEffect +DoPCTurnOnEffect: @ 810E424 + push {r4,lr} + ldr r4, _0810E460 @ =Task_PCTurnOnEffect + adds r0, r4, 0 + bl FuncIsActiveTask + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _0810E458 + adds r0, r4, 0 + movs r1, 0x8 + bl CreateTask + lsls r0, 24 + lsrs r0, 24 + ldr r2, _0810E464 @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + movs r2, 0 + strh r2, [r1, 0x8] + strh r0, [r1, 0xA] + strh r2, [r1, 0xC] + strh r2, [r1, 0xE] + strh r2, [r1, 0x10] +_0810E458: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0810E460: .4byte Task_PCTurnOnEffect +_0810E464: .4byte gTasks + thumb_func_end DoPCTurnOnEffect + + thumb_func_start Task_PCTurnOnEffect +Task_PCTurnOnEffect: @ 810E468 + push {lr} + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r0, _0810E48C @ =gTasks + adds r1, r0 + movs r2, 0x8 + ldrsh r0, [r1, r2] + cmp r0, 0 + bne _0810E486 + adds r0, r1, 0 + bl PCTurnOffEffect_0 +_0810E486: + pop {r0} + bx r0 + .align 2, 0 +_0810E48C: .4byte gTasks + thumb_func_end Task_PCTurnOnEffect + + thumb_func_start PCTurnOffEffect_0 +PCTurnOffEffect_0: @ 810E490 + push {r4-r6,lr} + adds r4, r0, 0 + movs r6, 0 + movs r5, 0 + movs r1, 0xE + ldrsh r0, [r4, r1] + cmp r0, 0x6 + bne _0810E4FC + strh r5, [r4, 0xE] + bl player_get_direction_lower_nybble + lsls r0, 24 + lsrs r0, 24 + adds r1, r0, 0 + cmp r0, 0x3 + beq _0810E4C4 + cmp r0, 0x3 + bgt _0810E4BA + cmp r0, 0x2 + beq _0810E4C0 + b _0810E4CC +_0810E4BA: + cmp r1, 0x4 + beq _0810E4C8 + b _0810E4CC +_0810E4C0: + movs r6, 0 + b _0810E4CA +_0810E4C4: + movs r6, 0xFF + b _0810E4CA +_0810E4C8: + movs r6, 0x1 +_0810E4CA: + movs r5, 0xFF +_0810E4CC: + movs r1, 0x10 + ldrsh r0, [r4, r1] + lsls r1, r6, 24 + asrs r1, 24 + lsls r2, r5, 24 + asrs r2, 24 + bl PCTurnOffEffect_1 + bl DrawWholeMapView + ldrh r0, [r4, 0x10] + movs r1, 0x1 + eors r0, r1 + strh r0, [r4, 0x10] + ldrh r0, [r4, 0xC] + adds r0, 0x1 + strh r0, [r4, 0xC] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x5 + bne _0810E4FC + ldrb r0, [r4, 0xA] + bl DestroyTask +_0810E4FC: + ldrh r0, [r4, 0xE] + adds r0, 0x1 + strh r0, [r4, 0xE] + pop {r4-r6} + pop {r0} + bx r0 + thumb_func_end PCTurnOffEffect_0 + + thumb_func_start PCTurnOffEffect_1 +PCTurnOffEffect_1: @ 810E508 + push {r4,r5,lr} + lsls r1, 24 + lsrs r1, 24 + lsls r2, 24 + lsrs r4, r2, 24 + movs r3, 0 + lsls r0, 16 + cmp r0, 0 + beq _0810E544 + ldr r0, _0810E528 @ =gSpecialVar_0x8004 + ldrh r0, [r0] + cmp r0, 0 + bne _0810E52C + movs r3, 0x4 + b _0810E566 + .align 2, 0 +_0810E528: .4byte gSpecialVar_0x8004 +_0810E52C: + cmp r0, 0x1 + bne _0810E538 + ldr r3, _0810E534 @ =0x0000025a + b _0810E566 + .align 2, 0 +_0810E534: .4byte 0x0000025a +_0810E538: + cmp r0, 0x2 + bne _0810E566 + ldr r3, _0810E540 @ =0x00000259 + b _0810E566 + .align 2, 0 +_0810E540: .4byte 0x00000259 +_0810E544: + ldr r0, _0810E550 @ =gSpecialVar_0x8004 + ldrh r0, [r0] + cmp r0, 0 + bne _0810E554 + movs r3, 0x5 + b _0810E566 + .align 2, 0 +_0810E550: .4byte gSpecialVar_0x8004 +_0810E554: + cmp r0, 0x1 + bne _0810E560 + ldr r3, _0810E55C @ =0x0000027f + b _0810E566 + .align 2, 0 +_0810E55C: .4byte 0x0000027f +_0810E560: + cmp r0, 0x2 + bne _0810E566 + ldr r3, _0810E594 @ =0x0000027e +_0810E566: + ldr r2, _0810E598 @ =gSaveBlock1 + movs r5, 0 + ldrsh r0, [r2, r5] + lsls r1, 24 + asrs r1, 24 + adds r0, r1 + adds r0, 0x7 + movs r5, 0x2 + ldrsh r1, [r2, r5] + lsls r2, r4, 24 + asrs r2, 24 + adds r1, r2 + adds r1, 0x7 + movs r4, 0xC0 + lsls r4, 4 + adds r2, r4, 0 + orrs r3, r2 + adds r2, r3, 0 + bl MapGridSetMetatileIdAt + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0810E594: .4byte 0x0000027e +_0810E598: .4byte gSaveBlock1 + thumb_func_end PCTurnOffEffect_1 + + thumb_func_start DoPCTurnOffEffect +DoPCTurnOffEffect: @ 810E59C + push {lr} + bl PCTurnOffEffect + pop {r0} + bx r0 + thumb_func_end DoPCTurnOffEffect + + thumb_func_start PCTurnOffEffect +PCTurnOffEffect: @ 810E5A8 + push {r4-r6,lr} + movs r6, 0 + movs r5, 0 + movs r4, 0 + bl player_get_direction_lower_nybble + lsls r0, 24 + lsrs r0, 24 + adds r1, r0, 0 + cmp r0, 0x3 + beq _0810E5D2 + cmp r0, 0x3 + bgt _0810E5C8 + cmp r0, 0x2 + beq _0810E5CE + b _0810E5DA +_0810E5C8: + cmp r1, 0x4 + beq _0810E5D6 + b _0810E5DA +_0810E5CE: + movs r6, 0 + b _0810E5D8 +_0810E5D2: + movs r6, 0xFF + b _0810E5D8 +_0810E5D6: + movs r6, 0x1 +_0810E5D8: + movs r5, 0xFF +_0810E5DA: + ldr r0, _0810E5E8 @ =gSpecialVar_0x8004 + ldrh r0, [r0] + cmp r0, 0 + bne _0810E5EC + movs r4, 0x4 + b _0810E5FE + .align 2, 0 +_0810E5E8: .4byte gSpecialVar_0x8004 +_0810E5EC: + cmp r0, 0x1 + bne _0810E5F8 + ldr r4, _0810E5F4 @ =0x0000025a + b _0810E5FE + .align 2, 0 +_0810E5F4: .4byte 0x0000025a +_0810E5F8: + cmp r0, 0x2 + bne _0810E5FE + ldr r4, _0810E630 @ =0x00000259 +_0810E5FE: + ldr r2, _0810E634 @ =gSaveBlock1 + movs r1, 0 + ldrsh r0, [r2, r1] + lsls r1, r6, 24 + asrs r1, 24 + adds r0, r1 + adds r0, 0x7 + movs r3, 0x2 + ldrsh r1, [r2, r3] + lsls r2, r5, 24 + asrs r2, 24 + adds r1, r2 + adds r1, 0x7 + movs r3, 0xC0 + lsls r3, 4 + adds r2, r3, 0 + orrs r4, r2 + adds r2, r4, 0 + bl MapGridSetMetatileIdAt + bl DrawWholeMapView + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0810E630: .4byte 0x00000259 +_0810E634: .4byte gSaveBlock1 + thumb_func_end PCTurnOffEffect + + thumb_func_start DoLotteryCornerComputerEffect +DoLotteryCornerComputerEffect: @ 810E638 + push {r4,lr} + ldr r4, _0810E674 @ =Task_LotteryCornerComputerEffect + adds r0, r4, 0 + bl FuncIsActiveTask + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _0810E66C + adds r0, r4, 0 + movs r1, 0x8 + bl CreateTask + lsls r0, 24 + lsrs r0, 24 + ldr r2, _0810E678 @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + movs r2, 0 + strh r2, [r1, 0x8] + strh r0, [r1, 0xA] + strh r2, [r1, 0xC] + strh r2, [r1, 0xE] + strh r2, [r1, 0x10] +_0810E66C: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0810E674: .4byte Task_LotteryCornerComputerEffect +_0810E678: .4byte gTasks + thumb_func_end DoLotteryCornerComputerEffect + + thumb_func_start Task_LotteryCornerComputerEffect +Task_LotteryCornerComputerEffect: @ 810E67C + push {lr} + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + ldr r0, _0810E6A0 @ =gTasks + adds r1, r0 + movs r2, 0x8 + ldrsh r0, [r1, r2] + cmp r0, 0 + bne _0810E69A + adds r0, r1, 0 + bl LotteryCornerComputerEffect +_0810E69A: + pop {r0} + bx r0 + .align 2, 0 +_0810E6A0: .4byte gTasks + thumb_func_end Task_LotteryCornerComputerEffect + + thumb_func_start LotteryCornerComputerEffect +LotteryCornerComputerEffect: @ 810E6A4 + push {r4,lr} + adds r4, r0, 0 + movs r1, 0xE + ldrsh r0, [r4, r1] + cmp r0, 0x6 + bne _0810E712 + movs r0, 0 + strh r0, [r4, 0xE] + movs r1, 0x10 + ldrsh r0, [r4, r1] + cmp r0, 0 + beq _0810E6DC + ldr r2, _0810E6D4 @ =0x00000e9d + movs r0, 0x12 + movs r1, 0x8 + bl MapGridSetMetatileIdAt + ldr r2, _0810E6D8 @ =0x00000ea5 + movs r0, 0x12 + movs r1, 0x9 + bl MapGridSetMetatileIdAt + b _0810E6F2 + .align 2, 0 +_0810E6D4: .4byte 0x00000e9d +_0810E6D8: .4byte 0x00000ea5 +_0810E6DC: + ldr r2, _0810E720 @ =0x00000e58 + movs r0, 0x12 + movs r1, 0x8 + bl MapGridSetMetatileIdAt + movs r2, 0xE6 + lsls r2, 4 + movs r0, 0x12 + movs r1, 0x9 + bl MapGridSetMetatileIdAt +_0810E6F2: + bl DrawWholeMapView + ldrh r0, [r4, 0x10] + movs r1, 0x1 + eors r0, r1 + strh r0, [r4, 0x10] + ldrh r0, [r4, 0xC] + adds r0, 0x1 + strh r0, [r4, 0xC] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x5 + bne _0810E712 + ldrb r0, [r4, 0xA] + bl DestroyTask +_0810E712: + ldrh r0, [r4, 0xE] + adds r0, 0x1 + strh r0, [r4, 0xE] + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0810E720: .4byte 0x00000e58 + thumb_func_end LotteryCornerComputerEffect + + thumb_func_start EndLotteryCornerComputerEffect +EndLotteryCornerComputerEffect: @ 810E724 + push {lr} + ldr r2, _0810E744 @ =0x00000e9d + movs r0, 0x12 + movs r1, 0x8 + bl MapGridSetMetatileIdAt + ldr r2, _0810E748 @ =0x00000ea5 + movs r0, 0x12 + movs r1, 0x9 + bl MapGridSetMetatileIdAt + bl DrawWholeMapView + pop {r0} + bx r0 + .align 2, 0 +_0810E744: .4byte 0x00000e9d +_0810E748: .4byte 0x00000ea5 + thumb_func_end EndLotteryCornerComputerEffect + + thumb_func_start SetDepartmentStoreFloorVar +SetDepartmentStoreFloorVar: @ 810E74C + push {lr} + ldr r0, _0810E768 @ =gSaveBlock1 + ldrb r0, [r0, 0x15] + subs r0, 0x11 + lsls r0, 24 + asrs r0, 24 + cmp r0, 0x5 + bhi _0810E79C + lsls r0, 2 + ldr r1, _0810E76C @ =_0810E770 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0810E768: .4byte gSaveBlock1 +_0810E76C: .4byte _0810E770 + .align 2, 0 +_0810E770: + .4byte _0810E79C + .4byte _0810E788 + .4byte _0810E78C + .4byte _0810E790 + .4byte _0810E794 + .4byte _0810E798 +_0810E788: + movs r1, 0x1 + b _0810E79E +_0810E78C: + movs r1, 0x2 + b _0810E79E +_0810E790: + movs r1, 0x3 + b _0810E79E +_0810E794: + movs r1, 0x4 + b _0810E79E +_0810E798: + movs r1, 0xF + b _0810E79E +_0810E79C: + movs r1, 0 +_0810E79E: + ldr r0, _0810E7A8 @ =0x00004043 + bl VarSet + pop {r0} + bx r0 + .align 2, 0 +_0810E7A8: .4byte 0x00004043 + thumb_func_end SetDepartmentStoreFloorVar + + thumb_func_start ScriptAddElevatorMenuItem +ScriptAddElevatorMenuItem: @ 810E7AC + push {r4-r7,lr} + mov r7, r8 + push {r7} + lsls r0, 24 + lsrs r6, r0, 24 + lsls r1, 24 + lsrs r7, r1, 24 + lsls r2, 24 + lsrs r2, 24 + mov r12, r2 + lsls r3, 24 + lsrs r3, 24 + mov r8, r3 + ldr r0, _0810E81C @ =gSpecialVar_0x8004 + ldrh r1, [r0] + adds r2, r0, 0 + ldr r3, _0810E820 @ =gUnknown_03000760 + cmp r1, 0 + bne _0810E7E8 + movs r1, 0 + adds r5, r3, 0 + movs r4, 0x10 +_0810E7D8: + lsls r0, r1, 2 + adds r0, r5 + strb r4, [r0] + adds r0, r1, 0x1 + lsls r0, 24 + lsrs r1, r0, 24 + cmp r1, 0x13 + bls _0810E7D8 +_0810E7E8: + ldrh r0, [r2] + lsls r0, 2 + adds r0, r3 + strb r6, [r0] + ldrh r0, [r2] + lsls r0, 2 + adds r0, r3 + strb r7, [r0, 0x1] + ldrh r0, [r2] + lsls r0, 2 + adds r0, r3 + mov r1, r12 + strb r1, [r0, 0x2] + ldrh r0, [r2] + lsls r0, 2 + adds r0, r3 + mov r1, r8 + strb r1, [r0, 0x3] + ldrh r0, [r2] + adds r0, 0x1 + strh r0, [r2] + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + .align 2, 0 +_0810E81C: .4byte gSpecialVar_0x8004 +_0810E820: .4byte gUnknown_03000760 + thumb_func_end ScriptAddElevatorMenuItem + + thumb_func_start ScriptShowElevatorMenu +ScriptShowElevatorMenu: @ 810E824 + push {r4,r5,lr} + movs r4, 0 + ldr r5, _0810E868 @ =gUnknown_0203925A + strb r4, [r5] + ldr r0, _0810E86C @ =gUnknown_0203925B + strb r4, [r0] + movs r0, 0x10 + movs r1, 0 + movs r2, 0 + movs r3, 0 + bl ScriptAddElevatorMenuItem + ldr r2, _0810E870 @ =gUnknown_03000760 + ldrb r0, [r2] + cmp r0, 0x10 + beq _0810E85C + adds r1, r5, 0 +_0810E846: + ldrb r0, [r1] + adds r0, 0x1 + strb r0, [r1] + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + lsls r0, r4, 2 + adds r0, r2 + ldrb r0, [r0] + cmp r0, 0x10 + bne _0810E846 +_0810E85C: + bl sub_810E874 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0810E868: .4byte gUnknown_0203925A +_0810E86C: .4byte gUnknown_0203925B +_0810E870: .4byte gUnknown_03000760 + thumb_func_end ScriptShowElevatorMenu + + thumb_func_start sub_810E874 +sub_810E874: @ 810E874 + push {r4-r6,lr} + sub sp, 0x8 + bl ScriptContext2_Enable + ldr r4, _0810E8B8 @ =gUnknown_0203925A + ldrb r0, [r4] + cmp r0, 0x5 + bls _0810E8C0 + movs r0, 0 + movs r1, 0 + movs r2, 0x8 + movs r3, 0xB + bl MenuDrawTextWindow + movs r4, 0 + str r4, [sp] + movs r0, 0x7 + str r0, [sp, 0x4] + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + movs r3, 0x5 + bl InitMenu + ldr r0, _0810E8BC @ =gUnknown_0203925C + strb r4, [r0] + bl sub_80F944C + bl LoadScrollIndicatorPalette + bl sub_810ECD4 + b _0810E8E8 + .align 2, 0 +_0810E8B8: .4byte gUnknown_0203925A +_0810E8BC: .4byte gUnknown_0203925C +_0810E8C0: + ldrb r3, [r4] + lsls r3, 1 + adds r3, 0x1 + lsls r3, 24 + lsrs r3, 24 + movs r0, 0 + movs r1, 0 + movs r2, 0x8 + bl MenuDrawTextWindow + ldrb r3, [r4] + movs r0, 0 + str r0, [sp] + movs r0, 0x7 + str r0, [sp, 0x4] + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + bl InitMenu +_0810E8E8: + movs r4, 0 + ldr r1, _0810E938 @ =gUnknown_03000760 + ldrb r0, [r1] + cmp r0, 0x10 + beq _0810E924 + ldr r6, _0810E93C @ =gUnknown_083F8380 + adds r5, r1, 0 +_0810E8F6: + lsls r0, r4, 2 + adds r0, r5 + ldrb r0, [r0] + lsls r0, 2 + adds r0, r6 + ldr r0, [r0] + lsls r2, r4, 1 + adds r2, 0x1 + lsls r2, 24 + lsrs r2, 24 + movs r1, 0x1 + bl MenuPrint + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0x4 + bhi _0810E924 + lsls r0, r4, 2 + adds r0, r5 + ldrb r0, [r0] + cmp r0, 0x10 + bne _0810E8F6 +_0810E924: + bl sub_810E944 + ldr r0, _0810E940 @ =sub_810E984 + movs r1, 0x8 + bl CreateTask + add sp, 0x8 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0810E938: .4byte gUnknown_03000760 +_0810E93C: .4byte gUnknown_083F8380 +_0810E940: .4byte sub_810E984 + thumb_func_end sub_810E874 + + thumb_func_start sub_810E944 +sub_810E944: @ 810E944 + push {lr} + movs r0, 0x14 + movs r1, 0 + movs r2, 0x1D + movs r3, 0x5 + bl MenuDrawTextWindow + ldr r0, _0810E978 @ =gOtherText_NowOn + movs r1, 0x15 + movs r2, 0x1 + movs r3, 0x40 + bl sub_8072BD8 + ldr r1, _0810E97C @ =gUnknown_083F8380 + ldr r0, _0810E980 @ =gSpecialVar_0x8005 + ldrh r0, [r0] + lsls r0, 2 + adds r0, r1 + ldr r0, [r0] + movs r1, 0x15 + movs r2, 0x3 + movs r3, 0x40 + bl sub_8072BD8 + pop {r0} + bx r0 + .align 2, 0 +_0810E978: .4byte gOtherText_NowOn +_0810E97C: .4byte gUnknown_083F8380 +_0810E980: .4byte gSpecialVar_0x8005 + thumb_func_end sub_810E944 + + thumb_func_start sub_810E984 +sub_810E984: @ 810E984 + push {r4-r6,lr} + sub sp, 0x8 + lsls r0, 24 + lsrs r6, r0, 24 + ldr r0, _0810EA44 @ =gMain + ldrh r0, [r0, 0x2E] + cmp r0, 0x40 + bne _0810E9B8 + ldr r1, _0810EA48 @ =gUnknown_0203925B + ldrb r0, [r1] + cmp r0, 0 + beq _0810E9B8 + subs r0, 0x1 + strb r0, [r1] + bl GetMenuCursorPos + lsls r0, 24 + lsrs r4, r0, 24 + movs r0, 0x1 + negs r0, r0 + bl MoveMenuCursorNoWrap + adds r0, r4, 0 + movs r1, 0x40 + bl sub_810EAC8 +_0810E9B8: + ldr r0, _0810EA44 @ =gMain + ldrh r0, [r0, 0x2E] + cmp r0, 0x80 + bne _0810E9E8 + ldr r2, _0810EA48 @ =gUnknown_0203925B + ldrb r1, [r2] + ldr r0, _0810EA4C @ =gUnknown_0203925A + ldrb r0, [r0] + subs r0, 0x1 + cmp r1, r0 + beq _0810E9E8 + adds r0, r1, 0x1 + strb r0, [r2] + bl GetMenuCursorPos + lsls r0, 24 + lsrs r4, r0, 24 + movs r0, 0x1 + bl MoveMenuCursorNoWrap + adds r0, r4, 0 + movs r1, 0x80 + bl sub_810EAC8 +_0810E9E8: + ldr r0, _0810EA44 @ =gMain + ldrh r2, [r0, 0x2E] + movs r5, 0x1 + adds r1, r5, 0 + ands r1, r2 + cmp r1, 0 + beq _0810EA94 + ldr r1, _0810EA50 @ =gUnknown_03000760 + ldr r4, _0810EA48 @ =gUnknown_0203925B + ldrb r0, [r4] + lsls r0, 2 + adds r0, r1 + movs r1, 0x1 + ldrsb r1, [r0, r1] + movs r2, 0x2 + ldrsb r2, [r0, r2] + movs r3, 0x1 + negs r3, r3 + movs r0, 0x2 + str r0, [sp] + str r5, [sp, 0x4] + movs r0, 0 + bl saved_warp2_set_2 + ldr r1, _0810EA54 @ =gSpecialVar_0x8005 + ldrh r0, [r1] + ldrb r2, [r4] + cmp r0, r2 + bne _0810EA5C + ldr r1, _0810EA58 @ =gScriptResult + movs r0, 0 + strh r0, [r1] + movs r0, 0x5 + bl PlaySE + movs r0, 0 + movs r1, 0 + movs r2, 0x1D + movs r3, 0xC + bl MenuZeroFillWindowRect + adds r0, r6, 0 + bl sub_810EC9C + b _0810EABC + .align 2, 0 +_0810EA44: .4byte gMain +_0810EA48: .4byte gUnknown_0203925B +_0810EA4C: .4byte gUnknown_0203925A +_0810EA50: .4byte gUnknown_03000760 +_0810EA54: .4byte gSpecialVar_0x8005 +_0810EA58: .4byte gScriptResult +_0810EA5C: + ldr r0, _0810EA88 @ =gScriptResult + strh r5, [r0] + ldrb r0, [r4] + strh r0, [r1] + bl sub_810EBEC + ldr r0, _0810EA8C @ =gScriptLastTalked + ldrb r0, [r0] + ldr r2, _0810EA90 @ =gSaveBlock1 + ldrb r1, [r2, 0x5] + ldrb r2, [r2, 0x4] + movs r3, 0x1 + bl FieldObjectTurnByLocalIdAndMap + bl sub_810EEDC + bl MenuZeroFillScreen + adds r0, r6, 0 + bl DestroyTask + b _0810EABC + .align 2, 0 +_0810EA88: .4byte gScriptResult +_0810EA8C: .4byte gScriptLastTalked +_0810EA90: .4byte gSaveBlock1 +_0810EA94: + movs r0, 0x2 + ands r0, r2 + cmp r0, 0 + beq _0810EABC + ldr r0, _0810EAC4 @ =gScriptResult + strh r1, [r0] + movs r0, 0x5 + bl PlaySE + bl sub_810EEDC + movs r0, 0 + movs r1, 0 + movs r2, 0x1D + movs r3, 0xC + bl MenuZeroFillWindowRect + adds r0, r6, 0 + bl sub_810EC9C +_0810EABC: + add sp, 0x8 + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0810EAC4: .4byte gScriptResult + thumb_func_end sub_810E984 + + thumb_func_start sub_810EAC8 +sub_810EAC8: @ 810EAC8 + push {r4-r7,lr} + mov r7, r8 + push {r7} + lsls r0, 24 + lsrs r2, r0, 24 + adds r5, r2, 0 + lsls r1, 24 + lsrs r1, 24 + adds r3, r1, 0 + movs r7, 0 + movs r4, 0 + ldr r0, _0810EAEC @ =gUnknown_0203925A + ldrb r0, [r0] + cmp r0, 0x4 + bhi _0810EAF0 + movs r0, 0 + b _0810EB78 + .align 2, 0 +_0810EAEC: .4byte gUnknown_0203925A +_0810EAF0: + cmp r1, 0x40 + bne _0810EB04 + cmp r2, 0 + bne _0810EB18 + ldr r0, _0810EB00 @ =gUnknown_0203925B + ldrb r4, [r0] + movs r7, 0x1 + b _0810EB1C + .align 2, 0 +_0810EB00: .4byte gUnknown_0203925B +_0810EB04: + cmp r3, 0x80 + bne _0810EB18 + cmp r5, 0x4 + bne _0810EB18 + ldr r0, _0810EB84 @ =gUnknown_0203925B + ldrb r0, [r0] + subs r0, 0x4 + lsls r0, 24 + lsrs r4, r0, 24 + movs r7, 0x1 +_0810EB18: + cmp r7, 0 + beq _0810EB76 +_0810EB1C: + adds r0, r4, 0 + movs r1, 0x5 + bl sub_810EB90 + movs r0, 0x2 + movs r1, 0x1 + movs r2, 0x7 + movs r3, 0xA + bl MenuFillWindowRectWithBlankTile + movs r5, 0 + ldr r2, _0810EB88 @ =gUnknown_03000760 + lsls r1, r4, 2 + adds r0, r1, r2 + ldrb r0, [r0] + cmp r0, 0x10 + beq _0810EB76 + ldr r0, _0810EB8C @ =gUnknown_083F8380 + mov r8, r0 + adds r6, r2, 0 +_0810EB44: + adds r0, r1, r6 + ldrb r0, [r0] + lsls r0, 2 + add r0, r8 + ldr r0, [r0] + lsls r2, r5, 1 + adds r2, 0x1 + lsls r2, 24 + lsrs r2, 24 + movs r1, 0x1 + bl MenuPrint + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + adds r0, r5, 0x1 + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0x4 + bhi _0810EB76 + lsls r1, r4, 2 + adds r0, r1, r6 + ldrb r0, [r0] + cmp r0, 0x10 + bne _0810EB44 +_0810EB76: + adds r0, r7, 0 +_0810EB78: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_0810EB84: .4byte gUnknown_0203925B +_0810EB88: .4byte gUnknown_03000760 +_0810EB8C: .4byte gUnknown_083F8380 + thumb_func_end sub_810EAC8 + + thumb_func_start sub_810EB90 +sub_810EB90: @ 810EB90 + push {r4,r5,lr} + lsls r0, 24 + lsrs r4, r0, 24 + lsls r1, 24 + lsrs r5, r1, 24 + cmp r4, 0 + bne _0810EBB4 + ldr r0, _0810EBB0 @ =gUnknown_0203925C + ldrb r1, [r0] + movs r2, 0x2 + eors r1, r2 + strb r1, [r0] + movs r0, 0 + bl DestroyVerticalScrollIndicator + b _0810EBB8 + .align 2, 0 +_0810EBB0: .4byte gUnknown_0203925C +_0810EBB4: + bl sub_810ECB0 +_0810EBB8: + adds r1, r4, r5 + ldr r0, _0810EBC8 @ =gUnknown_0203925A + ldrb r0, [r0] + cmp r1, r0 + bge _0810EBCC + bl sub_810ECD4 + b _0810EBE0 + .align 2, 0 +_0810EBC8: .4byte gUnknown_0203925A +_0810EBCC: + cmp r1, r0 + bne _0810EBE0 + ldr r0, _0810EBE8 @ =gUnknown_0203925C + ldrb r1, [r0] + movs r2, 0x1 + eors r1, r2 + strb r1, [r0] + movs r0, 0x1 + bl DestroyVerticalScrollIndicator +_0810EBE0: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0810EBE8: .4byte gUnknown_0203925C + thumb_func_end sub_810EB90 + + thumb_func_start sub_810EBEC +sub_810EBEC: @ 810EBEC + push {lr} + ldr r0, _0810EC2C @ =sub_810EC34 + movs r1, 0x9 + bl CreateTask + lsls r0, 24 + lsrs r0, 24 + ldr r2, _0810EC30 @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + movs r0, 0 + movs r2, 0x1 + strh r2, [r1, 0x8] + strh r0, [r1, 0xA] + strh r0, [r1, 0xC] + strh r0, [r1, 0xE] + strh r2, [r1, 0x10] + movs r0, 0x3 + strh r0, [r1, 0x12] + movs r0, 0 + bl SetCameraPanningCallback + bl sub_810ECFC + movs r0, 0x59 + bl PlaySE + pop {r0} + bx r0 + .align 2, 0 +_0810EC2C: .4byte sub_810EC34 +_0810EC30: .4byte gTasks + thumb_func_end sub_810EBEC + + thumb_func_start sub_810EC34 +sub_810EC34: @ 810EC34 + push {r4,r5,lr} + lsls r0, 24 + lsrs r5, r0, 24 + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + ldr r1, _0810EC98 @ =gTasks + adds r4, r0, r1 + ldrh r0, [r4, 0xA] + adds r0, 0x1 + strh r0, [r4, 0xA] + movs r1, 0xA + ldrsh r0, [r4, r1] + movs r2, 0x12 + ldrsh r1, [r4, r2] + bl __modsi3 + cmp r0, 0 + bne _0810EC92 + strh r0, [r4, 0xA] + ldrh r0, [r4, 0xC] + adds r0, 0x1 + strh r0, [r4, 0xC] + movs r1, 0xE + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _0810EC92 + ldrh r0, [r4, 0x10] + negs r0, r0 + strh r0, [r4, 0x10] + movs r2, 0x10 + ldrsh r1, [r4, r2] + movs r0, 0 + bl SetCameraPanning + movs r1, 0xC + ldrsh r0, [r4, r1] + cmp r0, 0x17 + bne _0810EC92 + movs r0, 0x49 + bl PlaySE + adds r0, r5, 0 + bl sub_810EC9C + bl InstallCameraPanAheadCallback +_0810EC92: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0810EC98: .4byte gTasks + thumb_func_end sub_810EC34 + + thumb_func_start sub_810EC9C +sub_810EC9C: @ 810EC9C + push {lr} + lsls r0, 24 + lsrs r0, 24 + bl DestroyTask + bl EnableBothScriptContexts + pop {r0} + bx r0 + thumb_func_end sub_810EC9C + + thumb_func_start sub_810ECB0 +sub_810ECB0: @ 810ECB0 + push {lr} + ldr r2, _0810ECD0 @ =gUnknown_0203925C + ldrb r1, [r2] + lsrs r0, r1, 1 + cmp r0, 0x1 + beq _0810ECCC + movs r0, 0x2 + orrs r0, r1 + strb r0, [r2] + movs r0, 0 + movs r1, 0x24 + movs r2, 0x8 + bl CreateVerticalScrollIndicators +_0810ECCC: + pop {r0} + bx r0 + .align 2, 0 +_0810ECD0: .4byte gUnknown_0203925C + thumb_func_end sub_810ECB0 + + thumb_func_start sub_810ECD4 +sub_810ECD4: @ 810ECD4 + push {lr} + ldr r2, _0810ECF8 @ =gUnknown_0203925C + ldrb r1, [r2] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + bne _0810ECF2 + movs r0, 0x1 + orrs r0, r1 + strb r0, [r2] + movs r0, 0x1 + movs r1, 0x24 + movs r2, 0x48 + bl CreateVerticalScrollIndicators +_0810ECF2: + pop {r0} + bx r0 + .align 2, 0 +_0810ECF8: .4byte gUnknown_0203925C + thumb_func_end sub_810ECD4 + + thumb_func_start sub_810ECFC +sub_810ECFC: @ 810ECFC + push {r4,lr} + ldr r4, _0810ED38 @ =sub_810ED40 + adds r0, r4, 0 + bl FuncIsActiveTask + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _0810ED30 + adds r0, r4, 0 + movs r1, 0x8 + bl CreateTask + lsls r0, 24 + lsrs r0, 24 + ldr r2, _0810ED3C @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + movs r2, 0 + strh r2, [r1, 0x8] + strh r0, [r1, 0xA] + strh r2, [r1, 0xC] + strh r2, [r1, 0xE] + strh r2, [r1, 0x10] +_0810ED30: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0810ED38: .4byte sub_810ED40 +_0810ED3C: .4byte gTasks + thumb_func_end sub_810ECFC + + thumb_func_start sub_810ED40 +sub_810ED40: @ 810ED40 + push {lr} + adds r1, r0, 0 + lsls r1, 24 + lsrs r1, 24 + lsls r0, r1, 2 + adds r0, r1 + lsls r0, 3 + ldr r1, _0810ED5C @ =gTasks + adds r0, r1 + bl sub_810ED60 + pop {r0} + bx r0 + .align 2, 0 +_0810ED5C: .4byte gTasks + thumb_func_end sub_810ED40 + + thumb_func_start sub_810ED60 +sub_810ED60: @ 810ED60 + push {r4,r5,lr} + adds r5, r0, 0 + movs r1, 0xE + ldrsh r0, [r5, r1] + cmp r0, 0x8 + beq _0810ED6E + b _0810EEB2 +_0810ED6E: + movs r0, 0 + strh r0, [r5, 0xE] + movs r1, 0x10 + ldrsh r0, [r5, r1] + cmp r0, 0 + beq _0810EE14 + ldr r2, _0810EDFC @ =0x00000e68 + movs r0, 0x7 + movs r1, 0x7 + bl MapGridSetMetatileIdAt + ldr r4, _0810EE00 @ =0x00000e69 + movs r0, 0x8 + movs r1, 0x7 + adds r2, r4, 0 + bl MapGridSetMetatileIdAt + movs r0, 0x9 + movs r1, 0x7 + adds r2, r4, 0 + bl MapGridSetMetatileIdAt + ldr r2, _0810EE04 @ =0x00000e6a + movs r0, 0xA + movs r1, 0x7 + bl MapGridSetMetatileIdAt + movs r2, 0xE7 + lsls r2, 4 + movs r0, 0x7 + movs r1, 0x8 + bl MapGridSetMetatileIdAt + adds r4, 0x8 + movs r0, 0x8 + movs r1, 0x8 + adds r2, r4, 0 + bl MapGridSetMetatileIdAt + movs r0, 0x9 + movs r1, 0x8 + adds r2, r4, 0 + bl MapGridSetMetatileIdAt + ldr r2, _0810EE08 @ =0x00000e72 + movs r0, 0xA + movs r1, 0x8 + bl MapGridSetMetatileIdAt + ldr r2, _0810EE0C @ =0x00000e78 + movs r0, 0x7 + movs r1, 0x9 + bl MapGridSetMetatileIdAt + adds r4, 0x8 + movs r0, 0x8 + movs r1, 0x9 + adds r2, r4, 0 + bl MapGridSetMetatileIdAt + movs r0, 0x9 + movs r1, 0x9 + adds r2, r4, 0 + bl MapGridSetMetatileIdAt + ldr r2, _0810EE10 @ =0x00000e7a + movs r0, 0xA + movs r1, 0x9 + bl MapGridSetMetatileIdAt + b _0810EE92 + .align 2, 0 +_0810EDFC: .4byte 0x00000e68 +_0810EE00: .4byte 0x00000e69 +_0810EE04: .4byte 0x00000e6a +_0810EE08: .4byte 0x00000e72 +_0810EE0C: .4byte 0x00000e78 +_0810EE10: .4byte 0x00000e7a +_0810EE14: + ldr r2, _0810EEC0 @ =0x00000e6b + movs r0, 0x7 + movs r1, 0x7 + bl MapGridSetMetatileIdAt + ldr r4, _0810EEC4 @ =0x00000e6c + movs r0, 0x8 + movs r1, 0x7 + adds r2, r4, 0 + bl MapGridSetMetatileIdAt + movs r0, 0x9 + movs r1, 0x7 + adds r2, r4, 0 + bl MapGridSetMetatileIdAt + ldr r2, _0810EEC8 @ =0x00000e6d + movs r0, 0xA + movs r1, 0x7 + bl MapGridSetMetatileIdAt + ldr r2, _0810EECC @ =0x00000e73 + movs r0, 0x7 + movs r1, 0x8 + bl MapGridSetMetatileIdAt + adds r4, 0x8 + movs r0, 0x8 + movs r1, 0x8 + adds r2, r4, 0 + bl MapGridSetMetatileIdAt + movs r0, 0x9 + movs r1, 0x8 + adds r2, r4, 0 + bl MapGridSetMetatileIdAt + ldr r2, _0810EED0 @ =0x00000e75 + movs r0, 0xA + movs r1, 0x8 + bl MapGridSetMetatileIdAt + ldr r2, _0810EED4 @ =0x00000e7b + movs r0, 0x7 + movs r1, 0x9 + bl MapGridSetMetatileIdAt + adds r4, 0x8 + movs r0, 0x8 + movs r1, 0x9 + adds r2, r4, 0 + bl MapGridSetMetatileIdAt + movs r0, 0x9 + movs r1, 0x9 + adds r2, r4, 0 + bl MapGridSetMetatileIdAt + ldr r2, _0810EED8 @ =0x00000e7d + movs r0, 0xA + movs r1, 0x9 + bl MapGridSetMetatileIdAt +_0810EE92: + bl DrawWholeMapView + ldrh r0, [r5, 0x10] + movs r1, 0x1 + eors r0, r1 + strh r0, [r5, 0x10] + ldrh r0, [r5, 0xC] + adds r0, 0x1 + strh r0, [r5, 0xC] + lsls r0, 16 + asrs r0, 16 + cmp r0, 0x8 + bne _0810EEB2 + ldrb r0, [r5, 0xA] + bl DestroyTask +_0810EEB2: + ldrh r0, [r5, 0xE] + adds r0, 0x1 + strh r0, [r5, 0xE] + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0810EEC0: .4byte 0x00000e6b +_0810EEC4: .4byte 0x00000e6c +_0810EEC8: .4byte 0x00000e6d +_0810EECC: .4byte 0x00000e73 +_0810EED0: .4byte 0x00000e75 +_0810EED4: .4byte 0x00000e7b +_0810EED8: .4byte 0x00000e7d + thumb_func_end sub_810ED60 + + thumb_func_start sub_810EEDC +sub_810EEDC: @ 810EEDC + push {r4,lr} + ldr r4, _0810EF08 @ =gUnknown_0203925C + ldrb r1, [r4] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _0810EEF0 + movs r0, 0x1 + bl DestroyVerticalScrollIndicator +_0810EEF0: + ldrb r0, [r4] + lsrs r0, 1 + cmp r0, 0x1 + bne _0810EEFE + movs r0, 0 + bl DestroyVerticalScrollIndicator +_0810EEFE: + bl BuyMenuFreeMemory + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0810EF08: .4byte gUnknown_0203925C + thumb_func_end sub_810EEDC + + thumb_func_start SetTrickHouseEndRoomFlag +SetTrickHouseEndRoomFlag: @ 810EF0C + push {lr} + ldr r1, _0810EF1C @ =gSpecialVar_0x8004 + ldr r0, _0810EF20 @ =0x00000259 + strh r0, [r1] + bl FlagSet + pop {r0} + bx r0 + .align 2, 0 +_0810EF1C: .4byte gSpecialVar_0x8004 +_0810EF20: .4byte 0x00000259 + thumb_func_end SetTrickHouseEndRoomFlag + + thumb_func_start ResetTrickHouseEndRoomFlag +ResetTrickHouseEndRoomFlag: @ 810EF24 + push {lr} + ldr r1, _0810EF34 @ =gSpecialVar_0x8004 + ldr r0, _0810EF38 @ =0x00000259 + strh r0, [r1] + bl FlagReset + pop {r0} + bx r0 + .align 2, 0 +_0810EF34: .4byte gSpecialVar_0x8004 +_0810EF38: .4byte 0x00000259 + thumb_func_end ResetTrickHouseEndRoomFlag + + thumb_func_start CheckLeadMonCool +CheckLeadMonCool: @ 810EF3C + push {lr} + bl GetLeadMonIndex + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x64 + muls r0, r1 + ldr r1, _0810EF5C @ =gPlayerParty + adds r0, r1 + movs r1, 0x16 + bl GetMonData + cmp r0, 0xC7 + bls _0810EF60 + movs r0, 0x1 + b _0810EF62 + .align 2, 0 +_0810EF5C: .4byte gPlayerParty +_0810EF60: + movs r0, 0 +_0810EF62: + pop {r1} + bx r1 + thumb_func_end CheckLeadMonCool + + thumb_func_start CheckLeadMonBeauty +CheckLeadMonBeauty: @ 810EF68 + push {lr} + bl GetLeadMonIndex + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x64 + muls r0, r1 + ldr r1, _0810EF88 @ =gPlayerParty + adds r0, r1 + movs r1, 0x17 + bl GetMonData + cmp r0, 0xC7 + bls _0810EF8C + movs r0, 0x1 + b _0810EF8E + .align 2, 0 +_0810EF88: .4byte gPlayerParty +_0810EF8C: + movs r0, 0 +_0810EF8E: + pop {r1} + bx r1 + thumb_func_end CheckLeadMonBeauty + + thumb_func_start CheckLeadMonCute +CheckLeadMonCute: @ 810EF94 + push {lr} + bl GetLeadMonIndex + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x64 + muls r0, r1 + ldr r1, _0810EFB4 @ =gPlayerParty + adds r0, r1 + movs r1, 0x18 + bl GetMonData + cmp r0, 0xC7 + bls _0810EFB8 + movs r0, 0x1 + b _0810EFBA + .align 2, 0 +_0810EFB4: .4byte gPlayerParty +_0810EFB8: + movs r0, 0 +_0810EFBA: + pop {r1} + bx r1 + thumb_func_end CheckLeadMonCute + + thumb_func_start CheckLeadMonSmart +CheckLeadMonSmart: @ 810EFC0 + push {lr} + bl GetLeadMonIndex + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x64 + muls r0, r1 + ldr r1, _0810EFE0 @ =gPlayerParty + adds r0, r1 + movs r1, 0x21 + bl GetMonData + cmp r0, 0xC7 + bls _0810EFE4 + movs r0, 0x1 + b _0810EFE6 + .align 2, 0 +_0810EFE0: .4byte gPlayerParty +_0810EFE4: + movs r0, 0 +_0810EFE6: + pop {r1} + bx r1 + thumb_func_end CheckLeadMonSmart + + thumb_func_start CheckLeadMonTough +CheckLeadMonTough: @ 810EFEC + push {lr} + bl GetLeadMonIndex + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x64 + muls r0, r1 + ldr r1, _0810F00C @ =gPlayerParty + adds r0, r1 + movs r1, 0x2F + bl GetMonData + cmp r0, 0xC7 + bls _0810F010 + movs r0, 0x1 + b _0810F012 + .align 2, 0 +_0810F00C: .4byte gPlayerParty +_0810F010: + movs r0, 0 +_0810F012: + pop {r1} + bx r1 + thumb_func_end CheckLeadMonTough + + thumb_func_start IsGrassTypeInParty +IsGrassTypeInParty: @ 810F018 + push {r4-r6,lr} + movs r5, 0 + ldr r6, _0810F068 @ =gBaseStats +_0810F01E: + movs r0, 0x64 + adds r1, r5, 0 + muls r1, r0 + ldr r0, _0810F06C @ =gPlayerParty + adds r4, r1, r0 + adds r0, r4, 0 + movs r1, 0x5 + bl GetMonData + cmp r0, 0 + beq _0810F074 + adds r0, r4, 0 + movs r1, 0x2D + bl GetMonData + cmp r0, 0 + bne _0810F074 + adds r0, r4, 0 + movs r1, 0xB + bl GetMonData + lsls r0, 16 + lsrs r0, 16 + lsls r1, r0, 3 + subs r1, r0 + lsls r1, 2 + adds r1, r6 + ldrb r0, [r1, 0x6] + cmp r0, 0xC + beq _0810F060 + ldrb r0, [r1, 0x7] + cmp r0, 0xC + bne _0810F074 +_0810F060: + ldr r1, _0810F070 @ =gScriptResult + movs r0, 0x1 + b _0810F082 + .align 2, 0 +_0810F068: .4byte gBaseStats +_0810F06C: .4byte gPlayerParty +_0810F070: .4byte gScriptResult +_0810F074: + adds r0, r5, 0x1 + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0x5 + bls _0810F01E + ldr r1, _0810F08C @ =gScriptResult + movs r0, 0 +_0810F082: + strh r0, [r1] + pop {r4-r6} + pop {r0} + bx r0 + .align 2, 0 +_0810F08C: .4byte gScriptResult + thumb_func_end IsGrassTypeInParty + + thumb_func_start ShowGlassWorkshopMenu +ShowGlassWorkshopMenu: @ 810F090 + push {r4,r5,lr} + sub sp, 0x8 + bl ScriptContext2_Enable + movs r0, 0 + movs r1, 0 + movs r2, 0xA + movs r3, 0xB + bl MenuDrawTextWindow + movs r4, 0 + str r4, [sp] + movs r0, 0x9 + str r0, [sp, 0x4] + movs r0, 0 + movs r1, 0x1 + movs r2, 0x1 + movs r3, 0x5 + bl InitMenu + ldr r0, _0810F104 @ =gUnknown_0203925C + strb r4, [r0] + bl sub_80F944C + bl LoadScrollIndicatorPalette + bl sub_810F2B4 + ldr r5, _0810F108 @ =gUnknown_083F83C0 +_0810F0CA: + lsls r0, r4, 2 + adds r0, r5 + ldr r0, [r0] + lsls r2, r4, 1 + adds r2, 0x1 + lsls r2, 24 + lsrs r2, 24 + movs r1, 0x1 + bl MenuPrint + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, 0x4 + bls _0810F0CA + ldr r1, _0810F10C @ =gUnknown_0203925B + movs r0, 0 + strb r0, [r1] + ldr r1, _0810F110 @ =gUnknown_0203925A + movs r0, 0x8 + strb r0, [r1] + ldr r0, _0810F114 @ =sub_810F118 + movs r1, 0x8 + bl CreateTask + add sp, 0x8 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0810F104: .4byte gUnknown_0203925C +_0810F108: .4byte gUnknown_083F83C0 +_0810F10C: .4byte gUnknown_0203925B +_0810F110: .4byte gUnknown_0203925A +_0810F114: .4byte sub_810F118 + thumb_func_end ShowGlassWorkshopMenu + + thumb_func_start sub_810F118 +sub_810F118: @ 810F118 + push {r4,r5,lr} + lsls r0, 24 + lsrs r5, r0, 24 + ldr r0, _0810F1E4 @ =gMain + ldrh r0, [r0, 0x2E] + cmp r0, 0x40 + bne _0810F14A + ldr r1, _0810F1E8 @ =gUnknown_0203925B + ldrb r0, [r1] + cmp r0, 0 + beq _0810F14A + subs r0, 0x1 + strb r0, [r1] + bl GetMenuCursorPos + lsls r0, 24 + lsrs r4, r0, 24 + movs r0, 0x1 + negs r0, r0 + bl MoveMenuCursorNoWrap + adds r0, r4, 0 + movs r1, 0x40 + bl sub_810F1F4 +_0810F14A: + ldr r0, _0810F1E4 @ =gMain + ldrh r0, [r0, 0x2E] + cmp r0, 0x80 + bne _0810F17A + ldr r2, _0810F1E8 @ =gUnknown_0203925B + ldrb r1, [r2] + ldr r0, _0810F1EC @ =gUnknown_0203925A + ldrb r0, [r0] + subs r0, 0x1 + cmp r1, r0 + beq _0810F17A + adds r0, r1, 0x1 + strb r0, [r2] + bl GetMenuCursorPos + lsls r0, 24 + lsrs r4, r0, 24 + movs r0, 0x1 + bl MoveMenuCursorNoWrap + adds r0, r4, 0 + movs r1, 0x80 + bl sub_810F1F4 +_0810F17A: + ldr r4, _0810F1E4 @ =gMain + ldrh r1, [r4, 0x2E] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + beq _0810F1AE + bl sub_8072DEC + ldr r0, _0810F1F0 @ =gScriptResult + ldr r1, _0810F1E8 @ =gUnknown_0203925B + ldrb r1, [r1] + strh r1, [r0] + movs r0, 0x5 + bl PlaySE + bl sub_810EEDC + movs r0, 0 + movs r1, 0 + movs r2, 0x1D + movs r3, 0xC + bl MenuZeroFillWindowRect + adds r0, r5, 0 + bl sub_810EC9C +_0810F1AE: + ldrh r1, [r4, 0x2E] + movs r0, 0x2 + ands r0, r1 + cmp r0, 0 + beq _0810F1DE + bl sub_8072DEC + ldr r1, _0810F1F0 @ =gScriptResult + movs r0, 0x7F + strh r0, [r1] + movs r0, 0x5 + bl PlaySE + bl sub_810EEDC + movs r0, 0 + movs r1, 0 + movs r2, 0x1D + movs r3, 0xC + bl MenuZeroFillWindowRect + adds r0, r5, 0 + bl sub_810EC9C +_0810F1DE: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0810F1E4: .4byte gMain +_0810F1E8: .4byte gUnknown_0203925B +_0810F1EC: .4byte gUnknown_0203925A +_0810F1F0: .4byte gScriptResult + thumb_func_end sub_810F118 + + thumb_func_start sub_810F1F4 +sub_810F1F4: @ 810F1F4 + push {r4-r7,lr} + lsls r0, 24 + lsrs r2, r0, 24 + adds r5, r2, 0 + lsls r1, 24 + lsrs r1, 24 + adds r3, r1, 0 + movs r6, 0 + movs r4, 0 + ldr r0, _0810F214 @ =gUnknown_0203925A + ldrb r0, [r0] + cmp r0, 0x4 + bhi _0810F218 + movs r0, 0 + b _0810F282 + .align 2, 0 +_0810F214: .4byte gUnknown_0203925A +_0810F218: + cmp r1, 0x40 + bne _0810F22C + cmp r2, 0 + bne _0810F240 + ldr r0, _0810F228 @ =gUnknown_0203925B + ldrb r4, [r0] + movs r6, 0x1 + b _0810F244 + .align 2, 0 +_0810F228: .4byte gUnknown_0203925B +_0810F22C: + cmp r3, 0x80 + bne _0810F240 + cmp r5, 0x4 + bne _0810F240 + ldr r0, _0810F288 @ =gUnknown_0203925B + ldrb r0, [r0] + subs r0, 0x4 + lsls r0, 24 + lsrs r4, r0, 24 + movs r6, 0x1 +_0810F240: + cmp r6, 0 + beq _0810F280 +_0810F244: + adds r0, r4, 0 + movs r1, 0x5 + bl GlassWorkshopUpdateScrollIndicators + movs r0, 0x2 + movs r1, 0x1 + movs r2, 0x9 + movs r3, 0xA + bl MenuFillWindowRectWithBlankTile + movs r5, 0 + ldr r7, _0810F28C @ =gUnknown_083F83C0 +_0810F25C: + lsls r0, r4, 2 + adds r0, r7 + ldr r0, [r0] + lsls r2, r5, 1 + adds r2, 0x1 + lsls r2, 24 + lsrs r2, 24 + movs r1, 0x1 + bl MenuPrint + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + adds r0, r5, 0x1 + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0x4 + bls _0810F25C +_0810F280: + adds r0, r6, 0 +_0810F282: + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_0810F288: .4byte gUnknown_0203925B +_0810F28C: .4byte gUnknown_083F83C0 + thumb_func_end sub_810F1F4 + + thumb_func_start sub_810F290 +sub_810F290: @ 810F290 + push {lr} + ldr r2, _0810F2B0 @ =gUnknown_0203925C + ldrb r1, [r2] + lsrs r0, r1, 1 + cmp r0, 0x1 + beq _0810F2AC + movs r0, 0x2 + orrs r0, r1 + strb r0, [r2] + movs r0, 0 + movs r1, 0x2C + movs r2, 0x8 + bl CreateVerticalScrollIndicators +_0810F2AC: + pop {r0} + bx r0 + .align 2, 0 +_0810F2B0: .4byte gUnknown_0203925C + thumb_func_end sub_810F290 + + thumb_func_start sub_810F2B4 +sub_810F2B4: @ 810F2B4 + push {lr} + ldr r2, _0810F2D8 @ =gUnknown_0203925C + ldrb r1, [r2] + movs r0, 0x1 + ands r0, r1 + cmp r0, 0 + bne _0810F2D2 + movs r0, 0x1 + orrs r0, r1 + strb r0, [r2] + movs r0, 0x1 + movs r1, 0x2C + movs r2, 0x58 + bl CreateVerticalScrollIndicators +_0810F2D2: + pop {r0} + bx r0 + .align 2, 0 +_0810F2D8: .4byte gUnknown_0203925C + thumb_func_end sub_810F2B4 + + thumb_func_start GlassWorkshopUpdateScrollIndicators +GlassWorkshopUpdateScrollIndicators: @ 810F2DC + push {r4,r5,lr} + lsls r0, 24 + lsrs r4, r0, 24 + lsls r1, 24 + lsrs r5, r1, 24 + cmp r4, 0 + bne _0810F300 + ldr r0, _0810F2FC @ =gUnknown_0203925C + ldrb r1, [r0] + movs r2, 0x2 + eors r1, r2 + strb r1, [r0] + movs r0, 0 + bl DestroyVerticalScrollIndicator + b _0810F304 + .align 2, 0 +_0810F2FC: .4byte gUnknown_0203925C +_0810F300: + bl sub_810F290 +_0810F304: + adds r1, r4, r5 + ldr r0, _0810F314 @ =gUnknown_0203925A + ldrb r0, [r0] + cmp r1, r0 + bge _0810F318 + bl sub_810F2B4 + b _0810F32C + .align 2, 0 +_0810F314: .4byte gUnknown_0203925A +_0810F318: + cmp r1, r0 + bne _0810F32C + ldr r0, _0810F334 @ =gUnknown_0203925C + ldrb r1, [r0] + movs r2, 0x1 + eors r1, r2 + strb r1, [r0] + movs r0, 0x1 + bl DestroyVerticalScrollIndicator +_0810F32C: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0810F334: .4byte gUnknown_0203925C + thumb_func_end GlassWorkshopUpdateScrollIndicators + + thumb_func_start SpawnCameraDummy +SpawnCameraDummy: @ 810F338 + push {lr} + sub sp, 0x8 + ldr r0, _0810F380 @ =gSaveBlock1 + ldrh r3, [r0] + adds r3, 0x7 + lsls r3, 16 + asrs r3, 16 + ldrh r0, [r0, 0x2] + adds r0, 0x7 + lsls r0, 16 + asrs r0, 16 + str r0, [sp] + movs r0, 0x3 + str r0, [sp, 0x4] + movs r0, 0x7 + movs r1, 0x8 + movs r2, 0x7F + bl SpawnSpecialFieldObjectParametrized + lsls r0, 24 + lsrs r0, 24 + ldr r2, _0810F384 @ =gMapObjects + lsls r1, r0, 3 + adds r1, r0 + lsls r1, 2 + adds r1, r2 + ldrb r0, [r1, 0x1] + movs r2, 0x20 + orrs r0, r2 + strb r0, [r1, 0x1] + ldrb r0, [r1, 0x4] + bl CameraObjectSetFollowedObjectId + add sp, 0x8 + pop {r0} + bx r0 + .align 2, 0 +_0810F380: .4byte gSaveBlock1 +_0810F384: .4byte gMapObjects + thumb_func_end SpawnCameraDummy + + thumb_func_start RemoveCameraDummy +RemoveCameraDummy: @ 810F388 + push {lr} + bl GetPlayerAvatarObjectId + lsls r0, 24 + lsrs r0, 24 + bl CameraObjectSetFollowedObjectId + ldr r0, _0810F3A8 @ =gSaveBlock1 + ldrb r1, [r0, 0x5] + ldrb r2, [r0, 0x4] + movs r0, 0x7F + bl RemoveFieldObjectByLocalIdAndMap + pop {r0} + bx r0 + .align 2, 0 +_0810F3A8: .4byte gSaveBlock1 + thumb_func_end RemoveCameraDummy + + thumb_func_start GetPokeblockNameByMonNature +GetPokeblockNameByMonNature: @ 810F3AC + push {lr} + bl GetLeadMonIndex + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x64 + muls r0, r1 + ldr r1, _0810F3D4 @ =gPlayerParty + adds r0, r1 + bl GetNature + lsls r0, 24 + lsrs r0, 24 + ldr r1, _0810F3D8 @ =gStringVar1 + bl sub_810CB68 + lsls r0, 24 + lsrs r0, 24 + pop {r1} + bx r1 + .align 2, 0 +_0810F3D4: .4byte gPlayerParty +_0810F3D8: .4byte gStringVar1 + thumb_func_end GetPokeblockNameByMonNature + + thumb_func_start GetSecretBaseNearbyMapName +GetSecretBaseNearbyMapName: @ 810F3DC + push {r4,lr} + ldr r4, _0810F3FC @ =gStringVar1 + ldr r0, _0810F400 @ =0x00004026 + bl VarGet + adds r1, r0, 0 + lsls r1, 16 + lsrs r1, 16 + adds r0, r4, 0 + movs r2, 0 + bl sub_80FBFB4 + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0810F3FC: .4byte gStringVar1 +_0810F400: .4byte 0x00004026 + thumb_func_end GetSecretBaseNearbyMapName + + thumb_func_start sub_810F404 +sub_810F404: @ 810F404 + push {lr} + movs r0, 0x20 + bl sub_8053108 + lsls r0, 16 + lsrs r0, 16 + pop {r1} + bx r1 + thumb_func_end sub_810F404 + + thumb_func_start sub_810F414 +sub_810F414: @ 810F414 + push {lr} + ldr r0, _0810F420 @ =gStringVar1 + bl sub_8135FF4 + pop {r0} + bx r0 + .align 2, 0 +_0810F420: .4byte gStringVar1 + thumb_func_end sub_810F414 + + thumb_func_start sub_810F424 +sub_810F424: @ 810F424 + push {r4,r5,lr} + ldr r2, _0810F458 @ =gSaveBlock1 + ldr r1, _0810F45C @ =0x00002dd4 + adds r0, r2, r1 + ldrb r1, [r0] + lsls r1, 25 + ldr r0, _0810F460 @ =0x00002dd6 + adds r2, r0 + lsrs r1, 25 + ldrh r2, [r2] + adds r1, r2 + ldr r2, _0810F464 @ =gUnknown_083F83E0 + ldr r0, _0810F468 @ =gSpecialVar_0x8004 + ldrh r0, [r0] + adds r0, r2 + ldrb r0, [r0] + adds r5, r1, r0 + movs r0, 0x2 + bl GetPriceReduction + lsls r0, 24 + cmp r0, 0 + bne _0810F470 + ldr r4, _0810F46C @ =gUnknown_083F83EC + b _0810F472 + .align 2, 0 +_0810F458: .4byte gSaveBlock1 +_0810F45C: .4byte 0x00002dd4 +_0810F460: .4byte 0x00002dd6 +_0810F464: .4byte gUnknown_083F83E0 +_0810F468: .4byte gSpecialVar_0x8004 +_0810F46C: .4byte gUnknown_083F83EC +_0810F470: + ldr r4, _0810F484 @ =gUnknown_083F83F8 +_0810F472: + adds r0, r5, 0 + movs r1, 0xC + bl __umodsi3 + adds r0, r4 + ldrb r0, [r0] + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_0810F484: .4byte gUnknown_083F83F8 + thumb_func_end sub_810F424 + + thumb_func_start sub_810F488 +sub_810F488: @ 810F488 + push {lr} + ldr r1, _0810F4A0 @ =gSpecialVar_0x8004 + ldr r0, _0810F4A4 @ =0x00000277 + strh r0, [r1] + bl FlagGet + lsls r0, 24 + cmp r0, 0 + beq _0810F4A8 + movs r0, 0x1 + b _0810F4AA + .align 2, 0 +_0810F4A0: .4byte gSpecialVar_0x8004 +_0810F4A4: .4byte 0x00000277 +_0810F4A8: + movs r0, 0 +_0810F4AA: + pop {r1} + bx r1 + thumb_func_end sub_810F488 + + thumb_func_start sub_810F4B0 +sub_810F4B0: @ 810F4B0 + push {lr} + ldr r1, _0810F4C8 @ =gSpecialVar_0x8004 + movs r0, 0x9E + lsls r0, 2 + strh r0, [r1] + bl FlagGet + lsls r0, 24 + cmp r0, 0 + beq _0810F4CC + movs r0, 0x1 + b _0810F4CE + .align 2, 0 +_0810F4C8: .4byte gSpecialVar_0x8004 +_0810F4CC: + movs r0, 0 +_0810F4CE: + pop {r1} + bx r1 + thumb_func_end sub_810F4B0 + + thumb_func_start sub_810F4D4 +sub_810F4D4: @ 810F4D4 + push {lr} + ldr r1, _0810F4EC @ =gSpecialVar_0x8004 + ldr r0, _0810F4F0 @ =0x00000279 + strh r0, [r1] + bl FlagGet + lsls r0, 24 + cmp r0, 0 + beq _0810F4F4 + movs r0, 0x1 + b _0810F4F6 + .align 2, 0 +_0810F4EC: .4byte gSpecialVar_0x8004 +_0810F4F0: .4byte 0x00000279 +_0810F4F4: + movs r0, 0 +_0810F4F6: + pop {r1} + bx r1 + thumb_func_end sub_810F4D4 + + thumb_func_start sub_810F4FC +sub_810F4FC: @ 810F4FC + push {lr} + ldr r1, _0810F514 @ =gSpecialVar_0x8004 + ldr r0, _0810F518 @ =0x0000027a + strh r0, [r1] + bl FlagGet + lsls r0, 24 + cmp r0, 0 + beq _0810F51C + movs r0, 0x1 + b _0810F51E + .align 2, 0 +_0810F514: .4byte gSpecialVar_0x8004 +_0810F518: .4byte 0x0000027a +_0810F51C: + movs r0, 0 +_0810F51E: + pop {r1} + bx r1 + thumb_func_end sub_810F4FC + + thumb_func_start LeadMonHasEffortRibbon +LeadMonHasEffortRibbon: @ 810F524 + push {lr} + bl GetLeadMonIndex + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x64 + muls r0, r1 + ldr r1, _0810F548 @ =gPlayerParty + adds r0, r1 + movs r1, 0x47 + movs r2, 0 + bl GetMonData + lsls r0, 24 + lsrs r0, 24 + pop {r1} + bx r1 + .align 2, 0 +_0810F548: .4byte gPlayerParty + thumb_func_end LeadMonHasEffortRibbon + + thumb_func_start GivLeadMonEffortRibbon +GivLeadMonEffortRibbon: @ 810F54C + push {lr} + sub sp, 0x4 + movs r0, 0x2A + bl sav12_xor_increment + ldr r0, _0810F580 @ =0x0000083b + bl FlagSet + movs r1, 0x1 + mov r0, sp + strb r1, [r0] + bl GetLeadMonIndex + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x64 + muls r0, r1 + ldr r1, _0810F584 @ =gPlayerParty + adds r0, r1 + movs r1, 0x47 + mov r2, sp + bl SetMonData + add sp, 0x4 + pop {r0} + bx r0 + .align 2, 0 +_0810F580: .4byte 0x0000083b +_0810F584: .4byte gPlayerParty + thumb_func_end GivLeadMonEffortRibbon + + thumb_func_start GetLeadMonEVCount +GetLeadMonEVCount: @ 810F588 + push {lr} + bl GetLeadMonIndex + lsls r0, 24 + lsrs r0, 24 + movs r1, 0x64 + muls r0, r1 + ldr r1, _0810F5AC @ =gPlayerParty + adds r0, r1 + bl GetMonEVCount + lsls r0, 16 + ldr r1, _0810F5B0 @ =0x01fd0000 + cmp r0, r1 + bhi _0810F5B4 + movs r0, 0 + b _0810F5B6 + .align 2, 0 +_0810F5AC: .4byte gPlayerParty +_0810F5B0: .4byte 0x01fd0000 +_0810F5B4: + movs r0, 0x1 +_0810F5B6: + pop {r1} + bx r1 + thumb_func_end GetLeadMonEVCount + + thumb_func_start sub_810F5BC +sub_810F5BC: @ 810F5BC + push {lr} + movs r0, 0xC7 + bl FlagGet + lsls r0, 24 + cmp r0, 0 + bne _0810F610 + ldr r0, _0810F5E8 @ =gSaveBlock1 + ldrh r1, [r0, 0x4] + movs r0, 0x83 + lsls r0, 3 + cmp r1, r0 + bne _0810F610 + subs r0, 0x75 + bl FlagGet + lsls r0, 24 + cmp r0, 0 + beq _0810F5F0 + ldr r0, _0810F5EC @ =0x0000409a + movs r1, 0x4 + b _0810F602 + .align 2, 0 +_0810F5E8: .4byte gSaveBlock1 +_0810F5EC: .4byte 0x0000409a +_0810F5F0: + movs r0, 0xE9 + lsls r0, 2 + bl FlagGet + lsls r0, 24 + cmp r0, 0 + beq _0810F610 + ldr r0, _0810F60C @ =0x0000409a + movs r1, 0x5 +_0810F602: + bl VarSet + movs r0, 0x1 + b _0810F612 + .align 2, 0 +_0810F60C: .4byte 0x0000409a +_0810F610: + movs r0, 0 +_0810F612: + pop {r1} + bx r1 + thumb_func_end sub_810F5BC + + thumb_func_start sub_810F618 +sub_810F618: @ 810F618 + push {lr} + ldr r0, _0810F624 @ =0x0000085f + bl FlagSet + pop {r0} + bx r0 + .align 2, 0 +_0810F624: .4byte 0x0000085f + thumb_func_end sub_810F618 + + thumb_func_start PutZigzagoonInPlayerParty +PutZigzagoonInPlayerParty: @ 810F628 + push {r4,r5,lr} + sub sp, 0x14 + ldr r5, _0810F690 @ =gPlayerParty + movs r1, 0x90 + lsls r1, 1 + movs r4, 0 + str r4, [sp] + str r4, [sp, 0x4] + str r4, [sp, 0x8] + str r4, [sp, 0xC] + adds r0, r5, 0 + movs r2, 0x7 + movs r3, 0x20 + bl CreateMon + movs r1, 0x1 + add r0, sp, 0x10 + strh r1, [r0] + adds r0, r5, 0 + movs r1, 0x2E + add r2, sp, 0x10 + bl SetMonData + add r1, sp, 0x10 + movs r0, 0x21 + strh r0, [r1] + adds r0, r5, 0 + movs r1, 0xD + add r2, sp, 0x10 + bl SetMonData + add r0, sp, 0x10 + strh r4, [r0] + adds r0, r5, 0 + movs r1, 0xE + add r2, sp, 0x10 + bl SetMonData + adds r0, r5, 0 + movs r1, 0xF + add r2, sp, 0x10 + bl SetMonData + adds r0, r5, 0 + movs r1, 0x10 + add r2, sp, 0x10 + bl SetMonData + add sp, 0x14 + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0810F690: .4byte gPlayerParty + thumb_func_end PutZigzagoonInPlayerParty + + thumb_func_start IsStarterInParty +IsStarterInParty: @ 810F694 + push {r4-r6,lr} + ldr r0, _0810F6D0 @ =0x00004023 + bl VarGet + lsls r0, 16 + lsrs r0, 16 + bl GetStarterPokemon + lsls r0, 16 + lsrs r6, r0, 16 + bl CalculatePlayerPartyCount + lsls r0, 24 + lsrs r5, r0, 24 + movs r4, 0 + cmp r4, r5 + bcs _0810F6E2 +_0810F6B6: + movs r0, 0x64 + muls r0, r4 + ldr r1, _0810F6D4 @ =gPlayerParty + adds r0, r1 + movs r1, 0x41 + movs r2, 0 + bl GetMonData + cmp r0, r6 + bne _0810F6D8 + movs r0, 0x1 + b _0810F6E4 + .align 2, 0 +_0810F6D0: .4byte 0x00004023 +_0810F6D4: .4byte gPlayerParty +_0810F6D8: + adds r0, r4, 0x1 + lsls r0, 24 + lsrs r4, r0, 24 + cmp r4, r5 + bcc _0810F6B6 +_0810F6E2: + movs r0, 0 +_0810F6E4: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end IsStarterInParty + + thumb_func_start CheckFreePokemonStorageSpace +CheckFreePokemonStorageSpace: @ 810F6EC + push {r4-r6,lr} + movs r5, 0 +_0810F6F0: + movs r4, 0 + lsls r1, r5, 2 + adds r1, r5 + lsls r0, r1, 4 + subs r0, r1 + lsls r6, r0, 5 +_0810F6FC: + lsls r0, r4, 2 + adds r0, r4 + lsls r0, 4 + ldr r1, _0810F718 @ =gUnknown_020300A4 + adds r0, r1 + adds r0, r6, r0 + movs r1, 0xB + movs r2, 0 + bl GetBoxMonData + cmp r0, 0 + bne _0810F71C + movs r0, 0x1 + b _0810F732 + .align 2, 0 +_0810F718: .4byte gUnknown_020300A4 +_0810F71C: + adds r0, r4, 0x1 + lsls r0, 16 + lsrs r4, r0, 16 + cmp r4, 0x1D + bls _0810F6FC + adds r0, r5, 0x1 + lsls r0, 16 + lsrs r5, r0, 16 + cmp r5, 0xD + bls _0810F6F0 + movs r0, 0 +_0810F732: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end CheckFreePokemonStorageSpace + + thumb_func_start IsPokerusInParty +IsPokerusInParty: @ 810F738 + push {lr} + ldr r0, _0810F74C @ =gPlayerParty + movs r1, 0x3F + bl CheckPartyPokerus + lsls r0, 24 + cmp r0, 0 + beq _0810F750 + movs r0, 0x1 + b _0810F752 + .align 2, 0 +_0810F74C: .4byte gPlayerParty +_0810F750: + movs r0, 0 +_0810F752: + pop {r1} + bx r1 + thumb_func_end IsPokerusInParty + + thumb_func_start sub_810F758 +sub_810F758: @ 810F758 + push {lr} + ldr r0, _0810F798 @ =sub_810F7A8 + movs r1, 0x9 + bl CreateTask + lsls r0, 24 + lsrs r0, 24 + ldr r2, _0810F79C @ =gTasks + lsls r1, r0, 2 + adds r1, r0 + lsls r1, 3 + adds r1, r2 + ldr r0, _0810F7A0 @ =gSpecialVar_0x8005 + ldrh r2, [r0] + movs r0, 0 + strh r2, [r1, 0x8] + strh r0, [r1, 0xA] + strh r0, [r1, 0xC] + strh r0, [r1, 0xE] + ldr r0, _0810F7A4 @ =gSpecialVar_0x8004 + ldrh r0, [r0] + strh r0, [r1, 0x10] + movs r0, 0x5 + strh r0, [r1, 0x12] + movs r0, 0 + bl SetCameraPanningCallback + movs r0, 0xD6 + bl PlaySE + pop {r0} + bx r0 + .align 2, 0 +_0810F798: .4byte sub_810F7A8 +_0810F79C: .4byte gTasks +_0810F7A0: .4byte gSpecialVar_0x8005 +_0810F7A4: .4byte gSpecialVar_0x8004 + thumb_func_end sub_810F758 + + thumb_func_start sub_810F7A8 +sub_810F7A8: @ 810F7A8 + push {r4,r5,lr} + lsls r0, 24 + lsrs r5, r0, 24 + lsls r0, r5, 2 + adds r0, r5 + lsls r0, 3 + ldr r1, _0810F810 @ =gTasks + adds r4, r0, r1 + ldrh r0, [r4, 0xA] + adds r0, 0x1 + strh r0, [r4, 0xA] + movs r1, 0xA + ldrsh r0, [r4, r1] + movs r2, 0x12 + ldrsh r1, [r4, r2] + bl __modsi3 + cmp r0, 0 + bne _0810F808 + strh r0, [r4, 0xA] + ldrh r0, [r4, 0xC] + adds r0, 0x1 + strh r0, [r4, 0xC] + movs r1, 0xE + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _0810F808 + ldrh r0, [r4, 0x8] + negs r0, r0 + strh r0, [r4, 0x8] + ldrh r0, [r4, 0x10] + negs r0, r0 + strh r0, [r4, 0x10] + movs r2, 0x8 + ldrsh r0, [r4, r2] + movs r2, 0x10 + ldrsh r1, [r4, r2] + bl SetCameraPanning + movs r1, 0xC + ldrsh r0, [r4, r1] + cmp r0, 0x8 + bne _0810F808 + adds r0, r5, 0 + bl sub_810F814 + bl InstallCameraPanAheadCallback +_0810F808: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0810F810: .4byte gTasks + thumb_func_end sub_810F7A8 + + thumb_func_start sub_810F814 +sub_810F814: @ 810F814 + push {lr} + lsls r0, 24 + lsrs r0, 24 + bl DestroyTask + bl EnableBothScriptContexts + pop {r0} + bx r0 + thumb_func_end sub_810F814 + + thumb_func_start sub_810F828 +sub_810F828: @ 810F828 + push {lr} + movs r0, 0xAE + lsls r0, 2 + bl FlagGet + lsls r0, 24 + lsrs r0, 24 + pop {r1} + bx r1 + thumb_func_end sub_810F828 + + thumb_func_start SetRoute119Weather +SetRoute119Weather: @ 810F83C + push {lr} + bl get_map_light_from_warp0 + lsls r0, 24 + lsrs r0, 24 + bl is_light_level_1_2_3_5_or_6 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _0810F858 + movs r0, 0x14 + bl SetSav1Weather +_0810F858: + pop {r0} + bx r0 + thumb_func_end SetRoute119Weather + + thumb_func_start SetRoute123Weather +SetRoute123Weather: @ 810F85C + push {lr} + bl get_map_light_from_warp0 + lsls r0, 24 + lsrs r0, 24 + bl is_light_level_1_2_3_5_or_6 + lsls r0, 24 + lsrs r0, 24 + cmp r0, 0x1 + beq _0810F878 + movs r0, 0x15 + bl SetSav1Weather +_0810F878: + pop {r0} + bx r0 + thumb_func_end SetRoute123Weather + + thumb_func_start GetLeadMonIndex +GetLeadMonIndex: @ 810F87C + push {r4-r6,lr} + bl CalculatePlayerPartyCount + lsls r0, 24 + lsrs r6, r0, 24 + movs r5, 0 + cmp r5, r6 + bcs _0810F8CA +_0810F88C: + movs r0, 0x64 + adds r1, r5, 0 + muls r1, r0 + ldr r0, _0810F8BC @ =gPlayerParty + adds r4, r1, r0 + adds r0, r4, 0 + movs r1, 0x41 + movs r2, 0 + bl GetMonData + movs r1, 0xCE + lsls r1, 1 + cmp r0, r1 + beq _0810F8C0 + adds r0, r4, 0 + movs r1, 0x41 + movs r2, 0 + bl GetMonData + cmp r0, 0 + beq _0810F8C0 + adds r0, r5, 0 + b _0810F8CC + .align 2, 0 +_0810F8BC: .4byte gPlayerParty +_0810F8C0: + adds r0, r5, 0x1 + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, r6 + bcc _0810F88C +_0810F8CA: + movs r0, 0 +_0810F8CC: + pop {r4-r6} + pop {r1} + bx r1 + thumb_func_end GetLeadMonIndex + + thumb_func_start ScriptGetPartyMonSpecies +ScriptGetPartyMonSpecies: @ 810F8D4 + push {lr} + ldr r0, _0810F8F4 @ =gSpecialVar_0x8004 + ldrh r1, [r0] + movs r0, 0x64 + muls r0, r1 + ldr r1, _0810F8F8 @ =gPlayerParty + adds r0, r1 + movs r1, 0x41 + movs r2, 0 + bl GetMonData + lsls r0, 16 + lsrs r0, 16 + pop {r1} + bx r1 + .align 2, 0 +_0810F8F4: .4byte gSpecialVar_0x8004 +_0810F8F8: .4byte gPlayerParty + thumb_func_end ScriptGetPartyMonSpecies + + thumb_func_start sub_810F8FC +sub_810F8FC: @ 810F8FC + push {lr} + movs r0, 0x6 + bl sub_805ADDC + pop {r0} + bx r0 + thumb_func_end sub_810F8FC + + thumb_func_start sub_810F908 +sub_810F908: @ 810F908 + push {r4,lr} + ldr r0, _0810F928 @ =0x000040c2 + bl VarGet + lsls r0, 16 + lsrs r0, 16 + adds r3, r0, 0 + ldr r2, _0810F92C @ =gLocalTime + movs r1, 0 + ldrsh r0, [r2, r1] + subs r0, r3 + cmp r0, 0x6 + ble _0810F930 + movs r0, 0 + b _0810F948 + .align 2, 0 +_0810F928: .4byte 0x000040c2 +_0810F92C: .4byte gLocalTime +_0810F930: + ldrh r1, [r2] + movs r4, 0 + ldrsh r0, [r2, r4] + cmp r0, 0 + blt _0810F946 + subs r1, r3 + movs r0, 0x7 + subs r0, r1 + lsls r0, 16 + lsrs r0, 16 + b _0810F948 +_0810F946: + movs r0, 0x8 +_0810F948: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_810F908 + + thumb_func_start sub_810F950 +sub_810F950: @ 810F950 + push {r4,lr} + ldr r0, _0810F964 @ =0x000040c2 + ldr r4, _0810F968 @ =gLocalTime + ldrh r1, [r4] + bl VarSet + ldrh r0, [r4] + pop {r4} + pop {r1} + bx r1 + .align 2, 0 +_0810F964: .4byte 0x000040c2 +_0810F968: .4byte gLocalTime + thumb_func_end sub_810F950 + + thumb_func_start sub_810F96C +sub_810F96C: @ 810F96C + push {r4,lr} + ldr r0, _0810F994 @ =gSpecialVar_0x8004 + ldrh r1, [r0] + movs r0, 0x64 + muls r0, r1 + ldr r1, _0810F998 @ =gPlayerParty + adds r0, r1 + ldr r4, _0810F99C @ =gStringVar1 + movs r1, 0x7 + adds r2, r4, 0 + bl GetMonData + ldr r0, _0810F9A0 @ =gSaveBlock2 + adds r1, r4, 0 + bl StringCompareWithoutExtCtrlCodes + cmp r0, 0 + beq _0810F9A4 + movs r0, 0x1 + b _0810F9A6 + .align 2, 0 +_0810F994: .4byte gSpecialVar_0x8004 +_0810F998: .4byte gPlayerParty +_0810F99C: .4byte gStringVar1 +_0810F9A0: .4byte gSaveBlock2 +_0810F9A4: + movs r0, 0 +_0810F9A6: + pop {r4} + pop {r1} + bx r1 + thumb_func_end sub_810F96C + + thumb_func_start sub_810F9AC +sub_810F9AC: @ 810F9AC + push {r4,r5,lr} + ldr r2, _0810F9C0 @ =gScriptResult + ldrh r1, [r2] + ldr r0, _0810F9C4 @ =0x0000270f + cmp r1, r0 + bls _0810F9C8 + movs r0, 0 + bl sub_80BF088 + b _0810FA4A + .align 2, 0 +_0810F9C0: .4byte gScriptResult +_0810F9C4: .4byte 0x0000270f +_0810F9C8: + ldr r0, _0810F9D8 @ =0x000003e7 + cmp r1, r0 + bls _0810F9E0 + ldr r4, _0810F9DC @ =gStringVar1 + movs r0, 0xA1 + strb r0, [r4] + adds r4, 0x1 + b _0810FA04 + .align 2, 0 +_0810F9D8: .4byte 0x000003e7 +_0810F9DC: .4byte gStringVar1 +_0810F9E0: + cmp r1, 0x63 + bls _0810F9F4 + ldr r4, _0810F9F0 @ =gStringVar1 + movs r0, 0xA1 + strb r0, [r4] + strb r0, [r4, 0x1] + adds r4, 0x2 + b _0810FA04 + .align 2, 0 +_0810F9F0: .4byte gStringVar1 +_0810F9F4: + cmp r1, 0x9 + bls _0810FA24 + ldr r4, _0810FA20 @ =gStringVar1 + movs r0, 0xA1 + strb r0, [r4] + strb r0, [r4, 0x1] + strb r0, [r4, 0x2] + adds r4, 0x3 +_0810FA04: + ldrh r5, [r2] + adds r0, r5, 0 + bl sub_80BF0B8 + adds r3, r0, 0 + lsls r3, 24 + lsrs r3, 24 + adds r0, r4, 0 + adds r1, r5, 0 + movs r2, 0 + bl ConvertIntToDecimalStringN + b _0810FA4A + .align 2, 0 +_0810FA20: .4byte gStringVar1 +_0810FA24: + ldr r4, _0810FA50 @ =gStringVar1 + movs r0, 0xA1 + strb r0, [r4] + strb r0, [r4, 0x1] + strb r0, [r4, 0x2] + strb r0, [r4, 0x3] + adds r4, 0x4 + ldrh r5, [r2] + adds r0, r5, 0 + bl sub_80BF0B8 + adds r3, r0, 0 + lsls r3, 24 + lsrs r3, 24 + adds r0, r4, 0 + adds r1, r5, 0 + movs r2, 0 + bl ConvertIntToDecimalStringN +_0810FA4A: + pop {r4,r5} + pop {r0} + bx r0 + .align 2, 0 +_0810FA50: .4byte gStringVar1 + thumb_func_end sub_810F9AC + + thumb_func_start sub_810FA54 +sub_810FA54: @ 810FA54 + ldr r0, _0810FA68 @ =gSaveBlock1 + ldr r2, _0810FA6C @ =0x000013c2 + adds r1, r0, r2 + movs r2, 0 + strh r2, [r1] + ldr r1, _0810FA70 @ =0x000013c4 + adds r0, r1 + strh r2, [r0] + bx lr + .align 2, 0 +_0810FA68: .4byte gSaveBlock1 +_0810FA6C: .4byte 0x000013c2 +_0810FA70: .4byte 0x000013c4 + thumb_func_end sub_810FA54 + + thumb_func_start sub_810FA74 +sub_810FA74: @ 810FA74 + push {lr} + bl sub_810FF30 + lsls r0, 24 + cmp r0, 0 + beq _0810FA90 + bl sub_810FCE8 + ldr r0, _0810FA94 @ =gSaveBlock1 + ldr r1, _0810FA98 @ =gSaveBlock2 + ldrh r1, [r1, 0xE] + ldr r2, _0810FA9C @ =0x000013c4 + adds r0, r2 + strh r1, [r0] +_0810FA90: + pop {r0} + bx r0 + .align 2, 0 +_0810FA94: .4byte gSaveBlock1 +_0810FA98: .4byte gSaveBlock2 +_0810FA9C: .4byte 0x000013c4 + thumb_func_end sub_810FA74 + + thumb_func_start sub_810FAA0 +sub_810FAA0: @ 810FAA0 + push {r4,lr} + ldr r4, _0810FAF0 @ =gSaveBlock1 + ldr r1, _0810FAF4 @ =0x000013c2 + adds r0, r4, r1 + ldrh r0, [r0] + lsrs r0, 7 + movs r1, 0x1 + ands r0, r1 + cmp r0, 0 + bne _0810FAE8 + bl sub_810FF48 + bl sub_810FD80 + ldr r0, _0810FAF8 @ =gSaveBlock2 + ldrh r1, [r0, 0xE] + ldr r2, _0810FAFC @ =0x000013c4 + adds r0, r4, r2 + strh r1, [r0] + ldr r0, _0810FB00 @ =0x00000315 + bl FlagReset + ldr r0, _0810FB04 @ =0x00000316 + bl FlagReset + ldr r0, _0810FB08 @ =0x00000317 + bl FlagReset + movs r0, 0xC6 + lsls r0, 2 + bl FlagReset + ldr r0, _0810FB0C @ =0x00004095 + movs r1, 0x1 + bl VarSet +_0810FAE8: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0810FAF0: .4byte gSaveBlock1 +_0810FAF4: .4byte 0x000013c2 +_0810FAF8: .4byte gSaveBlock2 +_0810FAFC: .4byte 0x000013c4 +_0810FB00: .4byte 0x00000315 +_0810FB04: .4byte 0x00000316 +_0810FB08: .4byte 0x00000317 +_0810FB0C: .4byte 0x00004095 + thumb_func_end sub_810FAA0 + + thumb_func_start sub_810FB10 +sub_810FB10: @ 810FB10 + push {r4,r5,lr} + lsls r0, 24 + lsrs r5, r0, 24 + ldr r0, _0810FB54 @ =0x00004095 + bl VarGet + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x2 + bne _0810FB80 + ldr r0, _0810FB58 @ =gSaveBlock1 + ldr r1, _0810FB5C @ =0x000013c2 + adds r4, r0, r1 + ldrh r2, [r4] + movs r1, 0x7F + ands r1, r2 + ldr r0, _0810FB60 @ =gUnknown_083F8404 + adds r0, r5, r0 + ldrb r0, [r0] + adds r1, r0 + cmp r1, 0x13 + ble _0810FB7C + bl sub_810FCB0 + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x2 + bhi _0810FB68 + bl sub_810FB9C + ldrh r1, [r4] + ldr r0, _0810FB64 @ =0x0000ff80 + ands r0, r1 + b _0810FB7E + .align 2, 0 +_0810FB54: .4byte 0x00004095 +_0810FB58: .4byte gSaveBlock1 +_0810FB5C: .4byte 0x000013c2 +_0810FB60: .4byte gUnknown_083F8404 +_0810FB64: .4byte 0x0000ff80 +_0810FB68: + ldrh r0, [r4] + ldr r1, _0810FB78 @ =0x0000ff80 + ands r1, r0 + movs r0, 0x14 + orrs r1, r0 + strh r1, [r4] + b _0810FB80 + .align 2, 0 +_0810FB78: .4byte 0x0000ff80 +_0810FB7C: + adds r0, r2, r0 +_0810FB7E: + strh r0, [r4] +_0810FB80: + ldr r0, _0810FB94 @ =gSaveBlock1 + ldr r1, _0810FB98 @ =0x000013c2 + adds r0, r1 + ldrb r1, [r0] + movs r0, 0x7F + ands r0, r1 + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_0810FB94: .4byte gSaveBlock1 +_0810FB98: .4byte 0x000013c2 + thumb_func_end sub_810FB10 + + thumb_func_start sub_810FB9C +sub_810FB9C: @ 810FB9C + push {r4-r7,lr} + sub sp, 0x4 + movs r3, 0 + movs r5, 0 + ldr r7, _0810FBD8 @ =gSaveBlock1 + 0x13C2 + movs r6, 0x1 +_0810FBA8: + ldrh r1, [r7] + ldr r0, _0810FBDC @ =gUnknown_083F8408 + adds r0, r5, r0 + ldrb r4, [r0] + asrs r1, r4 + ands r1, r6 + cmp r1, 0 + bne _0810FBE0 + adds r3, r5, 0 + str r3, [sp] + bl Random + adds r1, r6, 0 + ands r1, r0 + ldr r3, [sp] + cmp r1, 0 + beq _0810FBE0 + adds r0, r6, 0 + lsls r0, r4 + ldrh r1, [r7] + orrs r0, r1 + strh r0, [r7] + b _0810FC00 + .align 2, 0 +_0810FBD8: .4byte gSaveBlock1 + 0x13C2 +_0810FBDC: .4byte gUnknown_083F8408 +_0810FBE0: + adds r0, r5, 0x1 + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0x7 + bls _0810FBA8 + ldr r2, _0810FC0C @ =gSaveBlock1 + ldr r0, _0810FC10 @ =0x000013c2 + adds r2, r0 + ldr r1, _0810FC14 @ =gUnknown_083F8408 + adds r1, r3, r1 + movs r0, 0x1 + ldrb r1, [r1] + lsls r0, r1 + ldrh r1, [r2] + orrs r0, r1 + strh r0, [r2] +_0810FC00: + adds r0, r3, 0 + add sp, 0x4 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_0810FC0C: .4byte gSaveBlock1 +_0810FC10: .4byte 0x000013c2 +_0810FC14: .4byte gUnknown_083F8408 + thumb_func_end sub_810FB9C + + thumb_func_start sub_810FC18 +sub_810FC18: @ 810FC18 + push {r4-r7,lr} + mov r7, r8 + push {r7} + sub sp, 0x4 + movs r0, 0 + mov r8, r0 + bl sub_810FCB0 + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x1 + bne _0810FC3E + movs r0, 0 + b _0810FC94 +_0810FC34: + lsls r4, r6 + ldrh r0, [r2] + eors r4, r0 + strh r4, [r2] + b _0810FC92 +_0810FC3E: + movs r5, 0 + ldr r2, _0810FCA0 @ =gSaveBlock1 + 0x13C2 + movs r4, 0x1 +_0810FC44: + ldrh r1, [r2] + ldr r7, _0810FCA4 @ =gUnknown_083F8410 + adds r0, r5, r7 + ldrb r6, [r0] + asrs r1, r6 + ands r1, r4 + cmp r1, 0 + beq _0810FC66 + mov r8, r5 + str r2, [sp] + bl Random + adds r1, r4, 0 + ands r1, r0 + ldr r2, [sp] + cmp r1, 0 + bne _0810FC34 +_0810FC66: + adds r0, r5, 0x1 + lsls r0, 24 + lsrs r5, r0, 24 + cmp r5, 0x7 + bls _0810FC44 + ldr r0, _0810FCA8 @ =gSaveBlock1 + ldr r1, _0810FCAC @ =0x000013c2 + adds r4, r0, r1 + ldrh r1, [r4] + mov r2, r8 + adds r0, r2, r7 + ldrb r2, [r0] + adds r0, r1, 0 + asrs r0, r2 + movs r3, 0x1 + ands r0, r3 + cmp r0, 0 + beq _0810FC92 + adds r0, r3, 0 + lsls r0, r2 + eors r1, r0 + strh r1, [r4] +_0810FC92: + mov r0, r8 +_0810FC94: + add sp, 0x4 + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_0810FCA0: .4byte gSaveBlock1 + 0x13C2 +_0810FCA4: .4byte gUnknown_083F8410 +_0810FCA8: .4byte gSaveBlock1 +_0810FCAC: .4byte 0x000013c2 + thumb_func_end sub_810FC18 + + thumb_func_start sub_810FCB0 +sub_810FCB0: @ 810FCB0 + push {r4,r5,lr} + movs r3, 0 + movs r2, 0 + ldr r0, _0810FCE4 @ =gSaveBlock1 + 0x13C2 + ldrh r4, [r0] + movs r5, 0x1 +_0810FCBC: + adds r1, r2, 0 + adds r1, 0x8 + adds r0, r4, 0 + asrs r0, r1 + ands r0, r5 + cmp r0, 0 + beq _0810FCD0 + adds r0, r3, 0x1 + lsls r0, 24 + lsrs r3, r0, 24 +_0810FCD0: + adds r0, r2, 0x1 + lsls r0, 24 + lsrs r2, r0, 24 + cmp r2, 0x7 + bls _0810FCBC + adds r0, r3, 0 + pop {r4,r5} + pop {r1} + bx r1 + .align 2, 0 +_0810FCE4: .4byte gSaveBlock1 + 0x13C2 + thumb_func_end sub_810FCB0 + + thumb_func_start sub_810FCE8 +sub_810FCE8: @ 810FCE8 + push {r4-r7,lr} + mov r7, r8 + push {r7} + movs r5, 0 + ldr r2, _0810FD08 @ =gSaveBlock2 + ldrh r1, [r2, 0xE] + ldr r0, _0810FD0C @ =0x000003e6 + cmp r1, r0 + bhi _0810FD54 + ldr r7, _0810FD10 @ =gSaveBlock1 + adds r6, r2, 0 + ldr r0, _0810FD14 @ =0x000013c4 + adds r0, r7 + mov r8, r0 + b _0810FD36 + .align 2, 0 +_0810FD08: .4byte gSaveBlock2 +_0810FD0C: .4byte 0x000003e6 +_0810FD10: .4byte gSaveBlock1 +_0810FD14: .4byte 0x000013c4 +_0810FD18: + ldrh r1, [r6, 0xE] + ldr r0, _0810FD4C @ =0x000013c4 + adds r4, r7, r0 + ldrh r0, [r4] + subs r1, r0 + cmp r1, 0xB + ble _0810FD54 + bl sub_810FC18 + ldrh r0, [r4] + adds r0, 0xC + strh r0, [r4] + adds r0, r5, 0x1 + lsls r0, 24 + lsrs r5, r0, 24 +_0810FD36: + bl sub_810FCB0 + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x4 + bhi _0810FD50 + ldrh r0, [r6, 0xE] + mov r1, r8 + strh r0, [r1] + b _0810FD54 + .align 2, 0 +_0810FD4C: .4byte 0x000013c4 +_0810FD50: + cmp r5, 0x8 + bne _0810FD18 +_0810FD54: + pop {r3} + mov r8, r3 + pop {r4-r7} + pop {r0} + bx r0 + thumb_func_end sub_810FCE8 + + thumb_func_start sub_810FD60 +sub_810FD60: @ 810FD60 + ldr r0, _0810FD74 @ =gSaveBlock1 + ldr r1, _0810FD78 @ =0x000013c2 + adds r0, r1 + ldrh r0, [r0] + ldr r1, _0810FD7C @ =gSpecialVar_0x8004 + ldrh r1, [r1] + asrs r0, r1 + movs r1, 0x1 + ands r0, r1 + bx lr + .align 2, 0 +_0810FD74: .4byte gSaveBlock1 +_0810FD78: .4byte 0x000013c2 +_0810FD7C: .4byte gSpecialVar_0x8004 + thumb_func_end sub_810FD60 + + thumb_func_start sub_810FD80 +sub_810FD80: @ 810FD80 + ldr r2, _0810FDA4 @ =gSaveBlock1 + ldr r0, _0810FDA8 @ =0x000013c2 + adds r2, r0 + ldrh r1, [r2] + movs r3, 0x80 + lsls r3, 6 + adds r0, r3, 0 + orrs r0, r1 + movs r3, 0x80 + lsls r3, 1 + adds r1, r3, 0 + orrs r0, r1 + movs r3, 0x80 + lsls r3, 3 + adds r1, r3, 0 + orrs r0, r1 + strh r0, [r2] + bx lr + .align 2, 0 +_0810FDA4: .4byte gSaveBlock1 +_0810FDA8: .4byte 0x000013c2 + thumb_func_end sub_810FD80 + + thumb_func_start sub_810FDAC +sub_810FDAC: @ 810FDAC + push {lr} + movs r3, 0 + movs r2, 0 + ldr r0, _0810FDC8 @ =gSpecialVar_0x8004 + ldrh r0, [r0] + subs r0, 0x8 + cmp r0, 0x7 + bhi _0810FE0C + lsls r0, 2 + ldr r1, _0810FDCC @ =_0810FDD0 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0810FDC8: .4byte gSpecialVar_0x8004 +_0810FDCC: .4byte _0810FDD0 + .align 2, 0 +_0810FDD0: + .4byte _0810FE0C + .4byte _0810FE0C + .4byte _0810FDF0 + .4byte _0810FDF6 + .4byte _0810FDFC + .4byte _0810FE02 + .4byte _0810FE08 + .4byte _0810FE0C +_0810FDF0: + movs r3, 0 + movs r2, 0x3 + b _0810FE0C +_0810FDF6: + movs r3, 0 + movs r2, 0x1 + b _0810FE0C +_0810FDFC: + movs r3, 0x1 + movs r2, 0 + b _0810FE0C +_0810FE02: + movs r3, 0 + movs r2, 0x4 + b _0810FE0C +_0810FE08: + movs r3, 0x1 + movs r2, 0x5 +_0810FE0C: + ldr r0, _0810FE18 @ =gSaveBlock1 + 0x30B8 + adds r1, r3, 0 + bl sub_810FE1C + pop {r0} + bx r0 + .align 2, 0 +_0810FE18: .4byte gSaveBlock1 + 0x30B8 + thumb_func_end sub_810FDAC + + thumb_func_start sub_810FE1C +sub_810FE1C: @ 810FE1C + push {r4,lr} + lsls r1, 24 + lsls r2, 24 + lsrs r2, 24 + lsrs r1, 20 + adds r1, r0, r1 + ldrb r0, [r1] + cmp r0, 0xFF + bne _0810FED0 + cmp r2, 0x5 + bhi _0810FEBC + lsls r0, r2, 2 + ldr r1, _0810FE3C @ =_0810FE40 + adds r0, r1 + ldr r0, [r0] + mov pc, r0 + .align 2, 0 +_0810FE3C: .4byte _0810FE40 + .align 2, 0 +_0810FE40: + .4byte _0810FEBC + .4byte _0810FE58 + .4byte _0810FE6C + .4byte _0810FE80 + .4byte _0810FE94 + .4byte _0810FEA8 +_0810FE58: + ldr r0, _0810FE64 @ =gStringVar1 + ldr r1, _0810FE68 @ =gOtherText_Steven + bl StringCopy + b _0810FEF2 + .align 2, 0 +_0810FE64: .4byte gStringVar1 +_0810FE68: .4byte gOtherText_Steven +_0810FE6C: + ldr r0, _0810FE78 @ =gStringVar1 + ldr r1, _0810FE7C @ =gOtherText_Brawly + bl StringCopy + b _0810FEF2 + .align 2, 0 +_0810FE78: .4byte gStringVar1 +_0810FE7C: .4byte gOtherText_Brawly +_0810FE80: + ldr r0, _0810FE8C @ =gStringVar1 + ldr r1, _0810FE90 @ =gOtherText_Winona + bl StringCopy + b _0810FEF2 + .align 2, 0 +_0810FE8C: .4byte gStringVar1 +_0810FE90: .4byte gOtherText_Winona +_0810FE94: + ldr r0, _0810FEA0 @ =gStringVar1 + ldr r1, _0810FEA4 @ =gOtherText_Phoebe + bl StringCopy + b _0810FEF2 + .align 2, 0 +_0810FEA0: .4byte gStringVar1 +_0810FEA4: .4byte gOtherText_Phoebe +_0810FEA8: + ldr r0, _0810FEB4 @ =gStringVar1 + ldr r1, _0810FEB8 @ =gOtherText_Glacia + bl StringCopy + b _0810FEF2 + .align 2, 0 +_0810FEB4: .4byte gStringVar1 +_0810FEB8: .4byte gOtherText_Glacia +_0810FEBC: + ldr r0, _0810FEC8 @ =gStringVar1 + ldr r1, _0810FECC @ =gOtherText_Wallace + bl StringCopy + b _0810FEF2 + .align 2, 0 +_0810FEC8: .4byte gStringVar1 +_0810FECC: .4byte gOtherText_Wallace +_0810FED0: + ldr r4, _0810FEF8 @ =gStringVar1 + adds r0, r4, 0 + movs r2, 0x7 + bl StringCopyN + movs r0, 0xFF + strb r0, [r4, 0x7] + ldrb r0, [r4] + cmp r0, 0xFC + bne _0810FEF2 + ldrb r0, [r4, 0x1] + cmp r0, 0x15 + bne _0810FEF2 + adds r0, r4, 0 + movs r1, 0x1 + bl ConvertInternationalString +_0810FEF2: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_0810FEF8: .4byte gStringVar1 + thumb_func_end sub_810FE1C + + thumb_func_start sub_810FEFC +sub_810FEFC: @ 810FEFC + push {lr} + ldr r0, _0810FF20 @ =0x00004095 + bl VarGet + lsls r0, 16 + lsrs r0, 16 + cmp r0, 0x2 + bne _0810FF2C + bl sub_810FA74 + ldr r0, _0810FF24 @ =gUnknown_02024D26 + ldrb r0, [r0] + cmp r0, 0x1 + bne _0810FF28 + bl sub_810FB9C + b _0810FF2C + .align 2, 0 +_0810FF20: .4byte 0x00004095 +_0810FF24: .4byte gUnknown_02024D26 +_0810FF28: + bl sub_810FC18 +_0810FF2C: + pop {r0} + bx r0 + thumb_func_end sub_810FEFC + + thumb_func_start sub_810FF30 +sub_810FF30: @ 810FF30 + ldr r0, _0810FF40 @ =gSaveBlock1 + ldr r1, _0810FF44 @ =0x000013c2 + adds r0, r1 + ldrh r0, [r0] + lsrs r0, 7 + movs r1, 0x1 + ands r0, r1 + bx lr + .align 2, 0 +_0810FF40: .4byte gSaveBlock1 +_0810FF44: .4byte 0x000013c2 + thumb_func_end sub_810FF30 + + thumb_func_start sub_810FF48 +sub_810FF48: @ 810FF48 + ldr r0, _0810FF58 @ =gSaveBlock1 + ldr r1, _0810FF5C @ =0x000013c2 + adds r0, r1 + ldrh r2, [r0] + movs r1, 0x80 + orrs r1, r2 + strh r1, [r0] + bx lr + .align 2, 0 +_0810FF58: .4byte gSaveBlock1 +_0810FF5C: .4byte 0x000013c2 + thumb_func_end sub_810FF48 + + thumb_func_start sub_810FF60 +sub_810FF60: @ 810FF60 + push {lr} + ldr r0, _0810FF74 @ =gSpecialVar_0x8004 + ldrb r0, [r0] + bl sub_810FB10 + lsls r0, 24 + lsrs r0, 24 + pop {r1} + bx r1 + .align 2, 0 +_0810FF74: .4byte gSpecialVar_0x8004 + thumb_func_end sub_810FF60 + + .align 2, 0 @ Don't pad with nop. diff --git a/asm/rom_813BA94.s b/asm/rom_813BA94.s deleted file mode 100644 index 7e966cf91..000000000 --- a/asm/rom_813BA94.s +++ /dev/null @@ -1,18272 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start sub_813CAF4 -sub_813CAF4: @ 813CAF4 - push {r4-r6,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _0813CB2C @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - ldrh r0, [r4, 0x26] - adds r0, 0x1 - movs r6, 0 - strh r0, [r4, 0x26] - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x4 - bne _0813CB18 - b _0813CC28 -_0813CB18: - cmp r0, 0x4 - bgt _0813CB30 - cmp r0, 0x2 - beq _0813CB60 - cmp r0, 0x2 - bgt _0813CBC4 - cmp r0, 0 - beq _0813CB46 - b _0813CC8E - .align 2, 0 -_0813CB2C: .4byte gTasks -_0813CB30: - cmp r0, 0x1E - beq _0813CBEE - cmp r0, 0x1E - bgt _0813CB3E - cmp r0, 0x14 - beq _0813CB8A - b _0813CC8E -_0813CB3E: - cmp r0, 0x28 - bne _0813CB44 - b _0813CC56 -_0813CB44: - b _0813CC8E -_0813CB46: - movs r1, 0x80 - lsls r1, 19 - movs r2, 0xE5 - lsls r2, 6 - adds r0, r2, 0 - strh r0, [r1] - ldr r0, _0813CB5C @ =REG_BG2CNT - strh r6, [r0] - movs r0, 0xFF - strh r0, [r4, 0x8] - b _0813CC8E - .align 2, 0 -_0813CB5C: .4byte REG_BG2CNT -_0813CB60: - ldr r0, _0813CBB0 @ =0x0000ffff - str r0, [sp] - movs r0, 0x1 - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r1, _0813CBB4 @ =REG_BG2CNT - ldr r2, _0813CBB8 @ =0x00000e07 - adds r0, r2, 0 - strh r0, [r1] - subs r1, 0xC - movs r2, 0xF5 - lsls r2, 6 - adds r0, r2, 0 - strh r0, [r1] - strh r6, [r4, 0xA] - strh r6, [r4, 0xC] - movs r0, 0x14 - strh r0, [r4, 0x8] -_0813CB8A: - ldr r2, _0813CBBC @ =REG_BG2VOFS - ldr r0, _0813CBC0 @ =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0xA] - strh r0, [r2] - subs r2, 0x2 - ldrh r0, [r1, 0xC] - strh r0, [r2] - ldrh r0, [r1, 0xA] - adds r0, 0x6 - strh r0, [r1, 0xA] - ldrh r0, [r1, 0xC] - subs r0, 0x8 - strh r0, [r1, 0xC] - b _0813CC8E - .align 2, 0 -_0813CBB0: .4byte 0x0000ffff -_0813CBB4: .4byte REG_BG2CNT -_0813CBB8: .4byte 0x00000e07 -_0813CBBC: .4byte REG_BG2VOFS -_0813CBC0: .4byte gTasks -_0813CBC4: - ldr r0, _0813CC14 @ =0x0000ffff - str r0, [sp] - movs r0, 0x1 - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r1, _0813CC18 @ =REG_BG2CNT - ldr r2, _0813CC1C @ =0x00000e07 - adds r0, r2, 0 - strh r0, [r1] - subs r1, 0xC - movs r2, 0xF5 - lsls r2, 6 - adds r0, r2, 0 - strh r0, [r1] - strh r6, [r4, 0xA] - strh r6, [r4, 0xC] - movs r0, 0x1E - strh r0, [r4, 0x8] -_0813CBEE: - ldr r2, _0813CC20 @ =REG_BG2VOFS - ldr r0, _0813CC24 @ =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0xA] - strh r0, [r2] - subs r2, 0x2 - ldrh r0, [r1, 0xC] - strh r0, [r2] - ldrh r0, [r1, 0xA] - subs r0, 0x6 - strh r0, [r1, 0xA] - ldrh r0, [r1, 0xC] - adds r0, 0x8 - strh r0, [r1, 0xC] - b _0813CC8E - .align 2, 0 -_0813CC14: .4byte 0x0000ffff -_0813CC18: .4byte REG_BG2CNT -_0813CC1C: .4byte 0x00000e07 -_0813CC20: .4byte REG_BG2VOFS -_0813CC24: .4byte gTasks -_0813CC28: - ldr r0, _0813CC98 @ =0x000037f7 - str r0, [sp] - movs r0, 0x1 - movs r1, 0x5 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, _0813CC9C @ =REG_BG2CNT - ldr r2, _0813CCA0 @ =0x00000e07 - adds r0, r2, 0 - strh r0, [r1] - subs r1, 0xC - movs r2, 0xF5 - lsls r2, 6 - adds r0, r2, 0 - strh r0, [r1] - strh r6, [r4, 0xA] - strh r6, [r4, 0xC] - movs r0, 0x8 - strh r0, [r4, 0xE] - movs r0, 0x28 - strh r0, [r4, 0x8] -_0813CC56: - ldr r2, _0813CCA4 @ =REG_BG2VOFS - ldr r1, _0813CCA8 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r3, r0, r1 - ldrh r0, [r3, 0xA] - strh r0, [r2] - ldr r1, _0813CCAC @ =REG_BG2HOFS - ldrh r0, [r3, 0xC] - strh r0, [r1] - ldrh r0, [r3, 0xA] - ldrh r2, [r3, 0xE] - subs r0, r2 - strh r0, [r3, 0xA] - ldrh r1, [r3, 0xC] - adds r0, r2, r1 - strh r0, [r3, 0xC] - ldrh r1, [r3, 0x26] - movs r0, 0x7 - ands r0, r1 - cmp r0, 0 - bne _0813CC8E - lsls r0, r2, 16 - cmp r0, 0 - beq _0813CC8E - subs r0, r2, 0x1 - strh r0, [r3, 0xE] -_0813CC8E: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0813CC98: .4byte 0x000037f7 -_0813CC9C: .4byte REG_BG2CNT -_0813CCA0: .4byte 0x00000e07 -_0813CCA4: .4byte REG_BG2VOFS -_0813CCA8: .4byte gTasks -_0813CCAC: .4byte REG_BG2HOFS - thumb_func_end sub_813CAF4 - - thumb_func_start intro_reset_and_hide_bgs -intro_reset_and_hide_bgs: @ 813CCB0 - movs r0, 0x80 - lsls r0, 19 - movs r1, 0 - strh r1, [r0] - adds r0, 0x1C - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - subs r0, 0x6 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - subs r0, 0x6 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - subs r0, 0x6 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x3E - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - bx lr - thumb_func_end intro_reset_and_hide_bgs - - thumb_func_start sub_813CCE8 -sub_813CCE8: @ 813CCE8 - push {r4,lr} - lsls r0, 24 - lsrs r3, r0, 24 - ldr r1, _0813CD0C @ =gTasks - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 3 - adds r0, r1 - movs r2, 0x8 - ldrsh r0, [r0, r2] - adds r2, r1, 0 - cmp r0, 0x4 - bhi _0813CD28 - lsls r0, 2 - ldr r1, _0813CD10 @ =_0813CD14 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0813CD0C: .4byte gTasks -_0813CD10: .4byte _0813CD14 - .align 2, 0 -_0813CD14: - .4byte _0813CD28 - .4byte _0813CD5C - .4byte _0813CD8C - .4byte _0813CDA8 - .4byte _0813CDFC -_0813CD28: - ldr r1, _0813CD54 @ =REG_BLDCNT - ldr r4, _0813CD58 @ =0x00003f50 - adds r0, r4, 0 - strh r0, [r1] - adds r1, 0x2 - movs r4, 0x80 - lsls r4, 5 - adds r0, r4, 0 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0 - strh r0, [r1] - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 3 - adds r0, r2 - movs r1, 0x40 - strh r1, [r0, 0xA] - movs r1, 0x1 - strh r1, [r0, 0x8] - b _0813CE26 - .align 2, 0 -_0813CD54: .4byte REG_BLDCNT -_0813CD58: .4byte 0x00003f50 -_0813CD5C: - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 3 - adds r2, r0, r2 - ldrh r1, [r2, 0xA] - movs r3, 0xA - ldrsh r0, [r2, r3] - cmp r0, 0 - beq _0813CD78 - subs r0, r1, 0x1 - strh r0, [r2, 0xA] - movs r4, 0xA - ldrsh r0, [r2, r4] - b _0813CDC2 -_0813CD78: - ldr r1, _0813CD84 @ =REG_BLDALPHA - ldr r0, _0813CD88 @ =gUnknown_08393E64 - ldrh r0, [r0] - strh r0, [r1] - movs r0, 0x80 - b _0813CDEA - .align 2, 0 -_0813CD84: .4byte REG_BLDALPHA -_0813CD88: .4byte gUnknown_08393E64 -_0813CD8C: - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 3 - adds r1, r0, r2 - ldrh r0, [r1, 0xA] - movs r3, 0xA - ldrsh r2, [r1, r3] - cmp r2, 0 - bne _0813CE0E - strh r2, [r1, 0xA] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _0813CE26 -_0813CDA8: - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 3 - adds r2, r0, r2 - ldrh r1, [r2, 0xA] - movs r4, 0xA - ldrsh r0, [r2, r4] - cmp r0, 0x3D - bgt _0813CDE0 - adds r0, r1, 0x1 - strh r0, [r2, 0xA] - movs r1, 0xA - ldrsh r0, [r2, r1] -_0813CDC2: - lsrs r1, r0, 31 - adds r0, r1 - movs r2, 0xFF - lsls r2, 1 - ldr r3, _0813CDD8 @ =REG_BLDALPHA - ldr r1, _0813CDDC @ =gUnknown_08393E64 - ands r0, r2 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r3] - b _0813CE26 - .align 2, 0 -_0813CDD8: .4byte REG_BLDALPHA -_0813CDDC: .4byte gUnknown_08393E64 -_0813CDE0: - ldr r1, _0813CDF4 @ =REG_BLDALPHA - ldr r0, _0813CDF8 @ =gUnknown_08393E64 - ldrh r0, [r0, 0x3E] - strh r0, [r1] - movs r0, 0x10 -_0813CDEA: - strh r0, [r2, 0xA] - ldrh r0, [r2, 0x8] - adds r0, 0x1 - strh r0, [r2, 0x8] - b _0813CE26 - .align 2, 0 -_0813CDF4: .4byte REG_BLDALPHA -_0813CDF8: .4byte gUnknown_08393E64 -_0813CDFC: - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 3 - adds r1, r0, r2 - ldrh r0, [r1, 0xA] - movs r4, 0xA - ldrsh r2, [r1, r4] - cmp r2, 0 - beq _0813CE14 -_0813CE0E: - subs r0, 0x1 - strh r0, [r1, 0xA] - b _0813CE26 -_0813CE14: - ldr r0, _0813CE2C @ =REG_BLDCNT - strh r2, [r0] - adds r0, 0x2 - strh r2, [r0] - adds r0, 0x2 - strh r2, [r0] - adds r0, r3, 0 - bl DestroyTask -_0813CE26: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0813CE2C: .4byte REG_BLDCNT - thumb_func_end sub_813CCE8 - - thumb_func_start sub_813CE30 -sub_813CE30: @ 813CE30 - push {r4,lr} - sub sp, 0x24 - lsls r2, 16 - lsrs r2, 16 - movs r4, 0x80 - lsls r4, 8 - str r4, [sp] - str r4, [sp, 0x4] - mov r4, sp - strh r0, [r4, 0x8] - mov r0, sp - strh r1, [r0, 0xA] - strh r2, [r0, 0xC] - strh r2, [r0, 0xE] - strh r3, [r0, 0x10] - add r4, sp, 0x14 - adds r1, r4, 0 - movs r2, 0x1 - bl BgAffineSet - ldr r1, _0813CE84 @ =REG_BG2PA - ldrh r0, [r4] - strh r0, [r1] - adds r1, 0x2 - ldrh r0, [r4, 0x2] - strh r0, [r1] - adds r1, 0x2 - ldrh r0, [r4, 0x4] - strh r0, [r1] - adds r1, 0x2 - ldrh r0, [r4, 0x6] - strh r0, [r1] - adds r1, 0x2 - ldr r0, [r4, 0x8] - str r0, [r1] - adds r1, 0x4 - ldr r0, [r4, 0xC] - str r0, [r1] - add sp, 0x24 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0813CE84: .4byte REG_BG2PA - thumb_func_end sub_813CE30 - - thumb_func_start sub_813CE88 -sub_813CE88: @ 813CE88 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - ldr r4, [sp, 0x30] - lsls r0, 16 - lsrs r7, r0, 16 - lsls r1, 16 - lsrs r1, 16 - mov r9, r1 - lsls r2, 16 - lsrs r2, 16 - mov r10, r2 - lsls r3, 16 - lsrs r3, 16 - mov r8, r3 - lsls r4, 24 - lsrs r6, r4, 24 - cmp r6, 0 - beq _0813CEF0 - lsls r0, r7, 3 - ldr r1, _0813CEE4 @ =gMonFrontPicTable - adds r0, r1 - ldr r1, _0813CEE8 @ =gMonFrontPicCoords - lsls r2, r7, 2 - adds r2, r1 - ldrb r1, [r2] - ldrb r2, [r2, 0x1] - movs r3, 0x80 - lsls r3, 18 - ldr r5, _0813CEEC @ =gUnknown_0840B5A0 - mov r6, r8 - lsls r4, r6, 2 - adds r4, r5 - ldr r4, [r4] - str r4, [sp] - str r7, [sp, 0x4] - movs r4, 0 - str r4, [sp, 0x8] - movs r4, 0x1 - str r4, [sp, 0xC] - bl sub_800D378 - b _0813CF1C - .align 2, 0 -_0813CEE4: .4byte gMonFrontPicTable -_0813CEE8: .4byte gMonFrontPicCoords -_0813CEEC: .4byte gUnknown_0840B5A0 -_0813CEF0: - lsls r0, r7, 3 - ldr r1, _0813CF90 @ =gMonBackPicTable - adds r0, r1 - ldr r1, _0813CF94 @ =gMonBackPicCoords - lsls r2, r7, 2 - adds r2, r1 - ldrb r1, [r2] - ldrb r2, [r2, 0x1] - movs r3, 0x80 - lsls r3, 18 - ldr r4, _0813CF98 @ =gUnknown_0840B5A0 - mov r12, r4 - mov r5, r8 - lsls r4, r5, 2 - add r4, r12 - ldr r4, [r4] - str r4, [sp] - str r7, [sp, 0x4] - str r6, [sp, 0x8] - str r6, [sp, 0xC] - bl sub_800D378 -_0813CF1C: - ldr r2, _0813CF9C @ =0x0000ffff - adds r0, r7, 0 - movs r1, 0 - bl species_and_otid_get_pal - mov r6, r8 - lsls r4, r6, 4 - movs r2, 0x80 - lsls r2, 1 - adds r1, r4, r2 - lsls r1, 16 - lsrs r1, 16 - movs r2, 0x20 - bl LoadCompressedPalette - lsls r1, r6, 24 - lsrs r1, 24 - mov r0, r8 - bl sub_8143648 - ldr r0, _0813CFA0 @ =gUnknown_02024E8C - mov r3, r9 - lsls r1, r3, 16 - asrs r1, 16 - mov r5, r10 - lsls r2, r5, 16 - asrs r2, 16 - mov r3, r8 - adds r3, 0x1 - lsls r3, 26 - lsrs r3, 24 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0813CFA4 @ =gSprites - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r1 - ldrb r3, [r2, 0x5] - movs r1, 0xF - ands r1, r3 - orrs r1, r4 - movs r3, 0xD - negs r3, r3 - ands r1, r3 - movs r3, 0x4 - orrs r1, r3 - strb r1, [r2, 0x5] - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0813CF90: .4byte gMonBackPicTable -_0813CF94: .4byte gMonBackPicCoords -_0813CF98: .4byte gUnknown_0840B5A0 -_0813CF9C: .4byte 0x0000ffff -_0813CFA0: .4byte gUnknown_02024E8C -_0813CFA4: .4byte gSprites - thumb_func_end sub_813CE88 - - thumb_func_start sub_813CFA8 -sub_813CFA8: @ 813CFA8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - mov r9, r1 - mov r10, r2 - adds r6, r3, 0 - lsls r0, 16 - lsrs r0, 16 - lsls r1, 16 - lsrs r1, 16 - mov r9, r1 - lsls r2, 16 - lsrs r2, 16 - mov r10, r2 - lsls r6, 16 - lsrs r6, 16 - lsls r7, r0, 3 - ldr r1, _0813D068 @ =gTrainerBackPicTable - mov r8, r1 - add r8, r7 - ldr r1, _0813D06C @ =gTrainerBackPicCoords - lsls r2, r0, 2 - adds r2, r1 - ldrb r1, [r2] - ldrb r2, [r2, 0x1] - movs r3, 0x80 - lsls r3, 18 - ldr r5, _0813D070 @ =gUnknown_0840B5A0 - lsls r4, r6, 2 - adds r4, r5 - ldr r4, [r4] - str r4, [sp] - str r0, [sp, 0x4] - mov r0, r8 - bl DecompressPicFromTable_2 - ldr r0, _0813D074 @ =gTrainerBackPicPaletteTable - adds r0, r7, r0 - ldr r0, [r0] - lsls r4, r6, 4 - movs r2, 0x80 - lsls r2, 1 - adds r1, r4, r2 - lsls r1, 16 - lsrs r1, 16 - movs r2, 0x20 - bl LoadCompressedPalette - lsls r1, r6, 24 - lsrs r1, 24 - adds r0, r6, 0 - bl sub_8143680 - ldr r0, _0813D078 @ =gUnknown_02024E8C - ldr r1, _0813D07C @ =gUnknown_0840B064 - str r1, [r0, 0x8] - mov r1, r9 - lsls r1, 16 - asrs r1, 16 - mov r9, r1 - mov r2, r10 - lsls r2, 16 - asrs r2, 16 - mov r10, r2 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0813D080 @ =gSprites - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r1 - ldrb r3, [r2, 0x5] - movs r1, 0xF - ands r1, r3 - orrs r1, r4 - movs r3, 0xD - negs r3, r3 - ands r1, r3 - movs r3, 0x4 - orrs r1, r3 - strb r1, [r2, 0x5] - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0813D068: .4byte gTrainerBackPicTable -_0813D06C: .4byte gTrainerBackPicCoords -_0813D070: .4byte gUnknown_0840B5A0 -_0813D074: .4byte gTrainerBackPicPaletteTable -_0813D078: .4byte gUnknown_02024E8C -_0813D07C: .4byte gUnknown_0840B064 -_0813D080: .4byte gSprites - thumb_func_end sub_813CFA8 - - thumb_func_start sub_813D084 -sub_813D084: @ 813D084 - push {lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0813D0A0 - cmp r0, 0x1 - ble _0813D096 - cmp r0, 0x2 - beq _0813D0A8 -_0813D096: - ldr r2, _0813D09C @ =0x00003ff6 - b _0813D0AA - .align 2, 0 -_0813D09C: .4byte 0x00003ff6 -_0813D0A0: - ldr r2, _0813D0A4 @ =0x000031df - b _0813D0AA - .align 2, 0 -_0813D0A4: .4byte 0x000031df -_0813D0A8: - ldr r2, _0813D0C0 @ =0x0000518c -_0813D0AA: - ldr r0, _0813D0C4 @ =gPlttBufferUnfaded - movs r1, 0xF1 - lsls r1, 1 - adds r0, r1 - strh r2, [r0] - ldr r0, _0813D0C8 @ =gPlttBufferFaded - adds r0, r1 - strh r2, [r0] - pop {r0} - bx r0 - .align 2, 0 -_0813D0C0: .4byte 0x0000518c -_0813D0C4: .4byte gPlttBufferUnfaded -_0813D0C8: .4byte gPlttBufferFaded - thumb_func_end sub_813D084 - - thumb_func_start sub_813D0CC -sub_813D0CC: @ 813D0CC - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0xBF - ble _0813D148 - ldrh r1, [r4, 0x34] - movs r2, 0x34 - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _0813D0EA - subs r0, r1, 0x1 - strh r0, [r4, 0x34] - b _0813D14E -_0813D0EA: - adds r2, r4, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - ldrh r0, [r4, 0x30] - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x32] - str r1, [sp] - movs r2, 0 - movs r3, 0 - bl SetOamMatrix - movs r0, 0x32 - ldrsh r1, [r4, r0] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 5 - subs r0, r1 - movs r1, 0x64 - bl __divsi3 - strh r0, [r4, 0x32] - movs r2, 0x32 - ldrsh r1, [r4, r2] - adds r0, r1, 0 - subs r0, 0xC0 - cmp r0, 0 - bge _0813D12C - adds r0, 0x7F -_0813D12C: - asrs r0, 7 - adds r0, 0x9 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xF - bls _0813D13A - movs r0, 0xF -_0813D13A: - lsls r2, r0, 4 - ldrb r1, [r4, 0x5] - movs r0, 0xF - ands r0, r1 - orrs r0, r2 - strb r0, [r4, 0x5] - b _0813D14E -_0813D148: - adds r0, r4, 0 - bl DestroySprite -_0813D14E: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_813D0CC - - thumb_func_start sub_813D158 -sub_813D158: @ 813D158 - push {r4,lr} - adds r4, r0, 0 - ldr r2, _0813D1CC @ =gSprites - movs r1, 0x3C - ldrsh r0, [r4, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - movs r3, 0x3C - ldrsh r0, [r1, r3] - cmp r0, 0 - beq _0813D1D4 - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldrh r0, [r4, 0x24] - ldrh r1, [r4, 0x20] - adds r0, r1 - strh r0, [r4, 0x20] - ldrh r0, [r4, 0x26] - ldrh r3, [r4, 0x22] - adds r0, r3 - strh r0, [r4, 0x22] - adds r0, r4, 0 - movs r1, 0x3 - bl StartSpriteAnim - movs r0, 0x80 - lsls r0, 3 - strh r0, [r4, 0x32] - ldrh r1, [r4, 0x30] - movs r0, 0x3 - ands r0, r1 - lsls r0, 3 - strh r0, [r4, 0x34] - ldr r0, _0813D1D0 @ =sub_813D0CC - str r0, [r4, 0x1C] - ldrb r1, [r4, 0x1] - movs r0, 0x3F - ands r0, r1 - movs r1, 0x40 - orrs r0, r1 - strb r0, [r4, 0x1] - ldrb r0, [r4, 0x3] - movs r1, 0xC0 - orrs r0, r1 - strb r0, [r4, 0x3] - adds r0, r4, 0 - movs r1, 0x1 - movs r2, 0x3 - movs r3, 0x2 - bl CalcCenterToCornerVec - b _0813D200 - .align 2, 0 -_0813D1CC: .4byte gSprites -_0813D1D0: .4byte sub_813D0CC -_0813D1D4: - ldrh r0, [r1, 0x24] - strh r0, [r4, 0x24] - movs r0, 0x3C - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x26] - strh r0, [r4, 0x26] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x20] - strh r0, [r4, 0x20] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x22] - strh r0, [r4, 0x22] -_0813D200: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_813D158 - - thumb_func_start sub_813D208 -sub_813D208: @ 813D208 - push {lr} - adds r1, r0, 0 - movs r2, 0x2E - ldrsh r0, [r1, r2] - cmp r0, 0 - beq _0813D218 - ldr r0, _0813D21C @ =sub_813D220 - str r0, [r1, 0x1C] -_0813D218: - pop {r0} - bx r0 - .align 2, 0 -_0813D21C: .4byte sub_813D220 - thumb_func_end sub_813D208 - - thumb_func_start sub_813D220 -sub_813D220: @ 813D220 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - adds r7, r0, 0 - ldrh r4, [r7, 0x20] - movs r1, 0x20 - ldrsh r0, [r7, r1] - cmp r0, 0x74 - bgt _0813D260 - ldrh r0, [r7, 0x26] - ldrh r1, [r7, 0x22] - adds r0, r1 - movs r1, 0 - strh r0, [r7, 0x22] - strh r1, [r7, 0x26] - adds r0, r4, 0x4 - strh r0, [r7, 0x20] - ldr r0, _0813D258 @ =0x0000fffc - strh r0, [r7, 0x24] - movs r0, 0x80 - strh r0, [r7, 0x36] - ldr r0, _0813D25C @ =sub_813D368 - str r0, [r7, 0x1C] - b _0813D352 - .align 2, 0 -_0813D258: .4byte 0x0000fffc -_0813D25C: .4byte sub_813D368 -_0813D260: - ldrh r1, [r7, 0x36] - ldr r5, _0813D364 @ =gSineTable - lsls r0, r1, 24 - lsrs r0, 23 - adds r0, r5 - ldrh r2, [r0] - adds r0, r1, 0 - adds r0, 0x40 - lsls r0, 24 - lsrs r0, 23 - adds r0, r5 - ldrh r3, [r0] - adds r1, 0x2 - strh r1, [r7, 0x36] - lsls r2, 16 - asrs r0, r2, 16 - cmp r0, 0 - bge _0813D286 - adds r0, 0x1F -_0813D286: - asrs r0, 5 - strh r0, [r7, 0x26] - subs r0, r4, 0x1 - strh r0, [r7, 0x20] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0813D29C - ldrh r0, [r7, 0x22] - adds r0, 0x1 - strh r0, [r7, 0x22] -_0813D29C: - lsls r0, r3, 16 - asrs r0, 16 - negs r0, r0 - cmp r0, 0 - bge _0813D2A8 - adds r0, 0xF -_0813D2A8: - lsls r1, r0, 12 - lsrs r1, 16 - ldrh r4, [r7, 0x32] - ldrh r3, [r7, 0x34] - adds r0, r1, 0 - subs r0, 0x10 - lsls r0, 24 - lsrs r0, 23 - adds r0, r5 - ldrh r2, [r0] - adds r1, 0x30 - lsls r1, 24 - lsrs r1, 23 - adds r1, r5 - movs r0, 0 - ldrsh r1, [r1, r0] - adds r0, r1, 0 - muls r0, r4 - cmp r0, 0 - bge _0813D2D2 - adds r0, 0xFF -_0813D2D2: - lsls r0, 8 - lsrs r0, 16 - mov r8, r0 - lsls r0, r2, 16 - asrs r2, r0, 16 - negs r0, r2 - muls r0, r3 - cmp r0, 0 - bge _0813D2E6 - adds r0, 0xFF -_0813D2E6: - lsls r0, 8 - lsrs r0, 16 - mov r10, r0 - adds r0, r2, 0 - muls r0, r4 - cmp r0, 0 - bge _0813D2F6 - adds r0, 0xFF -_0813D2F6: - lsls r0, 8 - lsrs r5, r0, 16 - adds r0, r1, 0 - muls r0, r3 - cmp r0, 0 - bge _0813D304 - adds r0, 0xFF -_0813D304: - lsls r6, r0, 8 - lsrs r6, 16 - ldrh r0, [r7, 0x30] - lsls r0, 24 - lsrs r0, 24 - str r3, [sp] - adds r1, r4, 0 - movs r2, 0 - movs r3, 0 - bl SetOamMatrix - ldrh r0, [r7, 0x30] - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r9, r5 - mov r1, r10 - lsls r5, r1, 16 - lsrs r3, r5, 16 - lsls r4, r6, 16 - str r6, [sp] - mov r1, r8 - mov r2, r9 - bl SetOamMatrix - ldrh r0, [r7, 0x30] - adds r0, 0x2 - lsls r0, 24 - lsrs r0, 24 - lsls r5, 1 - lsrs r5, 16 - lsls r4, 1 - lsrs r4, 16 - str r4, [sp] - mov r1, r8 - mov r2, r9 - adds r3, r5, 0 - bl SetOamMatrix -_0813D352: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0813D364: .4byte gSineTable - thumb_func_end sub_813D220 - - thumb_func_start sub_813D368 -sub_813D368: @ 813D368 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - ldrh r0, [r4, 0x30] - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x3A] - adds r1, 0x40 - lsls r1, 16 - lsrs r1, 16 - str r1, [sp] - movs r2, 0 - movs r3, 0 - bl SetOamMatrix - ldrh r0, [r4, 0x30] - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x3A] - adds r1, 0x40 - lsls r1, 16 - lsrs r1, 16 - str r1, [sp] - movs r2, 0 - movs r3, 0 - bl SetOamMatrix - ldrh r0, [r4, 0x30] - adds r0, 0x2 - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x3A] - adds r1, 0x40 - lsls r1, 16 - lsrs r1, 16 - str r1, [sp] - movs r2, 0 - movs r3, 0 - bl SetOamMatrix - ldrh r1, [r4, 0x36] - movs r2, 0x36 - ldrsh r0, [r4, r2] - cmp r0, 0x40 - beq _0813D400 - adds r0, r1, 0 - subs r0, 0x8 - strh r0, [r4, 0x36] - ldrh r0, [r4, 0x36] - adds r1, r0, 0 - ldr r2, _0813D3FC @ =gSineTable - adds r0, 0x40 - lsls r0, 24 - lsrs r0, 23 - adds r0, r2 - movs r3, 0 - ldrsh r0, [r0, r3] - cmp r0, 0 - bge _0813D3E2 - adds r0, 0x3F -_0813D3E2: - asrs r0, 6 - strh r0, [r4, 0x24] - lsls r0, r1, 24 - lsrs r0, 23 - adds r0, r2 - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - bge _0813D3F6 - adds r0, 0x3F -_0813D3F6: - asrs r0, 6 - strh r0, [r4, 0x26] - b _0813D408 - .align 2, 0 -_0813D3FC: .4byte gSineTable -_0813D400: - movs r0, 0 - strh r0, [r4, 0x36] - ldr r0, _0813D410 @ =sub_813D414 - str r0, [r4, 0x1C] -_0813D408: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0813D410: .4byte sub_813D414 - thumb_func_end sub_813D368 - - thumb_func_start sub_813D414 -sub_813D414: @ 813D414 - push {r4,lr} - adds r1, r0, 0 - movs r2, 0x2E - ldrsh r0, [r1, r2] - cmp r0, 0x2 - beq _0813D474 - ldrh r0, [r1, 0x36] - adds r0, 0x8 - strh r0, [r1, 0x36] - ldr r3, _0813D470 @ =gSineTable - lsls r0, 24 - lsrs r0, 23 - adds r0, r3 - movs r4, 0 - ldrsh r0, [r0, r4] - cmp r0, 0 - bge _0813D438 - adds r0, 0xF -_0813D438: - asrs r0, 4 - adds r0, 0x40 - lsls r0, 16 - lsrs r2, r0, 16 - adds r0, r2, 0 - adds r0, 0x40 - lsls r0, 24 - lsrs r0, 23 - adds r0, r3 - movs r4, 0 - ldrsh r0, [r0, r4] - cmp r0, 0 - bge _0813D454 - adds r0, 0x3F -_0813D454: - asrs r0, 6 - strh r0, [r1, 0x24] - lsls r0, r2, 24 - lsrs r0, 23 - adds r0, r3 - movs r2, 0 - ldrsh r0, [r0, r2] - cmp r0, 0 - bge _0813D468 - adds r0, 0x3F -_0813D468: - asrs r0, 6 - strh r0, [r1, 0x26] - b _0813D478 - .align 2, 0 -_0813D470: .4byte gSineTable -_0813D474: - ldr r0, _0813D480 @ =sub_813D484 - str r0, [r1, 0x1C] -_0813D478: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0813D480: .4byte sub_813D484 - thumb_func_end sub_813D414 - - thumb_func_start sub_813D484 -sub_813D484: @ 813D484 - push {r4,lr} - adds r4, r0, 0 - ldrh r2, [r4, 0x22] - movs r0, 0x22 - ldrsh r1, [r4, r0] - movs r3, 0x38 - ldrsh r0, [r4, r3] - cmp r1, r0 - bge _0813D49C - adds r0, r2, 0x4 - strh r0, [r4, 0x22] - b _0813D4F8 -_0813D49C: - movs r0, 0x1 - strh r0, [r4, 0x3C] - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldrh r0, [r4, 0x24] - ldrh r1, [r4, 0x20] - adds r0, r1 - strh r0, [r4, 0x20] - ldrh r0, [r4, 0x26] - ldrh r3, [r4, 0x22] - adds r0, r3 - strh r0, [r4, 0x22] - adds r0, r4, 0 - movs r1, 0x3 - bl StartSpriteAnim - movs r0, 0x80 - lsls r0, 3 - strh r0, [r4, 0x32] - ldrh r1, [r4, 0x30] - movs r0, 0x3 - ands r0, r1 - lsls r0, 3 - strh r0, [r4, 0x34] - ldr r0, _0813D500 @ =sub_813D0CC - str r0, [r4, 0x1C] - ldrb r1, [r4, 0x1] - movs r0, 0x3F - ands r0, r1 - movs r1, 0x40 - orrs r0, r1 - strb r0, [r4, 0x1] - ldrb r0, [r4, 0x3] - movs r1, 0xC0 - orrs r0, r1 - strb r0, [r4, 0x3] - adds r0, r4, 0 - movs r1, 0x1 - movs r2, 0x3 - movs r3, 0x2 - bl CalcCenterToCornerVec -_0813D4F8: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0813D500: .4byte sub_813D0CC - thumb_func_end sub_813D484 - - thumb_func_start sub_813D504 -sub_813D504: @ 813D504 - push {r4,lr} - adds r4, r0, 0 - ldrh r2, [r4, 0x22] - movs r0, 0x22 - ldrsh r1, [r4, r0] - movs r3, 0x38 - ldrsh r0, [r4, r3] - cmp r1, r0 - bge _0813D51C - adds r0, r2, 0x4 - strh r0, [r4, 0x22] - b _0813D578 -_0813D51C: - movs r0, 0x1 - strh r0, [r4, 0x3C] - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldrh r0, [r4, 0x24] - ldrh r1, [r4, 0x20] - adds r0, r1 - strh r0, [r4, 0x20] - ldrh r0, [r4, 0x26] - ldrh r3, [r4, 0x22] - adds r0, r3 - strh r0, [r4, 0x22] - adds r0, r4, 0 - movs r1, 0x3 - bl StartSpriteAnim - movs r0, 0x80 - lsls r0, 3 - strh r0, [r4, 0x32] - ldrh r1, [r4, 0x30] - movs r0, 0x3 - ands r0, r1 - lsls r0, 3 - strh r0, [r4, 0x34] - ldr r0, _0813D580 @ =sub_813D0CC - str r0, [r4, 0x1C] - ldrb r1, [r4, 0x1] - movs r0, 0x3F - ands r0, r1 - movs r1, 0x40 - orrs r0, r1 - strb r0, [r4, 0x1] - ldrb r0, [r4, 0x3] - movs r1, 0xC0 - orrs r0, r1 - strb r0, [r4, 0x3] - adds r0, r4, 0 - movs r1, 0x1 - movs r2, 0x3 - movs r3, 0x2 - bl CalcCenterToCornerVec -_0813D578: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0813D580: .4byte sub_813D0CC - thumb_func_end sub_813D504 - - thumb_func_start sub_813D584 -sub_813D584: @ 813D584 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - adds r4, r0, 0 - adds r5, r1, 0 - ldr r6, [sp, 0x34] - ldr r0, [sp, 0x38] - mov r8, r0 - lsls r4, 16 - lsls r5, 16 - lsls r2, 16 - lsrs r2, 16 - str r2, [sp, 0x8] - lsls r3, 16 - lsrs r3, 16 - str r3, [sp, 0xC] - lsls r6, 16 - lsrs r6, 16 - mov r1, r8 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - ldr r0, _0813D640 @ =gSpriteTemplate_840AE20 - lsrs r2, r4, 16 - mov r10, r2 - asrs r4, 16 - lsrs r1, r5, 16 - str r1, [sp, 0x4] - asrs r5, 16 - adds r1, r4, 0 - adds r2, r5, 0 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r7, r0, 24 - ldr r2, _0813D644 @ =gSprites - mov r9, r2 - lsls r0, r7, 4 - adds r0, r7 - lsls r5, r0, 2 - adds r4, r5, r2 - movs r0, 0 - strh r0, [r4, 0x2E] - strh r0, [r4, 0x3C] - mov r0, sp - ldrh r0, [r0, 0xC] - strh r0, [r4, 0x30] - mov r1, sp - ldrh r1, [r1, 0x8] - strh r1, [r4, 0x32] - mov r2, sp - ldrh r2, [r2, 0x8] - strh r2, [r4, 0x34] - strh r6, [r4, 0x38] - mov r0, sp - ldrh r0, [r0, 0x8] - strh r0, [r4, 0x3A] - ldrb r0, [r4, 0x1] - movs r1, 0x3 - orrs r0, r1 - strb r0, [r4, 0x1] - movs r0, 0x1F - ldr r1, [sp, 0xC] - ands r1, r0 - lsls r1, 1 - ldrb r2, [r4, 0x3] - movs r0, 0x3F - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0x3] - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x2 - movs r3, 0x2 - bl CalcCenterToCornerVec - adds r0, r4, 0 - movs r1, 0x2 - bl StartSpriteAnim - mov r1, r8 - cmp r1, 0 - bne _0813D64C - mov r0, r9 - adds r0, 0x1C - adds r0, r5, r0 - ldr r1, _0813D648 @ =sub_813D208 - b _0813D654 - .align 2, 0 -_0813D640: .4byte gSpriteTemplate_840AE20 -_0813D644: .4byte gSprites -_0813D648: .4byte sub_813D208 -_0813D64C: - mov r0, r9 - adds r0, 0x1C - adds r0, r5, r0 - ldr r1, _0813D774 @ =sub_813D504 -_0813D654: - str r1, [r0] - str r7, [sp, 0x10] - mov r2, r10 - lsls r2, 16 - asrs r2, 16 - mov r10, r2 - ldr r0, [sp, 0x4] - lsls r0, 16 - asrs r0, 16 - mov r8, r0 - ldr r0, _0813D778 @ =gSpriteTemplate_840AE20 - mov r1, r10 - mov r2, r8 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r7, r0, 24 - ldr r5, _0813D77C @ =gSprites - lsls r4, r7, 4 - adds r4, r7 - lsls r4, 2 - adds r0, r4, r5 - mov r1, sp - ldrh r1, [r1, 0x10] - strh r1, [r0, 0x3C] - ldr r2, [sp, 0xC] - adds r2, 0x1 - mov r9, r2 - strh r2, [r0, 0x30] - ldrb r1, [r0, 0x1] - movs r2, 0x3 - orrs r1, r2 - strb r1, [r0, 0x1] - mov r2, r9 - movs r1, 0x1F - ands r2, r1 - lsls r2, 1 - ldrb r3, [r0, 0x3] - movs r6, 0x3F - negs r6, r6 - adds r1, r6, 0 - ands r1, r3 - orrs r1, r2 - strb r1, [r0, 0x3] - movs r1, 0 - movs r2, 0x2 - movs r3, 0x2 - bl CalcCenterToCornerVec - ldr r2, _0813D780 @ =gSprites + 0x1C - adds r4, r2 - ldr r0, _0813D784 @ =sub_813D158 - str r0, [r4] - ldr r0, _0813D778 @ =gSpriteTemplate_840AE20 - mov r1, r10 - mov r2, r8 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r7, r0, 24 - lsls r4, r7, 4 - adds r4, r7 - lsls r4, 2 - adds r5, r4, r5 - mov r1, sp - ldrh r1, [r1, 0x10] - strh r1, [r5, 0x3C] - ldr r2, [sp, 0xC] - adds r2, 0x2 - mov r8, r2 - strh r2, [r5, 0x30] - adds r0, r5, 0 - movs r1, 0x1 - bl StartSpriteAnim - ldrb r0, [r5, 0x1] - movs r1, 0x3 - orrs r0, r1 - strb r0, [r5, 0x1] - mov r0, r8 - movs r2, 0x1F - ands r0, r2 - lsls r0, 1 - ldrb r1, [r5, 0x3] - ands r6, r1 - orrs r6, r0 - strb r6, [r5, 0x3] - adds r0, r5, 0 - movs r1, 0 - movs r2, 0x2 - movs r3, 0x2 - bl CalcCenterToCornerVec - ldr r0, _0813D780 @ =gSprites + 0x1C - adds r4, r0 - ldr r1, _0813D784 @ =sub_813D158 - str r1, [r4] - ldr r2, [sp, 0xC] - lsls r0, r2, 24 - lsrs r0, 24 - ldr r5, [sp, 0x8] - adds r5, 0x20 - lsls r4, r5, 16 - lsrs r4, 16 - str r4, [sp] - adds r1, r4, 0 - movs r2, 0 - movs r3, 0 - bl SetOamMatrix - mov r0, r9 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - str r4, [sp] - adds r1, r4, 0 - movs r2, 0 - movs r3, 0 - bl SetOamMatrix - mov r1, r8 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - lsls r5, 17 - lsrs r5, 16 - str r5, [sp] - mov r0, r8 - adds r1, r4, 0 - movs r2, 0 - movs r3, 0 - bl SetOamMatrix - ldr r0, [sp, 0x10] - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0813D774: .4byte sub_813D504 -_0813D778: .4byte gSpriteTemplate_840AE20 -_0813D77C: .4byte gSprites -_0813D780: .4byte gSprites + 0x1C -_0813D784: .4byte sub_813D158 - thumb_func_end sub_813D584 - - thumb_func_start sub_813D788 -sub_813D788: @ 813D788 - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x4 - bhi _0813D830 - lsls r0, 2 - ldr r1, _0813D7A0 @ =_0813D7A4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0813D7A0: .4byte _0813D7A4 - .align 2, 0 -_0813D7A4: - .4byte _0813D7B8 - .4byte _0813D7C6 - .4byte _0813D7E4 - .4byte _0813D80C - .4byte _0813D816 -_0813D7B8: - adds r0, r4, 0 - movs r1, 0 - bl StartSpriteAnimIfDifferent - ldrh r0, [r4, 0x20] - subs r0, 0x1 - b _0813D82E -_0813D7C6: - adds r0, r4, 0 - movs r1, 0 - bl StartSpriteAnimIfDifferent - ldr r0, _0813D7E0 @ =gIntroFrameCounter - ldr r0, [r0] - movs r1, 0x7 - ands r0, r1 - cmp r0, 0 - bne _0813D87A - ldrh r0, [r4, 0x20] - adds r0, 0x1 - b _0813D82E - .align 2, 0 -_0813D7E0: .4byte gIntroFrameCounter -_0813D7E4: - adds r0, r4, 0 - movs r1, 0x2 - bl StartSpriteAnimIfDifferent - ldrh r2, [r4, 0x20] - movs r1, 0x20 - ldrsh r0, [r4, r1] - cmp r0, 0x78 - ble _0813D802 - ldr r0, _0813D808 @ =gIntroFrameCounter - ldr r0, [r0] - movs r1, 0x7 - ands r0, r1 - cmp r0, 0 - beq _0813D83C -_0813D802: - adds r0, r2, 0x1 - b _0813D82E - .align 2, 0 -_0813D808: .4byte gIntroFrameCounter -_0813D80C: - adds r0, r4, 0 - movs r1, 0x3 - bl StartSpriteAnimIfDifferent - b _0813D830 -_0813D816: - adds r0, r4, 0 - movs r1, 0 - bl StartSpriteAnimIfDifferent - ldrh r2, [r4, 0x20] - movs r0, 0x20 - ldrsh r1, [r4, r0] - movs r0, 0x20 - negs r0, r0 - cmp r1, r0 - ble _0813D830 - subs r0, r2, 0x2 -_0813D82E: - strh r0, [r4, 0x20] -_0813D830: - ldr r0, _0813D84C @ =gIntroFrameCounter - ldr r0, [r0] - movs r1, 0x7 - ands r0, r1 - cmp r0, 0 - bne _0813D87A -_0813D83C: - movs r1, 0x26 - ldrsh r5, [r4, r1] - cmp r5, 0 - beq _0813D850 - movs r0, 0 - strh r0, [r4, 0x26] - b _0813D87A - .align 2, 0 -_0813D84C: .4byte gIntroFrameCounter -_0813D850: - bl Random - movs r1, 0x3 - ands r1, r0 - cmp r1, 0x1 - beq _0813D878 - cmp r1, 0x1 - bgt _0813D866 - cmp r1, 0 - beq _0813D86E - b _0813D87A -_0813D866: - cmp r1, 0x3 - bgt _0813D87A - strh r5, [r4, 0x26] - b _0813D87A -_0813D86E: - ldr r0, _0813D874 @ =0x0000ffff - strh r0, [r4, 0x26] - b _0813D87A - .align 2, 0 -_0813D874: .4byte 0x0000ffff -_0813D878: - strh r1, [r4, 0x26] -_0813D87A: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_813D788 - - thumb_func_start sub_813D880 -sub_813D880: @ 813D880 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _0813D89A - cmp r0, 0x1 - ble _0813D8E2 - cmp r0, 0x2 - beq _0813D8BA - cmp r0, 0x3 - beq _0813D8D4 - b _0813D8E2 -_0813D89A: - movs r2, 0x24 - ldrsh r0, [r4, r2] - movs r2, 0x20 - ldrsh r1, [r4, r2] - adds r0, r1 - ldr r1, _0813D8B0 @ =0x0000012f - cmp r0, r1 - bgt _0813D8B4 - ldrh r0, [r4, 0x24] - adds r0, 0x8 - b _0813D8E0 - .align 2, 0 -_0813D8B0: .4byte 0x0000012f -_0813D8B4: - movs r0, 0x2 - strh r0, [r4, 0x2E] - b _0813D8E2 -_0813D8BA: - movs r1, 0x24 - ldrsh r0, [r4, r1] - movs r2, 0x20 - ldrsh r1, [r4, r2] - adds r0, r1 - cmp r0, 0x78 - ble _0813D8CE - ldrh r0, [r4, 0x24] - subs r0, 0x1 - b _0813D8E0 -_0813D8CE: - movs r0, 0x3 - strh r0, [r4, 0x2E] - b _0813D8E2 -_0813D8D4: - ldrh r1, [r4, 0x24] - movs r2, 0x24 - ldrsh r0, [r4, r2] - cmp r0, 0 - ble _0813D8E2 - subs r0, r1, 0x2 -_0813D8E0: - strh r0, [r4, 0x24] -_0813D8E2: - ldrh r0, [r4, 0x30] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x8 - bl Sin - ldr r1, _0813D904 @ =gUnknown_0203935A - ldrh r1, [r1] - subs r0, r1 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x30] - adds r0, 0x4 - strh r0, [r4, 0x30] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0813D904: .4byte gUnknown_0203935A - thumb_func_end sub_813D880 - - thumb_func_start sub_813D908 -sub_813D908: @ 813D908 - push {lr} - adds r3, r0, 0 - ldr r2, _0813D930 @ =gTasks - movs r0, 0x2E - ldrsh r1, [r3, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r1, 0x8 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _0813D934 - adds r0, r3, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - b _0813D94E - .align 2, 0 -_0813D930: .4byte gTasks -_0813D934: - cmp r0, 0x4 - beq _0813D948 - adds r2, r3, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - b _0813D94E -_0813D948: - adds r0, r3, 0 - bl DestroySprite -_0813D94E: - pop {r0} - bx r0 - thumb_func_end sub_813D908 - - thumb_func_start sub_813D954 -sub_813D954: @ 813D954 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - lsls r1, 16 - lsrs r6, r1, 16 - lsls r2, 24 - lsrs r2, 24 - mov r8, r2 - movs r5, 0 - ldr r7, _0813DA48 @ =gUnknown_0840AF50 - lsls r0, 16 - mov r9, r0 - lsls r0, r6, 16 - str r0, [sp, 0x4] - mov r1, r9 - asrs r1, 16 - str r1, [sp] -_0813D97C: - lsls r4, r5, 2 - adds r0, r7, 0x2 - adds r0, r4, r0 - ldrh r1, [r0] - ldr r2, [sp] - adds r1, r2, r1 - lsls r1, 16 - asrs r1, 16 - lsls r2, r6, 16 - asrs r3, r2, 16 - mov r10, r3 - ldr r0, _0813DA4C @ =0xfffc0000 - adds r2, r0 - ldr r0, _0813DA50 @ =gSpriteTemplate_840AF94 - asrs r2, 16 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, _0813DA54 @ =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - mov r1, r8 - strh r1, [r0, 0x2E] - adds r4, r7 - ldrb r1, [r4] - bl StartSpriteAnim - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x8 - bls _0813D97C - movs r5, 0 - ldr r7, _0813DA58 @ =gUnknown_0840AF74 - mov r0, r10 - adds r0, 0xC - lsls r0, 16 - mov r10, r0 -_0813D9D0: - lsls r4, r5, 2 - adds r0, r7, 0x2 - adds r0, r4, r0 - mov r2, r9 - asrs r1, r2, 16 - ldrh r0, [r0] - adds r1, r0 - lsls r1, 16 - asrs r1, 16 - ldr r0, _0813DA5C @ =gSpriteTemplate_840AFAC - mov r3, r10 - asrs r2, r3, 16 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r2, r0, 24 - ldr r6, _0813DA54 @ =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r6 - mov r1, r8 - strh r1, [r0, 0x2E] - adds r4, r7 - ldrb r1, [r4] - bl StartSpriteAnim - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x7 - bls _0813D9D0 - ldr r0, _0813DA60 @ =gSpriteTemplate_840AFC4 - ldr r3, [sp, 0x4] - ldr r1, _0813DA4C @ =0xfffc0000 - adds r2, r3, r1 - asrs r2, 16 - movs r1, 0x78 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r6 - mov r3, r8 - strh r3, [r0, 0x2E] - adds r0, r2, 0 - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0813DA48: .4byte gUnknown_0840AF50 -_0813DA4C: .4byte 0xfffc0000 -_0813DA50: .4byte gSpriteTemplate_840AF94 -_0813DA54: .4byte gSprites -_0813DA58: .4byte gUnknown_0840AF74 -_0813DA5C: .4byte gSpriteTemplate_840AFAC -_0813DA60: .4byte gSpriteTemplate_840AFC4 - thumb_func_end sub_813D954 - - thumb_func_start sub_813DA64 -sub_813DA64: @ 813DA64 - push {r4-r6,lr} - sub sp, 0x4 - adds r4, r0, 0 - ldrh r0, [r4, 0x3C] - adds r0, 0x1 - strh r0, [r4, 0x3C] - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _0813DA7C - cmp r0, 0x1 - beq _0813DAC0 -_0813DA7C: - ldrb r0, [r4, 0x1] - movs r1, 0x3 - orrs r0, r1 - strb r0, [r4, 0x1] - ldrb r1, [r4, 0x3] - movs r0, 0x3F - negs r0, r0 - ands r0, r1 - movs r1, 0x2 - orrs r0, r1 - strb r0, [r4, 0x3] - adds r0, r4, 0 - movs r1, 0x1 - movs r2, 0x3 - movs r3, 0x3 - bl CalcCenterToCornerVec - adds r2, r4, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - movs r0, 0x1 - strh r0, [r4, 0x2E] - movs r0, 0x80 - strh r0, [r4, 0x30] - ldr r0, _0813DABC @ =0x0000ffe8 - strh r0, [r4, 0x32] - movs r0, 0 - b _0813DB92 - .align 2, 0 -_0813DABC: .4byte 0x0000ffe8 -_0813DAC0: - ldrh r1, [r4, 0x34] - movs r2, 0x34 - ldrsh r0, [r4, r2] - cmp r0, 0x4F - bgt _0813DAF8 - lsls r0, r1, 24 - lsrs r0, 24 - movs r1, 0x78 - bl Sin - negs r0, r0 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x34] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x8C - bl Sin - negs r0, r0 - strh r0, [r4, 0x24] - movs r1, 0x34 - ldrsh r0, [r4, r1] - cmp r0, 0x40 - ble _0813DAF8 - ldrb r0, [r4, 0x5] - movs r1, 0xC - orrs r0, r1 - strb r0, [r4, 0x5] -_0813DAF8: - ldr r2, _0813DB60 @ =gSineTable - ldrh r1, [r4, 0x32] - lsls r0, r1, 24 - lsrs r0, 23 - adds r0, r2 - ldrh r3, [r0] - adds r1, 0x40 - lsls r1, 24 - lsrs r1, 23 - adds r1, r2 - movs r2, 0 - ldrsh r0, [r1, r2] - movs r1, 0x30 - ldrsh r2, [r4, r1] - adds r1, r0, 0 - muls r1, r2 - adds r0, r1, 0 - cmp r1, 0 - bge _0813DB20 - adds r0, 0xFF -_0813DB20: - lsls r0, 8 - lsrs r6, r0, 16 - lsls r0, r3, 16 - asrs r3, r0, 16 - negs r0, r3 - muls r0, r2 - cmp r0, 0 - bge _0813DB32 - adds r0, 0xFF -_0813DB32: - lsls r0, 8 - lsrs r5, r0, 16 - adds r0, r3, 0 - muls r0, r2 - cmp r0, 0 - bge _0813DB40 - adds r0, 0xFF -_0813DB40: - lsls r0, 8 - lsrs r2, r0, 16 - adds r1, r6, 0 - adds r3, r5, 0 - str r1, [sp] - movs r0, 0x1 - bl SetOamMatrix - ldrh r1, [r4, 0x30] - movs r2, 0x30 - ldrsh r0, [r4, r2] - cmp r0, 0xFF - bgt _0813DB64 - adds r0, r1, 0 - adds r0, 0x8 - b _0813DB68 - .align 2, 0 -_0813DB60: .4byte gSineTable -_0813DB64: - adds r0, r1, 0 - adds r0, 0x20 -_0813DB68: - strh r0, [r4, 0x30] - ldrh r1, [r4, 0x32] - movs r2, 0x32 - ldrsh r0, [r4, r2] - cmp r0, 0x17 - bgt _0813DB78 - adds r0, r1, 0x1 - strh r0, [r4, 0x32] -_0813DB78: - ldrh r2, [r4, 0x34] - movs r1, 0x34 - ldrsh r0, [r4, r1] - cmp r0, 0x3F - bgt _0813DB86 - adds r0, r2, 0x2 - b _0813DB92 -_0813DB86: - ldrh r1, [r4, 0x3C] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - bne _0813DB94 - adds r0, r2, 0x1 -_0813DB92: - strh r0, [r4, 0x34] -_0813DB94: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_813DA64 - - thumb_func_start sub_813DB9C -sub_813DB9C: @ 813DB9C - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x4 - bhi _0813DBCC - lsls r0, 2 - ldr r1, _0813DBB4 @ =_0813DBB8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0813DBB4: .4byte _0813DBB8 - .align 2, 0 -_0813DBB8: - .4byte _0813DBCC - .4byte _0813DBF2 - .4byte _0813DC24 - .4byte _0813DC3E - .4byte _0813DCAA -_0813DBCC: - movs r2, 0x32 - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _0813DBE0 - adds r2, r4, 0 - adds r2, 0x3F - ldrb r0, [r2] - movs r1, 0x1 - orrs r0, r1 - b _0813DBEC -_0813DBE0: - adds r2, r4, 0 - adds r2, 0x3F - ldrb r1, [r2] - movs r0, 0x2 - negs r0, r0 - ands r0, r1 -_0813DBEC: - strb r0, [r2] - movs r0, 0x1 - strh r0, [r4, 0x2E] -_0813DBF2: - ldrh r1, [r4, 0x22] - movs r3, 0x22 - ldrsh r0, [r4, r3] - cmp r0, 0x60 - ble _0813DC18 - subs r0, r1, 0x4 - strh r0, [r4, 0x22] - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _0813DC10 - ldrh r0, [r4, 0x20] - adds r0, 0x2 - strh r0, [r4, 0x20] - b _0813DD4E -_0813DC10: - ldrh r0, [r4, 0x20] - subs r0, 0x2 - strh r0, [r4, 0x20] - b _0813DD4E -_0813DC18: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - movs r0, 0x8 - strh r0, [r4, 0x34] - b _0813DD4E -_0813DC24: - ldrh r0, [r4, 0x34] - movs r2, 0x34 - ldrsh r1, [r4, r2] - cmp r1, 0 - beq _0813DC34 - subs r0, 0x1 - strh r0, [r4, 0x34] - b _0813DD4E -_0813DC34: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - strh r1, [r4, 0x34] - b _0813DD4E -_0813DC3E: - ldrb r0, [r4, 0x1] - movs r1, 0x3 - orrs r0, r1 - strb r0, [r4, 0x1] - movs r3, 0x30 - ldrsh r1, [r4, r3] - movs r0, 0x1F - ands r1, r0 - lsls r1, 1 - ldrb r2, [r4, 0x3] - movs r0, 0x3F - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0x3] - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x3 - movs r3, 0x3 - bl CalcCenterToCornerVec - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _0813DC8A - ldrh r0, [r4, 0x30] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0xFF - lsls r1, 8 - movs r2, 0x80 - lsls r2, 1 - str r2, [sp] - movs r2, 0 - movs r3, 0 - bl SetOamMatrix - b _0813DC9E -_0813DC8A: - ldrh r0, [r4, 0x30] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x80 - lsls r1, 1 - str r1, [sp] - movs r2, 0 - movs r3, 0 - bl SetOamMatrix -_0813DC9E: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - movs r1, 0 - strh r0, [r4, 0x2E] - strh r1, [r4, 0x36] - b _0813DD4E -_0813DCAA: - ldrh r0, [r4, 0x36] - adds r2, r0, 0x1 - strh r2, [r4, 0x36] - movs r3, 0x22 - ldrsh r0, [r4, r3] - movs r3, 0x26 - ldrsh r1, [r4, r3] - adds r0, r1 - movs r1, 0x20 - negs r1, r1 - cmp r0, r1 - ble _0813DD48 - movs r1, 0x20 - ldrsh r0, [r4, r1] - movs r3, 0x24 - ldrsh r1, [r4, r3] - adds r0, r1 - movs r1, 0x40 - negs r1, r1 - cmp r0, r1 - ble _0813DD48 - movs r1, 0x36 - ldrsh r0, [r4, r1] - adds r3, r0, 0 - muls r3, r0 - adds r0, r3, 0 - negs r0, r0 - cmp r0, 0 - bge _0813DCE6 - adds r0, 0x7 -_0813DCE6: - asrs r0, 3 - strh r0, [r4, 0x26] - movs r1, 0x32 - ldrsh r0, [r4, r1] - ldrh r3, [r4, 0x32] - cmp r0, 0 - beq _0813DCFA - ldrh r0, [r4, 0x24] - adds r0, r2 - b _0813DCFE -_0813DCFA: - ldrh r0, [r4, 0x24] - subs r0, r2 -_0813DCFE: - strh r0, [r4, 0x24] - ldrh r1, [r4, 0x34] - movs r2, 0x34 - ldrsh r0, [r4, r2] - cmp r0, 0x7F - bgt _0813DD10 - adds r0, r1, 0 - adds r0, 0x8 - strh r0, [r4, 0x34] -_0813DD10: - ldrh r0, [r4, 0x34] - movs r2, 0x80 - lsls r2, 1 - adds r1, r2, 0 - subs r1, r0 - lsls r1, 16 - lsrs r2, r1, 16 - lsls r0, r3, 16 - cmp r0, 0 - beq _0813DD34 - ldrh r0, [r4, 0x30] - lsls r0, 24 - lsrs r0, 24 - negs r1, r2 - lsls r1, 16 - lsrs r1, 16 - str r2, [sp] - b _0813DD3E -_0813DD34: - ldrh r0, [r4, 0x30] - lsls r0, 24 - lsrs r0, 24 - str r2, [sp] - adds r1, r2, 0 -_0813DD3E: - movs r2, 0 - movs r3, 0 - bl SetOamMatrix - b _0813DD4E -_0813DD48: - adds r0, r4, 0 - bl DestroySprite -_0813DD4E: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_813DB9C - - thumb_func_start sub_813DD58 -sub_813DD58: @ 813DD58 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _0813DDAE - cmp r0, 0x1 - ble _0813DD72 - cmp r0, 0x2 - beq _0813DE66 - cmp r0, 0x3 - beq _0813DE26 -_0813DD72: - adds r2, r4, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - ldrb r1, [r4, 0x1] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - movs r1, 0x1 - orrs r0, r1 - strb r0, [r4, 0x1] - movs r2, 0x30 - ldrsh r1, [r4, r2] - movs r0, 0x1F - ands r1, r0 - lsls r1, 1 - ldrb r2, [r4, 0x3] - movs r0, 0x3F - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0x3] - movs r0, 0x80 - lsls r0, 4 - strh r0, [r4, 0x34] - movs r0, 0x1 - strh r0, [r4, 0x2E] -_0813DDAE: - ldrh r1, [r4, 0x34] - movs r2, 0x34 - ldrsh r0, [r4, r2] - movs r2, 0x80 - lsls r2, 1 - cmp r0, r2 - ble _0813DDEE - subs r1, 0x80 - strh r1, [r4, 0x34] - movs r2, 0x32 - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _0813DDDA - ldrh r0, [r4, 0x30] - lsls r0, 24 - lsrs r0, 24 - negs r1, r1 - lsls r1, 16 - lsrs r1, 16 - ldrh r2, [r4, 0x34] - str r2, [sp] - b _0813DDE4 -_0813DDDA: - ldrh r0, [r4, 0x30] - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x34] - str r1, [sp] -_0813DDE4: - movs r2, 0 - movs r3, 0 - bl SetOamMatrix - b _0813DE66 -_0813DDEE: - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _0813DE0C - ldrh r0, [r4, 0x30] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0xFF - lsls r1, 8 - str r2, [sp] - movs r2, 0 - movs r3, 0 - bl SetOamMatrix - b _0813DE1E -_0813DE0C: - ldrh r0, [r4, 0x30] - lsls r0, 24 - lsrs r0, 24 - str r2, [sp] - adds r1, r2, 0 - movs r2, 0 - movs r3, 0 - bl SetOamMatrix -_0813DE1E: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - b _0813DE66 -_0813DE26: - ldrh r0, [r4, 0x36] - adds r0, 0x1 - strh r0, [r4, 0x36] - movs r2, 0x36 - ldrsh r0, [r4, r2] - adds r1, r0, 0 - muls r1, r0 - adds r0, r1, 0 - cmp r0, 0 - bge _0813DE3C - adds r0, 0x1F -_0813DE3C: - asrs r0, 5 - strh r0, [r4, 0x26] - movs r2, 0x32 - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _0813DE56 - movs r1, 0x36 - ldrsh r0, [r4, r1] - cmp r0, 0 - bge _0813DE52 - adds r0, 0x3 -_0813DE52: - asrs r0, 2 - b _0813DE64 -_0813DE56: - movs r2, 0x36 - ldrsh r0, [r4, r2] - cmp r0, 0 - bge _0813DE60 - adds r0, 0x3 -_0813DE60: - asrs r0, 2 - negs r0, r0 -_0813DE64: - strh r0, [r4, 0x24] -_0813DE66: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_813DD58 - - thumb_func_start sub_813DE70 -sub_813DE70: @ 813DE70 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - adds r7, r0, 0 - movs r1, 0x2E - ldrsh r0, [r7, r1] - cmp r0, 0x6 - bhi _0813DEB0 - lsls r0, 2 - ldr r1, _0813DE90 @ =_0813DE94 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0813DE90: .4byte _0813DE94 - .align 2, 0 -_0813DE94: - .4byte _0813DEB0 - .4byte _0813E0F8 - .4byte _0813DEF4 - .4byte _0813DF2C - .4byte _0813DF54 - .4byte _0813E0A8 - .4byte _0813E0D0 -_0813DEB0: - ldrh r1, [r7, 0x20] - movs r2, 0x20 - ldrsh r0, [r7, r2] - cmp r0, 0x28 - ble _0813DEC0 - subs r0, r1, 0x4 - strh r0, [r7, 0x20] - b _0813E0F8 -_0813DEC0: - adds r0, r7, 0 - movs r1, 0x1 - bl StartSpriteAnim - ldr r4, _0813DEF0 @ =gSpriteTemplate_840B084 - adds r0, r4, 0 - movs r1, 0x10 - movs r2, 0x68 - movs r3, 0x64 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - strh r0, [r7, 0x3A] - adds r0, r4, 0 - movs r1, 0xC - movs r2, 0x6A - movs r3, 0x65 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - strh r0, [r7, 0x3C] - b _0813DF42 - .align 2, 0 -_0813DEF0: .4byte gSpriteTemplate_840B084 -_0813DEF4: - adds r0, r7, 0 - movs r1, 0x2 - bl StartSpriteAnim - ldr r2, _0813DF28 @ =gSprites - movs r3, 0x3A - ldrsh r1, [r7, r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x1 - strh r1, [r0, 0x2E] - movs r0, 0x3C - ldrsh r1, [r7, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x2 - strh r1, [r0, 0x2E] - ldrh r0, [r7, 0x2E] - adds r0, 0x1 - strh r0, [r7, 0x2E] - b _0813E0F8 - .align 2, 0 -_0813DF28: .4byte gSprites -_0813DF2C: - ldrh r1, [r7, 0x22] - movs r2, 0x22 - ldrsh r0, [r7, r2] - cmp r0, 0xA0 - ble _0813DF48 - adds r2, r7, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] -_0813DF42: - movs r0, 0x1 - strh r0, [r7, 0x2E] - b _0813E0F8 -_0813DF48: - adds r0, r1, 0x2 - strh r0, [r7, 0x22] - ldrh r0, [r7, 0x20] - subs r0, 0x1 - strh r0, [r7, 0x20] - b _0813E0F8 -_0813DF54: - ldr r6, _0813E094 @ =gSprites - movs r3, 0x3A - ldrsh r1, [r7, r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - ldrh r5, [r0, 0x24] - ldrh r1, [r0, 0x20] - adds r5, r1 - lsls r5, 16 - lsrs r5, 16 - ldrh r4, [r0, 0x26] - ldrh r2, [r0, 0x22] - adds r4, r2 - lsls r4, 16 - lsrs r4, 16 - bl DestroySprite - movs r0, 0x8C - lsls r0, 1 - lsls r5, 16 - asrs r1, r5, 16 - lsls r4, 16 - asrs r2, r4, 16 - movs r3, 0x1 - mov r8, r3 - str r3, [sp] - movs r3, 0x2 - bl sub_813CE88 - strh r0, [r7, 0x3A] - movs r0, 0x3A - ldrsh r1, [r7, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0813E098 @ =gSprites + 0x1C - adds r0, r1 - ldr r2, _0813E09C @ =sub_813DD58 - mov r10, r2 - str r2, [r0] - movs r3, 0x3A - ldrsh r1, [r7, r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - mov r9, r2 - mov r3, r9 - orrs r1, r3 - strb r1, [r0] - movs r0, 0x3A - ldrsh r1, [r7, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - mov r1, r8 - strh r1, [r0, 0x30] - movs r2, 0x3A - ldrsh r1, [r7, r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - mov r3, r8 - strh r3, [r0, 0x32] - lsrs r5, 16 - lsrs r4, 16 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_813E580 - movs r0, 0x3C - ldrsh r1, [r7, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - ldrh r5, [r0, 0x24] - ldrh r1, [r0, 0x20] - adds r5, r1 - lsls r5, 16 - lsrs r5, 16 - ldrh r4, [r0, 0x26] - ldrh r2, [r0, 0x22] - adds r4, r2 - lsls r4, 16 - lsrs r4, 16 - bl DestroySprite - ldr r0, _0813E0A0 @ =0x0000011b - lsls r5, 16 - asrs r1, r5, 16 - lsls r4, 16 - asrs r2, r4, 16 - mov r3, r8 - str r3, [sp] - movs r3, 0x3 - bl sub_813CE88 - strh r0, [r7, 0x3C] - movs r0, 0x3C - ldrsh r1, [r7, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0813E098 @ =gSprites + 0x1C - adds r0, r1 - mov r2, r10 - str r2, [r0] - movs r3, 0x3C - ldrsh r1, [r7, r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r0, 0x3E - ldrb r1, [r0] - mov r2, r9 - orrs r1, r2 - strb r1, [r0] - movs r3, 0x3C - ldrsh r1, [r7, r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x2 - strh r1, [r0, 0x30] - movs r0, 0x3C - ldrsh r1, [r7, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0 - strh r1, [r0, 0x32] - lsrs r5, 16 - lsrs r4, 16 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_813E580 - movs r0, 0xFF - lsls r0, 16 - ldr r1, _0813E0A4 @ =0x00007eff - str r1, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0x10 - bl BeginNormalPaletteFade - mov r2, r8 - strh r2, [r7, 0x2E] - b _0813E0F8 - .align 2, 0 -_0813E094: .4byte gSprites -_0813E098: .4byte gSprites + 0x1C -_0813E09C: .4byte sub_813DD58 -_0813E0A0: .4byte 0x0000011b -_0813E0A4: .4byte 0x00007eff -_0813E0A8: - ldr r3, _0813E0CC @ =gSprites - movs r0, 0x3A - ldrsh r1, [r7, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - movs r2, 0x3 - strh r2, [r0, 0x2E] - movs r0, 0x3C - ldrsh r1, [r7, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - strh r2, [r0, 0x2E] - b _0813E0F8 - .align 2, 0 -_0813E0CC: .4byte gSprites -_0813E0D0: - movs r2, 0x3A - ldrsh r1, [r7, r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, _0813E108 @ =gSprites - adds r0, r4 - bl DestroySprite - movs r3, 0x3C - ldrsh r1, [r7, r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - adds r0, r7, 0 - bl DestroySprite -_0813E0F8: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0813E108: .4byte gSprites - thumb_func_end sub_813DE70 - - thumb_func_start sub_813E10C -sub_813E10C: @ 813E10C - push {r4,lr} - adds r3, r0, 0 - movs r1, 0x2E - ldrsh r0, [r3, r1] - cmp r0, 0x4 - bhi _0813E13C - lsls r0, 2 - ldr r1, _0813E124 @ =_0813E128 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0813E124: .4byte _0813E128 - .align 2, 0 -_0813E128: - .4byte _0813E13C - .4byte _0813E178 - .4byte _0813E1A6 - .4byte _0813E1C2 - .4byte _0813E1D6 -_0813E13C: - ldrh r4, [r3, 0x24] - movs r2, 0x24 - ldrsh r1, [r3, r2] - movs r0, 0x38 - negs r0, r0 - cmp r1, r0 - ble _0813E158 - adds r0, r4, 0 - subs r0, 0x8 - strh r0, [r3, 0x24] - ldrh r0, [r3, 0x26] - adds r0, 0x6 - strh r0, [r3, 0x26] - b _0813E208 -_0813E158: - ldrh r0, [r3, 0x20] - movs r2, 0 - strh r0, [r3, 0x3A] - ldrh r1, [r3, 0x22] - strh r1, [r3, 0x3C] - adds r0, r4 - strh r0, [r3, 0x20] - ldrh r0, [r3, 0x26] - adds r1, r0 - strh r1, [r3, 0x22] - strh r2, [r3, 0x24] - strh r2, [r3, 0x26] - movs r0, 0x1 - strh r0, [r3, 0x2E] - strh r2, [r3, 0x30] - b _0813E208 -_0813E178: - ldrh r1, [r3, 0x30] - movs r2, 0x1 - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0 - bne _0813E1A0 - movs r0, 0x2 - ands r0, r1 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - beq _0813E19C - ldr r0, _0813E198 @ =0x0000ffff - strh r0, [r3, 0x24] - strh r2, [r3, 0x26] - b _0813E1A0 - .align 2, 0 -_0813E198: .4byte 0x0000ffff -_0813E19C: - strh r0, [r3, 0x24] - strh r0, [r3, 0x26] -_0813E1A0: - adds r0, r1, 0x1 - strh r0, [r3, 0x30] - b _0813E208 -_0813E1A6: - adds r2, r3, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldrh r0, [r3, 0x3A] - movs r1, 0 - strh r0, [r3, 0x20] - ldrh r0, [r3, 0x3C] - strh r0, [r3, 0x22] - strh r1, [r3, 0x24] - strh r1, [r3, 0x26] - b _0813E208 -_0813E1C2: - adds r2, r3, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x5 - negs r1, r1 - ands r1, r0 - strb r1, [r2] - ldrh r0, [r3, 0x30] - adds r0, 0x1 - strh r0, [r3, 0x30] -_0813E1D6: - ldrh r2, [r3, 0x24] - movs r0, 0x24 - ldrsh r1, [r3, r0] - movs r0, 0x38 - negs r0, r0 - cmp r1, r0 - ble _0813E1F0 - subs r0, r2, 0x4 - strh r0, [r3, 0x24] - ldrh r0, [r3, 0x26] - adds r0, 0x3 - strh r0, [r3, 0x26] - b _0813E208 -_0813E1F0: - ldrh r1, [r3, 0x20] - adds r0, r2, r1 - movs r1, 0 - strh r0, [r3, 0x20] - ldrh r0, [r3, 0x26] - ldrh r2, [r3, 0x22] - adds r0, r2 - strh r0, [r3, 0x22] - strh r1, [r3, 0x24] - strh r1, [r3, 0x26] - movs r0, 0x1 - strh r0, [r3, 0x2E] -_0813E208: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_813E10C - - thumb_func_start sub_813E210 -sub_813E210: @ 813E210 - push {r4,lr} - adds r3, r0, 0 - movs r1, 0x2E - ldrsh r0, [r3, r1] - cmp r0, 0x4 - bhi _0813E240 - lsls r0, 2 - ldr r1, _0813E228 @ =_0813E22C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0813E228: .4byte _0813E22C - .align 2, 0 -_0813E22C: - .4byte _0813E240 - .4byte _0813E278 - .4byte _0813E2A6 - .4byte _0813E2C2 - .4byte _0813E2D6 -_0813E240: - ldrh r4, [r3, 0x24] - movs r2, 0x24 - ldrsh r0, [r3, r2] - cmp r0, 0x37 - bgt _0813E258 - adds r0, r4, 0 - adds r0, 0x8 - strh r0, [r3, 0x24] - ldrh r0, [r3, 0x26] - subs r0, 0x6 - strh r0, [r3, 0x26] - b _0813E304 -_0813E258: - ldrh r0, [r3, 0x20] - movs r2, 0 - strh r0, [r3, 0x3A] - ldrh r1, [r3, 0x22] - strh r1, [r3, 0x3C] - adds r0, r4 - strh r0, [r3, 0x20] - ldrh r0, [r3, 0x26] - adds r1, r0 - strh r1, [r3, 0x22] - strh r2, [r3, 0x24] - strh r2, [r3, 0x26] - movs r0, 0x1 - strh r0, [r3, 0x2E] - strh r2, [r3, 0x30] - b _0813E304 -_0813E278: - ldrh r1, [r3, 0x30] - movs r2, 0x1 - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0 - bne _0813E2A0 - movs r0, 0x2 - ands r0, r1 - lsls r0, 16 - asrs r0, 16 - cmp r0, 0 - beq _0813E29C - strh r2, [r3, 0x24] - ldr r0, _0813E298 @ =0x0000ffff - b _0813E29E - .align 2, 0 -_0813E298: .4byte 0x0000ffff -_0813E29C: - strh r0, [r3, 0x24] -_0813E29E: - strh r0, [r3, 0x26] -_0813E2A0: - adds r0, r1, 0x1 - strh r0, [r3, 0x30] - b _0813E304 -_0813E2A6: - adds r2, r3, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldrh r0, [r3, 0x3A] - movs r1, 0 - strh r0, [r3, 0x20] - ldrh r0, [r3, 0x3C] - strh r0, [r3, 0x22] - strh r1, [r3, 0x24] - strh r1, [r3, 0x26] - b _0813E304 -_0813E2C2: - adds r2, r3, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x5 - negs r1, r1 - ands r1, r0 - strb r1, [r2] - ldrh r0, [r3, 0x30] - adds r0, 0x1 - strh r0, [r3, 0x30] -_0813E2D6: - ldrh r1, [r3, 0x24] - movs r2, 0x24 - ldrsh r0, [r3, r2] - cmp r0, 0x37 - bgt _0813E2EC - adds r0, r1, 0x4 - strh r0, [r3, 0x24] - ldrh r0, [r3, 0x26] - subs r0, 0x3 - strh r0, [r3, 0x26] - b _0813E304 -_0813E2EC: - ldrh r2, [r3, 0x20] - adds r0, r1, r2 - movs r1, 0 - strh r0, [r3, 0x20] - ldrh r0, [r3, 0x26] - ldrh r2, [r3, 0x22] - adds r0, r2 - strh r0, [r3, 0x22] - strh r1, [r3, 0x24] - strh r1, [r3, 0x26] - movs r0, 0x1 - strh r0, [r3, 0x2E] -_0813E304: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_813E210 - - thumb_func_start sub_813E30C -sub_813E30C: @ 813E30C - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - ldrh r0, [r4, 0x3C] - adds r0, 0x1 - strh r0, [r4, 0x3C] - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x14 - bls _0813E322 - b _0813E4AC -_0813E322: - lsls r0, 2 - ldr r1, _0813E32C @ =_0813E330 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0813E32C: .4byte _0813E330 - .align 2, 0 -_0813E330: - .4byte _0813E4AC - .4byte _0813E384 - .4byte _0813E41C - .4byte _0813E4AC - .4byte _0813E4AC - .4byte _0813E4AC - .4byte _0813E4AC - .4byte _0813E4AC - .4byte _0813E4AC - .4byte _0813E4AC - .4byte _0813E3A8 - .4byte _0813E4AC - .4byte _0813E4AC - .4byte _0813E4AC - .4byte _0813E4AC - .4byte _0813E4AC - .4byte _0813E4AC - .4byte _0813E4AC - .4byte _0813E4AC - .4byte _0813E4AC - .4byte _0813E440 -_0813E384: - ldrb r1, [r4, 0x1] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - movs r1, 0x1 - orrs r0, r1 - strb r0, [r4, 0x1] - ldrb r1, [r4, 0x3] - movs r0, 0x3F - negs r0, r0 - ands r0, r1 - movs r1, 0x2 - orrs r0, r1 - strb r0, [r4, 0x3] - movs r0, 0xA - strh r0, [r4, 0x2E] - movs r0, 0x24 - strh r0, [r4, 0x36] -_0813E3A8: - ldrh r1, [r4, 0x20] - movs r2, 0x20 - ldrsh r0, [r4, r2] - cmp r0, 0x90 - bgt _0813E3D2 - adds r0, r1, 0x4 - strh r0, [r4, 0x20] - ldrh r0, [r4, 0x22] - subs r0, 0x1 - strh r0, [r4, 0x22] - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x18 - bl Sin - negs r0, r0 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x32] - adds r0, 0x4 - strh r0, [r4, 0x32] -_0813E3D2: - ldrh r0, [r4, 0x34] - ldrh r2, [r4, 0x36] - subs r0, r2 - strh r0, [r4, 0x34] - ldrh r1, [r4, 0x3C] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0813E3EE - lsls r0, r2, 16 - cmp r0, 0 - beq _0813E3EE - subs r0, r2, 0x1 - strh r0, [r4, 0x36] -_0813E3EE: - ldr r2, _0813E418 @ =gSineTable - ldrh r1, [r4, 0x34] - lsls r0, r1, 24 - lsrs r0, 23 - adds r0, r2 - ldrh r4, [r0] - adds r1, 0x40 - lsls r1, 24 - lsrs r1, 23 - adds r1, r2 - ldrh r1, [r1] - negs r3, r4 - lsls r3, 16 - lsrs r3, 16 - str r1, [sp] - movs r0, 0x1 - adds r2, r4, 0 - bl SetOamMatrix - b _0813E4AC - .align 2, 0 -_0813E418: .4byte gSineTable -_0813E41C: - ldrb r1, [r4, 0x1] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - movs r1, 0x1 - orrs r0, r1 - strb r0, [r4, 0x1] - ldrb r1, [r4, 0x3] - movs r0, 0x3F - negs r0, r0 - ands r0, r1 - movs r1, 0x4 - orrs r0, r1 - strb r0, [r4, 0x3] - movs r0, 0x14 - strh r0, [r4, 0x2E] - movs r0, 0x24 - strh r0, [r4, 0x36] -_0813E440: - ldrh r1, [r4, 0x20] - movs r2, 0x20 - ldrsh r0, [r4, r2] - cmp r0, 0x60 - bgt _0813E46A - adds r0, r1, 0x3 - strh r0, [r4, 0x20] - ldrh r0, [r4, 0x22] - subs r0, 0x1 - strh r0, [r4, 0x22] - ldrh r0, [r4, 0x32] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x18 - bl Sin - negs r0, r0 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x32] - adds r0, 0x4 - strh r0, [r4, 0x32] -_0813E46A: - ldrh r0, [r4, 0x34] - ldrh r2, [r4, 0x36] - subs r0, r2 - strh r0, [r4, 0x34] - ldrh r1, [r4, 0x3C] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0813E486 - lsls r0, r2, 16 - cmp r0, 0 - beq _0813E486 - subs r0, r2, 0x1 - strh r0, [r4, 0x36] -_0813E486: - ldr r2, _0813E4B4 @ =gSineTable - ldrh r1, [r4, 0x34] - lsls r0, r1, 24 - lsrs r0, 23 - adds r0, r2 - ldrh r4, [r0] - adds r1, 0x40 - lsls r1, 24 - lsrs r1, 23 - adds r1, r2 - ldrh r1, [r1] - negs r3, r4 - lsls r3, 16 - lsrs r3, 16 - str r1, [sp] - movs r0, 0x2 - adds r2, r4, 0 - bl SetOamMatrix -_0813E4AC: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0813E4B4: .4byte gSineTable - thumb_func_end sub_813E30C - - thumb_func_start sub_813E4B8 -sub_813E4B8: @ 813E4B8 - push {r4,r5,lr} - sub sp, 0x4 - adds r5, r0, 0 - ldrh r0, [r5, 0x3C] - adds r0, 0x1 - strh r0, [r5, 0x3C] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0813E4DA - adds r2, r5, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - b _0813E4E4 -_0813E4DA: - adds r2, r5, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 -_0813E4E4: - strb r0, [r2] - ldrh r1, [r5, 0x32] - movs r2, 0x32 - ldrsh r0, [r5, r2] - cmp r0, 0x3F - ble _0813E4F8 - adds r0, r5, 0 - bl DestroySprite - b _0813E574 -_0813E4F8: - adds r0, r1, 0x2 - strh r0, [r5, 0x32] - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x28 - bl Sin - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r5, r1] - lsls r0, 29 - lsrs r0, 24 - lsls r4, 16 - asrs r4, 16 - adds r1, r4, 0 - bl Cos - strh r0, [r5, 0x24] - movs r2, 0x2E - ldrsh r0, [r5, r2] - lsls r0, 29 - lsrs r0, 24 - adds r1, r4, 0 - bl Sin - strh r0, [r5, 0x26] - movs r1, 0x2E - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _0813E574 - ldrh r0, [r5, 0x34] - ldrh r2, [r5, 0x30] - subs r0, r2 - strh r0, [r5, 0x34] - ldrh r1, [r5, 0x3C] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0813E550 - lsls r0, r2, 16 - cmp r0, 0 - beq _0813E550 - subs r0, r2, 0x1 - strh r0, [r5, 0x30] -_0813E550: - ldr r3, _0813E57C @ =gSineTable - ldrh r1, [r5, 0x34] - lsls r0, r1, 24 - lsrs r0, 23 - adds r0, r3 - ldrh r2, [r0] - adds r1, 0x40 - lsls r1, 24 - lsrs r1, 23 - adds r1, r3 - ldrh r1, [r1] - negs r3, r2 - lsls r3, 16 - lsrs r3, 16 - str r1, [sp] - movs r0, 0x10 - bl SetOamMatrix -_0813E574: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0813E57C: .4byte gSineTable - thumb_func_end sub_813E4B8 - - thumb_func_start sub_813E580 -sub_813E580: @ 813E580 - push {r4-r7,lr} - movs r4, 0 - ldr r7, _0813E5D8 @ =gSprites - lsls r6, r0, 16 - lsls r5, r1, 16 -_0813E58A: - ldr r0, _0813E5DC @ =gSpriteTemplate_840B0B0 - asrs r1, r6, 16 - asrs r2, r5, 16 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r7 - ldrb r1, [r2, 0x1] - movs r3, 0x4 - negs r3, r3 - adds r0, r3, 0 - ands r1, r0 - movs r0, 0x1 - orrs r1, r0 - strb r1, [r2, 0x1] - ldrb r1, [r2, 0x3] - subs r3, 0x3B - adds r0, r3, 0 - ands r1, r0 - movs r0, 0x20 - orrs r1, r0 - strb r1, [r2, 0x3] - strh r4, [r2, 0x2E] - movs r0, 0x20 - strh r0, [r2, 0x30] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x7 - bls _0813E58A - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0813E5D8: .4byte gSprites -_0813E5DC: .4byte gSpriteTemplate_840B0B0 - thumb_func_end sub_813E580 - - thumb_func_start sub_813E5E0 -sub_813E5E0: @ 813E5E0 - push {r4,lr} - adds r3, r0, 0 - ldr r0, _0813E5F4 @ =gUnknown_0203931A - ldrh r0, [r0] - cmp r0, 0 - beq _0813E5F8 - adds r0, r3, 0 - bl DestroySprite - b _0813E6B2 - .align 2, 0 -_0813E5F4: .4byte gUnknown_0203931A -_0813E5F8: - ldr r2, _0813E6B8 @ =gSprites - movs r0, 0x2E - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r0, [r0] - movs r1, 0x3E - adds r1, r3 - mov r12, r1 - movs r1, 0x4 - ands r1, r0 - mov r4, r12 - ldrb r2, [r4] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4] - ldrh r1, [r3, 0x3C] - movs r2, 0x3C - ldrsh r0, [r3, r2] - cmp r0, 0xB - bgt _0813E630 - adds r0, r1, 0x1 - strh r0, [r3, 0x3C] -_0813E630: - ldrh r0, [r3, 0x3A] - adds r0, 0x4 - strh r0, [r3, 0x3A] - ldr r4, _0813E6BC @ =gSineTable - ldrh r0, [r3, 0x34] - adds r0, 0x40 - lsls r0, 24 - lsrs r0, 23 - adds r0, r4 - movs r2, 0 - ldrsh r1, [r0, r2] - movs r2, 0x3A - ldrsh r0, [r3, r2] - muls r0, r1 - cmp r0, 0 - bge _0813E652 - adds r0, 0xFF -_0813E652: - asrs r0, 8 - ldrh r1, [r3, 0x36] - adds r0, r1 - strh r0, [r3, 0x20] - movs r2, 0x34 - ldrsh r0, [r3, r2] - lsls r0, 24 - lsrs r0, 23 - adds r0, r4 - movs r2, 0 - ldrsh r1, [r0, r2] - movs r2, 0x3A - ldrsh r0, [r3, r2] - muls r0, r1 - cmp r0, 0 - bge _0813E674 - adds r0, 0xFF -_0813E674: - asrs r0, 8 - ldrh r1, [r3, 0x38] - adds r2, r0, r1 - strh r2, [r3, 0x22] - movs r1, 0x30 - ldrsh r0, [r3, r1] - lsls r0, 24 - lsrs r0, 23 - adds r0, r4 - movs r4, 0 - ldrsh r1, [r0, r4] - movs r4, 0x3C - ldrsh r0, [r3, r4] - muls r0, r1 - cmp r0, 0 - bge _0813E696 - adds r0, 0xFF -_0813E696: - asrs r0, 8 - strh r0, [r3, 0x26] - ldrh r0, [r3, 0x30] - adds r0, 0x10 - strh r0, [r3, 0x30] - lsls r0, r2, 16 - asrs r0, 16 - movs r2, 0x32 - ldrsh r1, [r3, r2] - cmp r0, r1 - ble _0813E6B2 - adds r0, r3, 0 - bl DestroySprite -_0813E6B2: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0813E6B8: .4byte gSprites -_0813E6BC: .4byte gSineTable - thumb_func_end sub_813E5E0 - - thumb_func_start sub_813E6C0 -sub_813E6C0: @ 813E6C0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - adds r4, r0, 0 - ldr r0, _0813E6E0 @ =gUnknown_0203931A - ldrh r0, [r0] - cmp r0, 0 - beq _0813E6E4 - adds r0, r4, 0 - bl DestroySprite - b _0813E7A8 - .align 2, 0 -_0813E6E0: .4byte gUnknown_0203931A -_0813E6E4: - ldrh r0, [r4, 0x3C] - adds r0, 0x1 - strh r0, [r4, 0x3C] - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r3, _0813E7B8 @ =gSprites - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, r0, r3 - movs r1, 0x2E - ldrsh r0, [r2, r1] - cmp r0, 0x1 - bne _0813E7A8 - ldrh r1, [r4, 0x3C] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - bne _0813E7A8 - ldrh r0, [r2, 0x20] - ldrh r7, [r4, 0x30] - adds r0, r7 - lsls r0, 16 - lsrs r0, 16 - str r0, [sp] - ldrh r0, [r2, 0x22] - ldrh r1, [r4, 0x32] - adds r0, r1 - lsls r0, 16 - lsrs r6, r0, 16 - movs r5, 0 - mov r8, r3 - ldr r2, [sp] - lsls r2, 16 - mov r10, r2 - lsls r7, r6, 16 - mov r9, r7 -_0813E73A: - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r8 - adds r0, 0x43 - ldrb r3, [r0] - subs r3, 0x1 - lsls r3, 24 - lsrs r3, 24 - ldr r0, _0813E7BC @ =gSpriteTemplate_840B0DC - mov r2, r10 - asrs r1, r2, 16 - mov r7, r9 - asrs r2, r7, 16 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _0813E79E - lsls r3, r0, 4 - adds r3, r0 - lsls r3, 2 - add r3, r8 - ldrh r0, [r4, 0x2E] - strh r0, [r3, 0x2E] - ldrh r1, [r4, 0x3C] - lsls r1, 16 - asrs r1, 18 - movs r0, 0x7 - ands r1, r0 - lsls r1, 5 - lsls r0, r5, 2 - adds r0, r5 - lsls r2, r0, 4 - adds r0, r2 - adds r1, r0 - strh r1, [r3, 0x30] - ldrh r0, [r4, 0x34] - strh r0, [r3, 0x32] - movs r0, 0x68 - strh r0, [r3, 0x34] - mov r0, sp - ldrh r0, [r0] - strh r0, [r3, 0x36] - strh r6, [r3, 0x38] - movs r1, 0 - strh r1, [r3, 0x3A] -_0813E79E: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x2 - bls _0813E73A -_0813E7A8: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0813E7B8: .4byte gSprites -_0813E7BC: .4byte gSpriteTemplate_840B0DC - thumb_func_end sub_813E6C0 - - thumb_func_start sub_813E7C0 -sub_813E7C0: @ 813E7C0 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0813E7F8 @ =gSpriteTemplate_840B0F4 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x40 - beq _0813E7F2 - ldr r1, _0813E7FC @ =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - movs r2, 0 - strh r4, [r0, 0x2E] - ldr r1, _0813E800 @ =0x0000fff4 - strh r1, [r0, 0x30] - strh r2, [r0, 0x32] - movs r1, 0x88 - strh r1, [r0, 0x34] -_0813E7F2: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0813E7F8: .4byte gSpriteTemplate_840B0F4 -_0813E7FC: .4byte gSprites -_0813E800: .4byte 0x0000fff4 - thumb_func_end sub_813E7C0 - - thumb_func_start sub_813E804 -sub_813E804: @ 813E804 - push {r4-r7,lr} - adds r3, r0, 0 - ldr r0, _0813E818 @ =gUnknown_0203931A - ldrh r0, [r0] - cmp r0, 0 - beq _0813E81C - adds r0, r3, 0 - bl DestroySprite - b _0813E928 - .align 2, 0 -_0813E818: .4byte gUnknown_0203931A -_0813E81C: - ldr r6, _0813E904 @ =gSprites - movs r0, 0x2E - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r0, 0x3E - ldrb r0, [r0] - movs r1, 0x3E - adds r1, r3 - mov r12, r1 - movs r1, 0x4 - ands r1, r0 - mov r7, r12 - ldrb r2, [r7] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r7] - ldrh r0, [r3, 0x3C] - adds r0, 0x1 - strh r0, [r3, 0x3C] - ldrh r1, [r3, 0x34] - movs r2, 0x34 - ldrsh r0, [r3, r2] - cmp r0, 0x27 - bgt _0813E85A - adds r0, r1, 0x2 - strh r0, [r3, 0x34] -_0813E85A: - movs r7, 0x2E - ldrsh r1, [r3, r7] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - ldrh r1, [r0, 0x24] - ldrh r0, [r0, 0x20] - adds r2, r1, r0 - ldr r4, _0813E908 @ =gSineTable - ldrh r5, [r3, 0x30] - adds r0, r5, 0 - adds r0, 0x40 - lsls r0, 24 - lsrs r0, 23 - adds r0, r4 - movs r7, 0 - ldrsh r1, [r0, r7] - movs r7, 0x34 - ldrsh r0, [r3, r7] - muls r0, r1 - cmp r0, 0 - bge _0813E88A - adds r0, 0xFF -_0813E88A: - asrs r0, 8 - adds r0, r2, r0 - strh r0, [r3, 0x20] - movs r0, 0x2E - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - ldrh r1, [r0, 0x26] - ldrh r0, [r0, 0x22] - adds r2, r1, r0 - movs r1, 0x30 - ldrsh r0, [r3, r1] - lsls r0, 24 - lsrs r0, 23 - adds r0, r4 - movs r7, 0 - ldrsh r1, [r0, r7] - movs r7, 0x34 - ldrsh r0, [r3, r7] - muls r0, r1 - cmp r0, 0 - bge _0813E8BE - ldr r1, _0813E90C @ =0x000001ff - adds r0, r1 -_0813E8BE: - asrs r0, 9 - adds r0, r2, r0 - strh r0, [r3, 0x22] - adds r1, r5, 0x2 - strh r1, [r3, 0x30] - movs r2, 0x32 - ldrsh r0, [r3, r2] - lsls r0, 24 - lsrs r0, 23 - adds r0, r4 - movs r7, 0 - ldrsh r0, [r0, r7] - cmp r0, 0 - bge _0813E8DC - adds r0, 0x1F -_0813E8DC: - asrs r0, 5 - strh r0, [r3, 0x26] - ldrh r0, [r3, 0x32] - adds r0, 0x8 - strh r0, [r3, 0x32] - movs r0, 0xFF - ands r1, r0 - cmp r1, 0x7F - bgt _0813E910 - movs r0, 0x2E - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r0, 0x43 - ldrb r0, [r0] - subs r0, 0x1 - b _0813E922 - .align 2, 0 -_0813E904: .4byte gSprites -_0813E908: .4byte gSineTable -_0813E90C: .4byte 0x000001ff -_0813E910: - movs r2, 0x2E - ldrsh r1, [r3, r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r0, 0x43 - ldrb r0, [r0] - adds r0, 0x1 -_0813E922: - adds r1, r3, 0 - adds r1, 0x43 - strb r0, [r1] -_0813E928: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_813E804 - - thumb_func_start sub_813E930 -sub_813E930: @ 813E930 - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - movs r4, 0 - ldr r7, _0813E978 @ =gSprites - lsls r0, r6, 4 - adds r0, r6 - lsls r0, 2 - adds r5, r0, r7 -_0813E942: - movs r0, 0x20 - ldrsh r1, [r5, r0] - movs r0, 0x22 - ldrsh r2, [r5, r0] - ldr r0, _0813E97C @ =gSpriteTemplate_840B124 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x40 - beq _0813E968 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r7 - strh r6, [r0, 0x2E] - lsls r1, r4, 5 - strh r1, [r0, 0x30] -_0813E968: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x7 - bls _0813E942 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0813E978: .4byte gSprites -_0813E97C: .4byte gSpriteTemplate_840B124 - thumb_func_end sub_813E930 - - thumb_func_start GetCurrentTrainerHillMapId -GetCurrentTrainerHillMapId: @ 813E980 - push {r4,r5,lr} - adds r3, r0, 0 - ldr r0, _0813E994 @ =gUnknown_0203931A - ldrh r0, [r0] - cmp r0, 0 - beq _0813E998 - adds r0, r3, 0 - bl DestroySprite - b _0813EA50 - .align 2, 0 -_0813E994: .4byte gUnknown_0203931A -_0813E998: - ldr r2, _0813EA58 @ =gSprites - movs r0, 0x2E - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r0, [r0] - movs r1, 0x3E - adds r1, r3 - mov r12, r1 - movs r1, 0x4 - ands r1, r0 - mov r5, r12 - ldrb r2, [r5] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5] - ldrh r0, [r3, 0x3C] - adds r0, 0x1 - strh r0, [r3, 0x3C] - ldrh r0, [r3, 0x3A] - adds r4, r0, 0 - adds r4, 0x8 - strh r4, [r3, 0x3A] - ldr r2, _0813EA5C @ =gSineTable - ldrh r0, [r3, 0x34] - adds r0, 0x40 - lsls r0, 24 - lsrs r0, 23 - adds r0, r2 - movs r5, 0 - ldrsh r1, [r0, r5] - movs r5, 0x3A - ldrsh r0, [r3, r5] - muls r0, r1 - cmp r0, 0 - bge _0813E9EC - adds r0, 0xFF -_0813E9EC: - asrs r0, 8 - ldrh r1, [r3, 0x36] - adds r0, r1 - strh r0, [r3, 0x20] - movs r5, 0x34 - ldrsh r0, [r3, r5] - lsls r0, 24 - lsrs r0, 23 - adds r0, r2 - movs r2, 0 - ldrsh r1, [r0, r2] - movs r5, 0x3A - ldrsh r0, [r3, r5] - muls r0, r1 - cmp r0, 0 - bge _0813EA0E - adds r0, 0xFF -_0813EA0E: - asrs r0, 8 - ldrh r1, [r3, 0x38] - adds r0, r1 - strh r0, [r3, 0x22] - movs r2, 0x3A - ldrsh r0, [r3, r2] - cmp r0, 0 - bge _0813EA20 - adds r0, 0xF -_0813EA20: - asrs r0, 4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x9 - bls _0813EA2C - movs r0, 0x9 -_0813EA2C: - adds r1, r0, 0 - adds r1, 0x12 - movs r0, 0x1F - ands r1, r0 - lsls r1, 1 - ldrb r2, [r3, 0x3] - movs r0, 0x3F - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0x3] - lsls r0, r4, 16 - asrs r0, 16 - cmp r0, 0xA0 - ble _0813EA50 - adds r0, r3, 0 - bl DestroySprite -_0813EA50: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0813EA58: .4byte gSprites -_0813EA5C: .4byte gSineTable - thumb_func_end GetCurrentTrainerHillMapId - - thumb_func_start sub_813EA60 -sub_813EA60: @ 813EA60 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r5, r0, 0 - ldr r0, _0813EA7C @ =gUnknown_0203931A - ldrh r0, [r0] - cmp r0, 0 - beq _0813EA80 - adds r0, r5, 0 - bl DestroySprite - b _0813EB32 - .align 2, 0 -_0813EA7C: .4byte gUnknown_0203931A -_0813EA80: - ldrh r0, [r5, 0x3C] - adds r0, 0x1 - strh r0, [r5, 0x3C] - adds r2, r5, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r0, _0813EB40 @ =gSprites - mov r9, r0 - movs r4, 0x2E - ldrsh r1, [r5, r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - mov r1, r9 - adds r3, r0, r1 - movs r4, 0x2E - ldrsh r1, [r3, r4] - cmp r1, 0x1 - bne _0813EB32 - ldrh r0, [r5, 0x3C] - ands r1, r0 - lsls r0, r1, 16 - asrs r6, r0, 16 - cmp r6, 0 - bne _0813EB32 - ldrh r1, [r3, 0x20] - ldrh r0, [r5, 0x30] - adds r1, r0 - lsls r1, 16 - ldrh r2, [r3, 0x22] - ldrh r4, [r5, 0x32] - adds r2, r4 - lsls r2, 16 - ldr r0, _0813EB44 @ =gSpriteTemplate_840B150 - lsrs r4, r1, 16 - mov r8, r4 - asrs r1, 16 - lsrs r7, r2, 16 - asrs r2, 16 - adds r3, 0x43 - ldrb r3, [r3] - adds r3, 0x1 - lsls r3, 24 - lsrs r3, 24 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _0813EB32 - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - add r4, r9 - ldrb r0, [r4, 0x1] - movs r1, 0x3 - orrs r0, r1 - strb r0, [r4, 0x1] - ldrb r1, [r4, 0x3] - movs r0, 0x3F - negs r0, r0 - ands r0, r1 - movs r1, 0x24 - orrs r0, r1 - strb r0, [r4, 0x3] - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x1 - movs r3, 0x3 - bl CalcCenterToCornerVec - ldrh r0, [r5, 0x2E] - strh r0, [r4, 0x2E] - ldr r2, _0813EB48 @ =gUnknown_0840B168 - ldrh r0, [r5, 0x3C] - lsls r0, 16 - asrs r0, 17 - movs r1, 0x7 - ands r0, r1 - adds r0, r2 - ldrb r0, [r0] - strh r0, [r4, 0x34] - mov r0, r8 - strh r0, [r4, 0x36] - strh r7, [r4, 0x38] - strh r6, [r4, 0x3A] -_0813EB32: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0813EB40: .4byte gSprites -_0813EB44: .4byte gSpriteTemplate_840B150 -_0813EB48: .4byte gUnknown_0840B168 - thumb_func_end sub_813EA60 - - thumb_func_start sub_813EB4C -sub_813EB4C: @ 813EB4C - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0813EBB0 @ =gSpriteTemplate_840B170 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x40 - beq _0813EB80 - ldr r1, _0813EBB4 @ =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - movs r1, 0 - strh r4, [r0, 0x2E] - strh r1, [r0, 0x30] - movs r1, 0x8 - strh r1, [r0, 0x32] - movs r1, 0x18 - strh r1, [r0, 0x34] -_0813EB80: - movs r4, 0 - ldr r5, _0813EBB8 @ =gUnknown_0840B188 -_0813EB84: - adds r0, r4, 0 - adds r0, 0x12 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r4, 1 - adds r1, r5 - ldrh r1, [r1] - str r1, [sp] - movs r2, 0 - movs r3, 0 - bl SetOamMatrix - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x9 - bls _0813EB84 - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0813EBB0: .4byte gSpriteTemplate_840B170 -_0813EBB4: .4byte gSprites -_0813EBB8: .4byte gUnknown_0840B188 - thumb_func_end sub_813EB4C - - thumb_func_start sub_813EBBC -sub_813EBBC: @ 813EBBC - push {r4,lr} - adds r3, r0, 0 - ldr r0, _0813EBD0 @ =gUnknown_0203931A - ldrh r0, [r0] - cmp r0, 0 - beq _0813EBD4 - adds r0, r3, 0 - bl DestroySprite - b _0813EC80 - .align 2, 0 -_0813EBD0: .4byte gUnknown_0203931A -_0813EBD4: - ldr r2, _0813EC88 @ =gSprites - movs r0, 0x2E - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r0, [r0] - movs r1, 0x3E - adds r1, r3 - mov r12, r1 - movs r1, 0x4 - ands r1, r0 - mov r4, r12 - ldrb r2, [r4] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4] - ldrh r0, [r3, 0x3C] - adds r0, 0x1 - strh r0, [r3, 0x3C] - ldrh r0, [r3, 0x3A] - adds r0, 0x8 - strh r0, [r3, 0x3A] - ldr r2, _0813EC8C @ =gSineTable - ldrh r0, [r3, 0x34] - adds r0, 0x40 - lsls r0, 24 - lsrs r0, 23 - adds r0, r2 - movs r4, 0 - ldrsh r1, [r0, r4] - movs r4, 0x3A - ldrsh r0, [r3, r4] - muls r0, r1 - cmp r0, 0 - bge _0813EC26 - adds r0, 0xFF -_0813EC26: - asrs r0, 8 - ldrh r1, [r3, 0x36] - adds r0, r1 - strh r0, [r3, 0x20] - movs r4, 0x34 - ldrsh r0, [r3, r4] - lsls r0, 24 - lsrs r0, 23 - adds r0, r2 - movs r4, 0 - ldrsh r1, [r0, r4] - movs r4, 0x3A - ldrsh r0, [r3, r4] - muls r0, r1 - cmp r0, 0 - bge _0813EC48 - adds r0, 0xFF -_0813EC48: - asrs r0, 8 - ldrh r4, [r3, 0x38] - adds r1, r0, r4 - strh r1, [r3, 0x22] - movs r4, 0x30 - ldrsh r0, [r3, r4] - lsls r0, 24 - lsrs r0, 23 - adds r0, r2 - movs r2, 0 - ldrsh r0, [r0, r2] - cmp r0, 0 - bge _0813EC64 - adds r0, 0x3F -_0813EC64: - asrs r0, 6 - strh r0, [r3, 0x26] - ldrh r0, [r3, 0x30] - adds r0, 0x10 - strh r0, [r3, 0x30] - lsls r0, r1, 16 - asrs r0, 16 - movs r4, 0x32 - ldrsh r1, [r3, r4] - cmp r0, r1 - bge _0813EC80 - adds r0, r3, 0 - bl DestroySprite -_0813EC80: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0813EC88: .4byte gSprites -_0813EC8C: .4byte gSineTable - thumb_func_end sub_813EBBC - - thumb_func_start sub_813EC90 -sub_813EC90: @ 813EC90 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - adds r5, r0, 0 - ldr r0, _0813ECAC @ =gUnknown_0203931A - ldrh r0, [r0] - cmp r0, 0 - beq _0813ECB0 - adds r0, r5, 0 - bl DestroySprite - b _0813EDA0 - .align 2, 0 -_0813ECAC: .4byte gUnknown_0203931A -_0813ECB0: - ldrh r0, [r5, 0x3C] - adds r0, 0x1 - strh r0, [r5, 0x3C] - adds r2, r5, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r0, _0813EDB0 @ =gSprites - mov r9, r0 - movs r2, 0x2E - ldrsh r1, [r5, r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - mov r4, r9 - adds r3, r0, r4 - movs r0, 0x2E - ldrsh r1, [r3, r0] - cmp r1, 0x1 - bne _0813ED74 - ldrh r0, [r5, 0x3C] - ands r1, r0 - lsls r0, r1, 16 - asrs r6, r0, 16 - cmp r6, 0 - bne _0813ED66 - ldrh r1, [r3, 0x20] - ldrh r2, [r5, 0x30] - adds r1, r2 - lsls r1, 16 - ldrh r2, [r3, 0x22] - ldrh r4, [r5, 0x32] - adds r2, r4 - lsls r2, 16 - ldr r0, _0813EDB4 @ =gSpriteTemplate_840B1B0 - lsrs r4, r1, 16 - mov r8, r4 - asrs r1, 16 - lsrs r7, r2, 16 - asrs r2, 16 - adds r3, 0x43 - ldrb r3, [r3] - adds r3, 0x1 - lsls r3, 24 - lsrs r3, 24 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x40 - beq _0813ED66 - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - add r4, r9 - ldrb r0, [r4, 0x1] - movs r1, 0x3 - orrs r0, r1 - strb r0, [r4, 0x1] - ldrb r1, [r4, 0x3] - movs r0, 0x3F - negs r0, r0 - ands r0, r1 - movs r1, 0x22 - orrs r0, r1 - strb r0, [r4, 0x3] - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x1 - movs r3, 0x3 - bl CalcCenterToCornerVec - ldrh r0, [r5, 0x2E] - strh r0, [r4, 0x2E] - ldrh r0, [r5, 0x3C] - lsls r0, 16 - asrs r0, 18 - movs r1, 0x7 - ands r0, r1 - lsls r0, 5 - strh r0, [r4, 0x30] - ldrh r0, [r5, 0x34] - strh r0, [r4, 0x32] - movs r0, 0xE8 - strh r0, [r4, 0x34] - mov r0, r8 - strh r0, [r4, 0x36] - strh r7, [r4, 0x38] - strh r6, [r4, 0x3A] -_0813ED66: - ldrh r1, [r5, 0x3A] - movs r2, 0x3A - ldrsh r0, [r5, r2] - cmp r0, 0x6F - bgt _0813ED74 - adds r0, r1, 0x4 - strh r0, [r5, 0x3A] -_0813ED74: - ldr r1, _0813EDB8 @ =gSineTable - ldrh r0, [r5, 0x3A] - lsls r0, 24 - lsrs r0, 23 - adds r0, r1 - movs r4, 0 - ldrsh r0, [r0, r4] - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - movs r2, 0x80 - lsls r2, 1 - adds r1, r2, 0 - subs r1, r0 - lsls r1, 16 - lsrs r1, 16 - str r1, [sp] - movs r0, 0x11 - movs r2, 0 - movs r3, 0 - bl SetOamMatrix -_0813EDA0: - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0813EDB0: .4byte gSprites -_0813EDB4: .4byte gSpriteTemplate_840B1B0 -_0813EDB8: .4byte gSineTable - thumb_func_end sub_813EC90 - - thumb_func_start sub_813EDBC -sub_813EDBC: @ 813EDBC - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0813EDF4 @ =gSpriteTemplate_840B1C8 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x40 - beq _0813EDEE - ldr r1, _0813EDF8 @ =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - movs r1, 0 - strh r4, [r0, 0x2E] - strh r1, [r0, 0x30] - movs r1, 0xC - strh r1, [r0, 0x32] - movs r1, 0x18 - strh r1, [r0, 0x34] -_0813EDEE: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0813EDF4: .4byte gSpriteTemplate_840B1C8 -_0813EDF8: .4byte gSprites - thumb_func_end sub_813EDBC - - thumb_func_start sub_813EDFC -sub_813EDFC: @ 813EDFC - push {r4,r5,lr} - sub sp, 0x4 - adds r5, r0, 0 - movs r1, 0x2E - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _0813EE12 - adds r4, r5, 0 - adds r4, 0x3E - cmp r0, 0x1 - beq _0813EE4A -_0813EE12: - adds r4, r5, 0 - adds r4, 0x3E - ldrb r1, [r4] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r4] - ldrb r0, [r5, 0x1] - movs r1, 0x3 - orrs r0, r1 - strb r0, [r5, 0x1] - ldrb r1, [r5, 0x3] - movs r0, 0x3F - negs r0, r0 - ands r0, r1 - movs r1, 0x24 - orrs r0, r1 - strb r0, [r5, 0x3] - adds r0, r5, 0 - movs r1, 0 - movs r2, 0x3 - movs r3, 0x3 - bl CalcCenterToCornerVec - movs r0, 0 - strh r0, [r5, 0x30] - movs r0, 0x1 - strh r0, [r5, 0x2E] -_0813EE4A: - ldrh r0, [r5, 0x3C] - adds r0, 0x1 - strh r0, [r5, 0x3C] - movs r1, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0813EE62 - ldrb r0, [r4] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r4] - b _0813EE7A -_0813EE62: - ldrb r0, [r4] - movs r1, 0x5 - negs r1, r1 - ands r1, r0 - strb r1, [r4] - ldrh r1, [r5, 0x30] - movs r2, 0x30 - ldrsh r0, [r5, r2] - cmp r0, 0x3F - bgt _0813EE7A - adds r0, r1, 0x1 - strh r0, [r5, 0x30] -_0813EE7A: - ldr r1, _0813EEB0 @ =gSineTable - ldrh r0, [r5, 0x30] - lsls r0, 24 - lsrs r0, 23 - adds r0, r1 - movs r1, 0 - ldrsh r0, [r0, r1] - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - movs r2, 0x80 - lsls r2, 1 - adds r1, r2, 0 - subs r1, r0 - lsls r1, 16 - lsrs r1, 16 - str r1, [sp] - movs r0, 0x12 - movs r2, 0 - movs r3, 0 - bl SetOamMatrix - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0813EEB0: .4byte gSineTable - thumb_func_end sub_813EDFC - - thumb_func_start FieldInitRegionMap -FieldInitRegionMap: @ 813EEB4 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0 - bl SetVBlankCallback - ldr r2, _0813EED8 @ =0x02000000 - ldr r0, _0813EEDC @ =0x00000888 - adds r1, r2, r0 - movs r0, 0 - strh r0, [r1] - str r4, [r2] - ldr r0, _0813EEE0 @ =CB2_FieldInitRegionMap - bl SetMainCallback2 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0813EED8: .4byte 0x02000000 -_0813EEDC: .4byte 0x00000888 -_0813EEE0: .4byte CB2_FieldInitRegionMap - thumb_func_end FieldInitRegionMap - - thumb_func_start CB2_FieldInitRegionMap -CB2_FieldInitRegionMap: @ 813EEE4 - push {r4,lr} - sub sp, 0x4 - movs r0, 0x80 - lsls r0, 19 - movs r1, 0 - strh r1, [r0] - adds r0, 0x10 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - bl ResetSpriteData - bl FreeAllSpritePalettes - ldr r0, _0813EF98 @ =0x02000008 - movs r1, 0 - bl sub_80FA8EC - movs r0, 0 - movs r1, 0 - bl sub_80FBCF0 - movs r0, 0x1 - movs r1, 0x1 - bl sub_80FBB3C - ldr r4, _0813EF9C @ =gWindowConfig_81E709C - adds r0, r4, 0 - bl SetUpWindowConfig - adds r0, r4, 0 - bl InitMenuWindow - bl MenuZeroFillScreen - ldr r1, _0813EFA0 @ =REG_BG0CNT - movs r2, 0xF8 - lsls r2, 5 - adds r0, r2, 0 - strh r0, [r1] - movs r0, 0x15 - movs r1, 0 - movs r2, 0x1D - movs r3, 0x3 - bl MenuDrawTextWindow - ldr r0, _0813EFA4 @ =gOtherText_Hoenn - movs r1, 0x16 - movs r2, 0x1 - movs r3, 0x38 - bl sub_8072BD8 - movs r0, 0x10 - movs r1, 0x10 - movs r2, 0x1D - movs r3, 0x13 - bl MenuDrawTextWindow - bl sub_813F0C8 - ldr r0, _0813EFA8 @ =CB2_FieldRegionMap - bl SetMainCallback2 - ldr r0, _0813EFAC @ =VBlankCB_FieldRegionMap - bl SetVBlankCallback - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0813EF98: .4byte 0x02000008 -_0813EF9C: .4byte gWindowConfig_81E709C -_0813EFA0: .4byte REG_BG0CNT -_0813EFA4: .4byte gOtherText_Hoenn -_0813EFA8: .4byte CB2_FieldRegionMap -_0813EFAC: .4byte VBlankCB_FieldRegionMap - thumb_func_end CB2_FieldInitRegionMap - - thumb_func_start VBlankCB_FieldRegionMap -VBlankCB_FieldRegionMap: @ 813EFB0 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end VBlankCB_FieldRegionMap - - thumb_func_start CB2_FieldRegionMap -CB2_FieldRegionMap: @ 813EFC4 - push {lr} - bl sub_813EFDC - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end CB2_FieldRegionMap - - thumb_func_start sub_813EFDC -sub_813EFDC: @ 813EFDC - push {lr} - sub sp, 0x4 - ldr r1, _0813EFF8 @ =0x02000000 - ldr r2, _0813EFFC @ =0x00000888 - adds r0, r1, r2 - ldrh r0, [r0] - adds r2, r1, 0 - cmp r0, 0x4 - bhi _0813F0B8 - lsls r0, 2 - ldr r1, _0813F000 @ =_0813F004 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0813EFF8: .4byte 0x02000000 -_0813EFFC: .4byte 0x00000888 -_0813F000: .4byte _0813F004 - .align 2, 0 -_0813F004: - .4byte _0813F018 - .4byte _0813F030 - .4byte _0813F04C - .4byte _0813F078 - .4byte _0813F0A0 -_0813F018: - movs r1, 0x80 - lsls r1, 19 - ldr r3, _0813F028 @ =0x00001541 - adds r0, r3, 0 - strh r0, [r1] - ldr r0, _0813F02C @ =0x00000888 - adds r1, r2, r0 - b _0813F08E - .align 2, 0 -_0813F028: .4byte 0x00001541 -_0813F02C: .4byte 0x00000888 -_0813F030: - ldr r0, _0813F044 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0813F0B8 - ldr r3, _0813F048 @ =0x00000888 - adds r1, r2, r3 - b _0813F08E - .align 2, 0 -_0813F044: .4byte gPaletteFade -_0813F048: .4byte 0x00000888 -_0813F04C: - bl sub_80FAB60 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bne _0813F05E - bl sub_813F0C8 - b _0813F0B8 -_0813F05E: - cmp r0, 0x3 - blt _0813F0B8 - cmp r0, 0x5 - bgt _0813F0B8 - ldr r1, _0813F070 @ =0x02000000 - ldr r0, _0813F074 @ =0x00000888 - adds r1, r0 - b _0813F08E - .align 2, 0 -_0813F070: .4byte 0x02000000 -_0813F074: .4byte 0x00000888 -_0813F078: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, _0813F098 @ =0x02000000 - ldr r2, _0813F09C @ =0x00000888 - adds r1, r2 -_0813F08E: - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _0813F0B8 - .align 2, 0 -_0813F098: .4byte 0x02000000 -_0813F09C: .4byte 0x00000888 -_0813F0A0: - ldr r0, _0813F0C0 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0813F0B8 - bl sub_80FAB10 - ldr r0, _0813F0C4 @ =0x02000000 - ldr r0, [r0] - bl SetMainCallback2 -_0813F0B8: - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_0813F0C0: .4byte gPaletteFade -_0813F0C4: .4byte 0x02000000 - thumb_func_end sub_813EFDC - - thumb_func_start sub_813F0C8 -sub_813F0C8: @ 813F0C8 - push {lr} - movs r0, 0x11 - movs r1, 0x11 - movs r2, 0x1C - movs r3, 0x12 - bl MenuFillWindowRectWithBlankTile - ldr r1, _0813F0F0 @ =0x02000000 - ldrb r0, [r1, 0x1E] - cmp r0, 0 - beq _0813F0EA - adds r0, r1, 0 - adds r0, 0x8 - movs r1, 0x11 - movs r2, 0x11 - bl MenuPrint -_0813F0EA: - pop {r0} - bx r0 - .align 2, 0 -_0813F0F0: .4byte 0x02000000 - thumb_func_end sub_813F0C8 - - thumb_func_start unref_sub_813F0F4 -unref_sub_813F0F4: @ 813F0F4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x1C - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x10] - ldr r0, _0813F2AC @ =gUnknown_0202F7C8 - ldrb r3, [r0] - ldr r0, _0813F2B0 @ =gUnknown_030042C4 - movs r1, 0 - strh r1, [r0] - ldr r0, _0813F2B4 @ =gUnknown_03004240 - strh r1, [r0] - ldr r1, _0813F2B8 @ =REG_WININ - ldr r2, _0813F2BC @ =0x00003f3f - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x2 - ldr r4, _0813F2C0 @ =0x00003f3d - adds r0, r4, 0 - strh r0, [r1] - movs r2, 0x80 - lsls r2, 19 - ldrh r0, [r2] - movs r4, 0x80 - lsls r4, 8 - adds r1, r4, 0 - orrs r0, r1 - strh r0, [r2] - ldr r1, _0813F2C4 @ =REG_BLDCNT - ldr r2, _0813F2C8 @ =0x00003f42 - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x2 - movs r4, 0x80 - lsls r4, 5 - adds r0, r4, 0 - strh r0, [r1] - ldr r2, _0813F2CC @ =REG_BG1CNT - ldrb r1, [r2] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - ldrb r1, [r2, 0x1] - movs r0, 0x3F - ands r0, r1 - strb r0, [r2, 0x1] - ldrb r0, [r2, 0x1] - movs r1, 0x20 - orrs r0, r1 - strb r0, [r2, 0x1] - ldrb r1, [r2] - movs r0, 0xD - negs r0, r0 - mov r9, r0 - ands r0, r1 - movs r1, 0x4 - mov r8, r1 - mov r4, r8 - orrs r0, r4 - strb r0, [r2] - ldr r0, _0813F2D0 @ =gUnknown_03004340 - adds r3, r0 - ldrb r0, [r3] - ldr r1, _0813F2D4 @ =gSprites - mov r10, r1 - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - add r4, r10 - ldrb r7, [r4, 0x6] - ldrh r6, [r4, 0x38] - lsls r6, 24 - lsrs r6, 24 - ldr r0, _0813F2D8 @ =SpriteCallbackDummy - bl object_new_hidden_with_callback - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x14] - ldr r0, _0813F2D8 @ =SpriteCallbackDummy - bl object_new_hidden_with_callback - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x18] - ldrb r1, [r4, 0x5] - mov r0, r9 - ands r0, r1 - mov r2, r8 - orrs r0, r2 - strb r0, [r4, 0x5] - lsls r5, r7, 4 - adds r5, r7 - lsls r5, 2 - add r5, r10 - ldrb r1, [r5, 0x5] - mov r0, r9 - ands r0, r1 - orrs r0, r2 - strb r0, [r5, 0x5] - lsls r1, r6, 4 - adds r1, r6 - lsls r1, 2 - add r1, r10 - ldrb r2, [r1, 0x5] - mov r0, r9 - ands r0, r2 - mov r2, r8 - orrs r0, r2 - strb r0, [r1, 0x5] - ldr r0, [sp, 0x14] - lsls r6, r0, 4 - adds r6, r0 - lsls r6, 2 - mov r1, r10 - adds r7, r6, r1 - adds r0, r7, 0 - adds r1, r4, 0 - movs r2, 0x44 - bl memcpy - ldr r2, [sp, 0x18] - lsls r4, r2, 4 - adds r4, r2 - lsls r4, 2 - adds r0, r4, 0 - add r0, r10 - mov r8, r0 - adds r1, r5, 0 - movs r2, 0x44 - bl memcpy - ldrb r1, [r7, 0x1] - mov r0, r9 - ands r0, r1 - movs r1, 0x8 - orrs r0, r1 - strb r0, [r7, 0x1] - mov r2, r8 - ldrb r0, [r2, 0x1] - mov r2, r9 - ands r2, r0 - orrs r2, r1 - mov r0, r8 - strb r2, [r0, 0x1] - movs r1, 0x1C - add r10, r1 - add r6, r10 - ldr r2, _0813F2D8 @ =SpriteCallbackDummy - str r2, [r6] - add r4, r10 - str r2, [r4] - mov r0, sp - bl sub_8078914 - ldr r1, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0xC] - ldr r2, _0813F2DC @ =0x040000d4 - add r0, sp, 0xC - str r0, [r2] - str r1, [r2, 0x4] - ldr r0, _0813F2E0 @ =0x85000400 - str r0, [r2, 0x8] - ldr r0, [r2, 0x8] - ldr r0, _0813F2E4 @ =gUnknown_08D2EE48 - bl LZDecompressVram - ldr r0, _0813F2E8 @ =gUnknown_08D2EDFC - ldr r1, [sp] - bl LZDecompressVram - ldr r0, _0813F2EC @ =gUnknown_08D2E150 - mov r1, sp - ldrb r1, [r1, 0x8] - lsls r1, 4 - movs r2, 0x20 - bl LoadCompressedPalette - ldr r1, _0813F2F0 @ =gUnknown_030042C0 - ldrh r0, [r7, 0x20] - negs r0, r0 - adds r0, 0x20 - strh r0, [r1] - ldr r1, _0813F2F4 @ =gUnknown_030041B4 - ldrh r0, [r7, 0x22] - negs r0, r0 - subs r0, 0x20 - strh r0, [r1] - ldr r1, _0813F2F8 @ =gTasks - ldr r4, [sp, 0x10] - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0xA0 - lsls r1, 2 - strh r1, [r0, 0xA] - mov r1, sp - ldrh r1, [r1, 0x14] - strh r1, [r0, 0x8] - mov r2, sp - ldrh r2, [r2, 0x18] - strh r2, [r0, 0xC] - ldr r1, _0813F2FC @ =sub_813F300 - str r1, [r0] - add sp, 0x1C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0813F2AC: .4byte gUnknown_0202F7C8 -_0813F2B0: .4byte gUnknown_030042C4 -_0813F2B4: .4byte gUnknown_03004240 -_0813F2B8: .4byte REG_WININ -_0813F2BC: .4byte 0x00003f3f -_0813F2C0: .4byte 0x00003f3d -_0813F2C4: .4byte REG_BLDCNT -_0813F2C8: .4byte 0x00003f42 -_0813F2CC: .4byte REG_BG1CNT -_0813F2D0: .4byte gUnknown_03004340 -_0813F2D4: .4byte gSprites -_0813F2D8: .4byte SpriteCallbackDummy -_0813F2DC: .4byte 0x040000d4 -_0813F2E0: .4byte 0x85000400 -_0813F2E4: .4byte gUnknown_08D2EE48 -_0813F2E8: .4byte gUnknown_08D2EDFC -_0813F2EC: .4byte gUnknown_08D2E150 -_0813F2F0: .4byte gUnknown_030042C0 -_0813F2F4: .4byte gUnknown_030041B4 -_0813F2F8: .4byte gTasks -_0813F2FC: .4byte sub_813F300 - thumb_func_end unref_sub_813F0F4 - - thumb_func_start sub_813F300 -sub_813F300: @ 813F300 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x10 - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, _0813F34C @ =gUnknown_0202F7C8 - ldrb r0, [r0] - mov r9, r0 - ldr r1, _0813F350 @ =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r4, r0, r1 - ldrh r1, [r4, 0xA] - ldrh r0, [r4, 0x22] - adds r1, r0 - movs r3, 0 - strh r1, [r4, 0x22] - ldr r2, _0813F354 @ =gUnknown_030041B4 - lsls r0, r1, 16 - lsrs r0, 24 - ldrh r5, [r2] - adds r0, r5 - strh r0, [r2] - movs r0, 0xFF - ands r1, r0 - strh r1, [r4, 0x22] - movs r1, 0x26 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _0813F394 - cmp r0, 0x1 - bgt _0813F358 - cmp r0, 0 - beq _0813F35E - b _0813F4B2 - .align 2, 0 -_0813F34C: .4byte gUnknown_0202F7C8 -_0813F350: .4byte gTasks -_0813F354: .4byte gUnknown_030041B4 -_0813F358: - cmp r0, 0x2 - beq _0813F3AC - b _0813F4B2 -_0813F35E: - ldrh r0, [r4, 0x1E] - adds r1, r0, 0x1 - strh r1, [r4, 0x1E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - bgt _0813F36E - b _0813F4B2 -_0813F36E: - strh r3, [r4, 0x1E] - ldrh r1, [r4, 0x20] - adds r1, 0x1 - strh r1, [r4, 0x20] - ldr r2, _0813F390 @ =REG_BLDALPHA - movs r0, 0x10 - subs r0, r1 - lsls r0, 8 - orrs r1, r0 - strh r1, [r2] - movs r2, 0x20 - ldrsh r0, [r4, r2] - cmp r0, 0x8 - beq _0813F38C - b _0813F4B2 -_0813F38C: - b _0813F3A4 - .align 2, 0 -_0813F390: .4byte REG_BLDALPHA -_0813F394: - ldrh r0, [r4, 0x1C] - adds r0, 0x1 - strh r0, [r4, 0x1C] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1E - beq _0813F3A4 - b _0813F4B2 -_0813F3A4: - ldrh r0, [r4, 0x26] - adds r0, 0x1 - strh r0, [r4, 0x26] - b _0813F4B2 -_0813F3AC: - ldrh r0, [r4, 0x1E] - adds r1, r0, 0x1 - strh r1, [r4, 0x1E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _0813F4B2 - strh r3, [r4, 0x1E] - ldrh r1, [r4, 0x20] - subs r1, 0x1 - strh r1, [r4, 0x20] - ldr r6, _0813F4C0 @ =REG_BLDALPHA - movs r0, 0x10 - subs r0, r1 - lsls r0, 8 - orrs r1, r0 - strh r1, [r6] - movs r3, 0x20 - ldrsh r5, [r4, r3] - cmp r5, 0 - bne _0813F4B2 - movs r0, 0 - bl sub_8076464 - ldr r0, _0813F4C4 @ =gUnknown_030042C4 - strh r5, [r0] - ldr r0, _0813F4C8 @ =gUnknown_03004240 - strh r5, [r0] - ldr r0, _0813F4CC @ =REG_WININ - ldr r2, _0813F4D0 @ =0x00003f3f - adds r1, r2, 0 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - bl sub_8076BE0 - lsls r0, 24 - cmp r0, 0 - bne _0813F406 - ldr r2, _0813F4D4 @ =REG_BG1CNT - ldrb r1, [r2] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - strb r0, [r2] -_0813F406: - movs r2, 0x80 - lsls r2, 19 - ldrh r0, [r2] - movs r3, 0x80 - lsls r3, 8 - adds r1, r3, 0 - eors r0, r1 - strh r0, [r2] - ldr r0, _0813F4D8 @ =REG_BLDCNT - strh r5, [r0] - strh r5, [r6] - movs r0, 0x8 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _0813F4DC @ =gSprites - mov r8, r1 - add r0, r8 - bl DestroySprite - movs r2, 0xC - ldrsh r1, [r4, r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r8 - bl DestroySprite - mov r0, sp - bl sub_8078914 - ldr r2, [sp, 0x4] - str r5, [sp, 0xC] - ldr r1, _0813F4E0 @ =0x040000d4 - add r0, sp, 0xC - str r0, [r1] - str r2, [r1, 0x4] - ldr r0, _0813F4E4 @ =0x85000200 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - ldr r2, _0813F4D4 @ =REG_BG1CNT - ldrb r1, [r2, 0x1] - movs r0, 0x21 - negs r0, r0 - ands r0, r1 - strb r0, [r2, 0x1] - ldr r0, _0813F4E8 @ =gUnknown_03004340 - add r0, r9 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r8 - ldrb r6, [r1, 0x6] - ldrh r4, [r1, 0x38] - lsls r4, 24 - lsrs r4, 24 - ldrb r3, [r1, 0x5] - movs r2, 0xD - negs r2, r2 - adds r0, r2, 0 - ands r0, r3 - movs r5, 0x4 - orrs r0, r5 - strb r0, [r1, 0x5] - lsls r1, r6, 4 - adds r1, r6 - lsls r1, 2 - add r1, r8 - ldrb r3, [r1, 0x5] - adds r0, r2, 0 - ands r0, r3 - orrs r0, r5 - strb r0, [r1, 0x5] - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - add r0, r8 - ldrb r1, [r0, 0x5] - ands r2, r1 - orrs r2, r5 - strb r2, [r0, 0x5] - adds r0, r7, 0 - bl move_anim_task_del -_0813F4B2: - add sp, 0x10 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0813F4C0: .4byte REG_BLDALPHA -_0813F4C4: .4byte gUnknown_030042C4 -_0813F4C8: .4byte gUnknown_03004240 -_0813F4CC: .4byte REG_WININ -_0813F4D0: .4byte 0x00003f3f -_0813F4D4: .4byte REG_BG1CNT -_0813F4D8: .4byte REG_BLDCNT -_0813F4DC: .4byte gSprites -_0813F4E0: .4byte 0x040000d4 -_0813F4E4: .4byte 0x85000200 -_0813F4E8: .4byte gUnknown_03004340 - thumb_func_end sub_813F300 - - thumb_func_start sub_813F4EC -sub_813F4EC: @ 813F4EC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - ldr r1, _0813F5D0 @ =gUnknown_03004340 - ldr r0, _0813F5D4 @ =gUnknown_0202F7C8 - ldrb r0, [r0] - adds r0, r1 - ldrb r0, [r0] - ldr r7, _0813F5D8 @ =gSprites - lsls r6, r0, 4 - adds r6, r0 - lsls r6, 2 - adds r6, r7 - ldrb r0, [r6, 0x6] - str r0, [sp, 0x4] - ldrh r4, [r6, 0x38] - lsls r4, 24 - lsrs r4, 24 - ldr r0, _0813F5DC @ =0x0000d709 - bl AllocSpritePalette - mov r8, r0 - mov r1, r8 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - ldr r0, _0813F5E0 @ =0x0000d70a - bl AllocSpritePalette - mov r9, r0 - mov r2, r9 - lsls r2, 24 - lsrs r2, 24 - mov r9, r2 - ldrb r0, [r6, 0x5] - lsrs r0, 4 - lsls r0, 4 - movs r1, 0x80 - lsls r1, 1 - adds r3, r1, 0 - orrs r0, r3 - lsls r5, r4, 4 - adds r5, r4 - lsls r5, 2 - adds r5, r7 - ldrb r4, [r5, 0x5] - lsrs r4, 4 - lsls r4, 4 - orrs r4, r3 - lsls r0, 1 - ldr r2, _0813F5E4 @ =gPlttBufferUnfaded - mov r10, r2 - add r0, r10 - mov r1, r8 - lsls r1, 4 - mov r8, r1 - adds r1, r3, r1 - movs r2, 0x20 - str r3, [sp, 0x8] - bl LoadPalette - lsls r4, 1 - add r4, r10 - mov r2, r9 - lsls r2, 4 - mov r9, r2 - ldr r3, [sp, 0x8] - add r3, r9 - adds r0, r4, 0 - adds r1, r3, 0 - movs r2, 0x20 - bl LoadPalette - ldrb r1, [r6, 0x5] - movs r2, 0xF - adds r0, r2, 0 - ands r0, r1 - mov r3, r8 - orrs r0, r3 - strb r0, [r6, 0x5] - ldr r0, [sp, 0x4] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r7 - ldrb r3, [r1, 0x5] - adds r0, r2, 0 - ands r0, r3 - mov r3, r8 - orrs r0, r3 - strb r0, [r1, 0x5] - ldrb r0, [r5, 0x5] - ands r2, r0 - mov r0, r9 - orrs r2, r0 - strb r2, [r5, 0x5] - ldr r0, [sp] - bl move_anim_task_del - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0813F5D0: .4byte gUnknown_03004340 -_0813F5D4: .4byte gUnknown_0202F7C8 -_0813F5D8: .4byte gSprites -_0813F5DC: .4byte 0x0000d709 -_0813F5E0: .4byte 0x0000d70a -_0813F5E4: .4byte gPlttBufferUnfaded - thumb_func_end sub_813F4EC - - thumb_func_start sub_813F5E8 -sub_813F5E8: @ 813F5E8 - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - mov r8, r0 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r1, _0813F684 @ =gUnknown_03004340 - ldr r0, _0813F688 @ =gUnknown_0202F7C8 - ldrb r0, [r0] - adds r0, r1 - ldrb r0, [r0] - ldr r1, _0813F68C @ =gSprites - mov r9, r1 - lsls r5, r0, 4 - adds r5, r0 - lsls r5, 2 - add r5, r9 - ldrb r0, [r5, 0x6] - mov r10, r0 - ldrh r6, [r5, 0x38] - lsls r6, 24 - lsrs r6, 24 - ldr r0, _0813F690 @ =0x0000d709 - bl FreeSpritePaletteByTag - ldr r0, _0813F694 @ =0x0000d70a - bl FreeSpritePaletteByTag - ldr r0, _0813F698 @ =0x0000d6ff - bl IndexOfSpritePaletteTag - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _0813F69C @ =0x0000d704 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsls r4, 4 - ldrb r2, [r5, 0x5] - movs r3, 0xF - adds r1, r3, 0 - ands r1, r2 - orrs r1, r4 - strb r1, [r5, 0x5] - mov r1, r10 - lsls r2, r1, 4 - add r2, r10 - lsls r2, 2 - add r2, r9 - ldrb r5, [r2, 0x5] - adds r1, r3, 0 - ands r1, r5 - orrs r1, r4 - strb r1, [r2, 0x5] - lsls r1, r6, 4 - adds r1, r6 - lsls r1, 2 - add r1, r9 - lsrs r0, 20 - ldrb r2, [r1, 0x5] - ands r3, r2 - orrs r3, r0 - strb r3, [r1, 0x5] - mov r0, r8 - bl move_anim_task_del - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0813F684: .4byte gUnknown_03004340 -_0813F688: .4byte gUnknown_0202F7C8 -_0813F68C: .4byte gSprites -_0813F690: .4byte 0x0000d709 -_0813F694: .4byte 0x0000d70a -_0813F698: .4byte 0x0000d6ff -_0813F69C: .4byte 0x0000d704 - thumb_func_end sub_813F5E8 - - thumb_func_start sub_813F6A0 -sub_813F6A0: @ 813F6A0 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0813F6C0 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldr r2, _0813F6C4 @ =gUnknown_03004B00 - ldrh r0, [r2] - strh r0, [r1, 0x1C] - ldrh r0, [r2, 0x2] - strh r0, [r1, 0x1E] - ldr r0, _0813F6C8 @ =sub_813F6CC - str r0, [r1] - bx lr - .align 2, 0 -_0813F6C0: .4byte gTasks -_0813F6C4: .4byte gUnknown_03004B00 -_0813F6C8: .4byte sub_813F6CC - thumb_func_end sub_813F6A0 - - thumb_func_start sub_813F6CC -sub_813F6CC: @ 813F6CC - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _0813F718 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - ldrh r0, [r4, 0x8] - adds r0, 0x1 - movs r6, 0 - adds r1, r0, 0x1 - strh r1, [r4, 0x8] - lsls r0, 16 - asrs r0, 16 - movs r2, 0x1E - ldrsh r1, [r4, r2] - cmp r0, r1 - blt _0813F78C - strh r6, [r4, 0x8] - ldr r0, _0813F71C @ =0x0000d709 - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r2, r0, 24 - movs r3, 0x1C - ldrsh r0, [r4, r3] - movs r1, 0x2 - cmp r0, 0 - bne _0813F70A - movs r1, 0x6 -_0813F70A: - movs r3, 0xA - ldrsh r0, [r4, r3] - cmp r0, 0 - beq _0813F720 - cmp r0, 0x1 - beq _0813F75C - b _0813F78C - .align 2, 0 -_0813F718: .4byte gTasks -_0813F71C: .4byte 0x0000d709 -_0813F720: - ldrh r0, [r4, 0xC] - adds r0, 0x2 - strh r0, [r4, 0xC] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x10 - ble _0813F732 - movs r0, 0x10 - strh r0, [r4, 0xC] -_0813F732: - lsls r0, r2, 4 - movs r2, 0x80 - lsls r2, 1 - adds r0, r2 - orrs r0, r1 - ldrb r2, [r4, 0xC] - ldr r3, _0813F758 @ =0x00007f74 - movs r1, 0x1 - bl BlendPalette - movs r3, 0xC - ldrsh r0, [r4, r3] - cmp r0, 0x10 - bne _0813F78C - ldrh r0, [r4, 0xA] - adds r0, 0x1 - strh r0, [r4, 0xA] - b _0813F78C - .align 2, 0 -_0813F758: .4byte 0x00007f74 -_0813F75C: - ldrh r0, [r4, 0xC] - subs r0, 0x2 - strh r0, [r4, 0xC] - lsls r0, 16 - cmp r0, 0 - bge _0813F76A - strh r6, [r4, 0xC] -_0813F76A: - lsls r0, r2, 4 - movs r2, 0x80 - lsls r2, 1 - adds r0, r2 - orrs r0, r1 - ldrb r2, [r4, 0xC] - ldr r3, _0813F794 @ =0x00007f74 - movs r1, 0x1 - bl BlendPalette - movs r3, 0xC - ldrsh r0, [r4, r3] - cmp r0, 0 - bne _0813F78C - adds r0, r5, 0 - bl move_anim_task_del -_0813F78C: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0813F794: .4byte 0x00007f74 - thumb_func_end sub_813F6CC - - thumb_func_start sub_813F798 -sub_813F798: @ 813F798 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, _0813F7C4 @ =gUnknown_02024BE0 - ldr r0, _0813F7C8 @ =gUnknown_0202F7C8 - ldrb r0, [r0] - adds r0, r1 - ldrb r5, [r0] - ldr r1, _0813F7CC @ =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _0813F7E6 - cmp r0, 0x1 - bgt _0813F7D0 - cmp r0, 0 - beq _0813F7D6 - b _0813F838 - .align 2, 0 -_0813F7C4: .4byte gUnknown_02024BE0 -_0813F7C8: .4byte gUnknown_0202F7C8 -_0813F7CC: .4byte gTasks -_0813F7D0: - cmp r0, 0x2 - beq _0813F818 - b _0813F838 -_0813F7D6: - adds r0, r5, 0 - movs r1, 0 - bl sub_8078E70 - movs r0, 0x80 - lsls r0, 1 - strh r0, [r4, 0x1C] - b _0813F80A -_0813F7E6: - ldrh r0, [r4, 0x1C] - adds r0, 0x30 - strh r0, [r4, 0x1C] - movs r0, 0x1C - ldrsh r2, [r4, r0] - adds r0, r5, 0 - adds r1, r2, 0 - movs r3, 0 - bl obj_id_set_rotscale - adds r0, r5, 0 - bl sub_8079A64 - movs r0, 0x1C - ldrsh r1, [r4, r0] - ldr r0, _0813F814 @ =0x000002cf - cmp r1, r0 - ble _0813F838 -_0813F80A: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0813F838 - .align 2, 0 -_0813F814: .4byte 0x000002cf -_0813F818: - adds r0, r5, 0 - bl sub_8078F40 - ldr r1, _0813F840 @ =gSprites - lsls r0, r5, 4 - adds r0, r5 - lsls r0, 2 - adds r0, r1 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - adds r0, r6, 0 - bl move_anim_task_del -_0813F838: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0813F840: .4byte gSprites - thumb_func_end sub_813F798 - - thumb_func_start sub_813F844 -sub_813F844: @ 813F844 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0xC - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _0813F87C @ =gUnknown_02024BE0 - ldr r4, _0813F880 @ =gUnknown_0202F7C8 - ldrb r0, [r4] - adds r1, r0, r1 - ldrb r1, [r1] - mov r9, r1 - bl battle_side_get_owner - lsls r0, 24 - cmp r0, 0 - bne _0813F88C - ldr r1, _0813F884 @ =gUnknown_02024A6A - ldrb r0, [r4] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _0813F888 @ =gPlayerParty - b _0813F89C - .align 2, 0 -_0813F87C: .4byte gUnknown_02024BE0 -_0813F880: .4byte gUnknown_0202F7C8 -_0813F884: .4byte gUnknown_02024A6A -_0813F888: .4byte gPlayerParty -_0813F88C: - ldr r1, _0813F8CC @ =gUnknown_02024A6A - ldrb r0, [r4] - lsls r0, 1 - adds r0, r1 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _0813F8D0 @ =gEnemyParty -_0813F89C: - adds r0, r1 - movs r1, 0x26 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - bl ball_number_to_ball_processing_index - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r2, _0813F8D4 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r6, r0, r2 - movs r0, 0x8 - ldrsh r7, [r6, r0] - cmp r7, 0 - beq _0813F8D8 - cmp r7, 0x1 - beq _0813F958 - b _0813F982 - .align 2, 0 -_0813F8CC: .4byte gUnknown_02024A6A -_0813F8D0: .4byte gEnemyParty -_0813F8D4: .4byte gTasks -_0813F8D8: - ldr r5, _0813F950 @ =gUnknown_0202F7C8 - ldrb r0, [r5] - movs r1, 0 - bl sub_8077ABC - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldrb r0, [r5] - movs r1, 0x1 - bl sub_8077ABC - adds r1, r0, 0 - lsls r1, 24 - ldr r2, _0813F954 @ =gSprites - mov r3, r9 - lsls r0, r3, 4 - add r0, r9 - lsls r0, 2 - adds r0, r2 - ldrb r2, [r0, 0x5] - lsls r2, 28 - lsrs r2, 30 - adds r0, 0x43 - ldrb r3, [r0] - movs r0, 0x80 - lsls r0, 22 - adds r1, r0 - lsrs r1, 24 - mov r0, r8 - str r0, [sp] - adds r0, r4, 0 - bl sub_814086C - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0x1C] - str r7, [sp] - str r7, [sp, 0x4] - str r7, [sp, 0x8] - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl sub_80791A8 - adds r2, r0, 0 - ldrb r1, [r5] - movs r0, 0 - mov r3, r8 - bl sub_8141314 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0x1E] - ldrh r0, [r6, 0x8] - adds r0, 0x1 - strh r0, [r6, 0x8] - b _0813F982 - .align 2, 0 -_0813F950: .4byte gUnknown_0202F7C8 -_0813F954: .4byte gSprites -_0813F958: - movs r1, 0x1C - ldrsh r0, [r6, r1] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldrb r0, [r1, 0x4] - cmp r0, 0 - bne _0813F982 - movs r3, 0x1E - ldrsh r0, [r6, r3] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldrb r0, [r1, 0x4] - cmp r0, 0 - bne _0813F982 - adds r0, r5, 0 - bl move_anim_task_del -_0813F982: - add sp, 0xC - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_813F844 - - thumb_func_start sub_813F990 -sub_813F990: @ 813F990 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _0813F9B4 @ =gUnknown_02024C04 - ldrh r0, [r0] - bl ball_number_to_ball_processing_index - lsls r0, 24 - lsrs r0, 24 - bl sub_80478DC - adds r0, r4, 0 - bl move_anim_task_del - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0813F9B4: .4byte gUnknown_02024C04 - thumb_func_end sub_813F990 - - thumb_func_start sub_813F9B8 -sub_813F9B8: @ 813F9B8 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _0813F9DC @ =gUnknown_02024C04 - ldrh r0, [r0] - bl ball_number_to_ball_processing_index - lsls r0, 24 - lsrs r0, 24 - bl sub_804794C - adds r0, r4, 0 - bl move_anim_task_del - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0813F9DC: .4byte gUnknown_02024C04 - thumb_func_end sub_813F9B8 - - thumb_func_start sub_813F9E0 -sub_813F9E0: @ 813F9E0 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, _0813F9F4 @ =0x02017840 - ldrb r0, [r0, 0x8] - cmp r0, 0x5 - bne _0813FA00 - ldr r1, _0813F9F8 @ =gUnknown_03004B00 - ldr r0, _0813F9FC @ =0x0000ffff - b _0813FA04 - .align 2, 0 -_0813F9F4: .4byte 0x02017840 -_0813F9F8: .4byte gUnknown_03004B00 -_0813F9FC: .4byte 0x0000ffff -_0813FA00: - ldr r1, _0813FA10 @ =gUnknown_03004B00 - movs r0, 0 -_0813FA04: - strh r0, [r1, 0xE] - adds r0, r2, 0 - bl move_anim_task_del - pop {r0} - bx r0 - .align 2, 0 -_0813FA10: .4byte gUnknown_03004B00 - thumb_func_end sub_813F9E0 - - thumb_func_start ball_number_to_ball_processing_index -ball_number_to_ball_processing_index: @ 813FA14 - push {lr} - lsls r0, 16 - lsrs r0, 16 - subs r0, 0x1 - cmp r0, 0xB - bhi _0813FA8C - lsls r0, 2 - ldr r1, _0813FA2C @ =_0813FA30 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0813FA2C: .4byte _0813FA30 - .align 2, 0 -_0813FA30: - .4byte _0813FA60 - .4byte _0813FA64 - .4byte _0813FA68 - .4byte _0813FA8C - .4byte _0813FA6C - .4byte _0813FA70 - .4byte _0813FA74 - .4byte _0813FA78 - .4byte _0813FA7C - .4byte _0813FA80 - .4byte _0813FA84 - .4byte _0813FA88 -_0813FA60: - movs r0, 0x4 - b _0813FA8E -_0813FA64: - movs r0, 0x3 - b _0813FA8E -_0813FA68: - movs r0, 0x1 - b _0813FA8E -_0813FA6C: - movs r0, 0x2 - b _0813FA8E -_0813FA70: - movs r0, 0x5 - b _0813FA8E -_0813FA74: - movs r0, 0x6 - b _0813FA8E -_0813FA78: - movs r0, 0x7 - b _0813FA8E -_0813FA7C: - movs r0, 0x8 - b _0813FA8E -_0813FA80: - movs r0, 0x9 - b _0813FA8E -_0813FA84: - movs r0, 0xA - b _0813FA8E -_0813FA88: - movs r0, 0xB - b _0813FA8E -_0813FA8C: - movs r0, 0 -_0813FA8E: - pop {r1} - bx r1 - thumb_func_end ball_number_to_ball_processing_index - - thumb_func_start sub_813FA94 -sub_813FA94: @ 813FA94 - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - mov r10, r0 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - ldr r0, _0813FB58 @ =gUnknown_02024C04 - ldrh r0, [r0] - bl ball_number_to_ball_processing_index - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - ldr r1, _0813FB5C @ =gSpriteTemplate_820AAB4 - adds r0, r1 - movs r1, 0x20 - movs r2, 0x50 - movs r3, 0x1D - bl CreateSprite - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r1, _0813FB60 @ =gSprites - mov r9, r1 - lsls r4, r5, 4 - adds r4, r5 - lsls r4, 2 - adds r6, r4, r1 - movs r0, 0x22 - strh r0, [r6, 0x2E] - ldr r2, _0813FB64 @ =gUnknown_0202F7C9 - mov r8, r2 - ldrb r0, [r2] - movs r1, 0 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0x30] - mov r1, r8 - ldrb r0, [r1] - movs r1, 0x1 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x10 - strh r0, [r6, 0x32] - mov r0, r9 - adds r0, 0x1C - adds r4, r0 - ldr r0, _0813FB68 @ =sub_813FD90 - str r0, [r4] - ldr r3, _0813FB6C @ =0x02017840 - ldr r1, _0813FB70 @ =gUnknown_02024BE0 - mov r2, r8 - ldrb r0, [r2] - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r9 - adds r0, 0x3E - ldrb r1, [r0] - lsls r1, 29 - lsrs r1, 31 - lsls r1, 1 - ldrb r2, [r3, 0x9] - movs r0, 0x3 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0x9] - ldr r1, _0813FB74 @ =gTasks - mov r2, r10 - lsls r0, r2, 2 - add r0, r10 - lsls r0, 3 - adds r0, r1 - strh r5, [r0, 0x8] - ldr r1, _0813FB78 @ =sub_813FB7C - str r1, [r0] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0813FB58: .4byte gUnknown_02024C04 -_0813FB5C: .4byte gSpriteTemplate_820AAB4 -_0813FB60: .4byte gSprites -_0813FB64: .4byte gUnknown_0202F7C9 -_0813FB68: .4byte sub_813FD90 -_0813FB6C: .4byte 0x02017840 -_0813FB70: .4byte gUnknown_02024BE0 -_0813FB74: .4byte gTasks -_0813FB78: .4byte sub_813FB7C - thumb_func_end sub_813FA94 - - thumb_func_start sub_813FB7C -sub_813FB7C: @ 813FB7C - push {lr} - lsls r0, 24 - lsrs r3, r0, 24 - ldr r1, _0813FBAC @ =gTasks - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 3 - adds r0, r1 - ldrb r1, [r0, 0x8] - ldr r2, _0813FBB0 @ =gSprites - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x2E] - ldr r0, _0813FBB4 @ =0x0000ffff - cmp r1, r0 - bne _0813FBA6 - adds r0, r3, 0 - bl move_anim_task_del -_0813FBA6: - pop {r0} - bx r0 - .align 2, 0 -_0813FBAC: .4byte gTasks -_0813FBB0: .4byte gSprites -_0813FBB4: .4byte 0x0000ffff - thumb_func_end sub_813FB7C - - thumb_func_start sub_813FBB8 -sub_813FBB8: @ 813FBB8 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, _0813FBD8 @ =gUnknown_020239F8 - ldrh r1, [r0] - movs r0, 0x80 - lsls r0, 2 - ands r0, r1 - cmp r0, 0 - beq _0813FBDC - movs r6, 0x20 - movs r5, 0xB - b _0813FBE0 - .align 2, 0 -_0813FBD8: .4byte gUnknown_020239F8 -_0813FBDC: - movs r6, 0x17 - movs r5, 0x5 -_0813FBE0: - ldr r0, _0813FC9C @ =gUnknown_02024C04 - ldrh r0, [r0] - bl ball_number_to_ball_processing_index - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x1 - bl battle_get_side_with_given_state - lsls r0, 24 - lsrs r0, 24 - bl sub_8079E90 - adds r3, r0, 0 - adds r3, 0x1 - lsls r3, 24 - lsrs r3, 24 - lsls r0, r4, 1 - adds r0, r4 - lsls r0, 3 - ldr r1, _0813FCA0 @ =gSpriteTemplate_820AAB4 - adds r0, r1 - adds r1, r6, 0 - adds r1, 0x20 - movs r2, 0x50 - orrs r5, r2 - adds r2, r5, 0 - bl CreateSprite - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r0, _0813FCA4 @ =gSprites - mov r9, r0 - lsls r4, r5, 4 - adds r4, r5 - lsls r4, 2 - adds r6, r4, r0 - movs r0, 0x22 - strh r0, [r6, 0x2E] - ldr r1, _0813FCA8 @ =gUnknown_0202F7C9 - mov r8, r1 - ldrb r0, [r1] - movs r1, 0 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6, 0x30] - mov r1, r8 - ldrb r0, [r1] - movs r1, 0x1 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x10 - strh r0, [r6, 0x32] - mov r0, r9 - adds r0, 0x1C - adds r4, r0 - ldr r0, _0813FCAC @ =SpriteCallbackDummy - str r0, [r4] - movs r0, 0 - bl battle_get_side_with_given_state - ldr r1, _0813FCB0 @ =gUnknown_02024BE0 - lsls r0, 24 - lsrs r0, 24 - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r9 - movs r1, 0x1 - bl StartSpriteAnim - ldr r1, _0813FCB4 @ =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - strh r5, [r0, 0x8] - ldr r1, _0813FCB8 @ =sub_813FCBC - str r1, [r0] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0813FC9C: .4byte gUnknown_02024C04 -_0813FCA0: .4byte gSpriteTemplate_820AAB4 -_0813FCA4: .4byte gSprites -_0813FCA8: .4byte gUnknown_0202F7C9 -_0813FCAC: .4byte SpriteCallbackDummy -_0813FCB0: .4byte gUnknown_02024BE0 -_0813FCB4: .4byte gTasks -_0813FCB8: .4byte sub_813FCBC - thumb_func_end sub_813FBB8 - - thumb_func_start sub_813FCBC -sub_813FCBC: @ 813FCBC - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r6, _0813FD1C @ =gSprites - movs r0, 0 - bl battle_get_side_with_given_state - ldr r1, _0813FD20 @ =gUnknown_02024BE0 - lsls r0, 24 - lsrs r0, 24 - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r0, 0x2B - ldrb r0, [r0] - cmp r0, 0x1 - bne _0813FD16 - movs r0, 0x3D - movs r1, 0 - bl PlaySE12WithPanning - ldr r0, _0813FD24 @ =gTasks - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - adds r4, r0 - movs r0, 0x8 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r6, 0 - adds r1, 0x1C - adds r0, r1 - ldr r1, _0813FD28 @ =sub_813FD90 - str r1, [r0] - ldr r0, _0813FD2C @ =sub_813FD34 - movs r1, 0xA - bl CreateTask - ldr r0, _0813FD30 @ =sub_813FB7C - str r0, [r4] -_0813FD16: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0813FD1C: .4byte gSprites -_0813FD20: .4byte gUnknown_02024BE0 -_0813FD24: .4byte gTasks -_0813FD28: .4byte sub_813FD90 -_0813FD2C: .4byte sub_813FD34 -_0813FD30: .4byte sub_813FB7C - thumb_func_end sub_813FCBC - - thumb_func_start sub_813FD34 -sub_813FD34: @ 813FD34 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r6, _0813FD88 @ =gSprites - movs r0, 0 - bl battle_get_side_with_given_state - ldr r4, _0813FD8C @ =gUnknown_02024BE0 - lsls r0, 24 - lsrs r0, 24 - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r0, 0x3F - ldrb r0, [r0] - lsls r0, 27 - cmp r0, 0 - bge _0813FD80 - movs r0, 0 - bl battle_get_side_with_given_state - lsls r0, 24 - lsrs r0, 24 - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0 - bl StartSpriteAnim - adds r0, r5, 0 - bl DestroyTask -_0813FD80: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0813FD88: .4byte gSprites -_0813FD8C: .4byte gUnknown_02024BE0 - thumb_func_end sub_813FD34 - - thumb_func_start sub_813FD90 -sub_813FD90: @ 813FD90 - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x30] - ldrh r2, [r4, 0x32] - ldrh r0, [r4, 0x20] - strh r0, [r4, 0x30] - strh r1, [r4, 0x32] - ldrh r0, [r4, 0x22] - strh r0, [r4, 0x34] - strh r2, [r4, 0x36] - ldr r0, _0813FDB8 @ =0x0000ffd8 - strh r0, [r4, 0x38] - adds r0, r4, 0 - bl sub_80786EC - ldr r0, _0813FDBC @ =sub_813FDC0 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0813FDB8: .4byte 0x0000ffd8 -_0813FDBC: .4byte sub_813FDC0 - thumb_func_end sub_813FD90 - - thumb_func_start sub_813FDC0 -sub_813FDC0: @ 813FDC0 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - bl sub_8078718 - lsls r0, 24 - cmp r0, 0 - beq _0813FE5A - ldr r0, _0813FDE0 @ =0x02017840 - ldrb r0, [r0, 0x8] - cmp r0, 0x5 - bne _0813FDE8 - ldr r0, _0813FDE4 @ =sub_81407B8 - str r0, [r4, 0x1C] - b _0813FE5A - .align 2, 0 -_0813FDE0: .4byte 0x02017840 -_0813FDE4: .4byte sub_81407B8 -_0813FDE8: - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAnim - ldrh r0, [r4, 0x24] - ldrh r1, [r4, 0x20] - adds r0, r1 - movs r1, 0 - strh r0, [r4, 0x20] - ldrh r0, [r4, 0x26] - ldrh r2, [r4, 0x22] - adds r0, r2 - strh r0, [r4, 0x22] - strh r1, [r4, 0x24] - strh r1, [r4, 0x26] - adds r1, r4, 0 - adds r1, 0x2E - movs r2, 0 - adds r0, r4, 0 - adds r0, 0x3C -_0813FE10: - strh r2, [r0] - subs r0, 0x2 - cmp r0, r1 - bge _0813FE10 - movs r0, 0 - strh r0, [r4, 0x38] - ldr r0, _0813FE64 @ =sub_813FE70 - str r0, [r4, 0x1C] - ldr r0, _0813FE68 @ =gUnknown_02024C04 - ldrh r0, [r0] - bl ball_number_to_ball_processing_index - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0xB - bgt _0813FE5A - cmp r5, 0 - blt _0813FE5A - ldrh r0, [r4, 0x20] - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x22] - subs r1, 0x5 - lsls r1, 24 - lsrs r1, 24 - str r5, [sp] - movs r2, 0x1 - movs r3, 0x1C - bl sub_814086C - ldr r0, _0813FE6C @ =gUnknown_0202F7C9 - ldrb r1, [r0] - movs r0, 0 - movs r2, 0xE - adds r3, r5, 0 - bl sub_8141314 -_0813FE5A: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0813FE64: .4byte sub_813FE70 -_0813FE68: .4byte gUnknown_02024C04 -_0813FE6C: .4byte gUnknown_0202F7C9 - thumb_func_end sub_813FDC0 - - thumb_func_start sub_813FE70 -sub_813FE70: @ 813FE70 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xA - bne _0813FEAC - ldr r0, _0813FEB4 @ =TaskDummy - movs r1, 0x32 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x38] - ldr r0, _0813FEB8 @ =sub_813FEC8 - str r0, [r4, 0x1C] - ldr r2, _0813FEBC @ =gSprites - ldr r1, _0813FEC0 @ =gUnknown_02024BE0 - ldr r0, _0813FEC4 @ =gUnknown_0202F7C9 - ldrb r0, [r0] - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0 - strh r1, [r0, 0x30] -_0813FEAC: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0813FEB4: .4byte TaskDummy -_0813FEB8: .4byte sub_813FEC8 -_0813FEBC: .4byte gSprites -_0813FEC0: .4byte gUnknown_02024BE0 -_0813FEC4: .4byte gUnknown_0202F7C9 - thumb_func_end sub_813FE70 - - thumb_func_start sub_813FEC8 -sub_813FEC8: @ 813FEC8 - push {r4-r7,lr} - adds r7, r0, 0 - ldr r1, _0813FF0C @ =gUnknown_02024BE0 - ldr r0, _0813FF10 @ =gUnknown_0202F7C9 - ldrb r0, [r0] - adds r0, r1 - ldrb r4, [r0] - ldrh r0, [r7, 0x38] - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, _0813FF14 @ =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r5, r0, r1 - ldrh r0, [r5, 0xA] - adds r0, 0x1 - strh r0, [r5, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xB - bne _0813FEFA - movs r0, 0x3C - bl PlaySE -_0813FEFA: - movs r1, 0x8 - ldrsh r0, [r5, r1] - cmp r0, 0x1 - beq _0813FF70 - cmp r0, 0x1 - bgt _0813FF18 - cmp r0, 0 - beq _0813FF1E - b _0813FFDC - .align 2, 0 -_0813FF0C: .4byte gUnknown_02024BE0 -_0813FF10: .4byte gUnknown_0202F7C9 -_0813FF14: .4byte gTasks -_0813FF18: - cmp r0, 0x2 - beq _0813FFB4 - b _0813FFDC -_0813FF1E: - adds r0, r4, 0 - movs r1, 0 - bl sub_8078E70 - movs r0, 0x80 - lsls r0, 1 - strh r0, [r5, 0x1C] - ldr r1, _0813FF60 @ =gUnknown_03005F0C - movs r0, 0x1C - str r0, [r1] - ldr r2, _0813FF64 @ =gUnknown_03005F14 - ldr r1, _0813FF68 @ =gSprites - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r0, r1 - ldrh r1, [r0, 0x26] - ldrh r0, [r0, 0x22] - adds r1, r0 - ldrh r0, [r7, 0x26] - ldrh r7, [r7, 0x22] - adds r0, r7 - subs r1, r0 - strh r1, [r2] - ldr r4, _0813FF6C @ =gUnknown_03005F10 - ldrh r0, [r2] - lsls r0, 8 - movs r1, 0x1C - bl __udivsi3 - strh r0, [r4] - strh r0, [r5, 0xC] - b _0813FFCE - .align 2, 0 -_0813FF60: .4byte gUnknown_03005F0C -_0813FF64: .4byte gUnknown_03005F14 -_0813FF68: .4byte gSprites -_0813FF6C: .4byte gUnknown_03005F10 -_0813FF70: - ldrh r0, [r5, 0x1C] - adds r0, 0x20 - strh r0, [r5, 0x1C] - movs r0, 0x1C - ldrsh r2, [r5, r0] - adds r0, r4, 0 - adds r1, r2, 0 - movs r3, 0 - bl obj_id_set_rotscale - ldrh r0, [r5, 0xC] - ldrh r1, [r5, 0xE] - adds r0, r1 - strh r0, [r5, 0xE] - ldr r0, _0813FFAC @ =gSprites - lsls r1, r4, 4 - adds r1, r4 - lsls r1, 2 - adds r1, r0 - movs r2, 0xE - ldrsh r0, [r5, r2] - negs r0, r0 - asrs r0, 8 - strh r0, [r1, 0x26] - movs r0, 0x1C - ldrsh r1, [r5, r0] - ldr r0, _0813FFB0 @ =0x0000047f - cmp r1, r0 - ble _08140004 - b _0813FFCE - .align 2, 0 -_0813FFAC: .4byte gSprites -_0813FFB0: .4byte 0x0000047f -_0813FFB4: - adds r0, r4, 0 - bl sub_8078F40 - ldr r1, _0813FFD8 @ =gSprites - lsls r0, r4, 4 - adds r0, r4 - lsls r0, 2 - adds r0, r1 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] -_0813FFCE: - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - b _08140004 - .align 2, 0 -_0813FFD8: .4byte gSprites -_0813FFDC: - ldr r0, _0814000C @ =gTasks - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r0 - movs r2, 0xA - ldrsh r0, [r1, r2] - cmp r0, 0xA - ble _08140004 - adds r0, r6, 0 - bl DestroyTask - adds r0, r7, 0 - movs r1, 0x2 - bl StartSpriteAnim - movs r0, 0 - strh r0, [r7, 0x38] - ldr r0, _08140010 @ =sub_8140014 - str r0, [r7, 0x1C] -_08140004: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0814000C: .4byte gTasks -_08140010: .4byte sub_8140014 - thumb_func_end sub_813FEC8 - - thumb_func_start sub_8140014 -sub_8140014: @ 8140014 - push {r4,lr} - adds r4, r0, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _0814004E - movs r1, 0 - strh r1, [r4, 0x34] - movs r0, 0x20 - strh r0, [r4, 0x36] - strh r1, [r4, 0x38] - movs r0, 0 - movs r1, 0x20 - bl Cos - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - movs r0, 0x36 - ldrsh r1, [r4, r0] - movs r0, 0 - bl Cos - negs r0, r0 - strh r0, [r4, 0x26] - ldr r0, _08140054 @ =sub_8140058 - str r0, [r4, 0x1C] -_0814004E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08140054: .4byte sub_8140058 - thumb_func_end sub_8140014 - - thumb_func_start sub_8140058 -sub_8140058: @ 8140058 - push {r4,r5,lr} - adds r4, r0, 0 - movs r5, 0 - ldrh r0, [r4, 0x34] - movs r1, 0xFF - ands r1, r0 - cmp r1, 0 - beq _0814006E - cmp r1, 0x1 - beq _081400E2 - b _0814010E -_0814006E: - movs r1, 0x38 - ldrsh r0, [r4, r1] - movs r2, 0x36 - ldrsh r1, [r4, r2] - bl Cos - negs r0, r0 - strh r0, [r4, 0x26] - ldrh r1, [r4, 0x38] - adds r1, 0x4 - ldrh r2, [r4, 0x34] - lsls r0, r2, 16 - asrs r0, 24 - adds r1, r0 - strh r1, [r4, 0x38] - lsls r1, 16 - asrs r1, 16 - cmp r1, 0x3F - ble _0814010E - ldrh r0, [r4, 0x36] - subs r0, 0xA - strh r0, [r4, 0x36] - ldr r1, _081400B8 @ =0x00000101 - adds r0, r2, r1 - strh r0, [r4, 0x34] - lsls r0, 16 - asrs r0, 24 - cmp r0, 0x4 - bne _081400AA - movs r5, 0x1 -_081400AA: - cmp r0, 0x2 - beq _081400CA - cmp r0, 0x2 - bgt _081400BC - cmp r0, 0x1 - beq _081400C2 - b _081400DA - .align 2, 0 -_081400B8: .4byte 0x00000101 -_081400BC: - cmp r0, 0x3 - beq _081400D2 - b _081400DA -_081400C2: - movs r0, 0x38 - bl PlaySE - b _0814010E -_081400CA: - movs r0, 0x39 - bl PlaySE - b _0814010E -_081400D2: - movs r0, 0x3A - bl PlaySE - b _0814010E -_081400DA: - movs r0, 0x3B - bl PlaySE - b _0814010E -_081400E2: - movs r2, 0x38 - ldrsh r0, [r4, r2] - movs r2, 0x36 - ldrsh r1, [r4, r2] - bl Cos - negs r0, r0 - strh r0, [r4, 0x26] - ldrh r1, [r4, 0x38] - subs r1, 0x4 - ldrh r2, [r4, 0x34] - lsls r0, r2, 16 - asrs r0, 24 - subs r1, r0 - strh r1, [r4, 0x38] - lsls r1, 16 - cmp r1, 0 - bgt _0814010E - strh r5, [r4, 0x38] - ldr r0, _08140138 @ =0xffffff00 - ands r0, r2 - strh r0, [r4, 0x34] -_0814010E: - cmp r5, 0 - beq _0814014E - movs r5, 0 - strh r5, [r4, 0x34] - movs r0, 0x40 - movs r1, 0x20 - bl Cos - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - strh r5, [r4, 0x26] - ldr r0, _0814013C @ =0x02017840 - ldrb r0, [r0, 0x8] - cmp r0, 0 - bne _08140144 - strh r5, [r4, 0x38] - ldr r0, _08140140 @ =sub_8140410 - str r0, [r4, 0x1C] - b _0814014E - .align 2, 0 -_08140138: .4byte 0xffffff00 -_0814013C: .4byte 0x02017840 -_08140140: .4byte sub_8140410 -_08140144: - ldr r0, _08140154 @ =sub_8140158 - str r0, [r4, 0x1C] - movs r0, 0x1 - strh r0, [r4, 0x36] - strh r5, [r4, 0x38] -_0814014E: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08140154: .4byte sub_8140158 - thumb_func_end sub_8140058 - - thumb_func_start sub_8140158 -sub_8140158: @ 8140158 - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x34] - adds r0, 0x1 - movs r5, 0 - strh r0, [r4, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1F - bne _08140190 - strh r5, [r4, 0x34] - adds r2, r4, 0 - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim - ldr r0, _08140198 @ =0x02017840 - strh r5, [r0, 0xC] - ldr r0, _0814019C @ =sub_81401A0 - str r0, [r4, 0x1C] - movs r0, 0x17 - bl PlaySE -_08140190: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08140198: .4byte 0x02017840 -_0814019C: .4byte sub_81401A0 - thumb_func_end sub_8140158 - - thumb_func_start sub_81401A0 -sub_81401A0: @ 81401A0 - push {r4,r5,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x34] - movs r1, 0xFF - ands r1, r0 - cmp r1, 0x6 - bls _081401B0 - b _081403C4 -_081401B0: - lsls r0, r1, 2 - ldr r1, _081401BC @ =_081401C0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_081401BC: .4byte _081401C0 - .align 2, 0 -_081401C0: - .4byte _081401DC - .4byte _08140226 - .4byte _0814026C - .4byte _081402C0 - .4byte _08140310 - .4byte _08140368 - .4byte _081403C4 -_081401DC: - ldr r0, _081401F8 @ =0x02017840 - ldrh r2, [r0, 0xC] - movs r3, 0xC - ldrsh r1, [r0, r3] - adds r5, r0, 0 - cmp r1, 0xFF - ble _081401FC - ldrh r0, [r4, 0x36] - ldrh r1, [r4, 0x24] - adds r0, r1 - strh r0, [r4, 0x24] - movs r0, 0xFF - ands r0, r2 - b _08140200 - .align 2, 0 -_081401F8: .4byte 0x02017840 -_081401FC: - adds r0, r2, 0 - adds r0, 0xB0 -_08140200: - strh r0, [r5, 0xC] - ldrh r0, [r4, 0x38] - adds r0, 0x1 - movs r3, 0 - strh r0, [r4, 0x38] - adds r2, r4, 0 - adds r2, 0x2C - ldrb r1, [r2] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2] - ldrh r0, [r4, 0x38] - adds r0, 0x7 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0xE - bhi _08140224 - b _0814040A -_08140224: - b _081402B4 -_08140226: - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - bne _081402CC - movs r0, 0 - strh r0, [r4, 0x38] - ldrh r0, [r4, 0x36] - negs r0, r0 - strh r0, [r4, 0x36] - ldrh r0, [r4, 0x34] - adds r0, 0x1 - strh r0, [r4, 0x34] - adds r2, r4, 0 - adds r2, 0x2C - ldrb r1, [r2] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2] - movs r3, 0x36 - ldrsh r0, [r4, r3] - cmp r0, 0 - bge _08140262 - adds r0, r4, 0 - movs r1, 0x2 - bl ChangeSpriteAffineAnim - b _0814040A -_08140262: - adds r0, r4, 0 - movs r1, 0x1 - bl ChangeSpriteAffineAnim - b _0814040A -_0814026C: - ldr r0, _08140288 @ =0x02017840 - ldrh r2, [r0, 0xC] - movs r3, 0xC - ldrsh r1, [r0, r3] - adds r5, r0, 0 - cmp r1, 0xFF - ble _0814028C - ldrh r0, [r4, 0x36] - ldrh r1, [r4, 0x24] - adds r0, r1 - strh r0, [r4, 0x24] - movs r0, 0xFF - ands r0, r2 - b _08140290 - .align 2, 0 -_08140288: .4byte 0x02017840 -_0814028C: - adds r0, r2, 0 - adds r0, 0xB0 -_08140290: - strh r0, [r5, 0xC] - ldrh r0, [r4, 0x38] - adds r0, 0x1 - movs r3, 0 - strh r0, [r4, 0x38] - adds r2, r4, 0 - adds r2, 0x2C - ldrb r1, [r2] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2] - ldrh r0, [r4, 0x38] - adds r0, 0xC - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x18 - bhi _081402B4 - b _0814040A -_081402B4: - strh r3, [r5, 0xC] - ldrh r0, [r4, 0x34] - adds r0, 0x1 - strh r0, [r4, 0x34] - strh r3, [r4, 0x38] - b _0814040A -_081402C0: - ldrh r0, [r4, 0x38] - adds r1, r0, 0x1 - strh r1, [r4, 0x38] - lsls r0, 16 - cmp r0, 0 - bge _081402DA -_081402CC: - adds r0, r4, 0 - adds r0, 0x2C - ldrb r1, [r0] - movs r2, 0x80 - orrs r1, r2 - strb r1, [r0] - b _0814040A -_081402DA: - movs r0, 0 - strh r0, [r4, 0x38] - ldrh r0, [r4, 0x36] - negs r0, r0 - strh r0, [r4, 0x36] - ldrh r0, [r4, 0x34] - adds r0, 0x1 - strh r0, [r4, 0x34] - adds r2, r4, 0 - adds r2, 0x2C - ldrb r1, [r2] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2] - movs r3, 0x36 - ldrsh r0, [r4, r3] - cmp r0, 0 - bge _08140308 - adds r0, r4, 0 - movs r1, 0x2 - bl ChangeSpriteAffineAnim - b _08140310 -_08140308: - adds r0, r4, 0 - movs r1, 0x1 - bl ChangeSpriteAffineAnim -_08140310: - ldr r0, _0814032C @ =0x02017840 - ldrh r2, [r0, 0xC] - movs r3, 0xC - ldrsh r1, [r0, r3] - adds r5, r0, 0 - cmp r1, 0xFF - ble _08140330 - ldrh r0, [r4, 0x36] - ldrh r1, [r4, 0x24] - adds r0, r1 - strh r0, [r4, 0x24] - movs r0, 0xFF - ands r0, r2 - b _08140334 - .align 2, 0 -_0814032C: .4byte 0x02017840 -_08140330: - adds r0, r2, 0 - adds r0, 0xB0 -_08140334: - strh r0, [r5, 0xC] - ldrh r0, [r4, 0x38] - adds r0, 0x1 - movs r3, 0 - strh r0, [r4, 0x38] - adds r2, r4, 0 - adds r2, 0x2C - ldrb r1, [r2] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2] - ldrh r0, [r4, 0x38] - adds r0, 0x4 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x8 - bls _0814040A - strh r3, [r5, 0xC] - ldrh r0, [r4, 0x34] - adds r0, 0x1 - strh r0, [r4, 0x34] - strh r3, [r4, 0x38] - ldrh r0, [r4, 0x36] - negs r0, r0 - strh r0, [r4, 0x36] - b _0814040A -_08140368: - movs r3, 0x80 - lsls r3, 1 - adds r0, r3, 0 - ldrh r1, [r4, 0x34] - adds r0, r1 - strh r0, [r4, 0x34] - lsls r0, 16 - asrs r1, r0, 24 - ldr r0, _08140394 @ =0x02017840 - ldrb r0, [r0, 0x8] - cmp r1, r0 - bne _0814039C - adds r2, r4, 0 - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] - ldr r0, _08140398 @ =sub_8140410 - str r0, [r4, 0x1C] - b _0814040A - .align 2, 0 -_08140394: .4byte 0x02017840 -_08140398: .4byte sub_8140410 -_0814039C: - cmp r0, 0x4 - bne _081403B0 - cmp r1, 0x3 - bne _081403B0 - ldr r0, _081403AC @ =sub_8140434 - str r0, [r4, 0x1C] - b _081403B6 - .align 2, 0 -_081403AC: .4byte sub_8140434 -_081403B0: - ldrh r0, [r4, 0x34] - adds r0, 0x1 - strh r0, [r4, 0x34] -_081403B6: - adds r2, r4, 0 - adds r2, 0x2C - ldrb r0, [r2] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2] - b _0814040A -_081403C4: - ldrh r0, [r4, 0x38] - adds r0, 0x1 - strh r0, [r4, 0x38] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1F - bne _0814040A - movs r0, 0 - strh r0, [r4, 0x38] - ldrh r1, [r4, 0x34] - ldr r0, _081403F8 @ =0xffffff00 - ands r0, r1 - strh r0, [r4, 0x34] - adds r0, r4, 0 - movs r1, 0x3 - bl StartSpriteAffineAnim - movs r3, 0x36 - ldrsh r0, [r4, r3] - cmp r0, 0 - bge _081403FC - adds r0, r4, 0 - movs r1, 0x2 - bl StartSpriteAffineAnim - b _08140404 - .align 2, 0 -_081403F8: .4byte 0xffffff00 -_081403FC: - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim -_08140404: - movs r0, 0x17 - bl PlaySE -_0814040A: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81401A0 - - thumb_func_start sub_8140410 -sub_8140410: @ 8140410 - push {lr} - adds r1, r0, 0 - ldrh r0, [r1, 0x38] - adds r0, 0x1 - strh r0, [r1, 0x38] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1F - bne _0814042A - movs r0, 0 - strh r0, [r1, 0x38] - ldr r0, _08140430 @ =sub_81405F4 - str r0, [r1, 0x1C] -_0814042A: - pop {r0} - bx r0 - .align 2, 0 -_08140430: .4byte sub_81405F4 - thumb_func_end sub_8140410 - - thumb_func_start sub_8140434 -sub_8140434: @ 8140434 - adds r3, r0, 0 - adds r3, 0x2C - ldrb r1, [r3] - movs r2, 0x40 - orrs r1, r2 - strb r1, [r3] - ldr r1, _08140450 @ =sub_8140454 - str r1, [r0, 0x1C] - movs r1, 0 - strh r1, [r0, 0x34] - strh r1, [r0, 0x36] - strh r1, [r0, 0x38] - bx lr - .align 2, 0 -_08140450: .4byte sub_8140454 - thumb_func_end sub_8140434 - - thumb_func_start sub_8140454 -sub_8140454: @ 8140454 - push {r4-r7,lr} - adds r6, r0, 0 - ldr r7, _08140484 @ =gUnknown_0202F7C9 - ldrh r0, [r6, 0x36] - adds r0, 0x1 - strh r0, [r6, 0x36] - lsls r0, 16 - asrs r1, r0, 16 - cmp r1, 0x28 - beq _081404CC - cmp r1, 0x5F - bne _08140490 - ldr r0, _08140488 @ =gUnknown_02024E6D - movs r1, 0 - strb r1, [r0] - movs r0, 0x1 - bl sub_8043EB4 - bl m4aMPlayAllStop - ldr r0, _0814048C @ =0x00000173 - bl PlaySE - b _081404CC - .align 2, 0 -_08140484: .4byte gUnknown_0202F7C9 -_08140488: .4byte gUnknown_02024E6D -_0814048C: .4byte 0x00000173 -_08140490: - ldr r0, _081404D4 @ =0x0000013b - cmp r1, r0 - bne _081404CC - ldr r5, _081404D8 @ =gSprites - ldr r4, _081404DC @ =gUnknown_02024BE0 - ldrb r0, [r7] - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrb r0, [r0, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - ldrb r0, [r7] - adds r0, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - bl DestroySprite - movs r0, 0 - strh r0, [r6, 0x2E] - ldr r0, _081404E0 @ =sub_81404E4 - str r0, [r6, 0x1C] -_081404CC: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081404D4: .4byte 0x0000013b -_081404D8: .4byte gSprites -_081404DC: .4byte gUnknown_02024BE0 -_081404E0: .4byte sub_81404E4 - thumb_func_end sub_8140454 - - thumb_func_start sub_81404E4 -sub_81404E4: @ 81404E4 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _08140550 - cmp r0, 0x1 - bgt _081404FC - cmp r0, 0 - beq _08140502 - b _08140594 -_081404FC: - cmp r0, 0x2 - beq _08140580 - b _08140594 -_08140502: - strh r0, [r4, 0x30] - strh r0, [r4, 0x32] - ldrb r1, [r4, 0x1] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - movs r1, 0x4 - orrs r0, r1 - strb r0, [r4, 0x1] - ldr r1, _08140548 @ =REG_BLDCNT - movs r2, 0xFD - lsls r2, 6 - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x10 - strh r0, [r1] - ldr r0, [r4, 0x14] - ldrh r0, [r0, 0x2] - bl IndexOfSpritePaletteTag - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x10 - movs r1, 0x1 - lsls r1, r0 - ldr r0, _0814054C @ =0x00007fff - str r0, [sp] - adds r0, r1, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - b _0814058C - .align 2, 0 -_08140548: .4byte REG_BLDCNT -_0814054C: .4byte 0x00007fff -_08140550: - ldrh r0, [r4, 0x30] - adds r1, r0, 0x1 - strh r1, [r4, 0x30] - lsls r0, 16 - cmp r0, 0 - ble _081405B2 - movs r0, 0 - strh r0, [r4, 0x30] - ldrh r1, [r4, 0x32] - adds r1, 0x1 - strh r1, [r4, 0x32] - ldr r3, _0814057C @ =REG_BLDALPHA - lsls r2, r1, 8 - movs r0, 0x10 - subs r0, r1 - orrs r2, r0 - strh r2, [r3] - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0x10 - bne _081405B2 - b _0814058C - .align 2, 0 -_0814057C: .4byte REG_BLDALPHA -_08140580: - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] -_0814058C: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - b _081405B2 -_08140594: - ldr r0, _081405BC @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - bne _081405B2 - ldr r0, _081405C0 @ =REG_BLDCNT - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - strh r1, [r4, 0x2E] - ldr r0, _081405C4 @ =sub_81405C8 - str r0, [r4, 0x1C] -_081405B2: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081405BC: .4byte gPaletteFade -_081405C0: .4byte REG_BLDCNT -_081405C4: .4byte sub_81405C8 - thumb_func_end sub_81404E4 - - thumb_func_start sub_81405C8 -sub_81405C8: @ 81405C8 - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x2E] - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r0, 0 - bne _081405E0 - ldr r0, _081405DC @ =0x0000ffff - strh r0, [r4, 0x2E] - b _081405EC - .align 2, 0 -_081405DC: .4byte 0x0000ffff -_081405E0: - adds r0, r4, 0 - bl FreeSpriteOamMatrix - adds r0, r4, 0 - bl DestroySprite -_081405EC: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81405C8 - - thumb_func_start sub_81405F4 -sub_81405F4: @ 81405F4 - push {r4-r6,lr} - sub sp, 0x4 - adds r4, r0, 0 - movs r1, 0x1 - bl StartSpriteAnim - adds r0, r4, 0 - movs r1, 0 - bl StartSpriteAffineAnim - ldr r0, _081406A8 @ =sub_81406BC - str r0, [r4, 0x1C] - ldr r0, _081406AC @ =gUnknown_02024C04 - ldrh r0, [r0] - bl ball_number_to_ball_processing_index - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0xB - bgt _08140646 - cmp r5, 0 - blt _08140646 - ldrh r0, [r4, 0x20] - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x22] - subs r1, 0x5 - lsls r1, 24 - lsrs r1, 24 - str r5, [sp] - movs r2, 0x1 - movs r3, 0x1C - bl sub_814086C - ldr r0, _081406B0 @ =gUnknown_0202F7C9 - ldrb r1, [r0] - movs r0, 0x1 - movs r2, 0xE - adds r3, r5, 0 - bl sub_8141314 -_08140646: - ldr r6, _081406B4 @ =gSprites - ldr r5, _081406B8 @ =gUnknown_02024BE0 - ldr r4, _081406B0 @ =gUnknown_0202F7C9 - ldrb r0, [r4] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - ldrb r0, [r4] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x1 - bl StartSpriteAffineAnim - ldrb r0, [r4] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - bl AnimateSprite - ldrb r0, [r4] - adds r0, r5 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - movs r1, 0x80 - lsls r1, 5 - strh r1, [r0, 0x30] - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_081406A8: .4byte sub_81406BC -_081406AC: .4byte gUnknown_02024C04 -_081406B0: .4byte gUnknown_0202F7C9 -_081406B4: .4byte gSprites -_081406B8: .4byte gUnknown_02024BE0 - thumb_func_end sub_81405F4 - - thumb_func_start sub_81406BC -sub_81406BC: @ 81406BC - push {r4-r7,lr} - adds r7, r0, 0 - movs r5, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _081406DA - adds r2, r7, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] -_081406DA: - ldr r4, _08140708 @ =gSprites - ldr r3, _0814070C @ =gUnknown_02024BE0 - ldr r2, _08140710 @ =gUnknown_0202F7C9 - ldrb r0, [r2] - adds r0, r3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r4 - adds r0, r1, 0 - adds r0, 0x3F - ldrb r0, [r0] - lsls r0, 26 - cmp r0, 0 - bge _08140714 - adds r0, r1, 0 - movs r1, 0 - bl StartSpriteAffineAnim - movs r5, 0x1 - b _08140734 - .align 2, 0 -_08140708: .4byte gSprites -_0814070C: .4byte gUnknown_02024BE0 -_08140710: .4byte gUnknown_0202F7C9 -_08140714: - ldr r6, _0814079C @ =0xfffffee0 - adds r0, r6, 0 - ldrh r6, [r1, 0x30] - adds r0, r6 - strh r0, [r1, 0x30] - ldrb r0, [r2] - adds r0, r3 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrh r0, [r1, 0x30] - lsls r0, 16 - asrs r0, 24 - strh r0, [r1, 0x26] -_08140734: - adds r0, r7, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08140796 - cmp r5, 0 - beq _08140796 - ldr r4, _081407A0 @ =gSprites - ldr r3, _081407A4 @ =gUnknown_02024BE0 - ldr r2, _081407A8 @ =gUnknown_0202F7C9 - ldrb r0, [r2] - adds r0, r3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r6, 0 - movs r5, 0 - strh r5, [r0, 0x26] - ldrb r0, [r2] - adds r0, r3 - ldrb r0, [r0] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r4 - ldr r0, _081407AC @ =0x02017840 - ldrb r1, [r0, 0x9] - lsls r1, 30 - adds r2, 0x3E - lsrs r1, 31 - lsls r1, 2 - ldrb r3, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r3 - orrs r0, r1 - strb r0, [r2] - strh r5, [r7, 0x2E] - ldr r0, _081407B0 @ =sub_81405C8 - str r0, [r7, 0x1C] - ldr r0, _081407B4 @ =gUnknown_02024E6D - strb r6, [r0] - movs r0, 0x1 - bl sub_8043EB4 -_08140796: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0814079C: .4byte 0xfffffee0 -_081407A0: .4byte gSprites -_081407A4: .4byte gUnknown_02024BE0 -_081407A8: .4byte gUnknown_0202F7C9 -_081407AC: .4byte 0x02017840 -_081407B0: .4byte sub_81405C8 -_081407B4: .4byte gUnknown_02024E6D - thumb_func_end sub_81406BC - - thumb_func_start sub_81407B8 -sub_81407B8: @ 81407B8 - push {r4,lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x24] - ldrh r1, [r2, 0x20] - adds r0, r1 - movs r1, 0 - strh r0, [r2, 0x20] - ldrh r0, [r2, 0x26] - ldrh r3, [r2, 0x22] - adds r0, r3 - strh r0, [r2, 0x22] - strh r1, [r2, 0x26] - strh r1, [r2, 0x24] - ldr r4, _081407F0 @ =sub_81407F4 - movs r3, 0 - movs r1, 0x5 - adds r0, r2, 0 - adds r0, 0x38 -_081407DC: - strh r3, [r0] - subs r0, 0x2 - subs r1, 0x1 - cmp r1, 0 - bge _081407DC - str r4, [r2, 0x1C] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081407F0: .4byte sub_81407F4 - thumb_func_end sub_81407B8 - - thumb_func_start sub_81407F4 -sub_81407F4: @ 81407F4 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x80 - lsls r0, 4 - adds r2, r0, 0 - ldrh r1, [r4, 0x2E] - adds r2, r1 - movs r0, 0xD0 - lsls r0, 3 - adds r3, r0, 0 - ldrh r1, [r4, 0x30] - adds r3, r1 - lsls r1, r3, 16 - asrs r1, 24 - ldrh r0, [r4, 0x24] - subs r0, r1 - strh r0, [r4, 0x24] - lsls r0, r2, 16 - asrs r0, 24 - ldrh r1, [r4, 0x26] - adds r0, r1 - strh r0, [r4, 0x26] - movs r0, 0xFF - ands r2, r0 - strh r2, [r4, 0x2E] - ands r3, r0 - strh r3, [r4, 0x30] - movs r2, 0x22 - ldrsh r0, [r4, r2] - movs r2, 0x26 - ldrsh r1, [r4, r2] - adds r0, r1 - cmp r0, 0xA0 - bgt _0814084A - movs r1, 0x20 - ldrsh r0, [r4, r1] - movs r2, 0x24 - ldrsh r1, [r4, r2] - adds r0, r1 - movs r1, 0x8 - negs r1, r1 - cmp r0, r1 - bge _0814085E -_0814084A: - movs r0, 0 - strh r0, [r4, 0x2E] - ldr r0, _08140864 @ =sub_81405C8 - str r0, [r4, 0x1C] - ldr r1, _08140868 @ =gUnknown_02024E6D - movs r0, 0 - strb r0, [r1] - movs r0, 0x1 - bl sub_8043EB4 -_0814085E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08140864: .4byte sub_81405C8 -_08140868: .4byte gUnknown_02024E6D - thumb_func_end sub_81407F4 - - thumb_func_start sub_814086C -sub_814086C: @ 814086C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r4, [sp, 0x20] - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - lsls r1, 24 - lsrs r1, 24 - mov r9, r1 - lsls r2, 24 - lsrs r2, 24 - mov r8, r2 - lsls r3, 24 - lsrs r7, r3, 24 - lsls r4, 24 - lsrs r4, 24 - adds r5, r4, 0 - ldr r0, _08140910 @ =gUnknown_0840B258 - lsls r6, r5, 3 - adds r4, r6, r0 - ldrh r0, [r4, 0x6] - bl GetSpriteTileStartByTag - lsls r0, 16 - ldr r1, _08140914 @ =0xffff0000 - cmp r0, r1 - bne _081408B6 - adds r0, r4, 0 - bl LoadCompressedObjectPic - ldr r0, _08140918 @ =gUnknown_0840B2B8 - adds r0, r6, r0 - bl LoadCompressedObjectPalette -_081408B6: - ldr r1, _0814091C @ =gUnknown_0840B384 - lsls r0, r5, 2 - adds r0, r1 - ldr r0, [r0] - movs r1, 0x5 - bl CreateTask - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _08140920 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - mov r1, r10 - strh r1, [r0, 0xA] - mov r1, r9 - strh r1, [r0, 0xC] - mov r1, r8 - strh r1, [r0, 0xE] - strh r7, [r0, 0x10] - strh r5, [r0, 0x26] - movs r0, 0xF - bl PlaySE - ldr r0, _08140924 @ =gMain - ldr r1, _08140928 @ =0x0000043d - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08140900 - ldr r1, _0814092C @ =0x02017840 - ldrb r0, [r1, 0xA] - adds r0, 0x1 - strb r0, [r1, 0xA] -_08140900: - adds r0, r4, 0 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08140910: .4byte gUnknown_0840B258 -_08140914: .4byte 0xffff0000 -_08140918: .4byte gUnknown_0840B2B8 -_0814091C: .4byte gUnknown_0840B384 -_08140920: .4byte gTasks -_08140924: .4byte gMain -_08140928: .4byte 0x0000043d -_0814092C: .4byte 0x02017840 - thumb_func_end sub_814086C - - thumb_func_start sub_8140930 -sub_8140930: @ 8140930 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - ldr r1, _081409D0 @ =gTasks - lsls r0, 2 - add r0, r9 - lsls r0, 3 - adds r7, r0, r1 - ldrh r0, [r7, 0x26] - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r1, 0x8 - ldrsh r0, [r7, r1] - cmp r0, 0xF - bgt _081409E4 - ldrb r1, [r7, 0xA] - ldrb r2, [r7, 0xC] - ldrb r6, [r7, 0xE] - ldrb r3, [r7, 0x10] - mov r4, r8 - lsls r0, r4, 1 - add r0, r8 - lsls r0, 3 - ldr r4, _081409D4 @ =gSpriteTemplate_840B3B4 - adds r0, r4 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 4 - adds r4, r0 - lsls r4, 2 - ldr r5, _081409D8 @ =gSprites - adds r2, r4, r5 - ldr r0, _081409DC @ =gUnknown_0840B378 - add r0, r8 - ldrb r1, [r0] - adds r0, r2, 0 - str r2, [sp] - bl StartSpriteAnim - adds r5, 0x1C - adds r4, r5 - ldr r0, _081409E0 @ =sub_8140A08 - str r0, [r4] - movs r0, 0x3 - ands r6, r0 - lsls r6, 2 - ldr r2, [sp] - ldrb r1, [r2, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - orrs r0, r6 - strb r0, [r2, 0x5] - ldrb r0, [r7, 0x8] - cmp r0, 0x7 - bls _081409B6 - subs r0, 0x8 - lsls r0, 24 - lsrs r0, 24 -_081409B6: - lsls r0, 5 - strh r0, [r2, 0x2E] - movs r1, 0x8 - ldrsh r0, [r7, r1] - cmp r0, 0xF - bne _081409E4 - movs r0, 0x1 - strh r0, [r2, 0x3C] - mov r0, r9 - bl DestroyTask - b _081409F6 - .align 2, 0 -_081409D0: .4byte gTasks -_081409D4: .4byte gSpriteTemplate_840B3B4 -_081409D8: .4byte gSprites -_081409DC: .4byte gUnknown_0840B378 -_081409E0: .4byte sub_8140A08 -_081409E4: - ldr r0, _08140A04 @ =gTasks - mov r2, r9 - lsls r1, r2, 2 - add r1, r9 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] -_081409F6: - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08140A04: .4byte gTasks - thumb_func_end sub_8140930 - - thumb_func_start sub_8140A08 -sub_8140A08: @ 8140A08 - push {lr} - adds r1, r0, 0 - ldrh r2, [r1, 0x30] - movs r3, 0x30 - ldrsh r0, [r1, r3] - cmp r0, 0 - bne _08140A20 - ldr r0, _08140A1C @ =sub_8140A28 - str r0, [r1, 0x1C] - b _08140A24 - .align 2, 0 -_08140A1C: .4byte sub_8140A28 -_08140A20: - subs r0, r2, 0x1 - strh r0, [r1, 0x30] -_08140A24: - pop {r0} - bx r0 - thumb_func_end sub_8140A08 - - thumb_func_start sub_8140A28 -sub_8140A28: @ 8140A28 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - movs r2, 0x30 - ldrsh r1, [r4, r2] - bl Sin - strh r0, [r4, 0x24] - movs r1, 0x2E - ldrsh r0, [r4, r1] - movs r2, 0x30 - ldrsh r1, [r4, r2] - bl Cos - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x30] - adds r0, 0x2 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x32 - bne _08140A5C - adds r0, r4, 0 - bl sub_8141294 -_08140A5C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8140A28 - - thumb_func_start sub_8140A64 -sub_8140A64: @ 8140A64 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - lsls r0, 24 - lsrs r7, r0, 24 - ldr r1, _08140B24 @ =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - ldrh r1, [r0, 0x26] - lsls r1, 24 - lsrs r1, 24 - ldrb r2, [r0, 0xA] - str r2, [sp] - ldrb r3, [r0, 0xC] - str r3, [sp, 0x4] - ldrb r2, [r0, 0xE] - str r2, [sp, 0x8] - ldrb r0, [r0, 0x10] - str r0, [sp, 0xC] - movs r6, 0 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - mov r10, r0 - ldr r3, _08140B28 @ =gSprites - mov r8, r3 - ldr r0, _08140B2C @ =gUnknown_0840B378 - adds r1, r0 - mov r9, r1 -_08140AA8: - ldr r0, _08140B30 @ =gSpriteTemplate_840B3B4 - add r0, r10 - ldr r1, [sp] - ldr r2, [sp, 0x4] - ldr r3, [sp, 0xC] - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r5, r1, 2 - mov r0, r8 - adds r4, r5, r0 - mov r2, r9 - ldrb r1, [r2] - adds r0, r4, 0 - bl StartSpriteAnim - ldr r3, _08140B34 @ =gSprites + 0x1C - adds r1, r5, r3 - ldr r0, _08140B38 @ =sub_8140ECC - str r0, [r1] - movs r0, 0x3 - ldr r2, [sp, 0x8] - ands r2, r0 - lsls r2, 2 - ldrb r0, [r4, 0x5] - movs r3, 0xD - negs r3, r3 - adds r1, r3, 0 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, 0x5] - lsls r0, r6, 5 - strh r0, [r4, 0x2E] - movs r0, 0xA - strh r0, [r4, 0x36] - movs r0, 0x2 - strh r0, [r4, 0x38] - movs r2, 0x1 - strh r2, [r4, 0x3A] - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x7 - bls _08140AA8 - ldr r0, _08140B28 @ =gSprites - adds r0, r5, r0 - strh r2, [r0, 0x3C] - adds r0, r7, 0 - bl DestroyTask - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08140B24: .4byte gTasks -_08140B28: .4byte gSprites -_08140B2C: .4byte gUnknown_0840B378 -_08140B30: .4byte gSpriteTemplate_840B3B4 -_08140B34: .4byte gSprites + 0x1C -_08140B38: .4byte sub_8140ECC - thumb_func_end sub_8140A64 - - thumb_func_start sub_8140B3C -sub_8140B3C: @ 8140B3C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - lsls r0, 24 - lsrs r7, r0, 24 - ldr r1, _08140BFC @ =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - ldrh r1, [r0, 0x26] - lsls r1, 24 - lsrs r1, 24 - ldrb r2, [r0, 0xA] - str r2, [sp] - ldrb r3, [r0, 0xC] - str r3, [sp, 0x4] - ldrb r2, [r0, 0xE] - str r2, [sp, 0x8] - ldrb r0, [r0, 0x10] - str r0, [sp, 0xC] - movs r6, 0 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - mov r10, r0 - ldr r3, _08140C00 @ =gSprites - mov r8, r3 - ldr r0, _08140C04 @ =gUnknown_0840B378 - adds r1, r0 - mov r9, r1 -_08140B80: - ldr r0, _08140C08 @ =gSpriteTemplate_840B3B4 - add r0, r10 - ldr r1, [sp] - ldr r2, [sp, 0x4] - ldr r3, [sp, 0xC] - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r5, r1, 2 - mov r0, r8 - adds r4, r5, r0 - mov r2, r9 - ldrb r1, [r2] - adds r0, r4, 0 - bl StartSpriteAnim - ldr r3, _08140C0C @ =gSprites + 0x1C - adds r1, r5, r3 - ldr r0, _08140C10 @ =sub_8140ECC - str r0, [r1] - movs r0, 0x3 - ldr r2, [sp, 0x8] - ands r2, r0 - lsls r2, 2 - ldrb r0, [r4, 0x5] - movs r3, 0xD - negs r3, r3 - adds r1, r3, 0 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, 0x5] - lsls r0, r6, 5 - strh r0, [r4, 0x2E] - movs r0, 0xA - strh r0, [r4, 0x36] - movs r1, 0x1 - strh r1, [r4, 0x38] - movs r0, 0x2 - strh r0, [r4, 0x3A] - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x7 - bls _08140B80 - ldr r0, _08140C00 @ =gSprites - adds r0, r5, r0 - strh r1, [r0, 0x3C] - adds r0, r7, 0 - bl DestroyTask - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08140BFC: .4byte gTasks -_08140C00: .4byte gSprites -_08140C04: .4byte gUnknown_0840B378 -_08140C08: .4byte gSpriteTemplate_840B3B4 -_08140C0C: .4byte gSprites + 0x1C -_08140C10: .4byte sub_8140ECC - thumb_func_end sub_8140B3C - - thumb_func_start sub_8140C14 -sub_8140C14: @ 8140C14 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - lsls r0, 24 - lsrs r7, r0, 24 - ldr r1, _08140CD0 @ =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - ldrh r1, [r0, 0x26] - lsls r1, 24 - lsrs r1, 24 - ldrb r2, [r0, 0xA] - str r2, [sp] - ldrb r3, [r0, 0xC] - str r3, [sp, 0x4] - ldrb r2, [r0, 0xE] - str r2, [sp, 0x8] - ldrb r0, [r0, 0x10] - str r0, [sp, 0xC] - movs r6, 0 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - mov r10, r0 - ldr r3, _08140CD4 @ =gSprites - mov r8, r3 - ldr r0, _08140CD8 @ =gUnknown_0840B378 - adds r1, r0 - mov r9, r1 -_08140C58: - ldr r0, _08140CDC @ =gSpriteTemplate_840B3B4 - add r0, r10 - ldr r1, [sp] - ldr r2, [sp, 0x4] - ldr r3, [sp, 0xC] - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r5, r1, 2 - mov r0, r8 - adds r4, r5, r0 - mov r2, r9 - ldrb r1, [r2] - adds r0, r4, 0 - bl StartSpriteAnim - ldr r3, _08140CE0 @ =gSprites + 0x1C - adds r1, r5, r3 - ldr r0, _08140CE4 @ =sub_8140ECC - str r0, [r1] - movs r0, 0x3 - ldr r2, [sp, 0x8] - ands r2, r0 - lsls r2, 2 - ldrb r0, [r4, 0x5] - movs r3, 0xD - negs r3, r3 - adds r1, r3, 0 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, 0x5] - lsls r0, r6, 5 - strh r0, [r4, 0x2E] - movs r0, 0x4 - strh r0, [r4, 0x36] - movs r2, 0x1 - strh r2, [r4, 0x38] - strh r2, [r4, 0x3A] - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x7 - bls _08140C58 - ldr r0, _08140CD4 @ =gSprites - adds r0, r5, r0 - strh r2, [r0, 0x3C] - adds r0, r7, 0 - bl DestroyTask - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08140CD0: .4byte gTasks -_08140CD4: .4byte gSprites -_08140CD8: .4byte gUnknown_0840B378 -_08140CDC: .4byte gSpriteTemplate_840B3B4 -_08140CE0: .4byte gSprites + 0x1C -_08140CE4: .4byte sub_8140ECC - thumb_func_end sub_8140C14 - - thumb_func_start sub_8140CE8 -sub_8140CE8: @ 8140CE8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - lsls r0, 24 - lsrs r7, r0, 24 - ldr r1, _08140DAC @ =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - ldrh r1, [r0, 0x26] - lsls r1, 24 - lsrs r1, 24 - ldrb r2, [r0, 0xA] - str r2, [sp] - ldrb r3, [r0, 0xC] - str r3, [sp, 0x4] - ldrb r2, [r0, 0xE] - str r2, [sp, 0x8] - ldrb r0, [r0, 0x10] - str r0, [sp, 0xC] - movs r6, 0 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - mov r10, r0 - ldr r3, _08140DB0 @ =gSprites - mov r8, r3 - ldr r0, _08140DB4 @ =gUnknown_0840B378 - adds r1, r0 - mov r9, r1 -_08140D2C: - ldr r0, _08140DB8 @ =gSpriteTemplate_840B3B4 - add r0, r10 - ldr r1, [sp] - ldr r2, [sp, 0x4] - ldr r3, [sp, 0xC] - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r5, r1, 2 - mov r0, r8 - adds r4, r5, r0 - mov r2, r9 - ldrb r1, [r2] - adds r0, r4, 0 - bl StartSpriteAnim - ldr r3, _08140DBC @ =gSprites + 0x1C - adds r1, r5, r3 - ldr r0, _08140DC0 @ =sub_8140ECC - str r0, [r1] - movs r0, 0x3 - ldr r2, [sp, 0x8] - ands r2, r0 - lsls r2, 2 - ldrb r0, [r4, 0x5] - movs r3, 0xD - negs r3, r3 - adds r1, r3, 0 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, 0x5] - lsls r0, r6, 1 - adds r0, r6 - lsls r0, 3 - adds r0, r6 - strh r0, [r4, 0x2E] - movs r0, 0x5 - strh r0, [r4, 0x36] - movs r2, 0x1 - strh r2, [r4, 0x38] - strh r2, [r4, 0x3A] - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x9 - bls _08140D2C - ldr r0, _08140DB0 @ =gSprites - adds r0, r5, r0 - strh r2, [r0, 0x3C] - adds r0, r7, 0 - bl DestroyTask - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08140DAC: .4byte gTasks -_08140DB0: .4byte gSprites -_08140DB4: .4byte gUnknown_0840B378 -_08140DB8: .4byte gSpriteTemplate_840B3B4 -_08140DBC: .4byte gSprites + 0x1C -_08140DC0: .4byte sub_8140ECC - thumb_func_end sub_8140CE8 - - thumb_func_start sub_8140DC4 -sub_8140DC4: @ 8140DC4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - lsls r0, 24 - lsrs r7, r0, 24 - ldr r1, _08140DF0 @ =gTasks - lsls r2, r7, 2 - adds r0, r2, r7 - lsls r0, 3 - adds r3, r0, r1 - ldrh r1, [r3, 0x16] - movs r4, 0x16 - ldrsh r0, [r3, r4] - cmp r0, 0 - beq _08140DF4 - subs r0, r1, 0x1 - strh r0, [r3, 0x16] - b _08140EA4 - .align 2, 0 -_08140DF0: .4byte gTasks -_08140DF4: - ldrh r0, [r3, 0x26] - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r3, 0xA] - str r1, [sp] - ldrb r4, [r3, 0xC] - str r4, [sp, 0x4] - ldrb r1, [r3, 0xE] - str r1, [sp, 0x8] - ldrb r3, [r3, 0x10] - str r3, [sp, 0xC] - movs r6, 0 - str r2, [sp, 0x10] - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - mov r10, r1 - ldr r3, _08140EB4 @ =gSprites - mov r8, r3 - ldr r1, _08140EB8 @ =gUnknown_0840B378 - adds r0, r1 - mov r9, r0 -_08140E20: - ldr r0, _08140EBC @ =gSpriteTemplate_840B3B4 - add r0, r10 - ldr r1, [sp] - ldr r2, [sp, 0x4] - ldr r3, [sp, 0xC] - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r5, r1, 2 - mov r0, r8 - adds r4, r5, r0 - mov r3, r9 - ldrb r1, [r3] - adds r0, r4, 0 - bl StartSpriteAnim - ldr r0, _08140EC0 @ =gSprites + 0x1C - adds r1, r5, r0 - ldr r0, _08140EC4 @ =sub_8140ECC - str r0, [r1] - movs r0, 0x3 - ldr r2, [sp, 0x8] - ands r2, r0 - lsls r2, 2 - ldrb r0, [r4, 0x5] - movs r3, 0xD - negs r3, r3 - adds r1, r3, 0 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, 0x5] - lsls r0, r6, 5 - strh r0, [r4, 0x2E] - movs r2, 0x8 - strh r2, [r4, 0x36] - movs r0, 0x2 - strh r0, [r4, 0x38] - strh r0, [r4, 0x3A] - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x7 - bls _08140E20 - ldr r0, _08140EC8 @ =gTasks - ldr r4, [sp, 0x10] - adds r1, r4, r7 - lsls r1, 3 - adds r1, r0 - strh r2, [r1, 0x16] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - bne _08140EA4 - ldr r0, _08140EB4 @ =gSprites - adds r0, r5, r0 - movs r1, 0x1 - strh r1, [r0, 0x3C] - adds r0, r7, 0 - bl DestroyTask -_08140EA4: - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08140EB4: .4byte gSprites -_08140EB8: .4byte gUnknown_0840B378 -_08140EBC: .4byte gSpriteTemplate_840B3B4 -_08140EC0: .4byte gSprites + 0x1C -_08140EC4: .4byte sub_8140ECC -_08140EC8: .4byte gTasks - thumb_func_end sub_8140DC4 - - thumb_func_start sub_8140ECC -sub_8140ECC: @ 8140ECC - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x2E - ldrsh r0, [r4, r1] - movs r2, 0x30 - ldrsh r1, [r4, r2] - bl Sin - strh r0, [r4, 0x24] - movs r1, 0x2E - ldrsh r0, [r4, r1] - movs r2, 0x32 - ldrsh r1, [r4, r2] - bl Cos - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x36] - ldrh r1, [r4, 0x2E] - adds r0, r1 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x38] - ldrh r2, [r4, 0x30] - adds r0, r2 - strh r0, [r4, 0x30] - ldrh r0, [r4, 0x3A] - ldrh r1, [r4, 0x32] - adds r0, r1 - strh r0, [r4, 0x32] - ldrh r0, [r4, 0x34] - adds r0, 0x1 - strh r0, [r4, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x33 - bne _08140F1C - adds r0, r4, 0 - bl sub_8141294 -_08140F1C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8140ECC - - thumb_func_start sub_8140F24 -sub_8140F24: @ 8140F24 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - lsls r0, 24 - lsrs r7, r0, 24 - ldr r1, _08140FE0 @ =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - ldrh r1, [r0, 0x26] - lsls r1, 24 - lsrs r1, 24 - ldrb r2, [r0, 0xA] - str r2, [sp] - ldrb r3, [r0, 0xC] - str r3, [sp, 0x4] - ldrb r2, [r0, 0xE] - str r2, [sp, 0x8] - ldrb r0, [r0, 0x10] - str r0, [sp, 0xC] - movs r6, 0 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - mov r10, r0 - ldr r3, _08140FE4 @ =gSprites - mov r8, r3 - ldr r0, _08140FE8 @ =gUnknown_0840B378 - adds r1, r0 - mov r9, r1 -_08140F68: - ldr r0, _08140FEC @ =gSpriteTemplate_840B3B4 - add r0, r10 - ldr r1, [sp] - ldr r2, [sp, 0x4] - ldr r3, [sp, 0xC] - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r5, r1, 2 - mov r0, r8 - adds r4, r5, r0 - mov r2, r9 - ldrb r1, [r2] - adds r0, r4, 0 - bl StartSpriteAnim - ldr r3, _08140FF0 @ =gSprites + 0x1C - adds r1, r5, r3 - ldr r0, _08140FF4 @ =sub_8140FF8 - str r0, [r1] - movs r0, 0x3 - ldr r2, [sp, 0x8] - ands r2, r0 - lsls r2, 2 - ldrb r0, [r4, 0x5] - movs r3, 0xD - negs r3, r3 - adds r1, r3, 0 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, 0x5] - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 2 - adds r0, r6 - strh r0, [r4, 0x2E] - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0xB - bls _08140F68 - ldr r0, _08140FE4 @ =gSprites - adds r0, r5, r0 - movs r1, 0x1 - strh r1, [r0, 0x3C] - adds r0, r7, 0 - bl DestroyTask - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08140FE0: .4byte gTasks -_08140FE4: .4byte gSprites -_08140FE8: .4byte gUnknown_0840B378 -_08140FEC: .4byte gSpriteTemplate_840B3B4 -_08140FF0: .4byte gSprites + 0x1C -_08140FF4: .4byte sub_8140FF8 - thumb_func_end sub_8140F24 - - thumb_func_start sub_8140FF8 -sub_8140FF8: @ 8140FF8 - push {r4,r5,lr} - adds r5, r0, 0 - movs r1, 0x2E - ldrsh r0, [r5, r1] - movs r2, 0x30 - ldrsh r1, [r5, r2] - bl Sin - strh r0, [r5, 0x24] - movs r0, 0x2E - ldrsh r4, [r5, r0] - movs r2, 0x32 - ldrsh r1, [r5, r2] - adds r0, r4, 0 - bl Sin - adds r1, r0, 0 - lsls r1, 16 - asrs r1, 16 - adds r0, r4, 0 - bl Cos - strh r0, [r5, 0x26] - ldrh r0, [r5, 0x2E] - adds r0, 0x6 - movs r1, 0xFF - ands r0, r1 - strh r0, [r5, 0x2E] - ldrh r0, [r5, 0x30] - adds r0, 0x1 - strh r0, [r5, 0x30] - ldrh r0, [r5, 0x32] - adds r0, 0x1 - strh r0, [r5, 0x32] - ldrh r0, [r5, 0x34] - adds r0, 0x1 - strh r0, [r5, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x33 - bne _08141050 - adds r0, r5, 0 - bl sub_8141294 -_08141050: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8140FF8 - - thumb_func_start sub_8141058 -sub_8141058: @ 8141058 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x18 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - ldr r1, _08141104 @ =gTasks - lsls r0, 2 - ldr r2, [sp] - adds r0, r2 - lsls r0, 3 - adds r0, r1 - ldrh r1, [r0, 0x26] - lsls r1, 24 - lsrs r1, 24 - ldrb r3, [r0, 0xA] - str r3, [sp, 0x4] - ldrb r2, [r0, 0xC] - str r2, [sp, 0x8] - ldrb r3, [r0, 0xE] - str r3, [sp, 0xC] - ldrb r0, [r0, 0x10] - str r0, [sp, 0x10] - movs r0, 0 - mov r8, r0 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - str r0, [sp, 0x14] - ldr r0, _08141108 @ =gUnknown_0840B378 - adds r1, r0 - mov r10, r1 -_0814109E: - movs r7, 0 - movs r1, 0x1 - add r1, r8 - mov r9, r1 -_081410A6: - ldr r0, _0814110C @ =gSpriteTemplate_840B3B4 - ldr r2, [sp, 0x14] - adds r0, r2, r0 - ldr r1, [sp, 0x4] - ldr r2, [sp, 0x8] - ldr r3, [sp, 0x10] - bl CreateSprite - lsls r0, 24 - lsrs r6, r0, 24 - lsls r4, r6, 4 - adds r4, r6 - lsls r4, 2 - ldr r3, _08141110 @ =gSprites - adds r5, r4, r3 - mov r0, r10 - ldrb r1, [r0] - adds r0, r5, 0 - bl StartSpriteAnim - ldr r1, _08141114 @ =gSprites + 0x1C - adds r4, r1 - ldr r0, _08141118 @ =sub_8140ECC - str r0, [r4] - movs r0, 0x3 - ldr r1, [sp, 0xC] - ands r1, r0 - lsls r1, 2 - ldrb r0, [r5, 0x5] - movs r3, 0xD - negs r3, r3 - adds r2, r3, 0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x5] - lsls r0, r7, 5 - strh r0, [r5, 0x2E] - movs r0, 0x8 - strh r0, [r5, 0x36] - mov r0, r8 - cmp r0, 0 - bne _0814111C - movs r0, 0x2 - strh r0, [r5, 0x38] - movs r0, 0x1 - b _08141122 - .align 2, 0 -_08141104: .4byte gTasks -_08141108: .4byte gUnknown_0840B378 -_0814110C: .4byte gSpriteTemplate_840B3B4 -_08141110: .4byte gSprites -_08141114: .4byte gSprites + 0x1C -_08141118: .4byte sub_8140ECC -_0814111C: - movs r0, 0x1 - strh r0, [r5, 0x38] - movs r0, 0x2 -_08141122: - strh r0, [r5, 0x3A] - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x7 - bls _081410A6 - mov r1, r9 - lsls r0, r1, 24 - lsrs r0, 24 - mov r8, r0 - cmp r0, 0x1 - bls _0814109E - ldr r0, _08141160 @ =gSprites - lsls r1, r6, 4 - adds r1, r6 - lsls r1, 2 - adds r1, r0 - movs r0, 0x1 - strh r0, [r1, 0x3C] - ldr r0, [sp] - bl DestroyTask - add sp, 0x18 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08141160: .4byte gSprites - thumb_func_end sub_8141058 - - thumb_func_start sub_8141164 -sub_8141164: @ 8141164 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - lsls r0, 24 - lsrs r7, r0, 24 - ldr r1, _08141218 @ =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - ldrh r1, [r0, 0x26] - lsls r1, 24 - lsrs r1, 24 - ldrb r2, [r0, 0xA] - str r2, [sp] - ldrb r3, [r0, 0xC] - str r3, [sp, 0x4] - ldrb r2, [r0, 0xE] - str r2, [sp, 0x8] - ldrb r0, [r0, 0x10] - str r0, [sp, 0xC] - movs r6, 0 - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 3 - mov r10, r0 - ldr r3, _0814121C @ =gSprites - mov r8, r3 - ldr r0, _08141220 @ =gUnknown_0840B378 - adds r1, r0 - mov r9, r1 -_081411A8: - ldr r0, _08141224 @ =gSpriteTemplate_840B3B4 - add r0, r10 - ldr r1, [sp] - ldr r2, [sp, 0x4] - ldr r3, [sp, 0xC] - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r5, r1, 2 - mov r0, r8 - adds r4, r5, r0 - mov r2, r9 - ldrb r1, [r2] - adds r0, r4, 0 - bl StartSpriteAnim - ldr r3, _08141228 @ =gSprites + 0x1C - adds r1, r5, r3 - ldr r0, _0814122C @ =sub_8141230 - str r0, [r1] - movs r0, 0x3 - ldr r2, [sp, 0x8] - ands r2, r0 - lsls r2, 2 - ldrb r0, [r4, 0x5] - movs r3, 0xD - negs r3, r3 - adds r1, r3, 0 - ands r0, r1 - orrs r0, r2 - strb r0, [r4, 0x5] - lsls r0, r6, 5 - strh r0, [r4, 0x2E] - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x7 - bls _081411A8 - ldr r0, _0814121C @ =gSprites - adds r0, r5, r0 - movs r1, 0x1 - strh r1, [r0, 0x3C] - adds r0, r7, 0 - bl DestroyTask - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08141218: .4byte gTasks -_0814121C: .4byte gSprites -_08141220: .4byte gUnknown_0840B378 -_08141224: .4byte gSpriteTemplate_840B3B4 -_08141228: .4byte gSprites + 0x1C -_0814122C: .4byte sub_8141230 - thumb_func_end sub_8141164 - - thumb_func_start sub_8141230 -sub_8141230: @ 8141230 - push {r4,r5,lr} - adds r5, r0, 0 - movs r1, 0x2E - ldrsh r0, [r5, r1] - movs r2, 0x30 - ldrsh r1, [r5, r2] - bl Sin - strh r0, [r5, 0x24] - movs r0, 0x2E - ldrsh r4, [r5, r0] - ldrh r1, [r5, 0x2E] - movs r0, 0x3F - ands r0, r1 - movs r2, 0x32 - ldrsh r1, [r5, r2] - bl Sin - adds r1, r0, 0 - lsls r1, 16 - asrs r1, 16 - adds r0, r4, 0 - bl Cos - strh r0, [r5, 0x26] - ldrh r0, [r5, 0x2E] - adds r0, 0xA - movs r1, 0xFF - ands r0, r1 - strh r0, [r5, 0x2E] - ldrh r0, [r5, 0x30] - adds r0, 0x1 - strh r0, [r5, 0x30] - ldrh r0, [r5, 0x32] - adds r0, 0x1 - strh r0, [r5, 0x32] - ldrh r0, [r5, 0x34] - adds r0, 0x1 - strh r0, [r5, 0x34] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x33 - bne _0814128C - adds r0, r5, 0 - bl sub_8141294 -_0814128C: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8141230 - - thumb_func_start sub_8141294 -sub_8141294: @ 8141294 - push {r4-r7,lr} - adds r5, r0, 0 - ldr r0, _081412B8 @ =gMain - ldr r1, _081412BC @ =0x0000043d - adds r0, r1 - ldrb r1, [r0] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _081412C0 - movs r1, 0x3C - ldrsh r0, [r5, r1] - cmp r0, 0x1 - bne _081412F2 - adds r0, r5, 0 - bl DestroySpriteAndFreeResources - b _0814130E - .align 2, 0 -_081412B8: .4byte gMain -_081412BC: .4byte 0x0000043d -_081412C0: - movs r1, 0x3C - ldrsh r0, [r5, r1] - cmp r0, 0x1 - bne _08141308 - ldr r1, _081412FC @ =0x02017840 - ldrb r0, [r1, 0xA] - subs r0, 0x1 - strb r0, [r1, 0xA] - lsls r0, 24 - cmp r0, 0 - bne _081412F2 - movs r7, 0 - ldr r6, _08141300 @ =gUnknown_0840B258 - ldr r4, _08141304 @ =gUnknown_0840B2B8 -_081412DC: - ldrh r0, [r6, 0x6] - bl FreeSpriteTilesByTag - ldrh r0, [r4, 0x4] - bl FreeSpritePaletteByTag - adds r6, 0x8 - adds r4, 0x8 - adds r7, 0x1 - cmp r7, 0xB - ble _081412DC -_081412F2: - adds r0, r5, 0 - bl DestroySprite - b _0814130E - .align 2, 0 -_081412FC: .4byte 0x02017840 -_08141300: .4byte gUnknown_0840B258 -_08141304: .4byte gUnknown_0840B2B8 -_08141308: - adds r0, r5, 0 - bl DestroySprite -_0814130E: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8141294 - - thumb_func_start sub_8141314 -sub_8141314: @ 8141314 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - adds r4, r0, 0 - mov r9, r2 - lsls r4, 24 - lsrs r4, 24 - lsls r1, 24 - lsrs r6, r1, 24 - lsls r3, 24 - lsrs r7, r3, 24 - ldr r0, _08141378 @ =sub_81413DC - movs r1, 0x5 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r1, _0814137C @ =gTasks - lsls r0, 2 - add r0, r8 - lsls r0, 3 - adds r5, r0, r1 - strh r7, [r5, 0x26] - strh r6, [r5, 0xE] - mov r0, r9 - strh r0, [r5, 0x1C] - mov r1, r9 - lsrs r0, r1, 16 - strh r0, [r5, 0x1E] - cmp r4, 0 - bne _08141384 - lsls r0, r6, 20 - movs r2, 0x80 - lsls r2, 17 - adds r0, r2 - lsrs r0, 16 - ldr r2, _08141380 @ =gUnknown_0840B4D4 - lsls r1, r7, 1 - adds r1, r2 - ldrh r3, [r1] - movs r1, 0x10 - movs r2, 0 - bl BlendPalette - movs r0, 0x1 - strh r0, [r5, 0xA] - b _081413AA - .align 2, 0 -_08141378: .4byte sub_81413DC -_0814137C: .4byte gTasks -_08141380: .4byte gUnknown_0840B4D4 -_08141384: - lsls r0, r6, 20 - movs r1, 0x80 - lsls r1, 17 - adds r0, r1 - lsrs r0, 16 - ldr r2, _081413CC @ =gUnknown_0840B4D4 - lsls r1, r7, 1 - adds r1, r2 - ldrh r3, [r1] - movs r1, 0x10 - movs r2, 0x10 - bl BlendPalette - movs r0, 0x10 - strh r0, [r5, 0x8] - ldr r0, _081413D0 @ =0x0000ffff - strh r0, [r5, 0xA] - ldr r0, _081413D4 @ =sub_814146C - str r0, [r5] -_081413AA: - ldr r0, _081413D8 @ =0x00007fff - str r0, [sp] - mov r0, r9 - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - mov r0, r8 - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_081413CC: .4byte gUnknown_0840B4D4 -_081413D0: .4byte 0x0000ffff -_081413D4: .4byte sub_814146C -_081413D8: .4byte 0x00007fff - thumb_func_end sub_8141314 - - thumb_func_start sub_81413DC -sub_81413DC: @ 81413DC - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - ldr r1, _0814142C @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r1, r0, 24 - movs r2, 0xC - ldrsh r0, [r4, r2] - cmp r0, 0x10 - bgt _08141434 - movs r2, 0xE - ldrsh r0, [r4, r2] - lsls r0, 20 - movs r2, 0x80 - lsls r2, 17 - adds r0, r2 - lsrs r0, 16 - ldrb r2, [r4, 0x8] - ldr r3, _08141430 @ =gUnknown_0840B4D4 - lsls r1, 1 - adds r1, r3 - ldrh r3, [r1] - movs r1, 0x10 - bl BlendPalette - ldrh r0, [r4, 0xA] - ldrh r1, [r4, 0x8] - adds r0, r1 - strh r0, [r4, 0x8] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - b _0814145C - .align 2, 0 -_0814142C: .4byte gTasks -_08141430: .4byte gUnknown_0840B4D4 -_08141434: - ldr r0, _08141464 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0814145C - ldrh r0, [r4, 0x1C] - ldrh r1, [r4, 0x1E] - lsls r1, 16 - orrs r0, r1 - ldr r1, _08141468 @ =0x00007fff - str r1, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - adds r0, r5, 0 - bl DestroyTask -_0814145C: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08141464: .4byte gPaletteFade -_08141468: .4byte 0x00007fff - thumb_func_end sub_81413DC - - thumb_func_start sub_814146C -sub_814146C: @ 814146C - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, _081414AC @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081414A4 - ldr r0, _081414B0 @ =gTasks - lsls r4, r2, 2 - adds r4, r2 - lsls r4, 3 - adds r4, r0 - ldrh r0, [r4, 0x1C] - ldrh r1, [r4, 0x1E] - lsls r1, 16 - orrs r0, r1 - ldr r1, _081414B4 @ =0x00007fff - str r1, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r0, _081414B8 @ =sub_81414BC - str r0, [r4] -_081414A4: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081414AC: .4byte gPaletteFade -_081414B0: .4byte gTasks -_081414B4: .4byte 0x00007fff -_081414B8: .4byte sub_81414BC - thumb_func_end sub_814146C - - thumb_func_start sub_81414BC -sub_81414BC: @ 81414BC - push {r4,lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, _08141508 @ =gTasks - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r4, r0, r1 - ldrh r0, [r4, 0x26] - lsls r0, 24 - lsrs r1, r0, 24 - movs r3, 0xC - ldrsh r0, [r4, r3] - cmp r0, 0x10 - bgt _08141510 - movs r2, 0xE - ldrsh r0, [r4, r2] - lsls r0, 20 - movs r3, 0x80 - lsls r3, 17 - adds r0, r3 - lsrs r0, 16 - ldrb r2, [r4, 0x8] - ldr r3, _0814150C @ =gUnknown_0840B4D4 - lsls r1, 1 - adds r1, r3 - ldrh r3, [r1] - movs r1, 0x10 - bl BlendPalette - ldrh r0, [r4, 0xA] - ldrh r1, [r4, 0x8] - adds r0, r1 - strh r0, [r4, 0x8] - ldrh r0, [r4, 0xC] - adds r0, 0x1 - strh r0, [r4, 0xC] - b _08141516 - .align 2, 0 -_08141508: .4byte gTasks -_0814150C: .4byte gUnknown_0840B4D4 -_08141510: - adds r0, r2, 0 - bl DestroyTask -_08141516: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81414BC - - thumb_func_start sub_814151C -sub_814151C: @ 814151C - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r7, r0, 24 - movs r0, 0 - mov r8, r0 - ldr r0, _08141550 @ =gUnknown_02024BE0 - ldr r3, _08141554 @ =gUnknown_0202F7C8 - ldrb r2, [r3] - adds r0, r2, r0 - ldrb r6, [r0] - ldr r1, _08141558 @ =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r5, r0, r1 - movs r1, 0x1C - ldrsh r0, [r5, r1] - cmp r0, 0x1 - beq _081415F4 - cmp r0, 0x1 - bgt _0814155C - cmp r0, 0 - beq _08141562 - b _081416B6 - .align 2, 0 -_08141550: .4byte gUnknown_02024BE0 -_08141554: .4byte gUnknown_0202F7C8 -_08141558: .4byte gTasks -_0814155C: - cmp r0, 0x2 - beq _08141606 - b _081416B6 -_08141562: - ldr r0, _0814159C @ =gUnknown_03004B00 - ldrh r0, [r0] - strh r0, [r5, 0x1E] - movs r2, 0xA0 - lsls r2, 3 - adds r0, r2, 0 - ldrh r4, [r5, 0x8] - adds r0, r4 - strh r0, [r5, 0x8] - ldrb r0, [r3] - bl battle_side_get_owner - lsls r0, 24 - cmp r0, 0 - beq _081415A4 - ldr r2, _081415A0 @ =gSprites - lsls r3, r6, 4 - adds r1, r3, r6 - lsls r1, 2 - adds r1, r2 - ldrh r0, [r5, 0x8] - lsls r0, 16 - asrs r0, 24 - ldrh r4, [r1, 0x24] - adds r0, r4 - strh r0, [r1, 0x24] - adds r4, r3, 0 - b _081415BC - .align 2, 0 -_0814159C: .4byte gUnknown_03004B00 -_081415A0: .4byte gSprites -_081415A4: - ldr r3, _081415EC @ =gSprites - lsls r4, r6, 4 - adds r2, r4, r6 - lsls r2, 2 - adds r2, r3 - ldrh r1, [r5, 0x8] - lsls r1, 16 - asrs r1, 24 - ldrh r0, [r2, 0x24] - subs r0, r1 - strh r0, [r2, 0x24] - adds r2, r3, 0 -_081415BC: - ldr r1, _081415F0 @ =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r3, r0, r1 - ldrb r0, [r3, 0x8] - strh r0, [r3, 0x8] - adds r0, r4, r6 - lsls r0, 2 - adds r0, r2 - movs r2, 0x20 - ldrsh r1, [r0, r2] - movs r4, 0x24 - ldrsh r0, [r0, r4] - adds r1, r0 - adds r1, 0x20 - movs r0, 0x98 - lsls r0, 1 - cmp r1, r0 - bls _081416B6 - ldrh r0, [r3, 0x1C] - adds r0, 0x1 - strh r0, [r3, 0x1C] - b _081416B6 - .align 2, 0 -_081415EC: .4byte gSprites -_081415F0: .4byte gTasks -_081415F4: - ldrb r1, [r5, 0x1E] - adds r0, r2, 0 - adds r2, r6, 0 - bl refresh_graphics_maybe - ldrh r0, [r5, 0x1C] - adds r0, 0x1 - strh r0, [r5, 0x1C] - b _081416B6 -_08141606: - movs r1, 0xA0 - lsls r1, 3 - adds r0, r1, 0 - ldrh r2, [r5, 0x8] - adds r0, r2 - strh r0, [r5, 0x8] - ldrb r0, [r3] - bl battle_side_get_owner - lsls r0, 24 - cmp r0, 0 - beq _0814163C - ldr r0, _08141638 @ =gSprites - lsls r3, r6, 4 - adds r2, r3, r6 - lsls r2, 2 - adds r2, r0 - ldrh r1, [r5, 0x8] - lsls r1, 16 - asrs r1, 24 - ldrh r0, [r2, 0x24] - subs r0, r1 - strh r0, [r2, 0x24] - adds r4, r3, 0 - b _08141654 - .align 2, 0 -_08141638: .4byte gSprites -_0814163C: - ldr r0, _08141688 @ =gSprites - lsls r2, r6, 4 - adds r1, r2, r6 - lsls r1, 2 - adds r1, r0 - ldrh r0, [r5, 0x8] - lsls r0, 16 - asrs r0, 24 - ldrh r3, [r1, 0x24] - adds r0, r3 - strh r0, [r1, 0x24] - adds r4, r2, 0 -_08141654: - ldr r1, _0814168C @ =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - ldrb r1, [r0, 0x8] - strh r1, [r0, 0x8] - ldr r0, _08141690 @ =gUnknown_0202F7C8 - ldrb r0, [r0] - bl battle_side_get_owner - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - beq _08141694 - ldr r0, _08141688 @ =gSprites - adds r1, r4, r6 - lsls r1, 2 - adds r1, r0 - movs r4, 0x24 - ldrsh r0, [r1, r4] - cmp r0, 0 - bgt _081416AA - movs r0, 0 - strh r0, [r1, 0x24] - b _081416B0 - .align 2, 0 -_08141688: .4byte gSprites -_0814168C: .4byte gTasks -_08141690: .4byte gUnknown_0202F7C8 -_08141694: - ldr r0, _081416C0 @ =gSprites - adds r1, r4, r6 - lsls r1, 2 - adds r1, r0 - movs r3, 0x24 - ldrsh r0, [r1, r3] - cmp r0, 0 - blt _081416AA - strh r2, [r1, 0x24] - movs r4, 0x1 - mov r8, r4 -_081416AA: - mov r0, r8 - cmp r0, 0 - beq _081416B6 -_081416B0: - adds r0, r7, 0 - bl move_anim_task_del -_081416B6: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081416C0: .4byte gSprites - thumb_func_end sub_814151C - - thumb_func_start sub_81416C4 -sub_81416C4: @ 81416C4 - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _081416E8 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0x26 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _08141744 - cmp r0, 0x1 - bgt _081416EC - cmp r0, 0 - beq _081416F2 - b _081417B8 - .align 2, 0 -_081416E8: .4byte gTasks -_081416EC: - cmp r0, 0x2 - beq _0814177C - b _081417B8 -_081416F2: - ldr r0, _08141708 @ =gUnknown_0202F7C8 - ldrb r0, [r0] - bl battle_get_per_side_status_permutated - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08141714 - ldr r1, _0814170C @ =REG_BLDCNT - ldr r2, _08141710 @ =0x00003f42 - b _08141718 - .align 2, 0 -_08141708: .4byte gUnknown_0202F7C8 -_0814170C: .4byte REG_BLDCNT -_08141710: .4byte 0x00003f42 -_08141714: - ldr r1, _08141734 @ =REG_BLDCNT - ldr r2, _08141738 @ =0x00003f44 -_08141718: - adds r0, r2, 0 - strh r0, [r1] - ldr r1, _0814173C @ =REG_BLDALPHA - movs r0, 0x10 - strh r0, [r1] - ldr r1, _08141740 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - ldrh r1, [r0, 0x26] - adds r1, 0x1 - strh r1, [r0, 0x26] - b _081417B8 - .align 2, 0 -_08141734: .4byte REG_BLDCNT -_08141738: .4byte 0x00003f44 -_0814173C: .4byte REG_BLDALPHA -_08141740: .4byte gTasks -_08141744: - ldrh r0, [r4, 0xA] - adds r1, r0, 0x1 - strh r1, [r4, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _081417B8 - movs r0, 0 - strh r0, [r4, 0xA] - ldrh r1, [r4, 0x8] - adds r1, 0x1 - strh r1, [r4, 0x8] - ldr r3, _08141778 @ =REG_BLDALPHA - lsls r2, r1, 8 - movs r0, 0x10 - subs r0, r1 - orrs r2, r0 - strh r2, [r3] - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x10 - bne _081417B8 - ldrh r0, [r4, 0x26] - adds r0, 0x1 - strh r0, [r4, 0x26] - b _081417B8 - .align 2, 0 -_08141778: .4byte REG_BLDALPHA -_0814177C: - ldr r1, _081417C0 @ =gUnknown_02024BE0 - ldr r3, _081417C4 @ =gUnknown_0202F7C8 - ldrb r0, [r3] - adds r0, r1 - ldrb r1, [r0] - ldr r2, _081417C8 @ =gSprites - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x4] - lsls r0, 22 - lsrs r0, 17 - ldr r1, _081417CC @ =0x06010000 - adds r0, r1 - movs r1, 0 - str r1, [sp] - ldr r1, _081417D0 @ =0x040000d4 - mov r2, sp - str r2, [r1] - str r0, [r1, 0x4] - ldr r0, _081417D4 @ =0x85000200 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - ldrb r0, [r3] - bl sub_80324E0 - adds r0, r5, 0 - bl move_anim_task_del -_081417B8: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_081417C0: .4byte gUnknown_02024BE0 -_081417C4: .4byte gUnknown_0202F7C8 -_081417C8: .4byte gSprites -_081417CC: .4byte 0x06010000 -_081417D0: .4byte 0x040000d4 -_081417D4: .4byte 0x85000200 - thumb_func_end sub_81416C4 - - thumb_func_start sub_81417D8 -sub_81417D8: @ 81417D8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r3, _081417FC @ =gUnknown_03004B00 - ldr r1, _08141800 @ =gUnknown_0202F7C8 - ldrb r1, [r1] - lsls r1, 2 - ldr r2, _08141804 @ =0x02017800 - adds r1, r2 - ldr r1, [r1] - lsls r1, 29 - lsrs r1, 31 - strh r1, [r3, 0xE] - bl move_anim_task_del - pop {r0} - bx r0 - .align 2, 0 -_081417FC: .4byte gUnknown_03004B00 -_08141800: .4byte gUnknown_0202F7C8 -_08141804: .4byte 0x02017800 - thumb_func_end sub_81417D8 - - thumb_func_start sub_8141808 -sub_8141808: @ 8141808 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08141820 @ =gUnknown_0202F7C9 - ldr r1, _08141824 @ =gUnknown_02024C0A - ldrb r1, [r1] - strb r1, [r2] - bl move_anim_task_del - pop {r0} - bx r0 - .align 2, 0 -_08141820: .4byte gUnknown_0202F7C9 -_08141824: .4byte gUnknown_02024C0A - thumb_func_end sub_8141808 - - thumb_func_start sub_8141828 -sub_8141828: @ 8141828 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r4, r1, 0 - lsls r0, 24 - lsrs r6, r0, 24 - movs r0, 0 - mov r8, r0 - lsls r0, r6, 1 - adds r0, r6 - lsls r0, 2 - ldr r1, _081418E0 @ =0x02017810 - adds r0, r1 - ldrb r1, [r0] - movs r2, 0x80 - orrs r1, r2 - strb r1, [r0] - adds r0, r4, 0 - movs r1, 0x1 - bl GetMonData - adds r5, r0, 0 - adds r0, r4, 0 - movs r1, 0 - bl GetMonData - adds r4, r0, 0 - adds r0, r6, 0 - bl b_side_obj__get_some_boolean - lsls r0, 24 - cmp r0, 0 - beq _081418FC - lsrs r0, r5, 16 - ldr r7, _081418E4 @ =0x0000ffff - ands r5, r7 - eors r0, r5 - lsrs r1, r4, 16 - eors r0, r1 - ands r4, r7 - eors r0, r4 - cmp r0, 0x7 - bhi _08141882 - movs r0, 0x1 - mov r8, r0 -_08141882: - mov r0, r8 - cmp r0, 0 - beq _081418FC - ldr r0, _081418E8 @ =0x000027f9 - bl GetSpriteTileStartByTag - lsls r0, 16 - lsrs r0, 16 - cmp r0, r7 - bne _081418A2 - ldr r0, _081418EC @ =gBattleAnimPicTable + (233 * 8) - bl LoadCompressedObjectPic - ldr r0, _081418F0 @ =gBattleAnimPaletteTable + (233 * 8) - bl LoadCompressedObjectPalette -_081418A2: - ldr r5, _081418F4 @ =sub_814191C - adds r0, r5, 0 - movs r1, 0xA - bl CreateTask - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - movs r1, 0xA - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r3, _081418F8 @ =gTasks - lsls r2, r4, 2 - adds r2, r4 - lsls r2, 3 - adds r2, r3 - movs r4, 0 - strh r6, [r2, 0x8] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r3 - strh r6, [r1, 0x8] - strh r4, [r2, 0xA] - movs r0, 0x1 - strh r0, [r1, 0xA] - b _0814190E - .align 2, 0 -_081418E0: .4byte 0x02017810 -_081418E4: .4byte 0x0000ffff -_081418E8: .4byte 0x000027f9 -_081418EC: .4byte gBattleAnimPicTable + (233 * 8) -_081418F0: .4byte gBattleAnimPaletteTable + (233 * 8) -_081418F4: .4byte sub_814191C -_081418F8: .4byte gTasks -_081418FC: - lsls r0, r6, 1 - adds r0, r6 - lsls r0, 2 - ldr r1, _08141918 @ =0x02017810 - adds r0, r1 - ldrb r1, [r0, 0x1] - movs r2, 0x1 - orrs r1, r2 - strb r1, [r0, 0x1] -_0814190E: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08141918: .4byte 0x02017810 - thumb_func_end sub_8141828 - - thumb_func_start sub_814191C -sub_814191C: @ 814191C - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r7, r0, 24 - ldr r1, _08141944 @ =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r4, r0, r1 - ldrh r1, [r4, 0x22] - movs r2, 0x22 - ldrsh r0, [r4, r2] - cmp r0, 0x3B - bgt _08141948 - adds r0, r1, 0x1 - strh r0, [r4, 0x22] - b _08141AB8 - .align 2, 0 -_08141944: .4byte gTasks -_08141948: - ldr r0, _08141998 @ =0x02017840 - ldrb r0, [r0, 0xA] - cmp r0, 0 - beq _08141952 - b _08141AB8 -_08141952: - ldrh r0, [r4, 0x1C] - adds r1, r0, 0x1 - strh r1, [r4, 0x1C] - lsls r0, 16 - movs r1, 0xC0 - lsls r1, 10 - ands r1, r0 - cmp r1, 0 - beq _08141966 - b _08141AB8 -_08141966: - ldrb r0, [r4, 0x8] - mov r8, r0 - movs r1, 0 - bl sub_8077ABC - lsls r0, 24 - lsrs r5, r0, 24 - mov r0, r8 - movs r1, 0x1 - bl sub_8077ABC - lsls r0, 24 - lsrs r2, r0, 24 - movs r1, 0x1E - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _081419A0 - ldr r0, _0814199C @ =gBattleAnimSpriteTemplate_84024E8 - adds r1, r5, 0 - movs r3, 0x5 - bl CreateSprite - lsls r0, 24 - lsrs r5, r0, 24 - b _08141A02 - .align 2, 0 -_08141998: .4byte 0x02017840 -_0814199C: .4byte gBattleAnimSpriteTemplate_84024E8 -_081419A0: - cmp r0, 0 - blt _081419D4 - cmp r0, 0x3 - bgt _081419D4 - ldr r0, _081419CC @ =gSpriteTemplate_8402500 - adds r1, r5, 0 - movs r3, 0x5 - bl CreateSprite - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _081419D0 @ =gSprites - lsls r2, r5, 4 - adds r2, r5 - lsls r2, 2 - adds r2, r0 - ldrh r3, [r2, 0x4] - lsls r1, r3, 22 - lsrs r1, 22 - adds r1, 0x4 - b _081419F4 - .align 2, 0 -_081419CC: .4byte gSpriteTemplate_8402500 -_081419D0: .4byte gSprites -_081419D4: - ldr r0, _08141A2C @ =gSpriteTemplate_8402500 - adds r1, r5, 0 - movs r3, 0x5 - bl CreateSprite - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _08141A30 @ =gSprites - lsls r2, r5, 4 - adds r2, r5 - lsls r2, 2 - adds r2, r0 - ldrh r3, [r2, 0x4] - lsls r1, r3, 22 - lsrs r1, 22 - adds r1, 0x5 -_081419F4: - ldr r4, _08141A34 @ =0x000003ff - adds r0, r4, 0 - ands r1, r0 - ldr r0, _08141A38 @ =0xfffffc00 - ands r0, r3 - orrs r0, r1 - strh r0, [r2, 0x4] -_08141A02: - ldr r2, _08141A3C @ =gTasks - lsls r1, r7, 2 - adds r0, r1, r7 - lsls r0, 3 - adds r6, r0, r2 - movs r2, 0xA - ldrsh r0, [r6, r2] - mov r9, r1 - cmp r0, 0 - bne _08141A44 - ldr r1, _08141A30 @ =gSprites - lsls r2, r5, 4 - adds r0, r2, r5 - lsls r0, 2 - adds r1, 0x1C - adds r0, r1 - ldr r1, _08141A40 @ =sub_8141B20 - str r1, [r0] - adds r4, r2, 0 - b _08141A8C - .align 2, 0 -_08141A2C: .4byte gSpriteTemplate_8402500 -_08141A30: .4byte gSprites -_08141A34: .4byte 0x000003ff -_08141A38: .4byte 0xfffffc00 -_08141A3C: .4byte gTasks -_08141A40: .4byte sub_8141B20 -_08141A44: - ldr r3, _08141AC4 @ =gSprites - lsls r4, r5, 4 - adds r1, r4, r5 - lsls r1, 2 - adds r0, r3, 0 - adds r0, 0x1C - adds r0, r1, r0 - ldr r2, _08141AC8 @ =sub_8141B74 - str r2, [r0] - adds r1, r3 - ldr r0, _08141ACC @ =0x0000ffe0 - strh r0, [r1, 0x24] - movs r0, 0x20 - strh r0, [r1, 0x26] - adds r1, 0x3E - ldrb r0, [r1] - movs r2, 0x4 - orrs r0, r2 - strb r0, [r1] - movs r1, 0x1E - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _08141A8C - mov r0, r8 - bl battle_side_get_owner - lsls r0, 24 - movs r1, 0x3F - cmp r0, 0 - bne _08141A82 - movs r1, 0xC0 -_08141A82: - lsls r1, 24 - asrs r1, 24 - movs r0, 0x66 - bl PlaySE12WithPanning -_08141A8C: - ldr r1, _08141AC4 @ =gSprites - adds r0, r4, r5 - lsls r0, 2 - adds r0, r1 - strh r7, [r0, 0x2E] - ldr r1, _08141AD0 @ =gTasks - mov r2, r9 - adds r0, r2, r7 - lsls r0, 3 - adds r2, r0, r1 - ldrh r1, [r2, 0x1E] - adds r1, 0x1 - strh r1, [r2, 0x1E] - ldrh r0, [r2, 0x20] - adds r0, 0x1 - strh r0, [r2, 0x20] - lsls r1, 16 - asrs r1, 16 - cmp r1, 0x5 - bne _08141AB8 - ldr r0, _08141AD4 @ =sub_8141AD8 - str r0, [r2] -_08141AB8: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08141AC4: .4byte gSprites -_08141AC8: .4byte sub_8141B74 -_08141ACC: .4byte 0x0000ffe0 -_08141AD0: .4byte gTasks -_08141AD4: .4byte sub_8141AD8 - thumb_func_end sub_814191C - - thumb_func_start sub_8141AD8 -sub_8141AD8: @ 8141AD8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - adds r3, r0, 0 - ldr r1, _08141B18 @ =gTasks - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 3 - adds r1, r0, r1 - movs r2, 0x20 - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _08141B14 - movs r2, 0xA - ldrsh r0, [r1, r2] - cmp r0, 0x1 - bne _08141B0E - ldrb r1, [r1, 0x8] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 2 - ldr r1, _08141B1C @ =0x02017810 - adds r0, r1 - ldrb r1, [r0, 0x1] - movs r2, 0x1 - orrs r1, r2 - strb r1, [r0, 0x1] -_08141B0E: - adds r0, r3, 0 - bl DestroyTask -_08141B14: - pop {r0} - bx r0 - .align 2, 0 -_08141B18: .4byte gTasks -_08141B1C: .4byte 0x02017810 - thumb_func_end sub_8141AD8 - - thumb_func_start sub_8141B20 -sub_8141B20: @ 8141B20 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x30 - ldrsh r0, [r4, r1] - movs r1, 0x18 - bl Sin - strh r0, [r4, 0x24] - movs r1, 0x30 - ldrsh r0, [r4, r1] - movs r1, 0x18 - bl Cos - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x30] - adds r0, 0xC - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xFF - ble _08141B6A - ldr r2, _08141B70 @ =gTasks - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrh r1, [r0, 0x20] - subs r1, 0x1 - strh r1, [r0, 0x20] - adds r0, r4, 0 - bl FreeSpriteOamMatrix - adds r0, r4, 0 - bl DestroySprite -_08141B6A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08141B70: .4byte gTasks - thumb_func_end sub_8141B20 - - thumb_func_start sub_8141B74 -sub_8141B74: @ 8141B74 - push {r4,lr} - adds r4, r0, 0 - ldrh r1, [r4, 0x30] - movs r2, 0x30 - ldrsh r0, [r4, r2] - cmp r0, 0x3 - bgt _08141B88 - adds r0, r1, 0x1 - strh r0, [r4, 0x30] - b _08141BCA -_08141B88: - adds r2, r4, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - ldrh r1, [r4, 0x24] - adds r1, 0x5 - strh r1, [r4, 0x24] - ldrh r0, [r4, 0x26] - subs r0, 0x5 - strh r0, [r4, 0x26] - lsls r1, 16 - asrs r1, 16 - cmp r1, 0x20 - ble _08141BCA - ldr r2, _08141BD0 @ =gTasks - movs r0, 0x2E - ldrsh r1, [r4, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrh r1, [r0, 0x20] - subs r1, 0x1 - strh r1, [r0, 0x20] - adds r0, r4, 0 - bl FreeSpriteOamMatrix - adds r0, r4, 0 - bl DestroySprite -_08141BCA: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08141BD0: .4byte gTasks - thumb_func_end sub_8141B74 - - thumb_func_start sub_8141BD4 -sub_8141BD4: @ 8141BD4 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _08141BFC @ =gBattleAnimPicTable + (269 * 8) - bl LoadCompressedObjectPic - ldr r0, _08141C00 @ =gBattleAnimPaletteTable + (269 * 8) - bl LoadCompressedObjectPalette - ldr r0, _08141C04 @ =0x0000281d - bl IndexOfSpritePaletteTag - adds r0, r4, 0 - bl move_anim_task_del - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08141BFC: .4byte gBattleAnimPicTable + (269 * 8) -_08141C00: .4byte gBattleAnimPaletteTable + (269 * 8) -_08141C04: .4byte 0x0000281d - thumb_func_end sub_8141BD4 - - thumb_func_start sub_8141C08 -sub_8141C08: @ 8141C08 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r5, _08141C2C @ =0x0000281d - adds r0, r5, 0 - bl FreeSpriteTilesByTag - adds r0, r5, 0 - bl FreeSpritePaletteByTag - adds r0, r4, 0 - bl move_anim_task_del - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08141C2C: .4byte 0x0000281d - thumb_func_end sub_8141C08 - - thumb_func_start sub_8141C30 -sub_8141C30: @ 8141C30 - push {r4,r5,lr} - adds r4, r0, 0 - movs r1, 0 - bl sub_80787B0 - movs r0, 0x1E - strh r0, [r4, 0x2E] - movs r0, 0x1 - bl battle_get_side_with_given_state - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - bl sub_8077ABC - lsls r0, 24 - ldr r5, _08141CA4 @ =gUnknown_03004B00 - lsrs r0, 24 - ldrh r1, [r5, 0x4] - adds r0, r1 - strh r0, [r4, 0x32] - movs r0, 0x1 - bl battle_get_side_with_given_state - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x1 - bl sub_8077ABC - lsls r0, 24 - lsrs r0, 24 - ldrh r5, [r5, 0x6] - adds r0, r5 - strh r0, [r4, 0x36] - ldr r0, _08141CA8 @ =0x0000ffe0 - strh r0, [r4, 0x38] - adds r0, r4, 0 - bl sub_80786EC - ldr r1, _08141CAC @ =gUnknown_02024BE0 - ldr r0, _08141CB0 @ =gUnknown_0202F7C8 - ldrb r0, [r0] - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08141CB4 @ =gSprites - adds r0, r1 - movs r1, 0x1 - bl StartSpriteAnim - ldr r0, _08141CB8 @ =sub_8141CBC - str r0, [r4, 0x1C] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08141CA4: .4byte gUnknown_03004B00 -_08141CA8: .4byte 0x0000ffe0 -_08141CAC: .4byte gUnknown_02024BE0 -_08141CB0: .4byte gUnknown_0202F7C8 -_08141CB4: .4byte gSprites -_08141CB8: .4byte sub_8141CBC - thumb_func_end sub_8141C30 - - thumb_func_start sub_8141CBC -sub_8141CBC: @ 8141CBC - push {lr} - adds r3, r0, 0 - ldr r2, _08141CE4 @ =gSprites - ldr r1, _08141CE8 @ =gUnknown_02024BE0 - ldr r0, _08141CEC @ =gUnknown_0202F7C8 - ldrb r0, [r0] - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x2B - ldrb r0, [r0] - cmp r0, 0x1 - bne _08141CE0 - ldr r0, _08141CF0 @ =sub_8141CF4 - str r0, [r3, 0x1C] -_08141CE0: - pop {r0} - bx r0 - .align 2, 0 -_08141CE4: .4byte gSprites -_08141CE8: .4byte gUnknown_02024BE0 -_08141CEC: .4byte gUnknown_0202F7C8 -_08141CF0: .4byte sub_8141CF4 - thumb_func_end sub_8141CBC - - thumb_func_start sub_8141CF4 -sub_8141CF4: @ 8141CF4 - push {r4,lr} - adds r4, r0, 0 - bl sub_8078718 - lsls r0, 24 - cmp r0, 0 - beq _08141D16 - movs r0, 0 - strh r0, [r4, 0x2E] - adds r2, r4, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - ldr r0, _08141D1C @ =sub_8141D20 - str r0, [r4, 0x1C] -_08141D16: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08141D1C: .4byte sub_8141D20 - thumb_func_end sub_8141CF4 - - thumb_func_start sub_8141D20 -sub_8141D20: @ 8141D20 - push {r4,r5,lr} - adds r4, r0, 0 - ldr r5, _08141D70 @ =gSprites - ldr r3, _08141D74 @ =gUnknown_02024BE0 - ldr r2, _08141D78 @ =gUnknown_0202F7C8 - ldrb r0, [r2] - adds r0, r3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x3F - ldrb r0, [r0] - lsls r0, 27 - cmp r0, 0 - bge _08141D68 - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - cmp r0, 0 - ble _08141D68 - ldrb r0, [r2] - adds r0, r3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r1, 0 - bl StartSpriteAnim - adds r0, r4, 0 - bl move_anim_8072740 -_08141D68: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08141D70: .4byte gSprites -_08141D74: .4byte gUnknown_02024BE0 -_08141D78: .4byte gUnknown_0202F7C8 - thumb_func_end sub_8141D20 - - thumb_func_start sub_8141D7C -sub_8141D7C: @ 8141D7C - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - bl battle_get_side_with_given_state - ldr r1, _08141DA4 @ =gUnknown_0202F7C8 - strb r0, [r1] - movs r0, 0x1 - bl battle_get_side_with_given_state - ldr r1, _08141DA8 @ =gUnknown_0202F7C9 - strb r0, [r1] - adds r0, r4, 0 - bl move_anim_task_del - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08141DA4: .4byte gUnknown_0202F7C8 -_08141DA8: .4byte gUnknown_0202F7C9 - thumb_func_end sub_8141D7C - - thumb_func_start sub_8141DAC -sub_8141DAC: @ 8141DAC - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, _08141DC0 @ =0x02017840 - ldrh r1, [r0] - cmp r1, 0x53 - bne _08141DC8 - ldr r1, _08141DC4 @ =gUnknown_03004B00 - movs r0, 0x1 - b _08141E00 - .align 2, 0 -_08141DC0: .4byte 0x02017840 -_08141DC4: .4byte gUnknown_03004B00 -_08141DC8: - cmp r1, 0xFA - bne _08141DD8 - ldr r1, _08141DD4 @ =gUnknown_03004B00 - movs r0, 0x2 - b _08141E00 - .align 2, 0 -_08141DD4: .4byte gUnknown_03004B00 -_08141DD8: - cmp r1, 0x80 - bne _08141DE8 - ldr r1, _08141DE4 @ =gUnknown_03004B00 - movs r0, 0x3 - b _08141E00 - .align 2, 0 -_08141DE4: .4byte gUnknown_03004B00 -_08141DE8: - movs r0, 0xA4 - lsls r0, 1 - cmp r1, r0 - bne _08141DFC - ldr r1, _08141DF8 @ =gUnknown_03004B00 - movs r0, 0x4 - b _08141E00 - .align 2, 0 -_08141DF8: .4byte gUnknown_03004B00 -_08141DFC: - ldr r1, _08141E0C @ =gUnknown_03004B00 - movs r0, 0 -_08141E00: - strh r0, [r1] - adds r0, r2, 0 - bl move_anim_task_del - pop {r0} - bx r0 - .align 2, 0 -_08141E0C: .4byte gUnknown_03004B00 - thumb_func_end sub_8141DAC - - thumb_func_start sub_8141E10 -sub_8141E10: @ 8141E10 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08141E2C @ =gUnknown_0202F7C8 - ldr r1, _08141E30 @ =0x02017840 - ldrh r1, [r1] - strb r1, [r2] - ldr r2, _08141E34 @ =gUnknown_0202F7C9 - lsrs r1, 8 - strb r1, [r2] - bl move_anim_task_del - pop {r0} - bx r0 - .align 2, 0 -_08141E2C: .4byte gUnknown_0202F7C8 -_08141E30: .4byte 0x02017840 -_08141E34: .4byte gUnknown_0202F7C9 - thumb_func_end sub_8141E10 - - thumb_func_start sub_8141E38 -sub_8141E38: @ 8141E38 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_8141E38 - - thumb_func_start sub_8141E4C -sub_8141E4C: @ 8141E4C - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_8141E4C - - thumb_func_start sub_8141E64 -sub_8141E64: @ 8141E64 - push {r4,lr} - sub sp, 0x4 - ldr r0, _08141E80 @ =gMain - ldr r1, _08141E84 @ =0x0000043c - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x4 - bhi _08141EA0 - lsls r0, 2 - ldr r1, _08141E88 @ =_08141E8C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08141E80: .4byte gMain -_08141E84: .4byte 0x0000043c -_08141E88: .4byte _08141E8C - .align 2, 0 -_08141E8C: - .4byte _08141EA0 - .4byte _08141EC0 - .4byte _08141EC6 - .4byte _08141F1C - .4byte _08141F58 -_08141EA0: - movs r0, 0 - bl SetVBlankCallback - bl sub_81433E0 - ldr r0, _08141EB8 @ =gMain - ldr r2, _08141EBC @ =0x0000043c - adds r0, r2 - movs r1, 0x1 - strb r1, [r0] - b _08141F84 - .align 2, 0 -_08141EB8: .4byte gMain -_08141EBC: .4byte 0x0000043c -_08141EC0: - bl sub_8143570 - b _08141F38 -_08141EC6: - movs r0, 0x1 - negs r0, r0 - movs r4, 0 - str r4, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r0, _08141F04 @ =sub_8141E38 - bl SetVBlankCallback - ldr r3, _08141F08 @ =0x04000208 - ldrh r2, [r3] - strh r4, [r3] - ldr r4, _08141F0C @ =0x04000200 - ldrh r0, [r4] - movs r1, 0x1 - orrs r0, r1 - strh r0, [r4] - strh r2, [r3] - ldr r2, _08141F10 @ =REG_DISPSTAT - ldrh r0, [r2] - movs r1, 0x8 - orrs r0, r1 - strh r0, [r2] - ldr r1, _08141F14 @ =gMain - ldr r2, _08141F18 @ =0x0000043c - adds r1, r2 - b _08141F3E - .align 2, 0 -_08141F04: .4byte sub_8141E38 -_08141F08: .4byte 0x04000208 -_08141F0C: .4byte 0x04000200 -_08141F10: .4byte REG_DISPSTAT -_08141F14: .4byte gMain -_08141F18: .4byte 0x0000043c -_08141F1C: - ldr r1, _08141F48 @ =REG_BLDCNT - ldr r2, _08141F4C @ =0x00003f42 - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x2 - movs r2, 0xE2 - lsls r2, 3 - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0 - strh r0, [r1] - bl sub_81435B8 -_08141F38: - ldr r1, _08141F50 @ =gMain - ldr r0, _08141F54 @ =0x0000043c - adds r1, r0 -_08141F3E: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08141F84 - .align 2, 0 -_08141F48: .4byte REG_BLDCNT -_08141F4C: .4byte 0x00003f42 -_08141F50: .4byte gMain -_08141F54: .4byte 0x0000043c -_08141F58: - bl UpdatePaletteFade - ldr r0, _08141F7C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08141F84 - ldr r0, _08141F80 @ =sub_8141E4C - bl SetMainCallback2 - movs r0, 0xDA - lsls r0, 1 - bl PlayBGM - movs r0, 0 - b _08141F86 - .align 2, 0 -_08141F7C: .4byte gPaletteFade -_08141F80: .4byte sub_8141E4C -_08141F84: - movs r0, 0x1 -_08141F86: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8141E64 - - thumb_func_start sub_8141F90 -sub_8141F90: @ 8141F90 - push {r4,lr} - bl sub_8141E64 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _08141FB6 - ldr r0, _08141FBC @ =sub_8141FF8 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08141FC0 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r4, [r1, 0x8] -_08141FB6: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08141FBC: .4byte sub_8141FF8 -_08141FC0: .4byte gTasks - thumb_func_end sub_8141F90 - - thumb_func_start sub_8141FC4 -sub_8141FC4: @ 8141FC4 - push {lr} - bl sub_8141E64 - lsls r0, 24 - cmp r0, 0 - bne _08141FEA - ldr r0, _08141FF0 @ =sub_8141FF8 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08141FF4 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0x1 - strh r0, [r1, 0x8] -_08141FEA: - pop {r0} - bx r0 - .align 2, 0 -_08141FF0: .4byte sub_8141FF8 -_08141FF4: .4byte gTasks - thumb_func_end sub_8141FC4 - - thumb_func_start sub_8141FF8 -sub_8141FF8: @ 8141FF8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r0, _081420C8 @ =0x0201c000 - mov r9, r0 - ldr r1, _081420CC @ =gTasks - mov r2, r8 - lsls r0, r2, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0xC] - movs r7, 0 - ldr r4, _081420D0 @ =0xfffffe00 - mov r10, r4 -_08142024: - movs r0, 0x64 - adds r1, r7, 0 - muls r1, r0 - ldr r0, _081420D4 @ =gPlayerParty - adds r6, r1, r0 - adds r0, r6, 0 - movs r1, 0xB - bl GetMonData - adds r3, r0, 0 - cmp r3, 0 - beq _081420DC - adds r0, r6, 0 - movs r1, 0x41 - bl GetMonData - lsls r4, r7, 2 - adds r4, r7 - lsls r4, 2 - mov r1, r9 - adds r5, r1, r4 - ldr r2, _081420D8 @ =0x000001ff - adds r1, r2, 0 - ands r0, r1 - ldrh r1, [r5, 0x8] - mov r2, r10 - ands r1, r2 - orrs r1, r0 - strh r1, [r5, 0x8] - adds r0, r6, 0 - movs r1, 0x1 - bl GetMonData - str r0, [r5] - adds r0, r6, 0 - movs r1, 0 - bl GetMonData - mov r1, r9 - adds r1, 0x4 - adds r1, r4 - str r0, [r1] - adds r0, r6, 0 - movs r1, 0x38 - bl GetMonData - lsls r0, 1 - ldrb r2, [r5, 0x9] - movs r1, 0x1 - ands r1, r2 - orrs r1, r0 - strb r1, [r5, 0x9] - adds r0, r6, 0 - movs r1, 0x2 - mov r2, sp - bl GetMonData - movs r2, 0 - mov r6, r8 - lsls r5, r6, 2 - mov r3, r9 - adds r3, 0xA -_081420A0: - adds r1, r2, r4 - adds r1, r3, r1 - mov r6, sp - adds r0, r6, r2 - ldrb r0, [r0] - strb r0, [r1] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x9 - bls _081420A0 - ldr r0, _081420CC @ =gTasks - mov r2, r8 - adds r1, r5, r2 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0xC] - adds r0, 0x1 - strh r0, [r1, 0xC] - b _08142108 - .align 2, 0 -_081420C8: .4byte 0x0201c000 -_081420CC: .4byte gTasks -_081420D0: .4byte 0xfffffe00 -_081420D4: .4byte gPlayerParty -_081420D8: .4byte 0x000001ff -_081420DC: - lsls r1, r7, 2 - adds r1, r7 - lsls r1, 2 - mov r4, r9 - adds r2, r4, r1 - ldrh r0, [r2, 0x8] - mov r6, r10 - ands r0, r6 - strh r0, [r2, 0x8] - str r3, [r2] - mov r0, r9 - adds r0, 0x4 - adds r0, r1 - str r3, [r0] - ldrb r1, [r2, 0x9] - movs r0, 0x1 - ands r0, r1 - strb r0, [r2, 0x9] - movs r0, 0xFF - strb r0, [r2, 0xA] - mov r0, r8 - lsls r5, r0, 2 -_08142108: - adds r0, r7, 0x1 - lsls r0, 16 - lsrs r7, r0, 16 - cmp r7, 0x5 - bls _08142024 - ldr r0, _08142158 @ =gUnknown_0203931C - movs r3, 0 - str r3, [r0] - ldr r4, _0814215C @ =gTasks - mov r2, r8 - adds r1, r5, r2 - lsls r1, 3 - adds r2, r1, r4 - strh r3, [r2, 0xA] - movs r0, 0xFF - strh r0, [r2, 0x10] - movs r7, 0 - adds r3, r4, 0 - adds r3, 0x8 - movs r2, 0xFF -_08142130: - adds r0, r7, 0x5 - lsls r0, 1 - adds r0, r1 - adds r0, r3 - strh r2, [r0] - adds r0, r7, 0x1 - lsls r0, 16 - lsrs r7, r0, 16 - cmp r7, 0x5 - bls _08142130 - mov r6, r8 - adds r0, r5, r6 - lsls r0, 3 - adds r1, r0, r4 - movs r2, 0x8 - ldrsh r0, [r1, r2] - cmp r0, 0 - beq _08142164 - ldr r0, _08142160 @ =sub_81422E8 - b _08142166 - .align 2, 0 -_08142158: .4byte gUnknown_0203931C -_0814215C: .4byte gTasks -_08142160: .4byte sub_81422E8 -_08142164: - ldr r0, _08142178 @ =sub_814217C -_08142166: - str r0, [r1] - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08142178: .4byte sub_814217C - thumb_func_end sub_8141FF8 - - thumb_func_start sub_814217C -sub_814217C: @ 814217C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r0, _081421C4 @ =0x0201c000 - mov r9, r0 - movs r7, 0x80 - lsls r7, 6 - add r7, r9 - ldr r0, _081421C8 @ =gUnknown_02039324 - ldrb r0, [r0] - cmp r0, 0 - bne _081421D4 - movs r4, 0 - mov r0, r8 - lsls r0, 2 - mov r10, r0 - ldr r5, _081421CC @ =0xfffe4000 - add r5, r9 - movs r3, 0xF0 - lsls r3, 9 - movs r2, 0 - ldr r1, _081421D0 @ =0x00001fff -_081421B2: - adds r0, r4, r3 - adds r0, r5 - strb r2, [r0] - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, r1 - bls _081421B2 - b _081421E0 - .align 2, 0 -_081421C4: .4byte 0x0201c000 -_081421C8: .4byte gUnknown_02039324 -_081421CC: .4byte 0xfffe4000 -_081421D0: .4byte 0x00001fff -_081421D4: - movs r0, 0x3 - bl sub_8125EC8 - mov r0, r8 - lsls r0, 2 - mov r10, r0 -_081421E0: - movs r4, 0 - ldrh r1, [r7, 0x8] - ldr r2, _081421E8 @ =0x000001ff - b _081421FA - .align 2, 0 -_081421E8: .4byte 0x000001ff -_081421EC: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - adds r7, 0x78 - cmp r4, 0x31 - bhi _08142206 - ldrh r1, [r7, 0x8] -_081421FA: - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0 - bne _081421EC - cmp r4, 0x31 - bls _08142228 -_08142206: - ldr r5, _08142264 @ =0x0201e000 - adds r6, r5, 0 - adds r5, 0x78 - movs r4, 0 - subs r7, 0x78 -_08142210: - adds r0, r6, 0 - adds r1, r5, 0 - movs r2, 0x78 - bl memcpy - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - adds r6, 0x78 - adds r5, 0x78 - cmp r4, 0x30 - bls _08142210 -_08142228: - adds r0, r7, 0 - mov r1, r9 - movs r2, 0x78 - bl memcpy - movs r0, 0x2 - movs r1, 0xE - movs r2, 0x1B - movs r3, 0x13 - bl MenuDrawTextWindow - ldr r0, _08142268 @ =gMenuText_HOFSaving - movs r1, 0x3 - movs r2, 0xF - bl MenuPrint - ldr r1, _0814226C @ =gTasks - mov r0, r10 - add r0, r8 - lsls r0, 3 - adds r0, r1 - ldr r1, _08142270 @ =sub_8142274 - str r1, [r0] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08142264: .4byte 0x0201e000 -_08142268: .4byte gMenuText_HOFSaving -_0814226C: .4byte gTasks -_08142270: .4byte sub_8142274 - thumb_func_end sub_814217C - - thumb_func_start sub_8142274 -sub_8142274: @ 8142274 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r1, _081422A8 @ =gUnknown_03005EBC - ldr r0, _081422AC @ =sub_8141FC4 - str r0, [r1] - movs r0, 0x3 - bl sub_8125D44 - movs r0, 0x37 - bl PlaySE - ldr r1, _081422B0 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _081422B4 @ =sub_81422B8 - str r1, [r0] - movs r1, 0x20 - strh r1, [r0, 0xE] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081422A8: .4byte gUnknown_03005EBC -_081422AC: .4byte sub_8141FC4 -_081422B0: .4byte gTasks -_081422B4: .4byte sub_81422B8 - thumb_func_end sub_8142274 - - thumb_func_start sub_81422B8 -sub_81422B8: @ 81422B8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _081422D8 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldrh r2, [r1, 0xE] - movs r3, 0xE - ldrsh r0, [r1, r3] - cmp r0, 0 - beq _081422DC - subs r0, r2, 0x1 - strh r0, [r1, 0xE] - b _081422E0 - .align 2, 0 -_081422D8: .4byte gTasks -_081422DC: - ldr r0, _081422E4 @ =sub_81422E8 - str r0, [r1] -_081422E0: - pop {r0} - bx r0 - .align 2, 0 -_081422E4: .4byte sub_81422E8 - thumb_func_end sub_81422B8 - - thumb_func_start sub_81422E8 -sub_81422E8: @ 81422E8 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r5, _08142314 @ =gWindowConfig_81E7198 - adds r0, r5, 0 - bl SetUpWindowConfig - adds r0, r5, 0 - bl InitMenuWindow - ldr r1, _08142318 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0814231C @ =sub_8142320 - str r1, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08142314: .4byte gWindowConfig_81E7198 -_08142318: .4byte gTasks -_0814231C: .4byte sub_8142320 - thumb_func_end sub_81422E8 - - thumb_func_start sub_8142320 -sub_8142320: @ 8142320 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x8 - lsls r0, 24 - lsrs r7, r0, 24 - ldr r2, _08142350 @ =0x0201c000 - ldr r0, _08142354 @ =gTasks - lsls r1, r7, 2 - adds r1, r7 - lsls r1, 3 - adds r1, r0 - ldrh r6, [r1, 0xA] - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 2 - adds r4, r0, r2 - movs r2, 0xC - ldrsh r0, [r1, r2] - cmp r0, 0x3 - ble _0814235C - ldr r1, _08142358 @ =gUnknown_0840B534 - b _0814235E - .align 2, 0 -_08142350: .4byte 0x0201c000 -_08142354: .4byte gTasks -_08142358: .4byte gUnknown_0840B534 -_0814235C: - ldr r1, _081423F0 @ =gUnknown_0840B564 -_0814235E: - lsls r2, r6, 3 - adds r0, r2, r1 - ldrh r5, [r0] - adds r0, r1, 0x2 - adds r0, r2, r0 - ldrh r3, [r0] - adds r0, r1, 0x4 - adds r0, r2, r0 - ldrh r0, [r0] - mov r9, r0 - adds r1, 0x6 - adds r2, r1 - ldrh r2, [r2] - mov r8, r2 - ldrh r0, [r4, 0x8] - lsls r0, 23 - lsrs r0, 23 - lsls r1, r5, 16 - asrs r1, 16 - lsls r2, r3, 16 - asrs r2, 16 - ldr r3, [r4] - str r3, [sp] - ldr r3, [r4, 0x4] - str r3, [sp, 0x4] - adds r3, r6, 0 - bl sub_81436BC - lsls r0, 24 - lsrs r0, 24 - ldr r3, _081423F4 @ =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r2, r1, r3 - movs r4, 0 - mov r5, r9 - strh r5, [r2, 0x30] - mov r5, r8 - strh r5, [r2, 0x32] - strh r4, [r2, 0x2E] - adds r3, 0x1C - adds r1, r3 - ldr r2, _081423F8 @ =sub_81435DC - str r2, [r1] - ldr r5, _081423FC @ =gTasks - adds r1, r6, 0x5 - lsls r1, 1 - lsls r4, r7, 2 - adds r4, r7 - lsls r4, 3 - adds r1, r4 - adds r2, r5, 0 - adds r2, 0x8 - adds r1, r2 - strh r0, [r1] - movs r0, 0 - movs r1, 0xE - movs r2, 0x1D - movs r3, 0x13 - bl MenuZeroFillWindowRect - adds r4, r5 - ldr r0, _08142400 @ =sub_8142404 - str r0, [r4] - add sp, 0x8 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081423F0: .4byte gUnknown_0840B564 -_081423F4: .4byte gSprites -_081423F8: .4byte sub_81435DC -_081423FC: .4byte gTasks -_08142400: .4byte sub_8142404 - thumb_func_end sub_8142320 - - thumb_func_start sub_8142404 -sub_8142404: @ 8142404 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r4, _08142470 @ =0x0201c000 - ldr r3, _08142474 @ =gTasks - lsls r2, r0, 2 - adds r2, r0 - lsls r2, 3 - adds r5, r2, r3 - ldrh r1, [r5, 0xA] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r6, r0, r4 - ldr r4, _08142478 @ =gSprites - adds r1, 0x5 - lsls r1, 1 - adds r1, r2 - adds r3, 0x8 - adds r1, r3 - movs r0, 0 - ldrsh r1, [r1, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x2E - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _0814246A - ldrh r2, [r6, 0x8] - ldr r0, _0814247C @ =0x000001ff - ands r0, r2 - movs r1, 0xCE - lsls r1, 1 - cmp r0, r1 - beq _08142458 - lsls r0, r2, 23 - lsrs r0, 23 - movs r1, 0 - bl PlayCry1 -_08142458: - adds r0, r6, 0 - movs r1, 0 - movs r2, 0xE - bl sub_8143088 - movs r0, 0x78 - strh r0, [r5, 0xE] - ldr r0, _08142480 @ =sub_8142484 - str r0, [r5] -_0814246A: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08142470: .4byte 0x0201c000 -_08142474: .4byte gTasks -_08142478: .4byte gSprites -_0814247C: .4byte 0x000001ff -_08142480: .4byte sub_8142484 - thumb_func_end sub_8142404 - - thumb_func_start sub_8142484 -sub_8142484: @ 8142484 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r2, _081424BC @ =0x0201c000 - ldr r1, _081424C0 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r6, r0, 3 - adds r4, r6, r1 - ldrh r3, [r4, 0xA] - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 2 - adds r0, r2 - mov r9, r0 - ldrh r2, [r4, 0xE] - movs r7, 0xE - ldrsh r0, [r4, r7] - mov r12, r1 - cmp r0, 0 - beq _081424C4 - subs r0, r2, 0x1 - strh r0, [r4, 0xE] - b _0814255C - .align 2, 0 -_081424BC: .4byte 0x0201c000 -_081424C0: .4byte gTasks -_081424C4: - ldr r2, _0814253C @ =gUnknown_0203931C - ldr r0, _08142540 @ =gSprites - mov r8, r0 - adds r0, r3, 0x5 - lsls r0, 1 - adds r0, r6 - mov r1, r12 - adds r1, 0x8 - adds r6, r0, r1 - movs r7, 0 - ldrsh r1, [r6, r7] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r8 - ldrb r0, [r0, 0x5] - lsrs r0, 4 - movs r1, 0x80 - lsls r1, 9 - lsls r1, r0 - ldr r3, [r2] - orrs r3, r1 - str r3, [r2] - ldrh r2, [r4, 0xA] - movs r1, 0xA - ldrsh r0, [r4, r1] - cmp r0, 0x4 - bgt _08142550 - mov r7, r9 - ldrh r1, [r7, 0x1C] - ldr r0, _08142544 @ =0x000001ff - ands r0, r1 - cmp r0, 0 - beq _08142550 - adds r0, r2, 0x1 - strh r0, [r4, 0xA] - ldr r0, _08142548 @ =0x0000735f - str r0, [sp] - adds r0, r3, 0 - movs r1, 0 - movs r2, 0xC - movs r3, 0xC - bl BeginNormalPaletteFade - movs r0, 0 - ldrsh r1, [r6, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r8 - ldrb r2, [r0, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0, 0x5] - ldr r0, _0814254C @ =sub_8142320 - str r0, [r4] - b _0814255C - .align 2, 0 -_0814253C: .4byte gUnknown_0203931C -_08142540: .4byte gSprites -_08142544: .4byte 0x000001ff -_08142548: .4byte 0x0000735f -_0814254C: .4byte sub_8142320 -_08142550: - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - add r0, r12 - ldr r1, _0814256C @ =sub_8142570 - str r1, [r0] -_0814255C: - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0814256C: .4byte sub_8142570 - thumb_func_end sub_8142484 - - thumb_func_start sub_8142570 -sub_8142570: @ 8142570 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _08142604 @ =0xffff0000 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0 - bl BeginNormalPaletteFade - movs r3, 0 - lsls r1, r4, 2 - adds r0, r1, r4 - lsls r5, r0, 3 - ldr r0, _08142608 @ =gTasks + 0x8 - mov r12, r0 - mov r8, r1 - ldr r6, _0814260C @ =gSprites - movs r7, 0xD - negs r7, r7 -_0814259E: - adds r0, r3, 0x5 - lsls r0, 1 - adds r0, r5 - mov r2, r12 - adds r1, r0, r2 - movs r2, 0 - ldrsh r0, [r1, r2] - cmp r0, 0xFF - beq _081425C0 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - ldrb r2, [r1, 0x5] - adds r0, r7, 0 - ands r0, r2 - strb r0, [r1, 0x5] -_081425C0: - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x5 - bls _0814259E - movs r0, 0 - movs r1, 0xE - movs r2, 0x1D - movs r3, 0x13 - bl MenuZeroFillWindowRect - movs r0, 0 - movs r1, 0xF - bl sub_8143068 - movs r0, 0x69 - bl PlaySE - ldr r1, _08142610 @ =gTasks - mov r2, r8 - adds r0, r2, r4 - lsls r0, 3 - adds r0, r1 - movs r1, 0xC8 - lsls r1, 1 - strh r1, [r0, 0xE] - ldr r1, _08142614 @ =sub_8142618 - str r1, [r0] - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08142604: .4byte 0xffff0000 -_08142608: .4byte gTasks + 0x8 -_0814260C: .4byte gSprites -_08142610: .4byte gTasks -_08142614: .4byte sub_8142618 - thumb_func_end sub_8142570 - - thumb_func_start sub_8142618 -sub_8142618: @ 8142618 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r7, _08142658 @ =gTasks - lsls r4, r6, 2 - adds r0, r4, r6 - lsls r5, r0, 3 - adds r1, r5, r7 - ldrh r2, [r1, 0xE] - movs r3, 0xE - ldrsh r0, [r1, r3] - cmp r0, 0 - beq _0814265C - subs r2, 0x1 - strh r2, [r1, 0xE] - movs r0, 0x3 - ands r0, r2 - cmp r0, 0 - bne _081426D2 - lsls r0, r2, 16 - asrs r0, 16 - cmp r0, 0x6E - ble _081426D2 - bl sub_81438C4 - b _081426D2 - .align 2, 0 -_08142658: .4byte gTasks -_0814265C: - movs r3, 0 - mov r9, r4 - ldr r0, _081426E4 @ =gUnknown_0203931C - mov r10, r0 - adds r4, r5, 0 - adds r7, 0x8 - mov r8, r7 - ldr r7, _081426E8 @ =gSprites - movs r1, 0xD - negs r1, r1 - mov r12, r1 - movs r5, 0x4 -_08142674: - adds r0, r3, 0x5 - lsls r0, 1 - adds r0, r4 - mov r2, r8 - adds r1, r0, r2 - movs r2, 0 - ldrsh r0, [r1, r2] - cmp r0, 0xFF - beq _08142698 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r7 - ldrb r2, [r1, 0x5] - mov r0, r12 - ands r0, r2 - orrs r0, r5 - strb r0, [r1, 0x5] -_08142698: - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x5 - bls _08142674 - mov r3, r10 - ldr r0, [r3] - ldr r1, _081426EC @ =0x0000735f - str r1, [sp] - movs r1, 0 - movs r2, 0xC - movs r3, 0xC - bl BeginNormalPaletteFade - movs r0, 0 - movs r1, 0xE - movs r2, 0x1D - movs r3, 0x13 - bl MenuZeroFillWindowRect - ldr r1, _081426F0 @ =gTasks - mov r2, r9 - adds r0, r2, r6 - lsls r0, 3 - adds r0, r1 - movs r1, 0x7 - strh r1, [r0, 0xE] - ldr r1, _081426F4 @ =sub_81426F8 - str r1, [r0] -_081426D2: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081426E4: .4byte gUnknown_0203931C -_081426E8: .4byte gSprites -_081426EC: .4byte 0x0000735f -_081426F0: .4byte gTasks -_081426F4: .4byte sub_81426F8 - thumb_func_end sub_8142618 - - thumb_func_start sub_81426F8 -sub_81426F8: @ 81426F8 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08142718 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r2, r1, r2 - ldrh r1, [r2, 0xE] - movs r3, 0xE - ldrsh r0, [r2, r3] - cmp r0, 0xF - ble _08142720 - ldr r0, _0814271C @ =sub_8142738 - str r0, [r2] - b _0814272E - .align 2, 0 -_08142718: .4byte gTasks -_0814271C: .4byte sub_8142738 -_08142720: - adds r0, r1, 0x1 - strh r0, [r2, 0xE] - ldr r1, _08142734 @ =REG_BLDALPHA - movs r3, 0xE - ldrsh r0, [r2, r3] - lsls r0, 8 - strh r0, [r1] -_0814272E: - pop {r0} - bx r0 - .align 2, 0 -_08142734: .4byte REG_BLDALPHA - thumb_func_end sub_81426F8 - - thumb_func_start sub_8142738 -sub_8142738: @ 8142738 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - movs r1, 0x80 - lsls r1, 19 - movs r2, 0xCA - lsls r2, 5 - adds r0, r2, 0 - strh r0, [r1] - ldr r4, _08142784 @ =gWindowConfig_81E71B4 - adds r0, r4, 0 - bl SetUpWindowConfig - adds r0, r4, 0 - bl InitMenuWindow - ldr r0, _08142788 @ =gSaveBlock2 - ldrb r0, [r0, 0x8] - movs r1, 0x78 - movs r2, 0x48 - movs r3, 0x6 - bl sub_81437A4 - ldr r2, _0814278C @ =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r2 - strh r0, [r1, 0x10] - movs r0, 0x78 - strh r0, [r1, 0xE] - ldr r0, _08142790 @ =sub_8142794 - str r0, [r1] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08142784: .4byte gWindowConfig_81E71B4 -_08142788: .4byte gSaveBlock2 -_0814278C: .4byte gTasks -_08142790: .4byte sub_8142794 - thumb_func_end sub_8142738 - - thumb_func_start sub_8142794 -sub_8142794: @ 8142794 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _081427B4 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 - ldrh r1, [r4, 0xE] - movs r2, 0xE - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _081427B8 - subs r0, r1, 0x1 - strh r0, [r4, 0xE] - b _0814280A - .align 2, 0 -_081427B4: .4byte gTasks -_081427B8: - ldr r2, _081427D8 @ =gSprites - movs r3, 0x10 - ldrsh r1, [r4, r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r2 - ldrh r2, [r1, 0x20] - movs r3, 0x20 - ldrsh r0, [r1, r3] - cmp r0, 0xA0 - beq _081427DC - adds r0, r2, 0x1 - strh r0, [r1, 0x20] - b _0814280A - .align 2, 0 -_081427D8: .4byte gSprites -_081427DC: - movs r0, 0x1 - movs r1, 0x2 - movs r2, 0xF - movs r3, 0x9 - bl MenuDrawTextWindow - movs r0, 0x1 - movs r1, 0x2 - bl sub_8143300 - movs r0, 0x2 - movs r1, 0xE - movs r2, 0x1B - movs r3, 0x13 - bl MenuDrawTextWindow - ldr r0, _08142810 @ =gMenuText_HOFCongratulations - movs r1, 0x4 - movs r2, 0xF - bl MenuPrint - ldr r0, _08142814 @ =sub_8142818 - str r0, [r4] -_0814280A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08142810: .4byte gMenuText_HOFCongratulations -_08142814: .4byte sub_8142818 - thumb_func_end sub_8142794 - - thumb_func_start sub_8142818 -sub_8142818: @ 8142818 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _08142844 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0814283E - movs r0, 0x4 - bl FadeOutBGM - ldr r0, _08142848 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _0814284C @ =sub_8142850 - str r0, [r1] -_0814283E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08142844: .4byte gMain -_08142848: .4byte gTasks -_0814284C: .4byte sub_8142850 - thumb_func_end sub_8142818 - - thumb_func_start sub_8142850 -sub_8142850: @ 8142850 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _08142890 @ =gPlttBufferFaded - ldr r1, _08142894 @ =gPlttBufferUnfaded - movs r2, 0x80 - lsls r2, 2 - bl CpuSet - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r1, 0x8 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, _08142898 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0814289C @ =sub_81428A0 - str r1, [r0] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08142890: .4byte gPlttBufferFaded -_08142894: .4byte gPlttBufferUnfaded -_08142898: .4byte gTasks -_0814289C: .4byte sub_81428A0 - thumb_func_end sub_8142850 - - thumb_func_start sub_81428A0 -sub_81428A0: @ 81428A0 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, _081428C4 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _081428BE - adds r0, r2, 0 - bl DestroyTask - ldr r0, _081428C8 @ =sub_81439D0 - bl SetMainCallback2 -_081428BE: - pop {r0} - bx r0 - .align 2, 0 -_081428C4: .4byte gPaletteFade -_081428C8: .4byte sub_81439D0 - thumb_func_end sub_81428A0 - - thumb_func_start sub_81428CC -sub_81428CC: @ 81428CC - push {r4,r5,lr} - ldr r0, _081428E4 @ =gMain - ldr r1, _081428E8 @ =0x0000043c - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x5 - bhi _08142908 - lsls r0, 2 - ldr r1, _081428EC @ =_081428F0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_081428E4: .4byte gMain -_081428E8: .4byte 0x0000043c -_081428EC: .4byte _081428F0 - .align 2, 0 -_081428F0: - .4byte _08142908 - .4byte _08142928 - .4byte _0814293C - .4byte _08142980 - .4byte _081429C0 - .4byte _081429EC -_08142908: - movs r0, 0 - bl SetVBlankCallback - bl sub_81433E0 - ldr r0, _08142920 @ =gMain - ldr r2, _08142924 @ =0x0000043c - adds r0, r2 - movs r1, 0x1 - strb r1, [r0] - b _08142A12 - .align 2, 0 -_08142920: .4byte gMain -_08142924: .4byte 0x0000043c -_08142928: - bl sub_8143570 - ldr r1, _08142934 @ =gMain - ldr r3, _08142938 @ =0x0000043c - adds r1, r3 - b _081429DC - .align 2, 0 -_08142934: .4byte gMain -_08142938: .4byte 0x0000043c -_0814293C: - ldr r0, _08142968 @ =sub_8141E38 - bl SetVBlankCallback - ldr r3, _0814296C @ =0x04000208 - ldrh r2, [r3] - movs r0, 0 - strh r0, [r3] - ldr r4, _08142970 @ =0x04000200 - ldrh r0, [r4] - movs r1, 0x1 - orrs r0, r1 - strh r0, [r4] - strh r2, [r3] - ldr r2, _08142974 @ =REG_DISPSTAT - ldrh r0, [r2] - movs r1, 0x8 - orrs r0, r1 - strh r0, [r2] - ldr r1, _08142978 @ =gMain - ldr r4, _0814297C @ =0x0000043c - adds r1, r4 - b _081429DC - .align 2, 0 -_08142968: .4byte sub_8141E38 -_0814296C: .4byte 0x04000208 -_08142970: .4byte 0x04000200 -_08142974: .4byte REG_DISPSTAT -_08142978: .4byte gMain -_0814297C: .4byte 0x0000043c -_08142980: - ldr r0, _081429AC @ =REG_BLDCNT - movs r1, 0 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - bl sub_81435B8 - ldr r0, _081429B0 @ =0x0201c000 - adds r2, r0, 0 - ldr r1, _081429B4 @ =gUnknown_0840B57C - ldm r1!, {r3-r5} - stm r2!, {r3-r5} - ldm r1!, {r3,r5} - stm r2!, {r3,r5} - bl sub_80C5CD4 - ldr r1, _081429B8 @ =gMain - ldr r4, _081429BC @ =0x0000043c - adds r1, r4 - b _081429DC - .align 2, 0 -_081429AC: .4byte REG_BLDCNT -_081429B0: .4byte 0x0201c000 -_081429B4: .4byte gUnknown_0840B57C -_081429B8: .4byte gMain -_081429BC: .4byte 0x0000043c -_081429C0: - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - bl sub_80C5DCC - lsls r0, 24 - cmp r0, 0 - beq _08142A12 - ldr r1, _081429E4 @ =gMain - ldr r5, _081429E8 @ =0x0000043c - adds r1, r5 -_081429DC: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08142A12 - .align 2, 0 -_081429E4: .4byte gMain -_081429E8: .4byte 0x0000043c -_081429EC: - ldr r1, _08142A18 @ =REG_BLDCNT - ldr r2, _08142A1C @ =0x00003f42 - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x2 - movs r3, 0xE2 - lsls r3, 3 - adds r0, r3, 0 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0 - strh r0, [r1] - ldr r0, _08142A20 @ =sub_8142A28 - movs r1, 0 - bl CreateTask - ldr r0, _08142A24 @ =sub_8141E4C - bl SetMainCallback2 -_08142A12: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08142A18: .4byte REG_BLDCNT -_08142A1C: .4byte 0x00003f42 -_08142A20: .4byte sub_8142A28 -_08142A24: .4byte sub_8141E4C - thumb_func_end sub_81428CC - - thumb_func_start sub_8142A28 -sub_8142A28: @ 8142A28 - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - movs r0, 0x3 - bl sub_8125EC8 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08142A54 - ldr r0, _08142A4C @ =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - ldr r0, _08142A50 @ =sub_8142FEC - str r0, [r1] - b _08142AEA - .align 2, 0 -_08142A4C: .4byte gTasks -_08142A50: .4byte sub_8142FEC -_08142A54: - ldr r2, _08142A8C @ =0x0201e000 - movs r3, 0 - ldrh r1, [r2, 0x8] - ldr r4, _08142A90 @ =0x000001ff - adds r0, r4, 0 - ands r0, r1 - ldr r7, _08142A94 @ =gTasks - lsls r6, r5, 2 - cmp r0, 0 - beq _08142A7E -_08142A68: - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - adds r2, 0x78 - cmp r3, 0x31 - bhi _08142A98 - ldrh r1, [r2, 0x8] - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0 - bne _08142A68 -_08142A7E: - cmp r3, 0x31 - bhi _08142A98 - adds r0, r6, r5 - lsls r0, 3 - adds r0, r7 - subs r1, r3, 0x1 - b _08142AA0 - .align 2, 0 -_08142A8C: .4byte 0x0201e000 -_08142A90: .4byte 0x000001ff -_08142A94: .4byte gTasks -_08142A98: - adds r0, r6, r5 - lsls r0, 3 - adds r0, r7 - movs r1, 0x31 -_08142AA0: - strh r1, [r0, 0x8] - movs r0, 0xA - bl sub_8053108 - ldr r2, _08142AF0 @ =gTasks - adds r1, r6, r5 - lsls r1, 3 - adds r1, r2 - strh r0, [r1, 0xA] - movs r3, 0 - ldr r7, _08142AF4 @ =0x0600381a - ldr r4, _08142AF8 @ =0x0600385a -_08142AB8: - lsls r1, r3, 1 - adds r2, r1, r7 - adds r0, r3, 0x3 - strh r0, [r2] - adds r1, r4 - adds r0, 0x11 - strh r0, [r1] - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x10 - bls _08142AB8 - ldr r4, _08142AFC @ =gWindowConfig_81E7198 - adds r0, r4, 0 - bl SetUpWindowConfig - adds r0, r4, 0 - bl InitMenuWindow - ldr r1, _08142AF0 @ =gTasks - adds r0, r6, r5 - lsls r0, 3 - adds r0, r1 - ldr r1, _08142B00 @ =sub_8142B04 - str r1, [r0] -_08142AEA: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08142AF0: .4byte gTasks -_08142AF4: .4byte 0x0600381a -_08142AF8: .4byte 0x0600385a -_08142AFC: .4byte gWindowConfig_81E7198 -_08142B00: .4byte sub_8142B04 - thumb_func_end sub_8142A28 - - thumb_func_start sub_8142B04 -sub_8142B04: @ 8142B04 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r3, _08142BB8 @ =0x0201e000 - movs r5, 0 - ldr r1, _08142BBC @ =gTasks - lsls r0, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r2, 0x8 - ldrsh r0, [r0, r2] - adds r6, r1, 0 - ldr r2, _08142BC0 @ =gUnknown_0203931C - cmp r5, r0 - bge _08142B3E - adds r1, r0, 0 -_08142B32: - adds r3, 0x78 - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, r1 - blt _08142B32 -_08142B3E: - adds r4, r3, 0 - movs r0, 0 - str r0, [r2] - mov r5, r8 - lsls r2, r5, 2 - adds r1, r2, r5 - lsls r1, 3 - adds r1, r6 - strh r0, [r1, 0xC] - strh r0, [r1, 0x10] - movs r5, 0 - str r2, [sp, 0xC] - ldr r6, _08142BC4 @ =0x000001ff - adds r2, r1, 0 -_08142B5A: - ldrh r1, [r4, 0x8] - adds r0, r6, 0 - ands r0, r1 - cmp r0, 0 - beq _08142B6A - ldrh r0, [r2, 0x10] - adds r0, 0x1 - strh r0, [r2, 0x10] -_08142B6A: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - adds r4, 0x14 - cmp r5, 0x5 - bls _08142B5A - adds r4, r3, 0 - movs r5, 0 - ldr r1, _08142BBC @ =gTasks - ldr r0, [sp, 0xC] - add r0, r8 - lsls r7, r0, 3 - adds r6, r7, r1 - str r6, [sp, 0x8] - adds r1, 0x8 - mov r9, r1 - ldr r0, _08142BC8 @ =gUnknown_0840B564 - mov r10, r0 -_08142B8E: - ldrh r1, [r4, 0x8] - ldr r2, _08142BC4 @ =0x000001ff - adds r0, r2, 0 - ands r0, r1 - adds r6, r1, 0 - cmp r0, 0 - beq _08142C30 - ldr r1, [sp, 0x8] - movs r2, 0x10 - ldrsh r0, [r1, r2] - cmp r0, 0x3 - ble _08142BD4 - lsls r1, r5, 3 - ldr r0, _08142BCC @ =gUnknown_0840B534 - adds r0, 0x4 - adds r0, r1, r0 - ldrh r3, [r0] - ldr r0, _08142BD0 @ =gUnknown_0840B53A - adds r1, r0 - b _08142BE2 - .align 2, 0 -_08142BB8: .4byte 0x0201e000 -_08142BBC: .4byte gTasks -_08142BC0: .4byte gUnknown_0203931C -_08142BC4: .4byte 0x000001ff -_08142BC8: .4byte gUnknown_0840B564 -_08142BCC: .4byte gUnknown_0840B534 -_08142BD0: .4byte gUnknown_0840B53A -_08142BD4: - lsls r1, r5, 3 - mov r0, r10 - adds r0, 0x4 - adds r0, r1, r0 - ldrh r3, [r0] - ldr r2, _08142C28 @ =gUnknown_0840B56A - adds r1, r2 -_08142BE2: - ldrh r2, [r1] - lsls r0, r6, 23 - lsrs r0, 23 - lsls r1, r3, 16 - asrs r1, 16 - lsls r2, 16 - asrs r2, 16 - ldr r3, [r4] - str r3, [sp] - ldr r3, [r4, 0x4] - str r3, [sp, 0x4] - adds r3, r5, 0 - bl sub_81436BC - lsls r0, 16 - lsrs r0, 16 - ldr r2, _08142C2C @ =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r3, [r1, 0x5] - movs r6, 0xD - negs r6, r6 - adds r2, r6, 0 - ands r3, r2 - movs r2, 0x4 - orrs r3, r2 - strb r3, [r1, 0x5] - adds r1, r5, 0x5 - lsls r1, 1 - adds r1, r7 - add r1, r9 - strh r0, [r1] - b _08142C3C - .align 2, 0 -_08142C28: .4byte gUnknown_0840B56A -_08142C2C: .4byte gSprites -_08142C30: - adds r0, r5, 0x5 - lsls r0, 1 - adds r0, r7 - add r0, r9 - movs r1, 0xFF - strh r1, [r0] -_08142C3C: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - adds r4, 0x14 - cmp r5, 0x5 - bls _08142B8E - ldr r0, _08142CB0 @ =0xffff0000 - ldr r2, _08142CB4 @ =0x0000735f - movs r1, 0xC - bl BlendPalettes - ldr r3, _08142CB8 @ =gStringVar1 - ldr r1, _08142CBC @ =gMenuText_HOFNumber - adds r0, r3, 0 - bl StringCopy - adds r3, r0, 0 - movs r5, 0xFC - strb r5, [r3] - movs r0, 0x14 - strb r0, [r3, 0x1] - movs r0, 0x6 - strb r0, [r3, 0x2] - adds r3, 0x3 - ldr r0, _08142CC0 @ =gTasks - ldr r4, [sp, 0xC] - add r4, r8 - lsls r4, 3 - adds r4, r0 - movs r0, 0xA - ldrsh r1, [r4, r0] - adds r0, r3, 0 - bl ConvertIntToDecimalString - adds r3, r0, 0 - strb r5, [r3] - movs r0, 0x13 - strb r0, [r3, 0x1] - movs r0, 0xF0 - strb r0, [r3, 0x2] - movs r0, 0xFF - strb r0, [r3, 0x3] - ldr r0, _08142CB8 @ =gStringVar1 - movs r1, 0 - movs r2, 0 - bl MenuPrint - ldr r0, _08142CC4 @ =sub_8142CC8 - str r0, [r4] - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08142CB0: .4byte 0xffff0000 -_08142CB4: .4byte 0x0000735f -_08142CB8: .4byte gStringVar1 -_08142CBC: .4byte gMenuText_HOFNumber -_08142CC0: .4byte gTasks -_08142CC4: .4byte sub_8142CC8 - thumb_func_end sub_8142B04 - - thumb_func_start sub_8142CC8 -sub_8142CC8: @ 8142CC8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _08142DD0 @ =0x0201e000 - mov r8, r0 - movs r3, 0 - ldr r1, _08142DD4 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r2, 0x8 - ldrsh r0, [r0, r2] - cmp r3, r0 - bge _08142CFE - adds r1, r0, 0 -_08142CF0: - movs r0, 0x78 - add r8, r0 - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, r1 - blt _08142CF0 -_08142CFE: - movs r3, 0 - lsls r6, r4, 2 - adds r0, r6, r4 - lsls r5, r0, 3 - ldr r1, _08142DD8 @ =gTasks + 0x8 - mov r10, r1 - ldr r2, _08142DDC @ =gSprites - mov r12, r2 - movs r0, 0xD - negs r0, r0 - mov r9, r0 - movs r7, 0x4 -_08142D16: - adds r0, r3, 0x5 - lsls r0, 1 - adds r0, r5 - add r0, r10 - ldrh r1, [r0] - cmp r1, 0xFF - beq _08142D36 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r12 - ldrb r2, [r0, 0x5] - mov r1, r9 - ands r1, r2 - orrs r1, r7 - strb r1, [r0, 0x5] -_08142D36: - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x5 - bls _08142D16 - adds r1, r6, r4 - lsls r1, 3 - ldr r2, _08142DD4 @ =gTasks - adds r5, r1, r2 - movs r2, 0xC - ldrsh r0, [r5, r2] - adds r0, 0x5 - lsls r0, 1 - adds r0, r1 - ldr r1, _08142DD4 @ =gTasks - adds r1, 0x8 - adds r0, r1 - ldrh r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _08142DDC @ =gSprites - adds r0, r1 - ldrb r2, [r0, 0x5] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - strb r1, [r0, 0x5] - lsrs r1, 4 - movs r0, 0x80 - lsls r0, 9 - lsls r0, r1 - ldr r1, _08142DE0 @ =0xffff0000 - eors r0, r1 - ldr r2, _08142DE4 @ =gUnknown_0203931C - str r0, [r2] - ldr r2, _08142DE8 @ =0x0000735f - movs r1, 0xC - bl BlendPalettesUnfaded - movs r0, 0xC - ldrsh r1, [r5, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - mov r1, r8 - adds r4, r1, r0 - ldrh r1, [r4, 0x8] - ldr r0, _08142DEC @ =0x000001ff - ands r0, r1 - movs r1, 0xCE - lsls r1, 1 - cmp r0, r1 - beq _08142DB2 - bl StopCryAndClearCrySongs - ldrh r0, [r4, 0x8] - lsls r0, 23 - lsrs r0, 23 - movs r1, 0 - bl PlayCry1 -_08142DB2: - adds r0, r4, 0 - movs r1, 0 - movs r2, 0xE - bl sub_8143088 - ldr r0, _08142DF0 @ =sub_8142DF4 - str r0, [r5] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08142DD0: .4byte 0x0201e000 -_08142DD4: .4byte gTasks -_08142DD8: .4byte gTasks + 0x8 -_08142DDC: .4byte gSprites -_08142DE0: .4byte 0xffff0000 -_08142DE4: .4byte gUnknown_0203931C -_08142DE8: .4byte 0x0000735f -_08142DEC: .4byte 0x000001ff -_08142DF0: .4byte sub_8142DF4 - thumb_func_end sub_8142CC8 - - thumb_func_start sub_8142DF4 -sub_8142DF4: @ 8142DF4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r1, _08142E88 @ =gMain - ldrh r2, [r1, 0x2E] - movs r0, 0x1 - ands r0, r2 - adds r3, r1, 0 - cmp r0, 0 - beq _08142EC4 - ldr r7, _08142E8C @ =gTasks - lsls r0, r6, 2 - adds r1, r0, r6 - lsls r3, r1, 3 - adds r4, r3, r7 - ldrh r2, [r4, 0x8] - movs r5, 0x8 - ldrsh r1, [r4, r5] - mov r8, r0 - cmp r1, 0 - beq _08142E98 - subs r0, r2, 0x1 - strh r0, [r4, 0x8] - movs r5, 0 - adds r7, 0x8 - mov r9, r7 - adds r7, r3, 0 -_08142E30: - adds r0, r5, 0x5 - lsls r0, 1 - adds r0, r7 - add r0, r9 - ldrb r1, [r0] - cmp r1, 0xFF - beq _08142E5E - ldr r0, _08142E90 @ =gSprites - lsls r4, r1, 4 - adds r4, r1 - lsls r4, 2 - adds r4, r0 - ldrb r0, [r4, 0x5] - lsrs r0, 4 - bl GetSpritePaletteTagByPaletteNum - lsls r0, 16 - lsrs r0, 16 - bl FreeSpritePaletteByTag - adds r0, r4, 0 - bl DestroySprite -_08142E5E: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x5 - bls _08142E30 - ldr r0, _08142E8C @ =gTasks - mov r2, r8 - adds r1, r2, r6 - lsls r1, 3 - adds r1, r0 - ldrh r2, [r1, 0xA] - movs r3, 0xA - ldrsh r0, [r1, r3] - cmp r0, 0 - beq _08142E80 - subs r0, r2, 0x1 - strh r0, [r1, 0xA] -_08142E80: - ldr r0, _08142E94 @ =sub_8142B04 - str r0, [r1] - b _08142F64 - .align 2, 0 -_08142E88: .4byte gMain -_08142E8C: .4byte gTasks -_08142E90: .4byte gSprites -_08142E94: .4byte sub_8142B04 -_08142E98: - bl IsCryPlayingOrClearCrySongs - lsls r0, 24 - cmp r0, 0 - beq _08142EB2 - bl StopCryAndClearCrySongs - ldr r0, _08142EB8 @ =gMPlay_BGM - ldr r1, _08142EBC @ =0x0000ffff - movs r2, 0x80 - lsls r2, 1 - bl m4aMPlayVolumeControl -_08142EB2: - ldr r0, _08142EC0 @ =sub_8142F78 - str r0, [r4] - b _08142F64 - .align 2, 0 -_08142EB8: .4byte gMPlay_BGM -_08142EBC: .4byte 0x0000ffff -_08142EC0: .4byte sub_8142F78 -_08142EC4: - movs r0, 0x2 - ands r0, r2 - cmp r0, 0 - beq _08142F08 - bl IsCryPlayingOrClearCrySongs - lsls r0, 24 - cmp r0, 0 - beq _08142EE6 - bl StopCryAndClearCrySongs - ldr r0, _08142EF8 @ =gMPlay_BGM - ldr r1, _08142EFC @ =0x0000ffff - movs r2, 0x80 - lsls r2, 1 - bl m4aMPlayVolumeControl -_08142EE6: - ldr r0, _08142F00 @ =gTasks - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r0 - ldr r0, _08142F04 @ =sub_8142F78 - str r0, [r1] - b _08142F64 - .align 2, 0 -_08142EF8: .4byte gMPlay_BGM -_08142EFC: .4byte 0x0000ffff -_08142F00: .4byte gTasks -_08142F04: .4byte sub_8142F78 -_08142F08: - movs r0, 0x40 - ands r0, r2 - cmp r0, 0 - beq _08142F38 - ldr r0, _08142F30 @ =gTasks - lsls r1, r6, 2 - adds r1, r6 - lsls r1, 3 - adds r1, r0 - ldrh r2, [r1, 0xC] - movs r4, 0xC - ldrsh r0, [r1, r4] - cmp r0, 0 - beq _08142F38 - subs r0, r2, 0x1 - strh r0, [r1, 0xC] - ldr r0, _08142F34 @ =sub_8142CC8 - str r0, [r1] - b _08142F64 - .align 2, 0 -_08142F30: .4byte gTasks -_08142F34: .4byte sub_8142CC8 -_08142F38: - ldrh r1, [r3, 0x2E] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08142F64 - ldr r1, _08142F70 @ =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r2, r0, r1 - movs r5, 0xC - ldrsh r1, [r2, r5] - movs r3, 0x10 - ldrsh r0, [r2, r3] - subs r0, 0x1 - cmp r1, r0 - bge _08142F64 - ldrh r0, [r2, 0xC] - adds r0, 0x1 - strh r0, [r2, 0xC] - ldr r0, _08142F74 @ =sub_8142CC8 - str r0, [r2] -_08142F64: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08142F70: .4byte gTasks -_08142F74: .4byte sub_8142CC8 - thumb_func_end sub_8142DF4 - - thumb_func_start sub_8142F78 -sub_8142F78: @ 8142F78 - push {r4-r6,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _08142FB4 @ =gPlttBufferFaded - ldr r1, _08142FB8 @ =gPlttBufferUnfaded - movs r2, 0x80 - lsls r2, 2 - bl CpuSet - ldr r0, _08142FBC @ =0x0201c000 - adds r2, r0, 0 - ldr r1, _08142FC0 @ =gUnknown_0840B57C - ldm r1!, {r3,r5,r6} - stm r2!, {r3,r5,r6} - ldm r1!, {r3,r5} - stm r2!, {r3,r5} - bl sub_80C5E38 - ldr r1, _08142FC4 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _08142FC8 @ =sub_8142FCC - str r1, [r0] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08142FB4: .4byte gPlttBufferFaded -_08142FB8: .4byte gPlttBufferUnfaded -_08142FBC: .4byte 0x0201c000 -_08142FC0: .4byte gUnknown_0840B57C -_08142FC4: .4byte gTasks -_08142FC8: .4byte sub_8142FCC - thumb_func_end sub_8142F78 - - thumb_func_start sub_8142FCC -sub_8142FCC: @ 8142FCC - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_80C5F98 - lsls r0, 24 - cmp r0, 0 - beq _08142FE6 - adds r0, r4, 0 - bl DestroyTask - bl ReturnFromHallOfFamePC -_08142FE6: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8142FCC - - thumb_func_start sub_8142FEC -sub_8142FEC: @ 8142FEC - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x2 - movs r1, 0xE - movs r2, 0x1B - movs r3, 0x13 - bl MenuDrawTextWindow - ldr r0, _08143020 @ =gMenuText_HOFCorrupt - movs r1, 0x3 - movs r2, 0xF - bl MenuPrintMessage - ldr r1, _08143024 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _08143028 @ =sub_814302C - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08143020: .4byte gMenuText_HOFCorrupt -_08143024: .4byte gTasks -_08143028: .4byte sub_814302C - thumb_func_end sub_8142FEC - - thumb_func_start sub_814302C -sub_814302C: @ 814302C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl MenuUpdateWindowText - lsls r0, 24 - cmp r0, 0 - beq _08143056 - ldr r0, _0814305C @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08143056 - ldr r0, _08143060 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _08143064 @ =sub_8142F78 - str r0, [r1] -_08143056: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0814305C: .4byte gMain -_08143060: .4byte gTasks -_08143064: .4byte sub_8142F78 - thumb_func_end sub_814302C - - thumb_func_start sub_8143068 -sub_8143068: @ 8143068 - push {lr} - lsls r2, r1, 24 - ldr r0, _08143084 @ =gMenuText_WelcomeToHOFAndDexRating - movs r1, 0x80 - lsls r1, 17 - adds r2, r1 - lsrs r2, 24 - movs r1, 0 - movs r3, 0xF0 - bl sub_8072BD8 - pop {r0} - bx r0 - .align 2, 0 -_08143084: .4byte gMenuText_WelcomeToHOFAndDexRating - thumb_func_end sub_8143068 - - thumb_func_start sub_8143088 -sub_8143088: @ 8143088 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - mov r9, r0 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - lsls r2, 24 - lsrs r2, 24 - mov r10, r2 - ldr r7, _08143188 @ =gStringVar1 - movs r0, 0xFC - strb r0, [r7] - movs r0, 0x13 - strb r0, [r7, 0x1] - movs r0, 0x28 - strb r0, [r7, 0x2] - movs r0, 0xFF - strb r0, [r7, 0x3] - mov r0, r9 - ldrh r2, [r0, 0x8] - ldr r0, _0814318C @ =0x000001ff - ands r0, r2 - movs r1, 0xCE - lsls r1, 1 - cmp r0, r1 - beq _081430EA - lsls r0, r2, 23 - lsrs r0, 23 - bl SpeciesToPokedexNum - lsls r0, 16 - lsrs r6, r0, 16 - ldr r0, _08143190 @ =0x0000ffff - cmp r6, r0 - beq _081430EA - ldr r1, _08143194 @ =gOtherText_Number2 - adds r0, r7, 0 - bl StringCopy - adds r7, r0, 0 - adds r1, r6, 0 - movs r2, 0x2 - movs r3, 0x3 - bl ConvertIntToDecimalStringN -_081430EA: - ldr r5, _08143188 @ =gStringVar1 - mov r1, r8 - adds r1, 0x4 - lsls r1, 24 - lsrs r1, 24 - mov r4, r10 - adds r4, 0x1 - lsls r2, r4, 24 - lsrs r2, 24 - adds r0, r5, 0 - bl MenuPrint - adds r7, r5, 0 - movs r3, 0 - mov r1, r9 - ldrb r0, [r1, 0xA] - str r4, [sp] - mov r2, r8 - adds r2, 0x9 - str r2, [sp, 0xC] - mov r6, r10 - adds r6, 0x3 - str r6, [sp, 0x8] - cmp r0, 0xFF - beq _0814313A - mov r2, r9 - adds r2, 0xA -_08143120: - adds r1, r7, r3 - adds r0, r2, r3 - ldrb r0, [r0] - strb r0, [r1] - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x9 - bhi _0814313A - adds r0, r2, r3 - ldrb r0, [r0] - cmp r0, 0xFF - bne _08143120 -_0814313A: - adds r7, r3 - movs r2, 0xFF - strb r2, [r7] - mov r1, r9 - ldrh r0, [r1, 0x8] - ldr r1, _0814318C @ =0x000001ff - ands r1, r0 - movs r0, 0xCE - lsls r0, 1 - cmp r1, r0 - bne _08143198 - movs r0, 0xFC - strb r0, [r7] - movs r0, 0x13 - strb r0, [r7, 0x1] - movs r0, 0xA0 - strb r0, [r7, 0x2] - strb r2, [r7, 0x3] - ldr r0, _08143188 @ =gStringVar1 - ldr r2, [sp, 0xC] - lsls r1, r2, 24 - lsrs r1, 24 - ldr r3, [sp] - lsls r2, r3, 24 - lsrs r2, 24 - bl MenuPrint - ldr r6, [sp, 0x8] - lsls r1, r6, 24 - lsrs r1, 24 - mov r3, r10 - adds r3, 0x4 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0 - movs r2, 0x1D - bl MenuZeroFillWindowRect - b _081432E4 - .align 2, 0 -_08143188: .4byte gStringVar1 -_0814318C: .4byte 0x000001ff -_08143190: .4byte 0x0000ffff -_08143194: .4byte gOtherText_Number2 -_08143198: - movs r0, 0xFC - strb r0, [r7] - movs r0, 0x13 - strb r0, [r7, 0x1] - movs r0, 0x3E - strb r0, [r7, 0x2] - adds r7, 0x3 - movs r0, 0xBA - strb r0, [r7] - adds r7, 0x1 - movs r3, 0 - ldr r2, _08143238 @ =gSpeciesNames - mov r1, r9 - ldrh r0, [r1, 0x8] - lsls r0, 23 - lsrs r0, 23 - movs r1, 0xB - muls r0, r1 - adds r0, r2 - ldrb r0, [r0] - mov r6, r8 - adds r6, 0x7 - str r6, [sp, 0x4] - mov r1, r8 - adds r1, 0xD - str r1, [sp, 0x10] - cmp r0, 0xFF - beq _08143204 - adds r5, r2, 0 - movs r4, 0xB -_081431D4: - adds r1, r7, r3 - mov r6, r9 - ldrh r0, [r6, 0x8] - lsls r0, 23 - lsrs r0, 23 - muls r0, r4 - adds r0, r3, r0 - adds r0, r5 - ldrb r0, [r0] - strb r0, [r1] - adds r0, r3, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - cmp r3, 0x9 - bhi _08143204 - ldrh r0, [r6, 0x8] - lsls r0, 23 - lsrs r0, 23 - muls r0, r4 - adds r0, r3, r0 - adds r0, r2 - ldrb r0, [r0] - cmp r0, 0xFF - bne _081431D4 -_08143204: - adds r7, r3 - movs r0, 0 - strb r0, [r7] - adds r7, 0x1 - mov r1, r9 - ldrh r0, [r1, 0x8] - ldr r1, _0814323C @ =0x000001ff - ands r1, r0 - cmp r1, 0x20 - beq _0814324A - cmp r1, 0x1D - beq _0814324A - lsls r0, 23 - lsrs r0, 23 - mov r2, r9 - ldr r1, [r2, 0x4] - bl GetGenderFromSpeciesAndPersonality - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _08143240 - cmp r0, 0xFE - beq _08143244 - b _0814324A - .align 2, 0 -_08143238: .4byte gSpeciesNames -_0814323C: .4byte 0x000001ff -_08143240: - movs r0, 0xB5 - b _08143246 -_08143244: - movs r0, 0xB6 -_08143246: - strb r0, [r7] - adds r7, 0x1 -_0814324A: - movs r4, 0xFC - strb r4, [r7] - movs r3, 0x13 - mov r8, r3 - strb r3, [r7, 0x1] - movs r0, 0xA0 - strb r0, [r7, 0x2] - movs r6, 0xFF - mov r10, r6 - strb r6, [r7, 0x3] - ldr r5, _081432F4 @ =gStringVar1 - ldr r0, [sp, 0xC] - lsls r1, r0, 24 - lsrs r1, 24 - ldr r3, [sp] - lsls r2, r3, 24 - lsrs r2, 24 - adds r0, r5, 0 - bl MenuPrint - mov r6, r9 - ldrb r0, [r6, 0x9] - lsrs r6, r0, 1 - ldr r1, _081432F8 @ =gOtherText_Level3 - adds r0, r5, 0 - bl StringCopy - adds r7, r0, 0 - strb r4, [r7] - movs r0, 0x14 - strb r0, [r7, 0x1] - movs r0, 0x6 - strb r0, [r7, 0x2] - adds r7, 0x3 - adds r0, r7, 0 - adds r1, r6, 0 - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - adds r7, r0, 0 - strb r4, [r7] - mov r0, r8 - strb r0, [r7, 0x1] - movs r0, 0x30 - strb r0, [r7, 0x2] - mov r1, r10 - strb r1, [r7, 0x3] - ldr r2, [sp, 0x4] - lsls r1, r2, 24 - lsrs r1, 24 - ldr r3, [sp, 0x8] - lsls r4, r3, 24 - lsrs r4, 24 - adds r0, r5, 0 - adds r2, r4, 0 - bl MenuPrint - mov r0, r9 - ldrh r6, [r0] - ldr r1, _081432FC @ =gOtherText_IDNumber - adds r0, r5, 0 - bl StringCopy - adds r7, r0, 0 - adds r1, r6, 0 - movs r2, 0x2 - movs r3, 0x5 - bl ConvertIntToDecimalStringN - ldr r2, [sp, 0x10] - lsls r1, r2, 24 - lsrs r1, 24 - adds r0, r5, 0 - adds r2, r4, 0 - bl MenuPrint -_081432E4: - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081432F4: .4byte gStringVar1 -_081432F8: .4byte gOtherText_Level3 -_081432FC: .4byte gOtherText_IDNumber - thumb_func_end sub_8143088 - - thumb_func_start sub_8143300 -sub_8143300: @ 8143300 - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - adds r5, r0, 0 - adds r4, r1, 0 - lsls r5, 24 - lsls r4, 24 - ldr r0, _081433CC @ =gOtherText_Name - lsrs r1, r5, 24 - mov r8, r1 - movs r2, 0x80 - lsls r2, 17 - adds r5, r2 - lsrs r5, 24 - lsrs r6, r4, 24 - adds r4, r2 - lsrs r4, 24 - adds r1, r5, 0 - adds r2, r4, 0 - bl MenuPrint - ldr r0, _081433D0 @ =gSaveBlock2 - mov r10, r0 - movs r1, 0xE - add r8, r1 - mov r2, r8 - lsls r2, 24 - lsrs r2, 24 - mov r8, r2 - mov r1, r8 - adds r2, r4, 0 - bl MenuPrint_RightAligned - ldr r0, _081433D4 @ =gOtherText_IDNumber2 - adds r4, r6, 0x3 - lsls r4, 24 - lsrs r4, 24 - adds r1, r5, 0 - adds r2, r4, 0 - bl MenuPrint - mov r0, r10 - ldrb r1, [r0, 0xA] - ldrb r0, [r0, 0xB] - lsls r0, 8 - orrs r1, r0 - ldr r2, _081433D8 @ =gStringVar1 - mov r9, r2 - mov r0, r9 - movs r2, 0x2 - movs r3, 0x5 - bl ConvertIntToDecimalStringN - mov r0, r9 - mov r1, r8 - adds r2, r4, 0 - bl MenuPrint_RightAligned - ldr r0, _081433DC @ =gMainMenuString_Time - adds r6, 0x5 - lsls r6, 24 - lsrs r6, 24 - adds r1, r5, 0 - adds r2, r6, 0 - bl MenuPrint - mov r0, r10 - ldrh r1, [r0, 0xE] - mov r0, r9 - bl ConvertIntToDecimalString - adds r2, r0, 0 - movs r1, 0 - strb r1, [r2] - movs r0, 0xF0 - strb r0, [r2, 0x1] - strb r1, [r2, 0x2] - adds r2, 0x3 - mov r0, r10 - ldrb r1, [r0, 0x10] - adds r0, r2, 0 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - adds r2, r0, 0 - movs r0, 0xFF - strb r0, [r2] - mov r0, r9 - mov r1, r8 - adds r2, r6, 0 - bl MenuPrint_RightAligned - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_081433CC: .4byte gOtherText_Name -_081433D0: .4byte gSaveBlock2 -_081433D4: .4byte gOtherText_IDNumber2 -_081433D8: .4byte gStringVar1 -_081433DC: .4byte gMainMenuString_Time - thumb_func_end sub_8143300 - - thumb_func_start sub_81433E0 -sub_81433E0: @ 81433E0 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x8 - movs r0, 0x80 - lsls r0, 19 - movs r1, 0 - strh r1, [r0] - adds r0, 0x8 - strh r1, [r0] - adds r0, 0x8 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - subs r0, 0x8 - strh r1, [r0] - adds r0, 0xA - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - subs r0, 0xA - strh r1, [r0] - adds r0, 0xC - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - subs r0, 0xC - strh r1, [r0] - adds r0, 0xE - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - movs r3, 0xC0 - lsls r3, 19 - movs r4, 0xC0 - lsls r4, 9 - add r0, sp, 0x4 - mov r8, r0 - ldr r1, _0814354C @ =gHallOfFame_Gfx - mov r9, r1 - mov r2, sp - movs r6, 0 - ldr r1, _08143550 @ =0x040000d4 - movs r5, 0x80 - lsls r5, 5 - ldr r7, _08143554 @ =0x81000800 - movs r0, 0x81 - lsls r0, 24 - mov r12, r0 -_08143444: - strh r6, [r2] - mov r0, sp - str r0, [r1] - str r3, [r1, 0x4] - str r7, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r3, r5 - subs r4, r5 - cmp r4, r5 - bhi _08143444 - strh r6, [r2] - mov r2, sp - str r2, [r1] - str r3, [r1, 0x4] - lsrs r0, r4, 1 - mov r2, r12 - orrs r0, r2 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r0, 0xE0 - lsls r0, 19 - movs r3, 0x80 - lsls r3, 3 - movs r4, 0 - str r4, [sp, 0x4] - ldr r2, _08143550 @ =0x040000d4 - mov r1, r8 - str r1, [r2] - str r0, [r2, 0x4] - lsrs r0, r3, 2 - movs r1, 0x85 - lsls r1, 24 - orrs r0, r1 - str r0, [r2, 0x8] - ldr r0, [r2, 0x8] - movs r1, 0xA0 - lsls r1, 19 - mov r0, sp - strh r4, [r0] - str r0, [r2] - str r1, [r2, 0x4] - lsrs r3, 1 - movs r0, 0x81 - lsls r0, 24 - orrs r3, r0 - str r3, [r2, 0x8] - ldr r0, [r2, 0x8] - movs r1, 0xC0 - lsls r1, 19 - mov r0, r9 - bl LZ77UnCompVram - movs r1, 0 - ldr r3, _08143558 @ =0x06003800 - movs r2, 0x1 -_081434B2: - lsls r0, r1, 1 - adds r0, r3 - strh r2, [r0] - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0x3F - bls _081434B2 - movs r1, 0 - ldr r5, _0814355C @ =0x02000000 - ldr r3, _08143560 @ =0x06003b80 - movs r2, 0x1 -_081434CA: - lsls r0, r1, 1 - adds r0, r3 - strh r2, [r0] - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, 0xBF - bls _081434CA - movs r1, 0 - ldr r4, _08143564 @ =0x06003000 - movs r3, 0x2 - ldr r2, _08143568 @ =0x000003ff -_081434E2: - lsls r0, r1, 1 - adds r0, r4 - strh r3, [r0] - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, r2 - bls _081434E2 - adds r2, r5, 0 - movs r3, 0x80 - lsls r3, 7 - mov r4, sp - movs r6, 0 - ldr r1, _08143550 @ =0x040000d4 - movs r5, 0x80 - lsls r5, 5 - ldr r7, _08143554 @ =0x81000800 - movs r0, 0x81 - lsls r0, 24 - mov r12, r0 -_0814350A: - strh r6, [r4] - mov r0, sp - str r0, [r1] - str r2, [r1, 0x4] - str r7, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r2, r5 - subs r3, r5 - cmp r3, r5 - bhi _0814350A - strh r6, [r4] - mov r0, sp - str r0, [r1] - str r2, [r1, 0x4] - lsrs r0, r3, 1 - mov r2, r12 - orrs r0, r2 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - bl ResetPaletteFade - ldr r0, _0814356C @ =gHallOfFame_Pal - movs r1, 0 - movs r2, 0x20 - bl LoadPalette - add sp, 0x8 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0814354C: .4byte gHallOfFame_Gfx -_08143550: .4byte 0x040000d4 -_08143554: .4byte 0x81000800 -_08143558: .4byte 0x06003800 -_0814355C: .4byte 0x02000000 -_08143560: .4byte 0x06003b80 -_08143564: .4byte 0x06003000 -_08143568: .4byte 0x000003ff -_0814356C: .4byte gHallOfFame_Pal - thumb_func_end sub_81433E0 - - thumb_func_start sub_8143570 -sub_8143570: @ 8143570 - push {r4,lr} - bl remove_some_task - bl ResetTasks - bl ResetSpriteData - bl FreeAllSpritePalettes - ldr r1, _081435A8 @ =gReservedSpritePaletteCount - movs r0, 0x8 - strb r0, [r1] - ldr r0, _081435AC @ =gUnknown_0840B514 - bl LoadCompressedObjectPic - ldr r0, _081435B0 @ =gUnknown_0840B524 - bl LoadCompressedObjectPalette - ldr r4, _081435B4 @ =gWindowConfig_81E71B4 - adds r0, r4, 0 - bl SetUpWindowConfig - adds r0, r4, 0 - bl InitMenuWindow - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081435A8: .4byte gReservedSpritePaletteCount -_081435AC: .4byte gUnknown_0840B514 -_081435B0: .4byte gUnknown_0840B524 -_081435B4: .4byte gWindowConfig_81E71B4 - thumb_func_end sub_8143570 - - thumb_func_start sub_81435B8 -sub_81435B8: @ 81435B8 - ldr r1, _081435D8 @ =REG_BG1CNT - movs r2, 0xE0 - lsls r2, 3 - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x4 - subs r2, 0xFD - adds r0, r2, 0 - strh r0, [r1] - subs r1, 0xE - movs r2, 0xDA - lsls r2, 5 - adds r0, r2, 0 - strh r0, [r1] - bx lr - .align 2, 0 -_081435D8: .4byte REG_BG1CNT - thumb_func_end sub_81435B8 - - thumb_func_start sub_81435DC -sub_81435DC: @ 81435DC - push {r4,lr} - adds r2, r0, 0 - ldr r1, [r2, 0x20] - ldr r0, [r2, 0x30] - cmp r1, r0 - beq _08143632 - ldrh r3, [r2, 0x20] - movs r1, 0x20 - ldrsh r0, [r2, r1] - movs r4, 0x30 - ldrsh r1, [r2, r4] - cmp r0, r1 - bge _081435FC - adds r0, r3, 0 - adds r0, 0xF - strh r0, [r2, 0x20] -_081435FC: - ldrh r3, [r2, 0x20] - movs r4, 0x20 - ldrsh r0, [r2, r4] - cmp r0, r1 - ble _0814360C - adds r0, r3, 0 - subs r0, 0xF - strh r0, [r2, 0x20] -_0814360C: - ldrh r3, [r2, 0x22] - movs r1, 0x22 - ldrsh r0, [r2, r1] - movs r4, 0x32 - ldrsh r1, [r2, r4] - cmp r0, r1 - bge _08143620 - adds r0, r3, 0 - adds r0, 0xA - strh r0, [r2, 0x22] -_08143620: - ldrh r3, [r2, 0x22] - movs r4, 0x22 - ldrsh r0, [r2, r4] - cmp r0, r1 - ble _0814363A - adds r0, r3, 0 - subs r0, 0xA - strh r0, [r2, 0x22] - b _0814363A -_08143632: - movs r0, 0x1 - strh r0, [r2, 0x2E] - ldr r0, _08143640 @ =nullsub_81 - str r0, [r2, 0x1C] -_0814363A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08143640: .4byte nullsub_81 - thumb_func_end sub_81435DC - - thumb_func_start nullsub_81 -nullsub_81: @ 8143644 - bx lr - thumb_func_end nullsub_81 - - thumb_func_start sub_8143648 -sub_8143648: @ 8143648 - push {r4-r7,lr} - lsls r1, 24 - ldr r4, _08143670 @ =gUnknown_02024E8C - adds r3, r4, 0 - ldr r2, _08143674 @ =gUnknown_0840B6B8 - ldm r2!, {r5-r7} - stm r3!, {r5-r7} - ldm r2!, {r5-r7} - stm r3!, {r5-r7} - strh r0, [r4, 0x2] - ldr r0, _08143678 @ =gUnknown_0840B69C - lsrs r1, 22 - adds r1, r0 - ldr r0, [r1] - str r0, [r4, 0xC] - ldr r0, _0814367C @ =gSpriteAnimTable_81E7C64 - str r0, [r4, 0x8] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08143670: .4byte gUnknown_02024E8C -_08143674: .4byte gUnknown_0840B6B8 -_08143678: .4byte gUnknown_0840B69C -_0814367C: .4byte gSpriteAnimTable_81E7C64 - thumb_func_end sub_8143648 - - thumb_func_start sub_8143680 -sub_8143680: @ 8143680 - push {r4-r7,lr} - lsls r1, 24 - ldr r4, _081436AC @ =gUnknown_02024E8C - adds r3, r4, 0 - ldr r2, _081436B0 @ =gUnknown_0840B6B8 - ldm r2!, {r5-r7} - stm r3!, {r5-r7} - ldm r2!, {r5-r7} - stm r3!, {r5-r7} - strh r0, [r4, 0x2] - ldr r0, _081436B4 @ =gUnknown_0840B69C - lsrs r1, 22 - adds r1, r0 - ldr r0, [r1] - str r0, [r4, 0xC] - ldr r0, _081436B8 @ =gUnknown_081EC2A4 - ldr r0, [r0] - str r0, [r4, 0x8] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081436AC: .4byte gUnknown_02024E8C -_081436B0: .4byte gUnknown_0840B6B8 -_081436B4: .4byte gUnknown_0840B69C -_081436B8: .4byte gUnknown_081EC2A4 - thumb_func_end sub_8143680 - - thumb_func_start sub_81436BC -sub_81436BC: @ 81436BC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - adds r6, r0, 0 - mov r9, r1 - mov r10, r2 - mov r8, r3 - ldr r7, [sp, 0x34] - lsls r6, 16 - lsrs r6, 16 - mov r0, r9 - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - mov r1, r10 - lsls r1, 16 - lsrs r1, 16 - mov r10, r1 - mov r2, r8 - lsls r2, 16 - lsrs r2, 16 - mov r8, r2 - lsls r0, r6, 3 - ldr r1, _08143790 @ =gMonFrontPicTable - adds r0, r1 - ldr r1, _08143794 @ =gMonFrontPicCoords - lsls r2, r6, 2 - adds r2, r1 - ldrb r1, [r2] - ldrb r2, [r2, 0x1] - movs r3, 0x80 - lsls r3, 18 - ldr r4, _08143798 @ =gUnknown_0840B5A0 - mov r12, r4 - mov r5, r8 - lsls r4, r5, 2 - add r4, r12 - ldr r4, [r4] - str r4, [sp] - str r6, [sp, 0x4] - str r7, [sp, 0x8] - movs r4, 0x1 - str r4, [sp, 0xC] - bl sub_800D378 - adds r0, r6, 0 - ldr r1, [sp, 0x30] - adds r2, r7, 0 - bl species_and_otid_get_pal - lsls r4, r5, 4 - movs r2, 0x80 - lsls r2, 1 - adds r1, r4, r2 - lsls r1, 16 - lsrs r1, 16 - movs r2, 0x20 - bl LoadCompressedPalette - lsls r1, r5, 24 - lsrs r1, 24 - mov r0, r8 - bl sub_8143648 - ldr r0, _0814379C @ =gUnknown_02024E8C - mov r5, r9 - lsls r5, 16 - asrs r5, 16 - mov r9, r5 - mov r1, r10 - lsls r1, 16 - asrs r1, 16 - mov r10, r1 - movs r3, 0xA - mov r2, r8 - subs r3, r2 - lsls r3, 24 - lsrs r3, 24 - mov r1, r9 - mov r2, r10 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r1, _081437A0 @ =gSprites - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r1 - ldrb r3, [r2, 0x5] - movs r1, 0xF - ands r1, r3 - orrs r1, r4 - strb r1, [r2, 0x5] - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08143790: .4byte gMonFrontPicTable -_08143794: .4byte gMonFrontPicCoords -_08143798: .4byte gUnknown_0840B5A0 -_0814379C: .4byte gUnknown_02024E8C -_081437A0: .4byte gSprites - thumb_func_end sub_81436BC - - thumb_func_start sub_81437A4 -sub_81437A4: @ 81437A4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - mov r9, r1 - mov r10, r2 - adds r6, r3, 0 - lsls r0, 16 - lsrs r0, 16 - lsls r1, 16 - lsrs r1, 16 - mov r9, r1 - lsls r2, 16 - lsrs r2, 16 - mov r10, r2 - lsls r6, 16 - lsrs r6, 16 - lsls r7, r0, 3 - ldr r1, _08143854 @ =gTrainerFrontPicTable - mov r8, r1 - add r8, r7 - ldr r1, _08143858 @ =gTrainerFrontPicCoords - lsls r2, r0, 2 - adds r2, r1 - ldrb r1, [r2] - ldrb r2, [r2, 0x1] - movs r3, 0x80 - lsls r3, 18 - ldr r5, _0814385C @ =gUnknown_0840B5A0 - lsls r4, r6, 2 - adds r4, r5 - ldr r4, [r4] - str r4, [sp] - str r0, [sp, 0x4] - mov r0, r8 - bl DecompressPicFromTable_2 - ldr r0, _08143860 @ =gTrainerFrontPicPaletteTable - adds r0, r7, r0 - ldr r0, [r0] - lsls r4, r6, 4 - movs r2, 0x80 - lsls r2, 1 - adds r1, r4, r2 - lsls r1, 16 - lsrs r1, 16 - movs r2, 0x20 - bl LoadCompressedPalette - lsls r1, r6, 24 - lsrs r1, 24 - adds r0, r6, 0 - bl sub_8143680 - ldr r0, _08143864 @ =gUnknown_02024E8C - mov r1, r9 - lsls r1, 16 - asrs r1, 16 - mov r9, r1 - mov r2, r10 - lsls r2, 16 - asrs r2, 16 - mov r10, r2 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r1, _08143868 @ =gSprites - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r1 - ldrb r3, [r2, 0x5] - movs r1, 0xF - ands r1, r3 - orrs r1, r4 - strb r1, [r2, 0x5] - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08143854: .4byte gTrainerFrontPicTable -_08143858: .4byte gTrainerFrontPicCoords -_0814385C: .4byte gUnknown_0840B5A0 -_08143860: .4byte gTrainerFrontPicPaletteTable -_08143864: .4byte gUnknown_02024E8C -_08143868: .4byte gSprites - thumb_func_end sub_81437A4 - - thumb_func_start sub_814386C -sub_814386C: @ 814386C - push {r4,r5,lr} - adds r5, r0, 0 - ldrh r1, [r5, 0x26] - movs r2, 0x26 - ldrsh r0, [r5, r2] - cmp r0, 0x78 - ble _08143882 - adds r0, r5, 0 - bl DestroySprite - b _081438BA -_08143882: - adds r0, r1, 0x1 - ldrh r1, [r5, 0x30] - adds r0, r1 - strh r0, [r5, 0x26] - ldrh r4, [r5, 0x2E] - lsls r4, 24 - lsrs r4, 24 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x3 - ands r0, r1 - adds r0, 0x8 - ldr r1, _081438C0 @ =gSineTable - lsls r4, 1 - adds r4, r1 - movs r2, 0 - ldrsh r1, [r4, r2] - muls r0, r1 - cmp r0, 0 - bge _081438B0 - adds r0, 0xFF -_081438B0: - asrs r0, 8 - strh r0, [r5, 0x24] - ldrh r0, [r5, 0x2E] - adds r0, 0x4 - strh r0, [r5, 0x2E] -_081438BA: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_081438C0: .4byte gSineTable - thumb_func_end sub_814386C - - thumb_func_start sub_81438C4 -sub_81438C4: @ 81438C4 - push {r4,lr} - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xF0 - bl __umodsi3 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - bl Random - adds r2, r0, 0 - lsls r2, 16 - lsrs r2, 16 - movs r0, 0x7 - ands r2, r0 - negs r2, r2 - ldr r0, _08143934 @ =gSpriteTemplate_840B7A4 - lsls r4, 16 - asrs r4, 16 - lsls r2, 16 - asrs r2, 16 - adds r1, r4, 0 - movs r3, 0 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _08143938 @ =gSprites - adds r4, r1, r0 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x11 - bl __umodsi3 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl StartSpriteAnim - bl Random - movs r1, 0x3 - ands r1, r0 - cmp r1, 0 - beq _0814393C - movs r0, 0 - b _0814393E - .align 2, 0 -_08143934: .4byte gSpriteTemplate_840B7A4 -_08143938: .4byte gSprites -_0814393C: - movs r0, 0x1 -_0814393E: - strh r0, [r4, 0x30] - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81438C4 - - thumb_func_start sub_8143948 -sub_8143948: @ 8143948 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_8143948 - - thumb_func_start sub_814395C -sub_814395C: @ 814395C - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - ldr r0, _081439B8 @ =gMain - ldrh r1, [r0, 0x2C] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _081439B2 - ldr r0, _081439BC @ =gUnknown_02039324 - ldrb r0, [r0] - cmp r0, 0 - beq _081439B2 - ldr r2, _081439C0 @ =gTasks - ldr r0, _081439C4 @ =gUnknown_02039322 - ldrh r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldr r1, [r0] - ldr r0, _081439C8 @ =sub_8143B68 - cmp r1, r0 - bne _081439B2 - bl sub_8143948 - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - ldr r1, _081439CC @ =gUnknown_02039325 - movs r0, 0x1 - strb r0, [r1] -_081439B2: - pop {r0} - bx r0 - .align 2, 0 -_081439B8: .4byte gMain -_081439BC: .4byte gUnknown_02039324 -_081439C0: .4byte gTasks -_081439C4: .4byte gUnknown_02039322 -_081439C8: .4byte sub_8143B68 -_081439CC: .4byte gUnknown_02039325 - thumb_func_end sub_814395C - - thumb_func_start sub_81439D0 -sub_81439D0: @ 81439D0 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - bl sub_8144130 - movs r0, 0 - bl SetVBlankCallback - bl ResetPaletteFade - bl ResetTasks - ldr r0, _08143AF0 @ =sub_8143B38 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r7, r0, 24 - ldr r1, _08143AF4 @ =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x10] - strh r1, [r0, 0x16] - strh r1, [r0, 0x1E] - movs r1, 0x1 - strh r1, [r0, 0x22] -_08143A0E: - movs r0, 0 - adds r1, r7, 0 - bl sub_8144ECC - lsls r0, 24 - cmp r0, 0 - beq _08143A0E - ldr r6, _08143AF4 @ =gTasks - lsls r5, r7, 2 - adds r5, r7 - lsls r5, 3 - adds r5, r6 - movs r0, 0xA - ldrsh r1, [r5, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r6 - movs r1, 0 - mov r9, r1 - movs r2, 0 - mov r8, r2 - movs r1, 0x28 - strh r1, [r0, 0x8] - ldr r4, _08143AF8 @ =gWindowConfig_81E7208 - adds r0, r4, 0 - bl SetUpWindowConfig - adds r0, r4, 0 - bl InitMenuWindow - ldr r0, _08143AFC @ =gUnknown_0840B7BC - movs r1, 0x80 - movs r2, 0x40 - bl LoadPalette - ldr r0, _08143B00 @ =gUnknown_0840B7FC - ldr r1, _08143B04 @ =0x0600bee0 - movs r2, 0x20 - bl CpuSet - ldr r1, _08143B08 @ =REG_BG0VOFS - ldr r2, _08143B0C @ =0x0000fffc - adds r0, r2, 0 - strh r0, [r1] - ldr r0, _08143B10 @ =sub_81441B8 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r6 - strh r7, [r1, 0xA] - strh r0, [r5, 0x26] - movs r0, 0x1 - negs r0, r0 - mov r1, r8 - str r1, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r3, _08143B14 @ =0x04000208 - ldrh r2, [r3] - mov r0, r8 - strh r0, [r3] - ldr r4, _08143B18 @ =0x04000200 - ldrh r0, [r4] - movs r1, 0x1 - orrs r0, r1 - strh r0, [r4] - strh r2, [r3] - ldr r2, _08143B1C @ =REG_DISPSTAT - ldrh r0, [r2] - movs r1, 0x8 - orrs r0, r1 - strh r0, [r2] - ldr r0, _08143B20 @ =sub_8143948 - bl SetVBlankCallback - ldr r0, _08143B24 @ =0x000001c7 - bl m4aSongNumStart - ldr r0, _08143B28 @ =sub_814395C - bl SetMainCallback2 - ldr r0, _08143B2C @ =gUnknown_02039325 - mov r1, r9 - strb r1, [r0] - ldr r4, _08143B30 @ =0x0201c000 - bl sub_81458DC - adds r0, r4, 0 - adds r0, 0x88 - mov r2, r8 - strh r2, [r0] - adds r0, 0x2 - strh r2, [r0] - adds r0, 0x2 - strh r2, [r0] - ldr r0, _08143B34 @ =gUnknown_02039322 - strh r7, [r0] - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08143AF0: .4byte sub_8143B38 -_08143AF4: .4byte gTasks -_08143AF8: .4byte gWindowConfig_81E7208 -_08143AFC: .4byte gUnknown_0840B7BC -_08143B00: .4byte gUnknown_0840B7FC -_08143B04: .4byte 0x0600bee0 -_08143B08: .4byte REG_BG0VOFS -_08143B0C: .4byte 0x0000fffc -_08143B10: .4byte sub_81441B8 -_08143B14: .4byte 0x04000208 -_08143B18: .4byte 0x04000200 -_08143B1C: .4byte REG_DISPSTAT -_08143B20: .4byte sub_8143948 -_08143B24: .4byte 0x000001c7 -_08143B28: .4byte sub_814395C -_08143B2C: .4byte gUnknown_02039325 -_08143B30: .4byte 0x0201c000 -_08143B34: .4byte gUnknown_02039322 - thumb_func_end sub_81439D0 - - thumb_func_start sub_8143B38 -sub_8143B38: @ 8143B38 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, _08143B5C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08143B58 - ldr r0, _08143B60 @ =gTasks - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - ldr r0, _08143B64 @ =sub_8143B68 - str r0, [r1] -_08143B58: - pop {r0} - bx r0 - .align 2, 0 -_08143B5C: .4byte gPaletteFade -_08143B60: .4byte gTasks -_08143B64: .4byte sub_8143B68 - thumb_func_end sub_8143B38 - - thumb_func_start sub_8143B68 -sub_8143B68: @ 8143B68 - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08143B9C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 - movs r0, 0x10 - ldrsh r1, [r4, r0] - cmp r1, 0 - beq _08143BA4 - movs r3, 0xA - ldrsh r1, [r4, r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - movs r1, 0x1E - strh r1, [r0, 0x8] - movs r0, 0x80 - lsls r0, 1 - strh r0, [r4, 0x20] - ldr r0, _08143BA0 @ =sub_8143EBC - b _08143BEE - .align 2, 0 -_08143B9C: .4byte gTasks -_08143BA0: .4byte sub_8143EBC -_08143BA4: - ldr r0, _08143BCC @ =gUnknown_02039320 - strh r1, [r0] - ldrh r2, [r4, 0x1E] - movs r3, 0x1E - ldrsh r0, [r4, r3] - cmp r0, 0x1 - bne _08143BD4 - strh r2, [r4, 0x22] - strh r1, [r4, 0x1E] - movs r0, 0x1 - negs r0, r0 - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, _08143BD0 @ =sub_8143BFC - b _08143BEE - .align 2, 0 -_08143BCC: .4byte gUnknown_02039320 -_08143BD0: .4byte sub_8143BFC -_08143BD4: - cmp r0, 0x2 - bne _08143BF0 - strh r2, [r4, 0x22] - strh r1, [r4, 0x1E] - movs r0, 0x1 - negs r0, r0 - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, _08143BF8 @ =sub_8143CC0 -_08143BEE: - str r0, [r4] -_08143BF0: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08143BF8: .4byte sub_8143CC0 - thumb_func_end sub_8143B68 - - thumb_func_start sub_8143BFC -sub_8143BFC: @ 8143BFC - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _08143C34 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - bne _08143C2C - movs r0, 0x80 - lsls r0, 19 - strh r1, [r0] - adds r0, r4, 0 - bl sub_81450AC - ldr r1, _08143C38 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _08143C3C @ =c2_080C9BFC - str r1, [r0] -_08143C2C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08143C34: .4byte gPaletteFade -_08143C38: .4byte gTasks -_08143C3C: .4byte c2_080C9BFC - thumb_func_end sub_8143BFC - - thumb_func_start c2_080C9BFC -c2_080C9BFC: @ 8143C40 - push {r4,r5,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - bl SetVBlankCallback - ldr r1, _08143CA8 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r5, r0, r1 - ldrb r0, [r5, 0x16] - adds r1, r4, 0 - bl sub_8144ECC - lsls r0, 24 - cmp r0, 0 - beq _08143CA0 - movs r0, 0x1 - negs r0, r0 - movs r4, 0 - str r4, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r3, _08143CAC @ =0x04000208 - ldrh r2, [r3] - strh r4, [r3] - ldr r4, _08143CB0 @ =0x04000200 - ldrh r0, [r4] - movs r1, 0x1 - orrs r0, r1 - strh r0, [r4] - strh r2, [r3] - ldr r2, _08143CB4 @ =REG_DISPSTAT - ldrh r0, [r2] - movs r1, 0x8 - orrs r0, r1 - strh r0, [r2] - ldr r0, _08143CB8 @ =sub_8143948 - bl SetVBlankCallback - ldr r0, _08143CBC @ =sub_8143B38 - str r0, [r5] -_08143CA0: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08143CA8: .4byte gTasks -_08143CAC: .4byte 0x04000208 -_08143CB0: .4byte 0x04000200 -_08143CB4: .4byte REG_DISPSTAT -_08143CB8: .4byte sub_8143948 -_08143CBC: .4byte sub_8143B38 - thumb_func_end c2_080C9BFC - - thumb_func_start sub_8143CC0 -sub_8143CC0: @ 8143CC0 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _08143CF8 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - bne _08143CF0 - movs r0, 0x80 - lsls r0, 19 - strh r1, [r0] - adds r0, r4, 0 - bl sub_81450AC - ldr r1, _08143CFC @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _08143D00 @ =sub_8143D04 - str r1, [r0] -_08143CF0: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08143CF8: .4byte gPaletteFade -_08143CFC: .4byte gTasks -_08143D00: .4byte sub_8143D04 - thumb_func_end sub_8143CC0 - - thumb_func_start sub_8143D04 -sub_8143D04: @ 8143D04 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, _08143DC8 @ =gMain - ldr r1, _08143DCC @ =0x0000043c - adds r1, r0 - mov r8, r1 - ldrb r7, [r1] - cmp r7, 0 - beq _08143D24 - cmp r7, 0x1 - beq _08143E0C -_08143D24: - bl ResetSpriteData - bl FreeAllSpritePalettes - ldr r1, _08143DD0 @ =gReservedSpritePaletteCount - movs r0, 0x8 - strb r0, [r1] - ldr r0, _08143DD4 @ =gUnknown_083F66F0 - movs r1, 0xC0 - lsls r1, 19 - bl LZ77UnCompVram - ldr r0, _08143DD8 @ =gBirchGrassTilemap - ldr r1, _08143DDC @ =0x06003800 - bl LZ77UnCompVram - ldr r0, _08143DE0 @ =gUnknown_083F62EC + 0x2 - movs r1, 0x1 - movs r2, 0x3E - bl LoadPalette - movs r1, 0 - ldr r4, _08143DE4 @ =0x0201e000 - movs r3, 0x11 - ldr r2, _08143DE8 @ =0x000007ff -_08143D56: - adds r0, r1, r4 - strb r3, [r0] - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, r2 - bls _08143D56 - movs r1, 0 - ldr r2, _08143DEC @ =0x0201f800 - ldr r6, _08143DF0 @ =gUnknown_0840CAA0 - ldr r0, _08143DF4 @ =0xfffff000 - adds r5, r2, r0 - movs r4, 0x22 - ldr r3, _08143DE8 @ =0x000007ff -_08143D72: - adds r0, r1, r5 - strb r4, [r0] - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, r3 - bls _08143D72 - movs r1, 0 - ldr r5, _08143DF8 @ =0x0201f000 - movs r4, 0x33 - ldr r3, _08143DE8 @ =0x000007ff -_08143D88: - adds r0, r1, r5 - strb r4, [r0] - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r1, r3 - bls _08143D88 - movs r0, 0 - strh r0, [r2] - ldr r1, _08143DFC @ =0x000053ff - adds r0, r1, 0 - strh r0, [r2, 0x2] - ldr r1, _08143E00 @ =0x0000529f - adds r0, r1, 0 - strh r0, [r2, 0x4] - ldr r1, _08143E04 @ =0x00007e94 - adds r0, r1, 0 - strh r0, [r2, 0x6] - adds r0, r6, 0 - bl LoadSpriteSheet - ldr r0, _08143E08 @ =gUnknown_0840CAB0 - bl LoadSpritePalette - ldr r1, _08143DC8 @ =gMain - ldr r2, _08143DCC @ =0x0000043c - adds r1, r2 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08143E90 - .align 2, 0 -_08143DC8: .4byte gMain -_08143DCC: .4byte 0x0000043c -_08143DD0: .4byte gReservedSpritePaletteCount -_08143DD4: .4byte gUnknown_083F66F0 -_08143DD8: .4byte gBirchGrassTilemap -_08143DDC: .4byte 0x06003800 -_08143DE0: .4byte gUnknown_083F62EC + 0x2 -_08143DE4: .4byte 0x0201e000 -_08143DE8: .4byte 0x000007ff -_08143DEC: .4byte 0x0201f800 -_08143DF0: .4byte gUnknown_0840CAA0 -_08143DF4: .4byte 0xfffff000 -_08143DF8: .4byte 0x0201f000 -_08143DFC: .4byte 0x000053ff -_08143E00: .4byte 0x0000529f -_08143E04: .4byte 0x00007e94 -_08143E08: .4byte gUnknown_0840CAB0 -_08143E0C: - ldr r0, _08143EA0 @ =sub_8144514 - movs r1, 0 - bl CreateTask - ldr r2, _08143EA4 @ =gTasks - lsls r4, r6, 2 - adds r4, r6 - lsls r4, 3 - adds r4, r2 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - mov r9, r1 - movs r5, 0 - strh r0, [r4, 0xE] - movs r0, 0xE - ldrsh r1, [r4, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - strh r7, [r0, 0x8] - movs r0, 0xE - ldrsh r1, [r4, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - strh r6, [r0, 0xA] - movs r0, 0xE - ldrsh r1, [r4, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r2 - ldrh r1, [r4, 0x16] - strh r1, [r0, 0xC] - movs r0, 0x1 - negs r0, r0 - str r5, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r0, _08143EA8 @ =REG_BG3HOFS - strh r5, [r0] - ldr r1, _08143EAC @ =REG_BG3VOFS - movs r0, 0x20 - strh r0, [r1] - subs r1, 0x10 - ldr r2, _08143EB0 @ =0x00000703 - adds r0, r2, 0 - strh r0, [r1] - subs r1, 0xE - movs r2, 0xCA - lsls r2, 5 - adds r0, r2, 0 - strh r0, [r1] - mov r1, r9 - mov r0, r8 - strb r1, [r0] - ldr r0, _08143EB4 @ =gUnknown_0203935C - strh r5, [r0] - ldr r0, _08143EB8 @ =sub_8143B38 - str r0, [r4] -_08143E90: - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08143EA0: .4byte sub_8144514 -_08143EA4: .4byte gTasks -_08143EA8: .4byte REG_BG3HOFS -_08143EAC: .4byte REG_BG3VOFS -_08143EB0: .4byte 0x00000703 -_08143EB4: .4byte gUnknown_0203935C -_08143EB8: .4byte sub_8143B38 - thumb_func_end sub_8143D04 - - thumb_func_start sub_8143EBC -sub_8143EBC: @ 8143EBC - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08143EE0 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 - ldrh r0, [r4, 0x20] - movs r2, 0x20 - ldrsh r1, [r4, r2] - cmp r1, 0 - beq _08143EE4 - subs r0, 0x1 - strh r0, [r4, 0x20] - b _08143EF8 - .align 2, 0 -_08143EE0: .4byte gTasks -_08143EE4: - movs r0, 0x1 - negs r0, r0 - str r1, [sp] - movs r1, 0xC - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, _08143F00 @ =sub_8143F04 - str r0, [r4] -_08143EF8: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08143F00: .4byte sub_8143F04 - thumb_func_end sub_8143EBC - - thumb_func_start sub_8143F04 -sub_8143F04: @ 8143F04 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _08143F30 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08143F2A - adds r0, r4, 0 - bl sub_81450AC - ldr r0, _08143F34 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _08143F38 @ =sub_8143F3C - str r0, [r1] -_08143F2A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08143F30: .4byte gPaletteFade -_08143F34: .4byte gTasks -_08143F38: .4byte sub_8143F3C - thumb_func_end sub_8143F04 - - thumb_func_start sub_8143F3C -sub_8143F3C: @ 8143F3C - push {r4,r5,lr} - sub sp, 0x4 - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - bl sub_8144130 - bl ResetPaletteFade - movs r1, 0xE0 - lsls r1, 6 - movs r0, 0 - movs r2, 0 - bl sub_8145128 - bl ResetSpriteData - bl FreeAllSpritePalettes - movs r0, 0x1 - negs r0, r0 - movs r4, 0 - str r4, [sp] - movs r1, 0x8 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r1, _08143FC4 @ =REG_BG0CNT - movs r2, 0xE0 - lsls r2, 3 - adds r0, r2, 0 - strh r0, [r1] - ldr r3, _08143FC8 @ =0x04000208 - ldrh r2, [r3] - strh r4, [r3] - ldr r4, _08143FCC @ =0x04000200 - ldrh r0, [r4] - movs r1, 0x1 - orrs r0, r1 - strh r0, [r4] - strh r2, [r3] - ldr r2, _08143FD0 @ =REG_DISPSTAT - ldrh r0, [r2] - movs r1, 0x8 - orrs r0, r1 - strh r0, [r2] - movs r1, 0x80 - lsls r1, 19 - movs r2, 0xA0 - lsls r2, 1 - adds r0, r2, 0 - strh r0, [r1] - ldr r1, _08143FD4 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r1, 0x80 - lsls r1, 1 - strh r1, [r0, 0x8] - ldr r1, _08143FD8 @ =sub_8143FDC - str r1, [r0] - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08143FC4: .4byte REG_BG0CNT -_08143FC8: .4byte 0x04000208 -_08143FCC: .4byte 0x04000200 -_08143FD0: .4byte REG_DISPSTAT -_08143FD4: .4byte gTasks -_08143FD8: .4byte sub_8143FDC - thumb_func_end sub_8143F3C - - thumb_func_start sub_8143FDC -sub_8143FDC: @ 8143FDC - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08144000 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 - ldrh r0, [r4, 0x8] - movs r2, 0x8 - ldrsh r1, [r4, r2] - cmp r1, 0 - beq _08144004 - subs r0, 0x1 - strh r0, [r4, 0x8] - b _08144018 - .align 2, 0 -_08144000: .4byte gTasks -_08144004: - movs r0, 0x1 - negs r0, r0 - str r1, [sp] - movs r1, 0x6 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, _08144020 @ =sub_8144024 - str r0, [r4] -_08144018: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08144020: .4byte sub_8144024 - thumb_func_end sub_8143FDC - - thumb_func_start sub_8144024 -sub_8144024: @ 8144024 - push {r4,r5,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _08144074 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _0814406A - movs r0, 0xE0 - lsls r0, 6 - movs r1, 0 - bl sub_81452D0 - movs r0, 0x1 - negs r0, r0 - str r4, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r1, _08144078 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r1, 0xE1 - lsls r1, 5 - strh r1, [r0, 0x8] - ldr r1, _0814407C @ =sub_8144080 - str r1, [r0] -_0814406A: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08144074: .4byte gPaletteFade -_08144078: .4byte gTasks -_0814407C: .4byte sub_8144080 - thumb_func_end sub_8144024 - - thumb_func_start sub_8144080 -sub_8144080: @ 8144080 - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, _081440CC @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08144104 - ldr r1, _081440D0 @ =gTasks - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r4, r0, r1 - movs r0, 0x8 - ldrsh r1, [r4, r0] - cmp r1, 0 - beq _081440AE - ldr r0, _081440D4 @ =gMain - ldrh r0, [r0, 0x2E] - cmp r0, 0 - beq _081440E0 -_081440AE: - movs r0, 0x4 - bl FadeOutBGM - movs r0, 0x1 - negs r0, r0 - ldr r1, _081440D8 @ =0x0000ffff - str r1, [sp] - movs r1, 0x8 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, _081440DC @ =sub_8144114 - str r0, [r4] - b _08144104 - .align 2, 0 -_081440CC: .4byte gPaletteFade -_081440D0: .4byte gTasks -_081440D4: .4byte gMain -_081440D8: .4byte 0x0000ffff -_081440DC: .4byte sub_8144114 -_081440E0: - ldr r0, _0814410C @ =0x00001be8 - cmp r1, r0 - bne _081440EC - movs r0, 0x8 - bl FadeOutBGM -_081440EC: - movs r0, 0x8 - ldrsh r1, [r4, r0] - ldr r0, _08144110 @ =0x00001ab8 - cmp r1, r0 - bne _081440FE - movs r0, 0xE4 - lsls r0, 1 - bl m4aSongNumStart -_081440FE: - ldrh r0, [r4, 0x8] - subs r0, 0x1 - strh r0, [r4, 0x8] -_08144104: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0814410C: .4byte 0x00001be8 -_08144110: .4byte 0x00001ab8 - thumb_func_end sub_8144080 - - thumb_func_start sub_8144114 -sub_8144114: @ 8144114 - push {lr} - ldr r0, _0814412C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08144128 - movs r0, 0xFF - bl SoftReset -_08144128: - pop {r0} - bx r0 - .align 2, 0 -_0814412C: .4byte gPaletteFade - thumb_func_end sub_8144114 - - thumb_func_start sub_8144130 -sub_8144130: @ 8144130 - sub sp, 0x8 - movs r0, 0x80 - lsls r0, 19 - movs r1, 0 - strh r1, [r0] - adds r0, 0x1C - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - subs r0, 0x6 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - subs r0, 0x6 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - subs r0, 0x6 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x3E - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - mov r0, sp - strh r1, [r0] - ldr r1, _081441A4 @ =0x040000d4 - str r0, [r1] - movs r0, 0xC0 - lsls r0, 19 - str r0, [r1, 0x4] - ldr r0, _081441A8 @ =0x8100c000 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r2, 0 - str r2, [sp, 0x4] - add r0, sp, 0x4 - str r0, [r1] - movs r0, 0xE0 - lsls r0, 19 - str r0, [r1, 0x4] - ldr r0, _081441AC @ =0x85000100 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - mov r0, sp - strh r2, [r0] - str r0, [r1] - ldr r0, _081441B0 @ =0x05000002 - str r0, [r1, 0x4] - ldr r0, _081441B4 @ =0x810001ff - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - add sp, 0x8 - bx lr - .align 2, 0 -_081441A4: .4byte 0x040000d4 -_081441A8: .4byte 0x8100c000 -_081441AC: .4byte 0x85000100 -_081441B0: .4byte 0x05000002 -_081441B4: .4byte 0x810001ff - thumb_func_end sub_8144130 - - thumb_func_start sub_81441B8 -sub_81441B8: @ 81441B8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _081441E4 @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r2, 0x8 - ldrsh r0, [r0, r2] - adds r6, r1, 0 - cmp r0, 0xA - bhi _08144218 - lsls r0, 2 - ldr r1, _081441E8 @ =_081441EC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_081441E4: .4byte gTasks -_081441E8: .4byte _081441EC - .align 2, 0 -_081441EC: - .4byte _08144218 - .4byte _08144258 - .4byte _08144278 - .4byte _08144358 - .4byte _0814438C - .4byte _081443F8 - .4byte _08144218 - .4byte _08144218 - .4byte _08144218 - .4byte _08144218 - .4byte _08144428 -_08144218: - ldr r0, _08144250 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - beq _0814422A - b _08144446 -_0814422A: - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r6 - movs r1, 0x1 - strh r1, [r0, 0x8] - movs r1, 0x58 - strh r1, [r0, 0xE] - movs r3, 0xA - ldrsh r1, [r0, r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r6 - strh r2, [r0, 0x24] - ldr r0, _08144254 @ =gUnknown_02039320 - strh r2, [r0] - b _08144446 - .align 2, 0 -_08144250: .4byte gPaletteFade -_08144254: .4byte gUnknown_02039320 -_08144258: - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r1, r0, r6 - ldrh r2, [r1, 0xE] - movs r3, 0xE - ldrsh r0, [r1, r3] - cmp r0, 0 - beq _08144270 - subs r0, r2, 0x1 - strh r0, [r1, 0xE] - b _08144446 -_08144270: - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _08144446 -_08144278: - movs r2, 0x80 - lsls r2, 19 - ldrh r1, [r2] - ldr r0, _08144320 @ =0x0000feff - ands r0, r1 - strh r0, [r2] - lsls r2, r5, 2 - adds r0, r2, r5 - lsls r0, 3 - adds r3, r0, r6 - movs r0, 0xA - ldrsh r1, [r3, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r4, r0, r6 - ldr r1, [r4] - ldr r0, _08144324 @ =sub_8143B68 - mov r8, r2 - cmp r1, r0 - bne _08144352 - movs r1, 0xC - ldrsh r0, [r3, r1] - cmp r0, 0x33 - bgt _0814434C - movs r4, 0 - ldr r7, _08144328 @ =gCreditsEntryPointerTable - adds r6, r3, 0 -_081442B0: - movs r2, 0xC - ldrsh r1, [r6, r2] - lsls r0, r1, 2 - adds r0, r1 - adds r0, r4 - lsls r0, 2 - adds r0, r7 - ldr r0, [r0] - ldr r0, [r0, 0x4] - lsls r2, r4, 25 - movs r3, 0x90 - lsls r3, 20 - adds r2, r3 - lsrs r2, 24 - movs r1, 0 - movs r3, 0xF0 - bl sub_8072BD8 - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x4 - bls _081442B0 - ldr r3, _0814432C @ =gTasks - mov r0, r8 - adds r1, r0, r5 - lsls r1, 3 - adds r1, r3 - ldrh r0, [r1, 0xC] - adds r0, 0x1 - strh r0, [r1, 0xC] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - movs r0, 0xA - ldrsh r2, [r1, r0] - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r3 - movs r2, 0x1 - strh r2, [r0, 0x24] - movs r2, 0xA - ldrsh r1, [r1, r2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r3 - movs r3, 0x22 - ldrsh r0, [r0, r3] - cmp r0, 0x1 - bne _08144334 - movs r0, 0xC0 - lsls r0, 2 - ldr r1, _08144330 @ =0x0000328d - b _0814433A - .align 2, 0 -_08144320: .4byte 0x0000feff -_08144324: .4byte sub_8143B68 -_08144328: .4byte gCreditsEntryPointerTable -_0814432C: .4byte gTasks -_08144330: .4byte 0x0000328d -_08144334: - movs r0, 0xC0 - lsls r0, 2 - ldr r1, _08144348 @ =0x00001967 -_0814433A: - str r1, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - b _08144446 - .align 2, 0 -_08144348: .4byte 0x00001967 -_0814434C: - movs r0, 0xA - strh r0, [r3, 0x8] - b _08144446 -_08144352: - movs r0, 0 - strh r0, [r4, 0x24] - b _08144446 -_08144358: - movs r2, 0x80 - lsls r2, 19 - ldrh r0, [r2] - movs r3, 0x80 - lsls r3, 1 - adds r1, r3, 0 - orrs r0, r1 - strh r0, [r2] - ldr r0, _08144388 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08144446 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r6 - movs r1, 0x82 - strh r1, [r0, 0xE] - ldrh r1, [r0, 0x8] - adds r1, 0x1 - strh r1, [r0, 0x8] - b _08144446 - .align 2, 0 -_08144388: .4byte gPaletteFade -_0814438C: - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r6 - ldrh r1, [r4, 0xE] - movs r2, 0xE - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _081443A4 - subs r0, r1, 0x1 - strh r0, [r4, 0xE] - b _08144446 -_081443A4: - ldrb r0, [r4, 0xC] - ldrb r1, [r4, 0xA] - bl sub_8144454 - lsls r0, 24 - cmp r0, 0 - beq _081443BA - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _08144446 -_081443BA: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - movs r3, 0xA - ldrsh r1, [r4, r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r6 - movs r1, 0x22 - ldrsh r0, [r0, r1] - cmp r0, 0x1 - bne _081443E0 - movs r0, 0xC0 - lsls r0, 2 - ldr r1, _081443DC @ =0x0000328d - b _081443E6 - .align 2, 0 -_081443DC: .4byte 0x0000328d -_081443E0: - movs r0, 0xC0 - lsls r0, 2 - ldr r1, _081443F4 @ =0x00001967 -_081443E6: - str r1, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - b _08144446 - .align 2, 0 -_081443F4: .4byte 0x00001967 -_081443F8: - ldr r0, _08144420 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08144446 - movs r0, 0 - movs r1, 0x9 - movs r2, 0x1D - movs r3, 0x13 - bl MenuZeroFillWindowRect - ldr r0, _08144424 @ =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - movs r0, 0x2 - strh r0, [r1, 0x8] - b _08144446 - .align 2, 0 -_08144420: .4byte gPaletteFade -_08144424: .4byte gTasks -_08144428: - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r6 - movs r2, 0xA - ldrsh r1, [r0, r2] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r6 - movs r1, 0x1 - strh r1, [r0, 0x10] - adds r0, r5, 0 - bl DestroyTask -_08144446: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81441B8 - - thumb_func_start sub_8144454 -sub_8144454: @ 8144454 - push {r4-r6,lr} - lsls r0, 24 - lsrs r3, r0, 24 - adds r6, r3, 0 - lsls r1, 24 - lsrs r2, r1, 24 - adds r5, r2, 0 - ldr r4, _08144508 @ =gTasks - cmp r3, 0x6 - bne _08144474 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r4 - movs r1, 0x2 - strh r1, [r0, 0x1E] -_08144474: - cmp r3, 0xC - bne _08144486 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r4 - movs r1, 0x1 - strh r1, [r0, 0x16] - strh r1, [r0, 0x1E] -_08144486: - cmp r3, 0x12 - bne _08144496 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r4 - movs r1, 0x2 - strh r1, [r0, 0x1E] -_08144496: - cmp r3, 0x18 - bne _081444AA - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r4 - movs r1, 0x2 - strh r1, [r0, 0x16] - movs r1, 0x1 - strh r1, [r0, 0x1E] -_081444AA: - cmp r3, 0x1E - bne _081444BA - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r4 - movs r1, 0x2 - strh r1, [r0, 0x1E] -_081444BA: - cmp r3, 0x23 - bne _081444CE - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r4 - movs r1, 0x3 - strh r1, [r0, 0x16] - movs r1, 0x1 - strh r1, [r0, 0x1E] -_081444CE: - cmp r3, 0x28 - bne _081444DE - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r4 - movs r1, 0x2 - strh r1, [r0, 0x1E] -_081444DE: - cmp r6, 0x2E - bne _081444F2 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r4 - movs r1, 0x4 - strh r1, [r0, 0x16] - movs r1, 0x1 - strh r1, [r0, 0x1E] -_081444F2: - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r4 - movs r1, 0x1E - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _0814450C - movs r0, 0 - b _0814450E - .align 2, 0 -_08144508: .4byte gTasks -_0814450C: - movs r0, 0x1 -_0814450E: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8144454 - - thumb_func_start sub_8144514 -sub_8144514: @ 8144514 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r6, _08144548 @ =0x0201c000 - ldr r3, _0814454C @ =gTasks - lsls r0, 2 - add r0, r8 - lsls r0, 3 - adds r2, r0, r3 - movs r1, 0x8 - ldrsh r0, [r2, r1] - cmp r0, 0x1 - beq _08144550 - cmp r0, 0x1 - bgt _0814453C - b _08144658 -_0814453C: - cmp r0, 0x2 - beq _08144584 - cmp r0, 0x3 - bne _08144546 - b _08144644 -_08144546: - b _08144658 - .align 2, 0 -_08144548: .4byte 0x0201c000 -_0814454C: .4byte gTasks -_08144550: - adds r0, r6, 0 - adds r0, 0x8A - ldrh r0, [r0] - cmp r0, 0 - bne _0814456E - movs r4, 0xA - ldrsh r0, [r2, r4] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r3 - movs r4, 0x24 - ldrsh r0, [r1, r4] - cmp r0, 0 - beq _08144658 -_0814456E: - movs r0, 0xA - ldrsh r1, [r2, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r3 - movs r1, 0 - strh r1, [r0, 0x24] - ldrh r0, [r2, 0x8] - adds r0, 0x1 - b _08144656 -_08144584: - adds r0, r6, 0 - adds r0, 0x88 - ldrh r1, [r0] - mov r9, r0 - cmp r1, 0x44 - beq _08144658 - movs r4, 0xA - ldrsh r1, [r2, r4] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r3 - ldr r1, [r0] - ldr r0, _081445EC @ =sub_8143B68 - cmp r1, r0 - bne _08144658 - adds r7, r6, 0 - adds r7, 0x8C - ldrh r0, [r7] - lsls r0, 1 - adds r0, r6 - ldrh r0, [r0] - ldr r4, _081445F0 @ =gUnknown_0840CA00 - adds r5, r6, 0 - adds r5, 0x8A - ldrh r3, [r5] - lsls r2, r3, 1 - adds r1, r2, r4 - ldrb r1, [r1] - adds r4, 0x1 - adds r2, r4 - ldrb r2, [r2] - bl sub_81456B4 - lsls r0, 24 - lsrs r2, r0, 24 - ldrh r1, [r7] - adds r0, r6, 0 - adds r0, 0x8E - ldrh r0, [r0] - subs r0, 0x1 - cmp r1, r0 - bge _081445F8 - adds r0, r1, 0x1 - strh r0, [r7] - ldr r1, _081445F4 @ =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - movs r1, 0x32 - b _0814460A - .align 2, 0 -_081445EC: .4byte sub_8143B68 -_081445F0: .4byte gUnknown_0840CA00 -_081445F4: .4byte gSprites -_081445F8: - movs r0, 0 - strh r0, [r7] - ldr r1, _08144620 @ =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - movs r1, 0x80 - lsls r1, 2 -_0814460A: - strh r1, [r0, 0x34] - mov r1, r9 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - ldrh r0, [r5] - cmp r0, 0x2 - bne _08144624 - movs r0, 0 - b _08144626 - .align 2, 0 -_08144620: .4byte gSprites -_08144624: - adds r0, 0x1 -_08144626: - strh r0, [r5] - ldr r0, _08144640 @ =gTasks - mov r2, r8 - lsls r1, r2, 2 - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r0, 0x32 - strh r0, [r1, 0xE] - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _08144658 - .align 2, 0 -_08144640: .4byte gTasks -_08144644: - ldrh r1, [r2, 0xE] - movs r3, 0xE - ldrsh r0, [r2, r3] - cmp r0, 0 - beq _08144654 - subs r0, r1, 0x1 - strh r0, [r2, 0xE] - b _08144658 -_08144654: - movs r0, 0x1 -_08144656: - strh r0, [r2, 0x8] -_08144658: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8144514 - - thumb_func_start sub_8144664 -sub_8144664: @ 8144664 - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r1, _0814468C @ =gTasks - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r1 - movs r2, 0x8 - ldrsh r0, [r0, r2] - adds r6, r1, 0 - cmp r0, 0x32 - bls _08144680 - b _0814492C -_08144680: - lsls r0, 2 - ldr r1, _08144690 @ =_08144694 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0814468C: .4byte gTasks -_08144690: .4byte _08144694 - .align 2, 0 -_08144694: - .4byte _08144760 - .4byte _08144784 - .4byte _081447D8 - .4byte _081447F0 - .4byte _0814482C - .4byte _08144850 - .4byte _0814489C - .4byte _0814492C - .4byte _0814492C - .4byte _0814492C - .4byte _081448A8 - .4byte _0814492C - .4byte _0814492C - .4byte _0814492C - .4byte _0814492C - .4byte _0814492C - .4byte _0814492C - .4byte _0814492C - .4byte _0814492C - .4byte _0814492C - .4byte _081448C8 - .4byte _0814492C - .4byte _0814492C - .4byte _0814492C - .4byte _0814492C - .4byte _0814492C - .4byte _0814492C - .4byte _0814492C - .4byte _0814492C - .4byte _0814492C - .4byte _081448EC - .4byte _0814492C - .4byte _0814492C - .4byte _0814492C - .4byte _0814492C - .4byte _0814492C - .4byte _0814492C - .4byte _0814492C - .4byte _0814492C - .4byte _0814492C - .4byte _0814492C - .4byte _0814492C - .4byte _0814492C - .4byte _0814492C - .4byte _0814492C - .4byte _0814492C - .4byte _0814492C - .4byte _0814492C - .4byte _0814492C - .4byte _0814492C - .4byte _08144920 -_08144760: - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - adds r4, r6 - ldrh r0, [r4, 0x12] - lsls r0, 16 - asrs r0, 17 - movs r1, 0x7F - ands r0, r1 - movs r1, 0xC - bl Sin - ldr r1, _08144780 @ =gUnknown_0203935A - strh r0, [r1] - b _081447A8 - .align 2, 0 -_08144780: .4byte gUnknown_0203935A -_08144784: - ldr r7, _081447B0 @ =gUnknown_0203935A - movs r3, 0 - ldrsh r4, [r7, r3] - cmp r4, 0 - beq _081447B4 - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - adds r4, r6 - ldrh r0, [r4, 0x12] - lsls r0, 16 - asrs r0, 17 - movs r1, 0x7F - ands r0, r1 - movs r1, 0xC - bl Sin - strh r0, [r7] -_081447A8: - ldrh r0, [r4, 0x12] - adds r0, 0x1 - strh r0, [r4, 0x12] - b _0814492C - .align 2, 0 -_081447B0: .4byte gUnknown_0203935A -_081447B4: - ldr r3, _081447D4 @ =gSprites - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r6 - movs r0, 0xC - ldrsh r2, [r1, r0] - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r3 - movs r2, 0x2 - strh r2, [r0, 0x2E] - strh r4, [r1, 0x12] - b _08144848 - .align 2, 0 -_081447D4: .4byte gSprites -_081447D8: - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r1, r0, r6 - ldrh r2, [r1, 0x12] - movs r3, 0x12 - ldrsh r0, [r1, r3] - cmp r0, 0x3F - bgt _08144848 - adds r0, r2, 0x1 - strh r0, [r1, 0x12] - b _08144866 -_081447F0: - ldr r3, _08144828 @ =gSprites - lsls r2, r5, 2 - adds r2, r5 - lsls r2, 3 - adds r2, r6 - movs r0, 0xC - ldrsh r1, [r2, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - movs r1, 0x3 - strh r1, [r0, 0x2E] - movs r0, 0xE - ldrsh r1, [r2, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - movs r1, 0x1 - strh r1, [r0, 0x2E] - movs r0, 0x78 - strh r0, [r2, 0x10] - ldrh r0, [r2, 0x8] - adds r0, 0x1 - strh r0, [r2, 0x8] - b _0814492C - .align 2, 0 -_08144828: .4byte gSprites -_0814482C: - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r1, r0, r6 - ldrh r2, [r1, 0x10] - movs r3, 0x10 - ldrsh r0, [r1, r3] - cmp r0, 0 - beq _08144844 - subs r0, r2, 0x1 - strh r0, [r1, 0x10] - b _0814492C -_08144844: - movs r0, 0x40 - strh r0, [r1, 0x12] -_08144848: - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _0814492C -_08144850: - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r4, r0, r6 - ldrh r1, [r4, 0x12] - movs r2, 0x12 - ldrsh r0, [r4, r2] - cmp r0, 0 - ble _0814487C - subs r0, r1, 0x1 - strh r0, [r4, 0x12] -_08144866: - movs r1, 0x7F - ands r0, r1 - movs r1, 0x14 - bl Sin - ldr r1, _08144878 @ =gUnknown_0203935A - strh r0, [r1] - b _0814492C - .align 2, 0 -_08144878: .4byte gUnknown_0203935A -_0814487C: - ldr r2, _08144898 @ =gSprites - movs r3, 0xC - ldrsh r1, [r4, r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0x1 - strh r1, [r0, 0x2E] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0814492C - .align 2, 0 -_08144898: .4byte gSprites -_0814489C: - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r6 - movs r1, 0x32 - b _0814492A -_081448A8: - ldr r3, _081448C4 @ =gSprites - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r6 - movs r0, 0xE - ldrsh r2, [r1, r0] - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r3 - movs r2, 0x2 - b _081448E0 - .align 2, 0 -_081448C4: .4byte gSprites -_081448C8: - ldr r3, _081448E8 @ =gSprites - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r6 - movs r0, 0xC - ldrsh r2, [r1, r0] - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r3 - movs r2, 0x4 -_081448E0: - strh r2, [r0, 0x2E] - movs r0, 0x32 - strh r0, [r1, 0x8] - b _0814492C - .align 2, 0 -_081448E8: .4byte gSprites -_081448EC: - ldr r3, _0814491C @ =gSprites - lsls r2, r5, 2 - adds r2, r5 - lsls r2, 3 - adds r2, r6 - movs r0, 0xC - ldrsh r1, [r2, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - movs r1, 0x5 - strh r1, [r0, 0x2E] - movs r0, 0xE - ldrsh r1, [r2, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - movs r1, 0x3 - strh r1, [r0, 0x2E] - movs r0, 0x32 - strh r0, [r2, 0x8] - b _0814492C - .align 2, 0 -_0814491C: .4byte gSprites -_08144920: - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - adds r0, r6 - movs r1, 0 -_0814492A: - strh r1, [r0, 0x8] -_0814492C: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8144664 - - thumb_func_start sub_8144934 -sub_8144934: @ 8144934 - push {r4,r5,lr} - lsls r0, 24 - lsrs r2, r0, 24 - ldr r1, _08144958 @ =gTasks - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r0, r1 - movs r3, 0x8 - ldrsh r0, [r0, r3] - adds r4, r1, 0 - cmp r0, 0x4 - bhi _08144974 - lsls r0, 2 - ldr r1, _0814495C @ =_08144960 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08144958: .4byte gTasks -_0814495C: .4byte _08144960 - .align 2, 0 -_08144960: - .4byte _08144974 - .4byte _081449B8 - .4byte _081449C4 - .4byte _08144A0C - .4byte _08144A5C -_08144974: - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r2, r0, r4 - movs r1, 0xA - ldrsh r0, [r2, r1] - ldr r5, _081449C0 @ =0x00007fff - cmp r0, r5 - beq _081449B8 - movs r3, 0xC - ldrsh r1, [r2, r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r3, r0, r4 - movs r0, 0x26 - ldrsh r1, [r3, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r4 - movs r1, 0xC - ldrsh r0, [r0, r1] - cmp r0, 0x2 - bne _081449B8 - movs r1, 0xA - ldrsh r0, [r3, r1] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r4 - movs r0, 0x14 - strh r0, [r1, 0x8] - strh r5, [r2, 0xA] -_081449B8: - movs r0, 0 - bl sub_8149020 - b _08144A62 - .align 2, 0 -_081449C0: .4byte 0x00007fff -_081449C4: - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r2, r0, r4 - movs r3, 0xA - ldrsh r0, [r2, r3] - ldr r5, _08144A08 @ =0x00007fff - cmp r0, r5 - beq _08144A54 - movs r0, 0xC - ldrsh r1, [r2, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r4 - movs r3, 0xA - ldrsh r1, [r0, r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r3, r0, r4 - ldrh r1, [r3, 0x12] - movs r0, 0x80 - negs r0, r0 - ands r0, r1 - movs r1, 0xA0 - lsls r1, 2 - cmp r0, r1 - bne _08144A54 - movs r0, 0x1 - strh r0, [r3, 0x8] - strh r5, [r2, 0xA] - b _08144A54 - .align 2, 0 -_08144A08: .4byte 0x00007fff -_08144A0C: - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - adds r2, r0, r4 - ldrh r3, [r2, 0xA] - movs r0, 0xA - ldrsh r1, [r2, r0] - ldr r5, _08144A48 @ =0x00007fff - cmp r1, r5 - beq _08144A54 - ldr r0, _08144A4C @ =0x000001f3 - cmp r1, r0 - bne _08144A50 - movs r3, 0xC - ldrsh r1, [r2, r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r4 - movs r3, 0xA - ldrsh r1, [r0, r3] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r4 - movs r1, 0xA - strh r1, [r0, 0x8] - strh r5, [r2, 0xA] - b _08144A54 - .align 2, 0 -_08144A48: .4byte 0x00007fff -_08144A4C: .4byte 0x000001f3 -_08144A50: - adds r0, r3, 0x1 - strh r0, [r2, 0xA] -_08144A54: - movs r0, 0x1 - bl sub_8149020 - b _08144A62 -_08144A5C: - movs r0, 0x2 - bl sub_8149020 -_08144A62: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8144934 - - thumb_func_start sub_8144A68 -sub_8144A68: @ 8144A68 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r1, 24 - lsrs r7, r1, 24 - cmp r0, 0x4 - bls _08144A7E - b _08144DFC -_08144A7E: - lsls r0, 2 - ldr r1, _08144A88 @ =_08144A8C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08144A88: .4byte _08144A8C - .align 2, 0 -_08144A8C: - .4byte _08144AA0 - .4byte _08144B48 - .4byte _08144BF4 - .4byte _08144CA0 - .4byte _08144D50 -_08144AA0: - ldr r5, _08144B40 @ =gSprites - ldr r0, _08144B44 @ =gTasks - lsls r4, r7, 2 - adds r4, r7 - lsls r4, 3 - adds r4, r0 - movs r1, 0x12 - ldrsh r0, [r4, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - adds r1, 0x3E - ldrb r3, [r1] - movs r2, 0x5 - negs r2, r2 - adds r0, r2, 0 - ands r0, r3 - strb r0, [r1] - movs r0, 0x14 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x3E - ldrb r1, [r0] - ands r2, r1 - strb r2, [r0] - movs r0, 0x12 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r3, 0 - movs r2, 0x88 - lsls r2, 1 - strh r2, [r0, 0x20] - movs r0, 0x14 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r2, [r0, 0x20] - movs r0, 0x12 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r2, 0x2E - strh r2, [r0, 0x22] - movs r0, 0x14 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r2, [r0, 0x22] - movs r0, 0x12 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r3, [r0, 0x2E] - movs r0, 0x14 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r3, [r0, 0x2E] - movs r1, 0x80 - lsls r1, 6 - movs r0, 0 - movs r2, 0x20 - b _08144DF0 - .align 2, 0 -_08144B40: .4byte gSprites -_08144B44: .4byte gTasks -_08144B48: - ldr r5, _08144BEC @ =gSprites - ldr r0, _08144BF0 @ =gTasks - lsls r4, r7, 2 - adds r4, r7 - lsls r4, 3 - adds r4, r0 - movs r1, 0x12 - ldrsh r0, [r4, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - adds r1, 0x3E - ldrb r3, [r1] - movs r2, 0x5 - negs r2, r2 - adds r0, r2, 0 - ands r0, r3 - strb r0, [r1] - movs r0, 0x14 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x3E - ldrb r1, [r0] - ands r2, r1 - strb r2, [r0] - movs r0, 0x12 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r3, 0 - movs r1, 0x78 - strh r1, [r0, 0x20] - movs r0, 0x14 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r1, 0x88 - lsls r1, 1 - strh r1, [r0, 0x20] - movs r0, 0x12 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r2, 0x2E - strh r2, [r0, 0x22] - movs r0, 0x14 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r2, [r0, 0x22] - movs r0, 0x12 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r3, [r0, 0x2E] - movs r0, 0x14 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r3, [r0, 0x2E] - movs r1, 0x80 - lsls r1, 6 - movs r0, 0 - movs r2, 0x20 - b _08144DF0 - .align 2, 0 -_08144BEC: .4byte gSprites -_08144BF0: .4byte gTasks -_08144BF4: - ldr r5, _08144C98 @ =gSprites - ldr r0, _08144C9C @ =gTasks - lsls r4, r7, 2 - adds r4, r7 - lsls r4, 3 - adds r4, r0 - movs r1, 0x12 - ldrsh r0, [r4, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - adds r1, 0x3E - ldrb r3, [r1] - movs r2, 0x5 - negs r2, r2 - adds r0, r2, 0 - ands r0, r3 - strb r0, [r1] - movs r0, 0x14 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x3E - ldrb r1, [r0] - ands r2, r1 - strb r2, [r0] - movs r0, 0x12 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r3, 0 - movs r1, 0x78 - strh r1, [r0, 0x20] - movs r0, 0x14 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r1, 0x88 - lsls r1, 1 - strh r1, [r0, 0x20] - movs r0, 0x12 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r2, 0x2E - strh r2, [r0, 0x22] - movs r0, 0x14 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r2, [r0, 0x22] - movs r0, 0x12 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r3, [r0, 0x2E] - movs r0, 0x14 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r3, [r0, 0x2E] - movs r1, 0x80 - lsls r1, 6 - movs r2, 0x80 - lsls r2, 2 - movs r0, 0x1 - b _08144DF0 - .align 2, 0 -_08144C98: .4byte gSprites -_08144C9C: .4byte gTasks -_08144CA0: - ldr r5, _08144D44 @ =gSprites - ldr r0, _08144D48 @ =gTasks - lsls r4, r7, 2 - adds r4, r7 - lsls r4, 3 - adds r4, r0 - movs r1, 0x12 - ldrsh r0, [r4, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - adds r1, 0x3E - ldrb r3, [r1] - movs r2, 0x5 - negs r2, r2 - adds r0, r2, 0 - ands r0, r3 - strb r0, [r1] - movs r0, 0x14 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x3E - ldrb r1, [r0] - ands r2, r1 - strb r2, [r0] - movs r0, 0x12 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r3, 0 - movs r1, 0x78 - strh r1, [r0, 0x20] - movs r0, 0x14 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldr r1, _08144D4C @ =0x0000ffe0 - strh r1, [r0, 0x20] - movs r0, 0x12 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r2, 0x2E - strh r2, [r0, 0x22] - movs r0, 0x14 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r2, [r0, 0x22] - movs r0, 0x12 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r3, [r0, 0x2E] - movs r0, 0x14 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r3, [r0, 0x2E] - movs r1, 0x80 - lsls r1, 6 - movs r2, 0x80 - lsls r2, 2 - movs r0, 0x1 - b _08144DF0 - .align 2, 0 -_08144D44: .4byte gSprites -_08144D48: .4byte gTasks -_08144D4C: .4byte 0x0000ffe0 -_08144D50: - ldr r5, _08144EBC @ =gSprites - ldr r0, _08144EC0 @ =gTasks - lsls r4, r7, 2 - adds r4, r7 - lsls r4, 3 - adds r4, r0 - movs r1, 0x12 - ldrsh r0, [r4, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - adds r1, 0x3E - ldrb r3, [r1] - movs r2, 0x5 - negs r2, r2 - adds r0, r2, 0 - ands r0, r3 - strb r0, [r1] - movs r0, 0x14 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - adds r0, 0x3E - ldrb r1, [r0] - ands r2, r1 - strb r2, [r0] - movs r0, 0x12 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r3, 0 - movs r1, 0x58 - strh r1, [r0, 0x20] - movs r0, 0x14 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r1, 0x98 - strh r1, [r0, 0x20] - movs r0, 0x12 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r2, 0x2E - strh r2, [r0, 0x22] - movs r0, 0x14 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r2, [r0, 0x22] - movs r0, 0x12 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r3, [r0, 0x2E] - movs r0, 0x14 - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r3, [r0, 0x2E] - movs r1, 0x80 - lsls r1, 6 - movs r2, 0x80 - lsls r2, 2 - movs r0, 0x2 -_08144DF0: - movs r3, 0x8 - bl sub_8148EC0 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x8] -_08144DFC: - ldr r0, _08144EC4 @ =sub_8144934 - movs r1, 0 - bl CreateTask - ldr r6, _08144EC0 @ =gTasks - lsls r1, r7, 2 - adds r1, r7 - lsls r1, 3 - adds r5, r1, r6 - lsls r0, 24 - lsrs r0, 24 - movs r4, 0 - strh r0, [r5, 0xC] - movs r0, 0xC - ldrsh r1, [r5, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r6 - mov r1, r8 - strh r1, [r0, 0x8] - movs r0, 0xC - ldrsh r1, [r5, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r6 - strh r4, [r0, 0xA] - movs r0, 0xC - ldrsh r1, [r5, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r6 - strh r7, [r0, 0xC] - ldr r0, _08144EC8 @ =sub_8144664 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0xA] - movs r0, 0xA - ldrsh r1, [r5, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r6 - strh r4, [r0, 0x8] - movs r0, 0xA - ldrsh r1, [r5, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r6 - strh r7, [r0, 0xA] - movs r0, 0xA - ldrsh r1, [r5, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r6 - ldrh r1, [r5, 0x12] - strh r1, [r0, 0xC] - movs r0, 0xA - ldrsh r1, [r5, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r6 - ldrh r1, [r5, 0x14] - strh r1, [r0, 0xE] - movs r0, 0xA - ldrsh r1, [r5, r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r0, r6 - strh r4, [r0, 0x10] - mov r1, r8 - cmp r1, 0x2 - bne _08144EB0 - movs r1, 0xA - ldrsh r0, [r5, r1] - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r6 - movs r0, 0x45 - strh r0, [r1, 0x12] -_08144EB0: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08144EBC: .4byte gSprites -_08144EC0: .4byte gTasks -_08144EC4: .4byte sub_8144934 -_08144EC8: .4byte sub_8144664 - thumb_func_end sub_8144A68 - - thumb_func_start sub_8144ECC -sub_8144ECC: @ 8144ECC - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - ldr r0, _08144F28 @ =gMain - ldr r1, _08144F2C @ =0x0000043c - adds r6, r0, r1 - ldrb r0, [r6] - cmp r0, 0x1 - beq _08144F38 - cmp r0, 0x1 - ble _08144EF0 - cmp r0, 0x2 - beq _08144F5C - cmp r0, 0x3 - bne _08144EF0 - b _0814508C -_08144EF0: - movs r0, 0x80 - lsls r0, 19 - movs r1, 0 - strh r1, [r0] - ldr r2, _08144F30 @ =REG_BG3HOFS - movs r0, 0x8 - strh r0, [r2] - ldr r0, _08144F34 @ =REG_BG3VOFS - strh r1, [r0] - subs r0, 0x6 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - subs r0, 0x6 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x3A - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - bl ResetSpriteData - bl FreeAllSpritePalettes - movs r0, 0x1 - strb r0, [r6] - b _081450A2 - .align 2, 0 -_08144F28: .4byte gMain -_08144F2C: .4byte 0x0000043c -_08144F30: .4byte REG_BG3HOFS -_08144F34: .4byte REG_BG3VOFS -_08144F38: - ldr r1, _08144F54 @ =gUnknown_02039358 - movs r0, 0x22 - strh r0, [r1] - ldr r1, _08144F58 @ =gUnknown_0203935A - movs r0, 0 - strh r0, [r1] - adds r0, r4, 0 - bl sub_8148CB0 - ldrb r0, [r6] - adds r0, 0x1 - strb r0, [r6] - b _081450A2 - .align 2, 0 -_08144F54: .4byte gUnknown_02039358 -_08144F58: .4byte gUnknown_0203935A -_08144F5C: - ldr r0, _08144FBC @ =gSaveBlock2 - ldrb r0, [r0, 0x8] - cmp r0, 0 - bne _08144FE0 - ldr r0, _08144FC0 @ =gIntro2BrendanSpriteSheet - bl LoadCompressedObjectPic - ldr r0, _08144FC4 @ =gUnknown_08416E34 - bl LoadCompressedObjectPic - ldr r0, _08144FC8 @ =gIntro2BicycleSpriteSheet - bl LoadCompressedObjectPic - ldr r0, _08144FCC @ =gIntro2SpritePalettes - bl LoadSpritePalettes - movs r0, 0x78 - movs r1, 0x2E - bl intro_create_brendan_sprite - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, _08144FD0 @ =gTasks - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - adds r4, r0 - strh r2, [r4, 0x12] - ldr r6, _08144FD4 @ =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r5, r6, 0 - adds r5, 0x1C - adds r2, r0, r5 - ldr r1, _08144FD8 @ =sub_8145378 - str r1, [r2] - adds r6, 0x8 - adds r0, r6 - ldr r1, _08144FDC @ =gUnknown_0840CA54 - str r1, [r0] - movs r0, 0x88 - lsls r0, 1 - movs r1, 0x2E - bl intro_create_may_sprite - b _08145034 - .align 2, 0 -_08144FBC: .4byte gSaveBlock2 -_08144FC0: .4byte gIntro2BrendanSpriteSheet -_08144FC4: .4byte gUnknown_08416E34 -_08144FC8: .4byte gIntro2BicycleSpriteSheet -_08144FCC: .4byte gIntro2SpritePalettes -_08144FD0: .4byte gTasks -_08144FD4: .4byte gSprites -_08144FD8: .4byte sub_8145378 -_08144FDC: .4byte gUnknown_0840CA54 -_08144FE0: - ldr r0, _0814505C @ =gIntro2MaySpriteSheet - bl LoadCompressedObjectPic - ldr r0, _08145060 @ =gUnknown_08416E24 - bl LoadCompressedObjectPic - ldr r0, _08145064 @ =gIntro2BicycleSpriteSheet - bl LoadCompressedObjectPic - ldr r0, _08145068 @ =gIntro2SpritePalettes - bl LoadSpritePalettes - movs r0, 0x78 - movs r1, 0x2E - bl intro_create_may_sprite - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, _0814506C @ =gTasks - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - adds r4, r0 - strh r2, [r4, 0x12] - ldr r6, _08145070 @ =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r5, r6, 0 - adds r5, 0x1C - adds r2, r0, r5 - ldr r1, _08145074 @ =sub_8145378 - str r1, [r2] - adds r6, 0x8 - adds r0, r6 - ldr r1, _08145078 @ =gUnknown_0840CA54 - str r1, [r0] - movs r0, 0x88 - lsls r0, 1 - movs r1, 0x2E - bl intro_create_brendan_sprite -_08145034: - lsls r0, 24 - lsrs r2, r0, 24 - strh r2, [r4, 0x14] - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r5, r0, r5 - ldr r1, _0814507C @ =sub_8145420 - str r1, [r5] - adds r0, r6 - ldr r1, _08145080 @ =gUnknown_0840CA94 - str r1, [r0] - ldr r1, _08145084 @ =gMain - ldr r0, _08145088 @ =0x0000043c - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _081450A2 - .align 2, 0 -_0814505C: .4byte gIntro2MaySpriteSheet -_08145060: .4byte gUnknown_08416E24 -_08145064: .4byte gIntro2BicycleSpriteSheet -_08145068: .4byte gIntro2SpritePalettes -_0814506C: .4byte gTasks -_08145070: .4byte gSprites -_08145074: .4byte sub_8145378 -_08145078: .4byte gUnknown_0840CA54 -_0814507C: .4byte sub_8145420 -_08145080: .4byte gUnknown_0840CA94 -_08145084: .4byte gMain -_08145088: .4byte 0x0000043c -_0814508C: - adds r0, r4, 0 - adds r1, r5, 0 - bl sub_8144A68 - adds r0, r4, 0 - bl sub_8148E90 - movs r0, 0 - strb r0, [r6] - movs r0, 0x1 - b _081450A4 -_081450A2: - movs r0, 0 -_081450A4: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8144ECC - - thumb_func_start sub_81450AC -sub_81450AC: @ 81450AC - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08145120 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 - ldrh r1, [r4, 0x8] - movs r2, 0x8 - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _081450D2 - lsls r0, r1, 24 - lsrs r0, 24 - bl DestroyTask - movs r0, 0 - strh r0, [r4, 0x8] -_081450D2: - ldrh r1, [r4, 0xA] - movs r2, 0xA - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _081450E8 - lsls r0, r1, 24 - lsrs r0, 24 - bl DestroyTask - movs r0, 0 - strh r0, [r4, 0xA] -_081450E8: - ldrh r1, [r4, 0xC] - movs r2, 0xC - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _081450FE - lsls r0, r1, 24 - lsrs r0, 24 - bl DestroyTask - movs r0, 0 - strh r0, [r4, 0xC] -_081450FE: - ldrh r1, [r4, 0xE] - movs r2, 0xE - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _08145114 - lsls r0, r1, 24 - lsrs r0, 24 - bl DestroyTask - movs r0, 0 - strh r0, [r4, 0xE] -_08145114: - ldr r1, _08145124 @ =gUnknown_0203935C - movs r0, 0x1 - strh r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08145120: .4byte gTasks -_08145124: .4byte gUnknown_0203935C - thumb_func_end sub_81450AC - - thumb_func_start sub_8145128 -sub_8145128: @ 8145128 - push {r4-r7,lr} - adds r3, r0, 0 - adds r4, r2, 0 - lsls r3, 16 - lsrs r3, 16 - lsls r1, 16 - lsrs r7, r1, 16 - lsls r4, 16 - lsrs r5, r4, 16 - ldr r0, _081451EC @ =gCreditsCopyrightEnd_Gfx - movs r6, 0xC0 - lsls r6, 19 - adds r3, r6 - adds r1, r3, 0 - bl LZ77UnCompVram - ldr r0, _081451F0 @ =gIntroCopyright_Pal - adds r1, r5, 0 - movs r2, 0x20 - bl LoadPalette - lsrs r4, 20 - lsls r4, 28 - lsrs r4, 16 - movs r2, 0 - adds r1, r4, 0x1 - ldr r3, _081451F4 @ =0x000003ff -_0814515E: - lsls r0, r2, 1 - adds r0, r7 - adds r0, r6 - strh r1, [r0] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, r3 - bls _0814515E - movs r2, 0 - adds r0, r4, 0x2 - adds r6, r4, 0 - adds r6, 0x17 - movs r1, 0x2B - adds r1, r4 - mov r12, r1 - adds r4, 0x42 - ldr r5, _081451F8 @ =0x060001c8 - adds r3, r0, 0 -_08145184: - lsls r0, r2, 1 - adds r0, r7 - adds r0, r5 - adds r1, r2, r3 - strh r1, [r0] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x14 - bls _08145184 - movs r2, 0 - ldr r5, _081451FC @ =0x06000248 - adds r3, r6, 0 -_0814519E: - lsls r0, r2, 1 - adds r0, r7 - adds r0, r5 - adds r1, r2, r3 - strh r1, [r0] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x13 - bls _0814519E - movs r2, 0 - ldr r5, _08145200 @ =0x060002c8 - mov r3, r12 -_081451B8: - lsls r0, r2, 1 - adds r0, r7 - adds r0, r5 - adds r1, r2, r3 - strh r1, [r0] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x16 - bls _081451B8 - movs r2, 0 - ldr r3, _08145204 @ =0x06000348 -_081451D0: - lsls r0, r2, 1 - adds r0, r7 - adds r0, r3 - adds r1, r2, r4 - strh r1, [r0] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0xB - bls _081451D0 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081451EC: .4byte gCreditsCopyrightEnd_Gfx -_081451F0: .4byte gIntroCopyright_Pal -_081451F4: .4byte 0x000003ff -_081451F8: .4byte 0x060001c8 -_081451FC: .4byte 0x06000248 -_08145200: .4byte 0x060002c8 -_08145204: .4byte 0x06000348 - thumb_func_end sub_8145128 - - thumb_func_start sub_8145208 -sub_8145208: @ 8145208 - push {lr} - lsls r0, 24 - lsrs r2, r0, 24 - adds r3, r2, 0 - movs r0, 0x3F - ands r0, r2 - adds r1, r0, 0 - adds r1, 0x50 - cmp r2, 0xFF - bne _08145220 - movs r0, 0x1 - b _08145246 -_08145220: - movs r0, 0x80 - ands r0, r2 - cmp r0, 0 - beq _08145230 - movs r2, 0x80 - lsls r2, 4 - adds r0, r2, 0 - orrs r1, r0 -_08145230: - movs r0, 0x40 - ands r3, r0 - cmp r3, 0 - beq _08145244 - movs r2, 0x80 - lsls r2, 3 - adds r0, r2, 0 - orrs r1, r0 - lsls r0, r1, 16 - lsrs r1, r0, 16 -_08145244: - adds r0, r1, 0 -_08145246: - pop {r1} - bx r1 - thumb_func_end sub_8145208 - - thumb_func_start sub_814524C -sub_814524C: @ 814524C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - str r0, [sp] - ldr r0, [sp, 0x2C] - lsls r1, 24 - lsrs r1, 24 - mov r10, r1 - lsls r2, 24 - lsrs r2, 24 - str r2, [sp, 0x4] - lsls r3, 16 - lsrs r3, 16 - str r3, [sp, 0x8] - lsls r0, 16 - lsrs r0, 20 - lsls r0, 28 - lsrs r0, 16 - mov r9, r0 - movs r5, 0 -_0814527A: - movs r4, 0 - lsls r7, r5, 1 - ldr r1, [sp, 0x4] - adds r0, r1, r5 - adds r2, r5, 0x1 - mov r8, r2 - lsls r0, 6 - ldr r1, [sp, 0x8] - adds r6, r0, r1 -_0814528C: - adds r0, r7, r5 - adds r0, r4 - ldr r2, [sp] - adds r0, r2, r0 - ldrb r0, [r0] - bl sub_8145208 - mov r2, r10 - adds r1, r2, r4 - lsls r1, 1 - adds r1, r6 - movs r2, 0xC0 - lsls r2, 19 - adds r1, r2 - add r0, r9 - strh r0, [r1] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x2 - bls _0814528C - mov r1, r8 - lsls r0, r1, 24 - lsrs r5, r0, 24 - cmp r5, 0x4 - bls _0814527A - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_814524C - - thumb_func_start sub_81452D0 -sub_81452D0: @ 81452D0 - push {r4-r7,lr} - sub sp, 0x4 - lsls r0, 16 - lsrs r5, r0, 16 - lsls r1, 16 - lsrs r6, r1, 16 - lsrs r1, 20 - lsls r1, 28 - lsrs r1, 16 - movs r2, 0 - ldr r7, _08145360 @ =gUnknown_0840B83C - movs r4, 0xC0 - lsls r4, 19 - adds r1, 0x1 - ldr r3, _08145364 @ =0x000003ff -_081452EE: - lsls r0, r2, 1 - adds r0, r5 - adds r0, r4 - strh r1, [r0] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, r3 - bls _081452EE - str r6, [sp] - adds r0, r7, 0 - movs r1, 0x3 - movs r2, 0x7 - adds r3, r5, 0 - bl sub_814524C - ldr r0, _08145368 @ =gUnknown_0840B84B - str r6, [sp] - movs r1, 0x7 - movs r2, 0x7 - adds r3, r5, 0 - bl sub_814524C - ldr r4, _0814536C @ =gUnknown_0840B85A - str r6, [sp] - adds r0, r4, 0 - movs r1, 0xB - movs r2, 0x7 - adds r3, r5, 0 - bl sub_814524C - str r6, [sp] - adds r0, r4, 0 - movs r1, 0x10 - movs r2, 0x7 - adds r3, r5, 0 - bl sub_814524C - ldr r0, _08145370 @ =gUnknown_0840B869 - str r6, [sp] - movs r1, 0x14 - movs r2, 0x7 - adds r3, r5, 0 - bl sub_814524C - ldr r0, _08145374 @ =gUnknown_0840B878 - str r6, [sp] - movs r1, 0x18 - movs r2, 0x7 - adds r3, r5, 0 - bl sub_814524C - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08145360: .4byte gUnknown_0840B83C -_08145364: .4byte 0x000003ff -_08145368: .4byte gUnknown_0840B84B -_0814536C: .4byte gUnknown_0840B85A -_08145370: .4byte gUnknown_0840B869 -_08145374: .4byte gUnknown_0840B878 - thumb_func_end sub_81452D0 - - thumb_func_start sub_8145378 -sub_8145378: @ 8145378 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _08145390 @ =gUnknown_0203935C - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _08145394 - adds r0, r4, 0 - bl DestroySprite - b _08145418 - .align 2, 0 -_08145390: .4byte gUnknown_0203935C -_08145394: - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r0, 0x5 - bhi _08145418 - lsls r0, 2 - ldr r1, _081453A8 @ =_081453AC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_081453A8: .4byte _081453AC - .align 2, 0 -_081453AC: - .4byte _081453C4 - .4byte _081453CE - .4byte _081453D4 - .4byte _081453DE - .4byte _081453E8 - .4byte _081453FE -_081453C4: - adds r0, r4, 0 - movs r1, 0 - bl StartSpriteAnimIfDifferent - b _08145418 -_081453CE: - adds r0, r4, 0 - movs r1, 0x1 - b _08145402 -_081453D4: - adds r0, r4, 0 - movs r1, 0x2 - bl StartSpriteAnimIfDifferent - b _08145418 -_081453DE: - adds r0, r4, 0 - movs r1, 0x3 - bl StartSpriteAnimIfDifferent - b _08145418 -_081453E8: - adds r0, r4, 0 - movs r1, 0 - bl StartSpriteAnimIfDifferent - ldrh r1, [r4, 0x20] - movs r2, 0x20 - ldrsh r0, [r4, r2] - cmp r0, 0x78 - ble _08145418 - subs r0, r1, 0x1 - b _08145416 -_081453FE: - adds r0, r4, 0 - movs r1, 0 -_08145402: - bl StartSpriteAnimIfDifferent - ldrh r2, [r4, 0x20] - movs r0, 0x20 - ldrsh r1, [r4, r0] - movs r0, 0x20 - negs r0, r0 - cmp r1, r0 - ble _08145418 - subs r0, r2, 0x1 -_08145416: - strh r0, [r4, 0x20] -_08145418: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8145378 - - thumb_func_start sub_8145420 -sub_8145420: @ 8145420 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _08145438 @ =gUnknown_0203935C - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _0814543C - adds r0, r4, 0 - bl DestroySprite - b _081454D8 - .align 2, 0 -_08145438: .4byte gUnknown_0203935C -_0814543C: - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _08145464 - cmp r0, 0x1 - bgt _0814544E - cmp r0, 0 - beq _08145458 - b _081454D8 -_0814544E: - cmp r0, 0x2 - beq _081454A0 - cmp r0, 0x3 - beq _081454BE - b _081454D8 -_08145458: - strh r0, [r4, 0x26] - adds r0, r4, 0 - movs r1, 0 - bl StartSpriteAnimIfDifferent - b _081454D8 -_08145464: - movs r1, 0x20 - ldrsh r0, [r4, r1] - cmp r0, 0xC8 - ble _08145476 - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAnimIfDifferent - b _0814547E -_08145476: - adds r0, r4, 0 - movs r1, 0x2 - bl StartSpriteAnimIfDifferent -_0814547E: - ldrh r2, [r4, 0x20] - movs r0, 0x20 - ldrsh r1, [r4, r0] - movs r0, 0x20 - negs r0, r0 - cmp r1, r0 - ble _08145490 - subs r0, r2, 0x2 - strh r0, [r4, 0x20] -_08145490: - ldr r0, _0814549C @ =gUnknown_0203935A - ldrh r0, [r0] - negs r0, r0 - strh r0, [r4, 0x26] - b _081454D8 - .align 2, 0 -_0814549C: .4byte gUnknown_0203935A -_081454A0: - ldrh r0, [r4, 0x3C] - adds r0, 0x1 - strh r0, [r4, 0x3C] - adds r0, r4, 0 - movs r1, 0 - bl StartSpriteAnimIfDifferent - ldrh r1, [r4, 0x3C] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - bne _081454D8 - ldrh r0, [r4, 0x20] - adds r0, 0x1 - b _081454D6 -_081454BE: - adds r0, r4, 0 - movs r1, 0 - bl StartSpriteAnimIfDifferent - ldrh r2, [r4, 0x20] - movs r0, 0x20 - ldrsh r1, [r4, r0] - movs r0, 0x20 - negs r0, r0 - cmp r1, r0 - ble _081454D8 - subs r0, r2, 0x1 -_081454D6: - strh r0, [r4, 0x20] -_081454D8: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8145420 - - thumb_func_start sub_81454E0 -sub_81454E0: @ 81454E0 - push {r4,r5,lr} - sub sp, 0x4 - adds r5, r0, 0 - ldr r0, _081454F8 @ =gUnknown_0203935C - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0 - beq _081454FC - adds r0, r5, 0 - bl DestroySprite - b _081456A6 - .align 2, 0 -_081454F8: .4byte gUnknown_0203935C -_081454FC: - ldrh r0, [r5, 0x3C] - adds r0, 0x1 - strh r0, [r5, 0x3C] - movs r2, 0x2E - ldrsh r0, [r5, r2] - cmp r0, 0xA - bhi _08145544 - lsls r0, 2 - ldr r1, _08145514 @ =_08145518 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08145514: .4byte _08145518 - .align 2, 0 -_08145518: - .4byte _08145544 - .4byte _0814559E - .4byte _08145620 - .4byte _08145660 - .4byte _08145544 - .4byte _08145544 - .4byte _08145544 - .4byte _08145544 - .4byte _08145544 - .4byte _08145544 - .4byte _08145696 -_08145544: - ldrb r1, [r5, 0x1] - movs r0, 0x4 - negs r0, r0 - ands r0, r1 - movs r1, 0x1 - orrs r0, r1 - strb r0, [r5, 0x1] - movs r0, 0x30 - ldrsh r1, [r5, r0] - movs r0, 0x1F - ands r1, r0 - lsls r1, 1 - ldrb r2, [r5, 0x3] - movs r0, 0x3F - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r5, 0x3] - movs r0, 0x10 - strh r0, [r5, 0x32] - ldrh r4, [r5, 0x30] - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x80 - lsls r0, 9 - movs r1, 0x10 - bl __divsi3 - adds r1, r0, 0 - str r1, [sp] - adds r0, r4, 0 - movs r2, 0 - movs r3, 0 - bl SetOamMatrix - adds r2, r5, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - movs r0, 0x1 - strh r0, [r5, 0x2E] - b _081456A6 -_0814559E: - ldrh r1, [r5, 0x32] - movs r2, 0x32 - ldrsh r0, [r5, r2] - cmp r0, 0xFF - bgt _081455D4 - adds r0, r1, 0 - adds r0, 0x8 - strh r0, [r5, 0x32] - ldrh r4, [r5, 0x30] - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x32 - ldrsh r1, [r5, r0] - movs r0, 0x80 - lsls r0, 9 - bl __divsi3 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - str r1, [sp] - adds r0, r4, 0 - movs r2, 0 - movs r3, 0 - bl SetOamMatrix - b _081455DA -_081455D4: - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] -_081455DA: - movs r2, 0x30 - ldrsh r1, [r5, r2] - cmp r1, 0x2 - beq _081456A6 - cmp r1, 0x2 - bgt _081455EC - cmp r1, 0x1 - beq _081455F2 - b _081456A6 -_081455EC: - cmp r1, 0x3 - beq _0814560A - b _081456A6 -_081455F2: - ldrh r1, [r5, 0x3C] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0 - bne _08145602 - ldrh r0, [r5, 0x22] - adds r0, 0x1 - strh r0, [r5, 0x22] -_08145602: - ldrh r0, [r5, 0x20] - subs r0, 0x2 - strh r0, [r5, 0x20] - b _081456A6 -_0814560A: - ldrh r0, [r5, 0x3C] - ands r1, r0 - cmp r1, 0 - bne _08145618 - ldrh r0, [r5, 0x22] - adds r0, 0x1 - strh r0, [r5, 0x22] -_08145618: - ldrh r0, [r5, 0x20] - adds r0, 0x2 - strh r0, [r5, 0x20] - b _081456A6 -_08145620: - ldrh r1, [r5, 0x34] - movs r2, 0x34 - ldrsh r0, [r5, r2] - cmp r0, 0 - beq _08145630 - subs r0, r1, 0x1 - strh r0, [r5, 0x34] - b _081456A6 -_08145630: - ldr r1, _0814565C @ =REG_BLDCNT - movs r2, 0xF4 - lsls r2, 4 - adds r0, r2, 0 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x10 - strh r0, [r1] - ldrb r1, [r5, 0x1] - movs r0, 0xD - negs r0, r0 - ands r0, r1 - movs r1, 0x4 - orrs r0, r1 - strb r0, [r5, 0x1] - movs r0, 0x10 - strh r0, [r5, 0x34] - ldrh r0, [r5, 0x2E] - adds r0, 0x1 - strh r0, [r5, 0x2E] - b _081456A6 - .align 2, 0 -_0814565C: .4byte REG_BLDCNT -_08145660: - ldrh r1, [r5, 0x34] - movs r2, 0x34 - ldrsh r0, [r5, r2] - cmp r0, 0 - beq _08145684 - subs r1, 0x1 - strh r1, [r5, 0x34] - ldr r3, _08145680 @ =REG_BLDALPHA - movs r0, 0x34 - ldrsh r2, [r5, r0] - movs r0, 0x10 - subs r0, r2 - lsls r0, 8 - adds r1, r0 - strh r1, [r3] - b _081456A6 - .align 2, 0 -_08145680: .4byte REG_BLDALPHA -_08145684: - adds r2, r5, 0 - adds r2, 0x3E - ldrb r0, [r2] - movs r1, 0x4 - orrs r0, r1 - strb r0, [r2] - movs r0, 0xA - strh r0, [r5, 0x2E] - b _081456A6 -_08145696: - ldr r0, _081456B0 @ =REG_BLDCNT - movs r1, 0 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, r5, 0 - bl DestroySprite -_081456A6: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_081456B0: .4byte REG_BLDCNT - thumb_func_end sub_81454E0 - - thumb_func_start sub_81456B4 -sub_81456B4: @ 81456B4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - lsls r0, 16 - lsrs r6, r0, 16 - lsls r1, 16 - lsrs r1, 16 - mov r10, r1 - lsls r2, 16 - lsrs r2, 16 - str r2, [sp, 0x10] - lsls r3, 16 - lsrs r3, 16 - mov r9, r3 - adds r0, r6, 0 - bl NationalPokedexNumToSpecies - adds r6, r0, 0 - cmp r6, 0xC9 - beq _081456F8 - movs r0, 0x9A - lsls r0, 1 - cmp r6, r0 - beq _081456EE - movs r7, 0 - b _081456FC -_081456EE: - ldr r0, _081456F4 @ =gSaveBlock2 - ldr r7, [r0, 0x20] - b _081456FC - .align 2, 0 -_081456F4: .4byte gSaveBlock2 -_081456F8: - ldr r0, _081457E8 @ =gSaveBlock2 - ldr r7, [r0, 0x1C] -_081456FC: - lsls r0, r6, 3 - ldr r1, _081457EC @ =gMonFrontPicTable - adds r0, r1 - ldr r1, _081457F0 @ =gMonFrontPicCoords - lsls r2, r6, 2 - adds r2, r1 - ldrb r1, [r2] - ldrb r2, [r2, 0x1] - movs r3, 0x80 - lsls r3, 18 - ldr r4, _081457F4 @ =gUnknown_0840B5A0 - mov r8, r4 - mov r5, r9 - lsls r4, r5, 2 - add r4, r8 - ldr r4, [r4] - str r4, [sp] - str r6, [sp, 0x4] - str r7, [sp, 0x8] - movs r4, 0x1 - str r4, [sp, 0xC] - bl sub_800D378 - ldr r2, _081457F8 @ =0x0000ffff - adds r0, r6, 0 - movs r1, 0 - bl species_and_otid_get_pal - lsls r5, 4 - mov r8, r5 - movs r1, 0x80 - lsls r1, 1 - add r1, r8 - lsls r1, 16 - lsrs r1, 16 - movs r2, 0x20 - bl LoadCompressedPalette - mov r7, r9 - lsls r6, r7, 24 - lsrs r6, 24 - mov r0, r9 - adds r1, r6, 0 - bl sub_8143648 - ldr r0, _081457FC @ =gUnknown_02024E8C - mov r2, r10 - lsls r1, r2, 16 - asrs r1, 16 - ldr r3, [sp, 0x10] - lsls r2, r3, 16 - asrs r2, 16 - movs r3, 0 - bl CreateSprite - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r5, _08145800 @ =gSprites - lsls r2, r4, 4 - adds r2, r4 - lsls r2, 2 - adds r3, r2, r5 - ldrb r1, [r3, 0x5] - movs r0, 0xF - ands r0, r1 - mov r7, r8 - orrs r0, r7 - movs r1, 0xD - negs r1, r1 - ands r0, r1 - movs r1, 0x4 - orrs r0, r1 - strb r0, [r3, 0x5] - mov r0, r9 - adds r0, 0x1 - strh r0, [r3, 0x30] - movs r0, 0x3E - adds r0, r3 - mov r8, r0 - ldrb r0, [r0] - orrs r0, r1 - mov r1, r8 - strb r0, [r1] - adds r0, r5, 0 - adds r0, 0x1C - adds r2, r0 - ldr r0, _08145804 @ =sub_81454E0 - str r0, [r2] - ldr r0, _08145808 @ =gSpriteTemplate_840CAEC - movs r2, 0x20 - ldrsh r1, [r3, r2] - movs r7, 0x22 - ldrsh r2, [r3, r7] - movs r3, 0x1 - bl CreateSprite - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r4, [r0, 0x2E] - adds r1, r6, 0 - bl StartSpriteAnimIfDifferent - adds r0, r4, 0 - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_081457E8: .4byte gSaveBlock2 -_081457EC: .4byte gMonFrontPicTable -_081457F0: .4byte gMonFrontPicCoords -_081457F4: .4byte gUnknown_0840B5A0 -_081457F8: .4byte 0x0000ffff -_081457FC: .4byte gUnknown_02024E8C -_08145800: .4byte gSprites -_08145804: .4byte sub_81454E0 -_08145808: .4byte gSpriteTemplate_840CAEC - thumb_func_end sub_81456B4 - - thumb_func_start sub_814580C -sub_814580C: @ 814580C - push {r4,lr} - adds r3, r0, 0 - ldr r4, _08145838 @ =gSprites - movs r1, 0x2E - ldrsh r0, [r3, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - movs r2, 0x2E - ldrsh r0, [r1, r2] - cmp r0, 0xA - beq _08145830 - ldr r0, _0814583C @ =gUnknown_0203935C - movs r2, 0 - ldrsh r0, [r0, r2] - cmp r0, 0 - beq _08145840 -_08145830: - adds r0, r3, 0 - bl DestroySprite - b _081458D4 - .align 2, 0 -_08145838: .4byte gSprites -_0814583C: .4byte gUnknown_0203935C -_08145840: - adds r0, r1, 0 - adds r0, 0x3E - ldrb r0, [r0] - movs r1, 0x3E - adds r1, r3 - mov r12, r1 - movs r1, 0x4 - ands r1, r0 - mov r0, r12 - ldrb r2, [r0] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - mov r1, r12 - strb r0, [r1] - movs r2, 0x2E - ldrsh r1, [r3, r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r1, [r0, 0x1] - movs r0, 0xC - ands r0, r1 - ldrb r2, [r3, 0x1] - movs r1, 0xD - negs r1, r1 - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0x1] - movs r0, 0x2E - ldrsh r2, [r3, r0] - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r4 - ldrb r0, [r0, 0x1] - lsls r0, 30 - lsrs r0, 30 - movs r2, 0x4 - negs r2, r2 - ands r1, r2 - orrs r1, r0 - strb r1, [r3, 0x1] - movs r2, 0x2E - ldrsh r1, [r3, r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r0, [r0, 0x3] - movs r1, 0x3E - ands r1, r0 - ldrb r2, [r3, 0x3] - movs r0, 0x3F - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0x3] - movs r0, 0x2E - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r0, [r0, 0x20] - strh r0, [r3, 0x20] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r0, [r0, 0x22] - strh r0, [r3, 0x22] -_081458D4: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_814580C - - thumb_func_start sub_81458DC -sub_81458DC: @ 81458DC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - ldr r7, _0814597C @ =0x0201c000 - ldr r0, _08145980 @ =0x00004023 - bl VarGet - lsls r0, 16 - lsrs r0, 16 - bl GetStarterPokemon - lsls r0, 16 - lsrs r0, 16 - bl SpeciesToNationalPokedexNum - lsls r0, 16 - lsrs r0, 16 - mov r10, r0 - movs r4, 0x1 - movs r5, 0 - ldr r0, _08145984 @ =0x00000181 - mov r8, r0 -_0814590E: - adds r0, r4, 0 - movs r1, 0x1 - bl sub_8090D90 - lsls r0, 24 - adds r6, r7, 0 - adds r6, 0x90 - cmp r0, 0 - beq _0814592C - lsls r0, r5, 1 - adds r0, r6, r0 - strh r4, [r0] - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 -_0814592C: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, r8 - bls _0814590E - adds r4, r5, 0 - ldr r0, _08145984 @ =0x00000181 - lsls r1, r4, 16 - mov r9, r1 - movs r2, 0x8E - adds r2, r7 - mov r8, r2 - adds r1, r7, 0 - adds r1, 0x86 - str r1, [sp] - cmp r4, r0 - bhi _08145964 - adds r1, r6, 0 - movs r3, 0 - adds r2, r0, 0 -_08145954: - lsls r0, r4, 1 - adds r0, r1, r0 - strh r3, [r0] - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, r2 - bls _08145954 -_08145964: - movs r2, 0xE5 - lsls r2, 2 - adds r0, r7, r2 - strh r5, [r0] - mov r1, r9 - lsrs r0, r1, 16 - cmp r0, 0x43 - bhi _08145988 - mov r2, r8 - strh r5, [r2] - b _0814598E - .align 2, 0 -_0814597C: .4byte 0x0201c000 -_08145980: .4byte 0x00004023 -_08145984: .4byte 0x00000181 -_08145988: - movs r0, 0x44 - mov r1, r8 - strh r0, [r1] -_0814598E: - movs r5, 0 - movs r2, 0xE5 - lsls r2, 2 - adds r4, r7, r2 - mov r9, r5 - b _0814599E -_0814599A: - cmp r5, 0x43 - bhi _081459EE -_0814599E: - bl Random - lsls r0, 16 - lsrs r0, 16 - ldrh r1, [r4] - bl __umodsi3 - lsls r0, 16 - lsrs r2, r0, 16 - lsls r1, r5, 1 - adds r1, r7, r1 - lsls r0, r2, 1 - adds r3, r6, r0 - ldrh r0, [r3] - strh r0, [r1] - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - mov r0, r9 - strh r0, [r3] - ldrh r0, [r4] - subs r0, 0x1 - strh r0, [r4] - lsls r0, 16 - lsrs r0, 16 - cmp r2, r0 - beq _081459E8 - ldrh r0, [r4] - lsls r0, 1 - adds r0, r6, r0 - ldrh r0, [r0] - strh r0, [r3] - ldrh r0, [r4] - lsls r0, 1 - adds r0, r6, r0 - mov r1, r9 - strh r1, [r0] -_081459E8: - ldrh r0, [r4] - cmp r0, 0 - bne _0814599A -_081459EE: - mov r2, r8 - ldrh r0, [r2] - cmp r0, 0x43 - bhi _08145A26 - adds r5, r0, 0 - movs r2, 0 - cmp r5, 0x43 - bhi _08145A5C - mov r3, r8 -_08145A00: - lsls r1, r5, 1 - adds r1, r7, r1 - lsls r0, r2, 1 - adds r0, r7, r0 - ldrh r0, [r0] - strh r0, [r1] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - ldrh r0, [r3] - cmp r2, r0 - bne _08145A1A - movs r2, 0 -_08145A1A: - adds r0, r5, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - cmp r5, 0x43 - bls _08145A00 - b _08145A5C -_08145A26: - movs r4, 0 - ldrh r0, [r7] - cmp r0, r10 - beq _08145A42 -_08145A2E: - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - lsls r0, r4, 1 - adds r0, r7, r0 - ldrh r0, [r0] - cmp r0, r10 - beq _08145A42 - cmp r4, 0x43 - bls _08145A2E -_08145A42: - mov r1, r8 - ldrh r0, [r1] - subs r0, 0x1 - cmp r4, r0 - bge _08145A5C - lsls r0, r4, 1 - adds r0, r7, r0 - ldr r2, [sp] - ldrh r1, [r2] - strh r1, [r0] - mov r0, r10 - strh r0, [r2] - b _08145A62 -_08145A5C: - mov r2, r10 - ldr r1, [sp] - strh r2, [r1] -_08145A62: - movs r0, 0x44 - mov r1, r8 - strh r0, [r1] - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_81458DC - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/rom_81473B8.s b/asm/rom_81473B8.s index 6c26c034a..4b39758b0 100644 --- a/asm/rom_81473B8.s +++ b/asm/rom_81473B8.s @@ -603,1831 +603,4 @@ _08147884: _0814788C: .4byte gTasks thumb_func_end sub_814782C - thumb_func_start sub_8147890 -sub_8147890: @ 8147890 - push {lr} - bl AnimateSprites - bl BuildOamBuffer - bl RunTasks - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_8147890 - - thumb_func_start sub_81478A8 -sub_81478A8: @ 81478A8 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_81478A8 - - thumb_func_start sub_81478BC -sub_81478BC: @ 81478BC - push {r4,lr} - sub sp, 0x4 - ldr r0, _081478D8 @ =gMain - ldr r1, _081478DC @ =0x0000043c - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0xD - bls _081478CE - b _08147AD0 -_081478CE: - lsls r0, 2 - ldr r1, _081478E0 @ =_081478E4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_081478D8: .4byte gMain -_081478DC: .4byte 0x0000043c -_081478E0: .4byte _081478E4 - .align 2, 0 -_081478E4: - .4byte _0814791C - .4byte _08147938 - .4byte _0814794C - .4byte _08147960 - .4byte _08147966 - .4byte _08147980 - .4byte _0814798C - .4byte _081479B8 - .4byte _081479DC - .4byte _081479F4 - .4byte _08147A20 - .4byte _08147A3C - .4byte _08147A5C - .4byte _08147A8C -_0814791C: - bl sub_80F9438 - bl sub_80F9368 - bl sub_8147B04 - ldr r1, _08147930 @ =gMain - ldr r2, _08147934 @ =0x0000043c - adds r1, r2 - b _08147A4A - .align 2, 0 -_08147930: .4byte gMain -_08147934: .4byte 0x0000043c -_08147938: - bl ResetPaletteFade - ldr r2, _08147948 @ =gPaletteFade - ldrb r0, [r2, 0x8] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2, 0x8] - b _08147A44 - .align 2, 0 -_08147948: .4byte gPaletteFade -_0814794C: - bl ResetSpriteData - ldr r1, _08147958 @ =gMain - ldr r2, _0814795C @ =0x0000043c - adds r1, r2 - b _08147A4A - .align 2, 0 -_08147958: .4byte gMain -_0814795C: .4byte 0x0000043c -_08147960: - bl FreeAllSpritePalettes - b _08147A44 -_08147966: - ldr r0, _08147974 @ =gWindowConfig_81E6E50 - bl SetUpWindowConfig - ldr r1, _08147978 @ =gMain - ldr r2, _0814797C @ =0x0000043c - adds r1, r2 - b _08147A4A - .align 2, 0 -_08147974: .4byte gWindowConfig_81E6E50 -_08147978: .4byte gMain -_0814797C: .4byte 0x0000043c -_08147980: - ldr r0, _08147988 @ =gWindowConfig_81E6E50 - bl MultistepInitMenuWindowBegin - b _08147A44 - .align 2, 0 -_08147988: .4byte gWindowConfig_81E6E50 -_0814798C: - bl MultistepInitMenuWindowContinue - cmp r0, 0 - bne _08147996 - b _08147AD0 -_08147996: - ldr r0, _081479A8 @ =0x02000000 - ldr r1, _081479AC @ =0x0001ffff - adds r0, r1 - movs r1, 0 - strb r1, [r0] - ldr r1, _081479B0 @ =gMain - ldr r2, _081479B4 @ =0x0000043c - adds r1, r2 - b _08147A4A - .align 2, 0 -_081479A8: .4byte 0x02000000 -_081479AC: .4byte 0x0001ffff -_081479B0: .4byte gMain -_081479B4: .4byte 0x0000043c -_081479B8: - ldr r0, _081479D4 @ =gUnknown_02039310 - ldrb r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _081479D8 @ =gPlayerParty - adds r0, r1 - bl sub_8147B20 - lsls r0, 24 - cmp r0, 0 - bne _081479D0 - b _08147AD0 -_081479D0: - b _08147A44 - .align 2, 0 -_081479D4: .4byte gUnknown_02039310 -_081479D8: .4byte gPlayerParty -_081479DC: - bl sub_81480B4 - ldr r1, _081479EC @ =0x02000000 - ldr r2, _081479F0 @ =0x0001fffd - adds r1, r2 - strb r0, [r1] - b _08147A44 - .align 2, 0 -_081479EC: .4byte 0x02000000 -_081479F0: .4byte 0x0001fffd -_081479F4: - ldr r0, _08147A10 @ =gUnknown_02039310 - ldrb r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, _08147A14 @ =gPlayerParty - adds r0, r1 - bl sub_8147F84 - ldr r1, _08147A18 @ =0x02000000 - ldr r2, _08147A1C @ =0x0001fffe - adds r1, r2 - strb r0, [r1] - b _08147A44 - .align 2, 0 -_08147A10: .4byte gUnknown_02039310 -_08147A14: .4byte gPlayerParty -_08147A18: .4byte 0x02000000 -_08147A1C: .4byte 0x0001fffe -_08147A20: - movs r0, 0 - movs r1, 0xE - movs r2, 0x1D - movs r3, 0x13 - bl MenuDrawTextWindow - ldr r1, _08147A34 @ =gMain - ldr r2, _08147A38 @ =0x0000043c - adds r1, r2 - b _08147A4A - .align 2, 0 -_08147A34: .4byte gMain -_08147A38: .4byte 0x0000043c -_08147A3C: - bl sub_8055870 - cmp r0, 0x1 - beq _08147AD0 -_08147A44: - ldr r1, _08147A54 @ =gMain - ldr r0, _08147A58 @ =0x0000043c - adds r1, r0 -_08147A4A: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08147AD0 - .align 2, 0 -_08147A54: .4byte gMain -_08147A58: .4byte 0x0000043c -_08147A5C: - ldr r3, _08147AB0 @ =0x04000208 - ldrh r2, [r3] - movs r0, 0 - strh r0, [r3] - ldr r4, _08147AB4 @ =0x04000200 - ldrh r0, [r4] - movs r1, 0x1 - orrs r0, r1 - strh r0, [r4] - strh r2, [r3] - ldr r2, _08147AB8 @ =REG_DISPSTAT - ldrh r0, [r2] - movs r1, 0x8 - orrs r0, r1 - strh r0, [r2] - ldr r0, _08147ABC @ =sub_81478A8 - bl SetVBlankCallback - ldr r1, _08147AC0 @ =gMain - ldr r2, _08147AC4 @ =0x0000043c - adds r1, r2 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_08147A8C: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r2, _08147AC8 @ =gPaletteFade - ldrb r1, [r2, 0x8] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2, 0x8] - ldr r0, _08147ACC @ =sub_8147890 - bl SetMainCallback2 - movs r0, 0x1 - b _08147AD2 - .align 2, 0 -_08147AB0: .4byte 0x04000208 -_08147AB4: .4byte 0x04000200 -_08147AB8: .4byte REG_DISPSTAT -_08147ABC: .4byte sub_81478A8 -_08147AC0: .4byte gMain -_08147AC4: .4byte 0x0000043c -_08147AC8: .4byte gPaletteFade -_08147ACC: .4byte sub_8147890 -_08147AD0: - movs r0, 0 -_08147AD2: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81478BC - - thumb_func_start sub_8147ADC -sub_8147ADC: @ 8147ADC - push {lr} -_08147ADE: - bl sub_81478BC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08147AF2 - movs r0, 0x1 - bl sub_8147DDC - b _08147AFE -_08147AF2: - bl sub_80F9344 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08147ADE -_08147AFE: - pop {r0} - bx r0 - thumb_func_end sub_8147ADC - - thumb_func_start sub_8147B04 -sub_8147B04: @ 8147B04 - ldr r1, _08147B18 @ =REG_BG1CNT - ldr r2, _08147B1C @ =0x00001d02 - adds r0, r2, 0 - strh r0, [r1] - subs r1, 0xA - movs r2, 0x9A - lsls r2, 5 - adds r0, r2, 0 - strh r0, [r1] - bx lr - .align 2, 0 -_08147B18: .4byte REG_BG1CNT -_08147B1C: .4byte 0x00001d02 - thumb_func_end sub_8147B04 - - thumb_func_start sub_8147B20 -sub_8147B20: @ 8147B20 - push {r4-r6,lr} - sub sp, 0xC - adds r4, r0, 0 - ldr r0, _08147B40 @ =0x02000000 - ldr r1, _08147B44 @ =0x0001ffff - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x8 - bls _08147B34 - b _08147C84 -_08147B34: - lsls r0, 2 - ldr r1, _08147B48 @ =_08147B4C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08147B40: .4byte 0x02000000 -_08147B44: .4byte 0x0001ffff -_08147B48: .4byte _08147B4C - .align 2, 0 -_08147B4C: - .4byte _08147B70 - .4byte _08147BB8 - .4byte _08147BF0 - .4byte _08147BFC - .4byte _08147C08 - .4byte _08147C14 - .4byte _08147C2C - .4byte _08147C38 - .4byte _08147C60 -_08147B70: - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - lsls r0, 16 - lsrs r5, r0, 16 - adds r0, r4, 0 - movs r1, 0 - bl GetMonData - adds r6, r0, 0 - lsls r0, r5, 3 - ldr r1, _08147BAC @ =gMonFrontPicTable - adds r0, r1 - ldr r1, _08147BB0 @ =gMonFrontPicCoords - lsls r2, r5, 2 - adds r2, r1 - ldrb r1, [r2] - ldrb r2, [r2, 0x1] - movs r3, 0x80 - lsls r3, 18 - ldr r4, _08147BB4 @ =gUnknown_081FAF4C - ldr r4, [r4, 0x4] - str r4, [sp] - str r5, [sp, 0x4] - str r6, [sp, 0x8] - bl sub_800D334 - b _08147C40 - .align 2, 0 -_08147BAC: .4byte gMonFrontPicTable -_08147BB0: .4byte gMonFrontPicCoords -_08147BB4: .4byte gUnknown_081FAF4C -_08147BB8: - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - lsls r0, 16 - lsrs r5, r0, 16 - adds r0, r4, 0 - movs r1, 0 - bl GetMonData - adds r6, r0, 0 - adds r0, r4, 0 - movs r1, 0x1 - bl GetMonData - adds r1, r0, 0 - adds r0, r5, 0 - adds r2, r6, 0 - bl sub_80409C8 - adds r4, r0, 0 - bl LoadCompressedObjectPalette - ldrh r0, [r4, 0x4] - movs r1, 0x1 - bl GetMonSpriteTemplate_803C56C - b _08147C40 -_08147BF0: - ldr r0, _08147BF8 @ =gUnknown_083F7F74 - bl LoadCompressedObjectPic - b _08147C40 - .align 2, 0 -_08147BF8: .4byte gUnknown_083F7F74 -_08147BFC: - ldr r0, _08147C04 @ =gUnknown_083F7F7C - bl LoadCompressedObjectPalette - b _08147C40 - .align 2, 0 -_08147C04: .4byte gUnknown_083F7F7C -_08147C08: - ldr r0, _08147C10 @ =gUnknown_084121DC - bl LoadCompressedObjectPic - b _08147C40 - .align 2, 0 -_08147C10: .4byte gUnknown_084121DC -_08147C14: - ldr r0, _08147C24 @ =gScriptItemId - ldrb r0, [r0] - bl sub_8147C90 - ldr r0, _08147C28 @ =gUnknown_02039350 - bl LoadCompressedObjectPalette - b _08147C40 - .align 2, 0 -_08147C24: .4byte gScriptItemId -_08147C28: .4byte gUnknown_02039350 -_08147C2C: - ldr r0, _08147C34 @ =gBattleTerrainTiles_Building - movs r1, 0xC0 - lsls r1, 19 - b _08147C3C - .align 2, 0 -_08147C34: .4byte gBattleTerrainTiles_Building -_08147C38: - ldr r0, _08147C50 @ =gUnknown_08E782FC - ldr r1, _08147C54 @ =0x0600e800 -_08147C3C: - bl LZDecompressVram -_08147C40: - ldr r1, _08147C58 @ =0x02000000 - ldr r0, _08147C5C @ =0x0001ffff - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08147C84 - .align 2, 0 -_08147C50: .4byte gUnknown_08E782FC -_08147C54: .4byte 0x0600e800 -_08147C58: .4byte 0x02000000 -_08147C5C: .4byte 0x0001ffff -_08147C60: - ldr r0, _08147C78 @ =gBattleTerrainPalette_BattleTower - movs r1, 0x20 - movs r2, 0x60 - bl LoadCompressedPalette - ldr r0, _08147C7C @ =0x02000000 - ldr r1, _08147C80 @ =0x0001ffff - adds r0, r1 - movs r1, 0 - strb r1, [r0] - movs r0, 0x1 - b _08147C86 - .align 2, 0 -_08147C78: .4byte gBattleTerrainPalette_BattleTower -_08147C7C: .4byte 0x02000000 -_08147C80: .4byte 0x0001ffff -_08147C84: - movs r0, 0 -_08147C86: - add sp, 0xC - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8147B20 - - thumb_func_start sub_8147C90 -sub_8147C90: @ 8147C90 - push {lr} - lsls r0, 24 - lsrs r0, 21 - ldr r1, _08147CB8 @ =gSaveBlock1 + 0x7F8 - adds r0, r1 - movs r1, 0 - bl sub_810CA9C - lsls r0, 24 - ldr r2, _08147CBC @ =gUnknown_02039350 - ldr r1, _08147CC0 @ =gUnknown_084120A4 - lsrs r0, 22 - subs r0, 0x4 - adds r0, r1 - ldr r0, [r0] - str r0, [r2] - ldr r0, _08147CC4 @ =0x000039e2 - strh r0, [r2, 0x4] - pop {r0} - bx r0 - .align 2, 0 -_08147CB8: .4byte gSaveBlock1 + 0x7F8 -_08147CBC: .4byte gUnknown_02039350 -_08147CC0: .4byte gUnknown_084120A4 -_08147CC4: .4byte 0x000039e2 - thumb_func_end sub_8147C90 - - thumb_func_start sub_8147CC8 -sub_8147CC8: @ 8147CC8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _08147D00 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08147CDC - b _08147DCE -_08147CDC: - ldr r0, _08147D04 @ =gTasks - lsls r2, r4, 2 - adds r1, r2, r4 - lsls r1, 3 - adds r1, r0 - movs r0, 0x8 - ldrsh r3, [r1, r0] - ldr r0, _08147D08 @ =0x0000010d - adds r5, r2, 0 - cmp r3, r0 - beq _08147D50 - cmp r3, r0 - bgt _08147D0C - cmp r3, 0 - beq _08147D20 - cmp r3, 0xFF - beq _08147D38 - b _08147D8C - .align 2, 0 -_08147D00: .4byte gPaletteFade -_08147D04: .4byte gTasks -_08147D08: .4byte 0x0000010d -_08147D0C: - ldr r0, _08147D1C @ =0x00000119 - cmp r3, r0 - beq _08147D68 - adds r0, 0x10 - cmp r3, r0 - beq _08147D80 - b _08147D8C - .align 2, 0 -_08147D1C: .4byte 0x00000119 -_08147D20: - ldr r0, _08147D30 @ =gUnknown_03005F3C - strb r3, [r0] - ldr r0, _08147D34 @ =gUnknown_03005F94 - strh r3, [r0] - bl sub_81481DC - b _08147D8C - .align 2, 0 -_08147D30: .4byte gUnknown_03005F3C -_08147D34: .4byte gUnknown_03005F94 -_08147D38: - ldr r0, _08147D48 @ =0x02000000 - ldr r2, _08147D4C @ =0x0001fffd - adds r0, r2 - ldrb r0, [r0] - ldrb r1, [r1, 0xA] - bl sub_8148108 - b _08147D8C - .align 2, 0 -_08147D48: .4byte 0x02000000 -_08147D4C: .4byte 0x0001fffd -_08147D50: - bl sub_814817C - ldr r1, _08147D60 @ =0x02000000 - ldr r2, _08147D64 @ =0x0001fffc - adds r1, r2 - strb r0, [r1] - b _08147D8C - .align 2, 0 -_08147D60: .4byte 0x02000000 -_08147D64: .4byte 0x0001fffc -_08147D68: - ldr r0, _08147D78 @ =0x02000000 - ldr r1, _08147D7C @ =0x0001fffe - adds r0, r1 - ldrb r0, [r0] - bl sub_8148044 - b _08147D8C - .align 2, 0 -_08147D78: .4byte 0x02000000 -_08147D7C: .4byte 0x0001fffe -_08147D80: - ldr r0, _08147D88 @ =sub_8147E40 - str r0, [r1] - b _08147DCE - .align 2, 0 -_08147D88: .4byte sub_8147E40 -_08147D8C: - ldr r0, _08147DA0 @ =gUnknown_03005F94 - ldr r1, _08147DA4 @ =gUnknown_03005F34 - ldrh r2, [r0] - ldrh r0, [r1] - cmp r2, r0 - bcs _08147DA8 - bl sub_814825C - b _08147DB8 - .align 2, 0 -_08147DA0: .4byte gUnknown_03005F94 -_08147DA4: .4byte gUnknown_03005F34 -_08147DA8: - cmp r2, r0 - bne _08147DB8 - ldr r0, _08147DD4 @ =gTasks - adds r1, r5, r4 - lsls r1, 3 - adds r1, r0 - movs r0, 0xFE - strh r0, [r1, 0x8] -_08147DB8: - ldr r1, _08147DD8 @ =gUnknown_03005F94 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - ldr r0, _08147DD4 @ =gTasks - adds r1, r5, r4 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] -_08147DCE: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08147DD4: .4byte gTasks -_08147DD8: .4byte gUnknown_03005F94 - thumb_func_end sub_8147CC8 - - thumb_func_start sub_8147DDC -sub_8147DDC: @ 8147DDC - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _08147E08 @ =sub_8147CC8 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08147E0C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0 - strh r0, [r1, 0x8] - strh r4, [r1, 0xA] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08147E08: .4byte sub_8147CC8 -_08147E0C: .4byte gTasks - thumb_func_end sub_8147DDC - - thumb_func_start sub_8147E10 -sub_8147E10: @ 8147E10 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl MenuUpdateWindowText - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08147E30 - ldr r0, _08147E38 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldr r0, _08147E3C @ =sub_8147F4C - str r0, [r1] -_08147E30: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08147E38: .4byte gTasks -_08147E3C: .4byte sub_8147F4C - thumb_func_end sub_8147E10 - - thumb_func_start sub_8147E40 -sub_8147E40: @ 8147E40 - push {r4-r7,lr} - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, _08147E94 @ =gUnknown_02039310 - ldrb r1, [r0] - movs r0, 0x64 - adds r5, r1, 0 - muls r5, r0 - ldr r0, _08147E98 @ =gPlayerParty - adds r5, r0 - ldr r0, _08147E9C @ =gScriptItemId - ldrh r4, [r0] - lsls r4, 3 - ldr r0, _08147EA0 @ =gSaveBlock1 + 0x7F8 - adds r4, r0 - adds r0, r5, 0 - bl GetNature - lsls r0, 24 - lsrs r0, 24 - adds r1, r4, 0 - bl sub_810CAE4 - ldr r6, _08147EA4 @ =gUnknown_02039312 - strh r0, [r6] - ldr r1, _08147EA8 @ =gStringVar1 - adds r0, r5, 0 - bl GetMonNickname - ldr r1, _08147EAC @ =gStringVar2 - adds r0, r4, 0 - bl sub_810CB44 - movs r1, 0 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _08147EB8 - ldr r0, _08147EB0 @ =gStringVar4 - ldr r1, _08147EB4 @ =gContestStatsText_NormallyAte - bl StringExpandPlaceholders - b _08147ED8 - .align 2, 0 -_08147E94: .4byte gUnknown_02039310 -_08147E98: .4byte gPlayerParty -_08147E9C: .4byte gScriptItemId -_08147EA0: .4byte gSaveBlock1 + 0x7F8 -_08147EA4: .4byte gUnknown_02039312 -_08147EA8: .4byte gStringVar1 -_08147EAC: .4byte gStringVar2 -_08147EB0: .4byte gStringVar4 -_08147EB4: .4byte gContestStatsText_NormallyAte -_08147EB8: - cmp r0, 0 - ble _08147ED0 - ldr r0, _08147EC8 @ =gStringVar4 - ldr r1, _08147ECC @ =gContestStatsText_HappilyAte - bl StringExpandPlaceholders - b _08147ED8 - .align 2, 0 -_08147EC8: .4byte gStringVar4 -_08147ECC: .4byte gContestStatsText_HappilyAte -_08147ED0: - ldr r0, _08147EF8 @ =gStringVar4 - ldr r1, _08147EFC @ =gContestStatsText_DisdainfullyAte - bl StringExpandPlaceholders -_08147ED8: - ldr r0, _08147EF8 @ =gStringVar4 - movs r1, 0x1 - movs r2, 0xF - bl MenuPrintMessage - ldr r1, _08147F00 @ =gTasks - lsls r0, r7, 2 - adds r0, r7 - lsls r0, 3 - adds r0, r1 - ldr r1, _08147F04 @ =sub_8147E10 - str r1, [r0] - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08147EF8: .4byte gStringVar4 -_08147EFC: .4byte gContestStatsText_DisdainfullyAte -_08147F00: .4byte gTasks -_08147F04: .4byte sub_8147E10 - thumb_func_end sub_8147E40 - - thumb_func_start sub_8147F08 -sub_8147F08: @ 8147F08 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _08147F3C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08147F34 - ldr r0, _08147F40 @ =gMPlay_BGM - ldr r1, _08147F44 @ =0x0000ffff - movs r2, 0x80 - lsls r2, 1 - bl m4aMPlayVolumeControl - ldr r0, _08147F48 @ =gMain - ldr r0, [r0, 0x8] - bl SetMainCallback2 - adds r0, r4, 0 - bl DestroyTask -_08147F34: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08147F3C: .4byte gPaletteFade -_08147F40: .4byte gMPlay_BGM -_08147F44: .4byte 0x0000ffff -_08147F48: .4byte gMain - thumb_func_end sub_8147F08 - - thumb_func_start sub_8147F4C -sub_8147F4C: @ 8147F4C - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, _08147F7C @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _08147F80 @ =sub_8147F08 - str r1, [r0] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08147F7C: .4byte gTasks -_08147F80: .4byte sub_8147F08 - thumb_func_end sub_8147F4C - - thumb_func_start sub_8147F84 -sub_8147F84: @ 8147F84 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r5, r0, 0 - movs r1, 0x41 - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - ldr r0, _08148024 @ =gUnknown_02024E8C - movs r1, 0x30 - movs r2, 0x50 - movs r3, 0x2 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r0, _08148028 @ =gUnknown_03005F24 - strh r4, [r0] - ldr r0, _0814802C @ =gUnknown_03005F2C - mov r1, r8 - strb r1, [r0] - adds r0, r5, 0 - bl GetNature - ldr r1, _08148030 @ =gUnknown_03005F30 - strb r0, [r1] - ldr r7, _08148034 @ =gSprites - mov r1, r8 - lsls r0, r1, 4 - add r0, r8 - lsls r5, r0, 2 - adds r6, r5, r7 - strh r4, [r6, 0x32] - adds r0, r7, 0 - adds r0, 0x1C - adds r0, r5, r0 - ldr r1, _08148038 @ =SpriteCallbackDummy - str r1, [r0] - ldr r0, _0814803C @ =gUnknown_03005F28 - mov r9, r0 - movs r0, 0x1 - mov r1, r9 - strb r0, [r1] - adds r0, r4, 0 - bl sub_8040A3C - lsls r0, 24 - cmp r0, 0 - bne _08148016 - adds r0, r7, 0 - adds r0, 0x10 - adds r0, r5, r0 - ldr r1, _08148040 @ =gSpriteAffineAnimTable_84120EC - str r1, [r0] - ldrb r3, [r6, 0x1] - movs r0, 0x3 - orrs r3, r0 - strb r3, [r6, 0x1] - lsrs r1, r3, 6 - ldrb r2, [r6, 0x3] - lsrs r2, 6 - lsls r3, 30 - lsrs r3, 30 - adds r0, r6, 0 - bl CalcCenterToCornerVec - movs r0, 0 - mov r1, r9 - strb r0, [r1] -_08148016: - mov r0, r8 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08148024: .4byte gUnknown_02024E8C -_08148028: .4byte gUnknown_03005F24 -_0814802C: .4byte gUnknown_03005F2C -_08148030: .4byte gUnknown_03005F30 -_08148034: .4byte gSprites -_08148038: .4byte SpriteCallbackDummy -_0814803C: .4byte gUnknown_03005F28 -_08148040: .4byte gSpriteAffineAnimTable_84120EC - thumb_func_end sub_8147F84 - - thumb_func_start sub_8148044 -sub_8148044: @ 8148044 - lsls r0, 24 - lsrs r0, 24 - ldr r3, _0814806C @ =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r2, r1, r3 - movs r0, 0x30 - strh r0, [r2, 0x20] - movs r0, 0x50 - strh r0, [r2, 0x22] - ldr r0, _08148070 @ =0x0000fff8 - strh r0, [r2, 0x2E] - movs r0, 0x1 - strh r0, [r2, 0x30] - adds r3, 0x1C - adds r1, r3 - ldr r0, _08148074 @ =sub_8148078 - str r0, [r1] - bx lr - .align 2, 0 -_0814806C: .4byte gSprites -_08148070: .4byte 0x0000fff8 -_08148074: .4byte sub_8148078 - thumb_func_end sub_8148044 - - thumb_func_start sub_8148078 -sub_8148078: @ 8148078 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x20] - adds r0, 0x4 - strh r0, [r4, 0x20] - ldrh r0, [r4, 0x2E] - ldrh r2, [r4, 0x22] - adds r1, r0, r2 - strh r1, [r4, 0x22] - ldrh r1, [r4, 0x30] - adds r0, r1 - strh r0, [r4, 0x2E] - lsls r0, 16 - cmp r0, 0 - bne _0814809E - ldrh r0, [r4, 0x32] - movs r1, 0 - bl PlayCry1 -_0814809E: - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x9 - bne _081480AA - ldr r0, _081480B0 @ =SpriteCallbackDummy - str r0, [r4, 0x1C] -_081480AA: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081480B0: .4byte SpriteCallbackDummy - thumb_func_end sub_8148078 - - thumb_func_start sub_81480B4 -sub_81480B4: @ 81480B4 - push {r4,r5,lr} - movs r0, 0xBC - movs r1, 0x64 - movs r2, 0x2 - bl sub_810BA50 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r5, _081480FC @ =gSprites - lsls r3, r4, 4 - adds r3, r4 - lsls r3, 2 - adds r0, r3, r5 - ldrb r2, [r0, 0x1] - movs r1, 0x4 - negs r1, r1 - ands r1, r2 - movs r2, 0x1 - orrs r1, r2 - strb r1, [r0, 0x1] - adds r1, r5, 0 - adds r1, 0x10 - adds r1, r3, r1 - ldr r2, _08148100 @ =gSpriteAffineAnimTable_84121A0 - str r2, [r1] - adds r5, 0x1C - adds r3, r5 - ldr r1, _08148104 @ =SpriteCallbackDummy - str r1, [r3] - bl InitSpriteAffineAnim - adds r0, r4, 0 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_081480FC: .4byte gSprites -_08148100: .4byte gSpriteAffineAnimTable_84121A0 -_08148104: .4byte SpriteCallbackDummy - thumb_func_end sub_81480B4 - - thumb_func_start sub_8148108 -sub_8148108: @ 8148108 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r5, r1, 0 - lsls r0, 24 - lsrs r7, r0, 24 - lsls r5, 24 - lsrs r5, 24 - ldr r0, _08148148 @ =gSprites - mov r8, r0 - lsls r0, r7, 4 - adds r0, r7 - lsls r6, r0, 2 - mov r0, r8 - adds r4, r6, r0 - ldrb r0, [r4, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - ldrb r0, [r4, 0x1] - movs r1, 0x3 - orrs r0, r1 - strb r0, [r4, 0x1] - cmp r5, 0 - bne _08148150 - mov r0, r8 - adds r0, 0x10 - adds r0, r6, r0 - ldr r1, _0814814C @ =gSpriteAffineAnimTable_84121A4 - b _08148158 - .align 2, 0 -_08148148: .4byte gSprites -_0814814C: .4byte gSpriteAffineAnimTable_84121A4 -_08148150: - mov r0, r8 - adds r0, 0x10 - adds r0, r6, r0 - ldr r1, _08148174 @ =gSpriteAffineAnimTable_84121A8 -_08148158: - str r1, [r0] - lsls r0, r7, 4 - adds r0, r7 - lsls r0, 2 - ldr r1, _08148178 @ =gSprites - adds r0, r1 - bl InitSpriteAffineAnim - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08148174: .4byte gSpriteAffineAnimTable_84121A8 -_08148178: .4byte gSprites - thumb_func_end sub_8148108 - - thumb_func_start sub_814817C -sub_814817C: @ 814817C - push {lr} - ldr r0, _081481A4 @ =gSpriteTemplate_84121E4 - movs r1, 0xAE - movs r2, 0x54 - movs r3, 0x1 - bl CreateSprite - lsls r0, 24 - lsrs r0, 24 - ldr r2, _081481A8 @ =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldr r2, _081481AC @ =0x0000fff4 - strh r2, [r1, 0x2E] - movs r2, 0x1 - strh r2, [r1, 0x30] - pop {r1} - bx r1 - .align 2, 0 -_081481A4: .4byte gSpriteTemplate_84121E4 -_081481A8: .4byte gSprites -_081481AC: .4byte 0x0000fff4 - thumb_func_end sub_814817C - - thumb_func_start sub_81481B0 -sub_81481B0: @ 81481B0 - push {lr} - adds r2, r0, 0 - ldrh r0, [r2, 0x20] - subs r0, 0x4 - strh r0, [r2, 0x20] - ldrh r0, [r2, 0x2E] - ldrh r3, [r2, 0x22] - adds r1, r0, r3 - strh r1, [r2, 0x22] - ldrh r1, [r2, 0x30] - adds r0, r1 - strh r0, [r2, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xA - bne _081481D6 - adds r0, r2, 0 - bl DestroySprite -_081481D6: - pop {r0} - bx r0 - thumb_func_end sub_81481B0 - - thumb_func_start sub_81481DC -sub_81481DC: @ 81481DC - push {r4-r7,lr} - ldr r6, _0814824C @ =gUnknown_03005F34 - movs r0, 0x1 - strh r0, [r6] - ldr r1, _08148250 @ =gNatureToMonPokeblockAnim - ldr r0, _08148254 @ =gUnknown_03005F30 - ldrb r0, [r0] - lsls r0, 1 - adds r0, r1 - ldrb r3, [r0] - movs r4, 0 - ldr r2, _08148258 @ =gMonPokeblockAnims - lsls r1, r3, 2 - adds r1, r3 - lsls r1, 2 - adds r7, r2, 0 - adds r7, 0x8 - adds r0, r1, r7 - ldrh r0, [r0] - adds r0, 0x1 - strh r0, [r6] - adds r5, r2, 0 - adds r5, 0x12 - adds r1, r5 - movs r2, 0 - ldrsh r0, [r1, r2] - cmp r0, 0x1 - beq _08148244 - adds r2, r6, 0 - adds r6, r5, 0 - adds r5, r7, 0 -_0814821A: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r4, 0x7 - bhi _08148244 - lsls r1, r3, 2 - adds r1, r3 - lsls r1, 2 - adds r0, r1, r5 - ldrh r0, [r0] - ldrh r7, [r2] - adds r0, r7 - strh r0, [r2] - adds r1, r6 - movs r7, 0 - ldrsh r0, [r1, r7] - cmp r0, 0x1 - bne _0814821A -_08148244: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0814824C: .4byte gUnknown_03005F34 -_08148250: .4byte gNatureToMonPokeblockAnim -_08148254: .4byte gUnknown_03005F30 -_08148258: .4byte gMonPokeblockAnims - thumb_func_end sub_81481DC - - thumb_func_start sub_814825C -sub_814825C: @ 814825C - push {lr} - ldr r0, _08148274 @ =gUnknown_03005F3C - ldrb r0, [r0] - cmp r0, 0x5A - bls _08148268 - b _08148532 -_08148268: - lsls r0, 2 - ldr r1, _08148278 @ =_0814827C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08148274: .4byte gUnknown_03005F3C -_08148278: .4byte _0814827C - .align 2, 0 -_0814827C: - .4byte _081483E8 - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _0814843C - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _0814847A - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _081484CC - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _08148524 - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 - .4byte _08148532 -_081483E8: - ldr r2, _0814841C @ =gUnknown_03005F40 - ldr r1, _08148420 @ =gNatureToMonPokeblockAnim - ldr r0, _08148424 @ =gUnknown_03005F30 - ldrb r0, [r0] - lsls r0, 1 - adds r0, r1 - ldrb r0, [r0] - strb r0, [r2] - ldr r2, _08148428 @ =gUnknown_03005F20 - ldr r0, _0814842C @ =gUnknown_03005F2C - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - ldr r0, _08148430 @ =gSprites - adds r1, r0 - str r1, [r2] - ldr r0, _08148434 @ =gUnknown_03005F50 - movs r2, 0x44 - bl memcpy - ldr r1, _08148438 @ =gUnknown_03005F3C - movs r0, 0xA - strb r0, [r1] - b _08148532 - .align 2, 0 -_0814841C: .4byte gUnknown_03005F40 -_08148420: .4byte gNatureToMonPokeblockAnim -_08148424: .4byte gUnknown_03005F30 -_08148428: .4byte gUnknown_03005F20 -_0814842C: .4byte gUnknown_03005F2C -_08148430: .4byte gSprites -_08148434: .4byte gUnknown_03005F50 -_08148438: .4byte gUnknown_03005F3C -_0814843C: - bl sub_8148540 - ldr r1, _081484A4 @ =gNatureToMonPokeblockAnim - ldr r0, _081484A8 @ =gUnknown_03005F30 - ldrb r0, [r0] - lsls r0, 1 - adds r1, 0x1 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0 - beq _08148474 - ldr r3, _081484AC @ =gUnknown_03005F20 - ldr r2, [r3] - ldrb r0, [r2, 0x1] - movs r1, 0x3 - orrs r0, r1 - strb r0, [r2, 0x1] - ldr r2, [r3] - ldrb r1, [r2, 0x3] - movs r0, 0x3F - negs r0, r0 - ands r0, r1 - strb r0, [r2, 0x3] - ldr r0, [r3] - ldr r1, _081484B0 @ =gSpriteAffineAnimTable_8412050 - str r1, [r0, 0x10] - bl InitSpriteAffineAnim -_08148474: - ldr r1, _081484B4 @ =gUnknown_03005F3C - movs r0, 0x32 - strb r0, [r1] -_0814847A: - ldr r1, _081484A4 @ =gNatureToMonPokeblockAnim - ldr r0, _081484A8 @ =gUnknown_03005F30 - ldrb r0, [r0] - lsls r0, 1 - adds r1, 0x1 - adds r2, r0, r1 - ldrb r1, [r2] - cmp r1, 0 - beq _081484EE - ldr r0, _081484B8 @ =gUnknown_03005F28 - ldrb r0, [r0] - cmp r0, 0 - bne _081484BC - ldr r0, _081484AC @ =gUnknown_03005F20 - ldr r0, [r0] - adds r1, 0xA - lsls r1, 24 - lsrs r1, 24 - bl StartSpriteAffineAnim - b _081484EE - .align 2, 0 -_081484A4: .4byte gNatureToMonPokeblockAnim -_081484A8: .4byte gUnknown_03005F30 -_081484AC: .4byte gUnknown_03005F20 -_081484B0: .4byte gSpriteAffineAnimTable_8412050 -_081484B4: .4byte gUnknown_03005F3C -_081484B8: .4byte gUnknown_03005F28 -_081484BC: - ldr r0, _081484C8 @ =gUnknown_03005F20 - ldr r0, [r0] - ldrb r1, [r2] - bl StartSpriteAffineAnim - b _081484EE - .align 2, 0 -_081484C8: .4byte gUnknown_03005F20 -_081484CC: - bl sub_81485CC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08148532 - ldr r0, _081484F8 @ =gUnknown_03005FA0 - movs r1, 0x12 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _08148504 - ldr r1, _081484FC @ =gUnknown_03005F40 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - bl sub_8148540 -_081484EE: - ldr r1, _08148500 @ =gUnknown_03005F3C - movs r0, 0x3C - strb r0, [r1] - b _08148532 - .align 2, 0 -_081484F8: .4byte gUnknown_03005FA0 -_081484FC: .4byte gUnknown_03005F40 -_08148500: .4byte gUnknown_03005F3C -_08148504: - ldr r0, _0814851C @ =gUnknown_03005F20 - ldr r0, [r0] - ldrb r0, [r0, 0x3] - lsls r0, 26 - lsrs r0, 27 - bl FreeOamMatrix - ldr r1, _08148520 @ =gUnknown_03005F3C - movs r0, 0x46 - strb r0, [r1] - b _08148532 - .align 2, 0 -_0814851C: .4byte gUnknown_03005F20 -_08148520: .4byte gUnknown_03005F3C -_08148524: - bl sub_8148618 - ldr r0, _08148538 @ =gUnknown_03005F40 - movs r1, 0 - strb r1, [r0] - ldr r0, _0814853C @ =gUnknown_03005F3C - strb r1, [r0] -_08148532: - pop {r0} - bx r0 - .align 2, 0 -_08148538: .4byte gUnknown_03005F40 -_0814853C: .4byte gUnknown_03005F3C - thumb_func_end sub_814825C - - thumb_func_start sub_8148540 -sub_8148540: @ 8148540 - push {r4-r7,lr} - movs r4, 0 - ldr r5, _081485B4 @ =gUnknown_03005FA0 - mov r12, r5 - ldr r7, _081485B8 @ =gMonPokeblockAnims - ldr r6, _081485BC @ =gUnknown_03005F40 -_0814854C: - lsls r2, r4, 1 - mov r0, r12 - adds r3, r2, r0 - ldrb r1, [r6] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r2, r0 - adds r2, r7 - ldrh r0, [r2] - strh r0, [r3] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x9 - bls _0814854C - movs r1, 0x8 - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _081485C4 - movs r2, 0 - ldrsh r0, [r5, r2] - movs r2, 0x4 - ldrsh r1, [r5, r2] - bl Sin - strh r0, [r5, 0x14] - movs r1, 0 - ldrsh r0, [r5, r1] - movs r2, 0x6 - ldrsh r1, [r5, r2] - bl Cos - strh r0, [r5, 0x16] - ldrh r0, [r5, 0x8] - strh r0, [r5, 0x18] - ldr r0, _081485C0 @ =gUnknown_03005F20 - ldr r1, [r0] - ldrh r0, [r1, 0x24] - strh r0, [r5, 0x1A] - ldrh r0, [r1, 0x26] - strh r0, [r5, 0x1C] - bl sub_8148710 - ldrh r0, [r5, 0x18] - strh r0, [r5, 0x8] - bl sub_814862C - ldrh r0, [r5, 0x18] - strh r0, [r5, 0x8] - movs r0, 0 - b _081485C6 - .align 2, 0 -_081485B4: .4byte gUnknown_03005FA0 -_081485B8: .4byte gMonPokeblockAnims -_081485BC: .4byte gUnknown_03005F40 -_081485C0: .4byte gUnknown_03005F20 -_081485C4: - movs r0, 0x1 -_081485C6: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8148540 - - thumb_func_start sub_81485CC -sub_81485CC: @ 81485CC - push {r4,lr} - ldr r3, _08148604 @ =gUnknown_03005FA0 - ldrh r0, [r3, 0x18] - ldrh r1, [r3, 0x8] - subs r0, r1 - lsls r0, 16 - ldr r1, _08148608 @ =gUnknown_03005F20 - ldr r4, [r1] - lsrs r0, 15 - ldr r1, _0814860C @ =0x0201d000 - adds r2, r0, r1 - ldrh r2, [r2] - strh r2, [r4, 0x24] - movs r2, 0x80 - lsls r2, 3 - adds r1, r2 - adds r0, r1 - ldrh r0, [r0] - strh r0, [r4, 0x26] - ldrh r0, [r3, 0x8] - subs r0, 0x1 - strh r0, [r3, 0x8] - lsls r0, 16 - cmp r0, 0 - beq _08148610 - movs r0, 0 - b _08148612 - .align 2, 0 -_08148604: .4byte gUnknown_03005FA0 -_08148608: .4byte gUnknown_03005F20 -_0814860C: .4byte 0x0201d000 -_08148610: - movs r0, 0x1 -_08148612: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81485CC - - thumb_func_start sub_8148618 -sub_8148618: @ 8148618 - push {lr} - ldr r0, _08148628 @ =gUnknown_03005F20 - ldr r0, [r0] - bl FreeSpriteOamMatrix - movs r0, 0 - pop {r1} - bx r1 - .align 2, 0 -_08148628: .4byte gUnknown_03005F20 - thumb_func_end sub_8148618 - - thumb_func_start sub_814862C -sub_814862C: @ 814862C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - ldr r1, _08148700 @ =gUnknown_03005FA0 - ldrh r0, [r1, 0x10] - mov r8, r0 - ldrh r0, [r1, 0x18] - mov r2, r8 - subs r0, r2 - lsls r0, 16 - lsrs r7, r0, 16 - ldrh r0, [r1, 0xC] - ldrh r3, [r1, 0x1A] - adds r0, r3 - lsls r0, 16 - lsrs r0, 16 - str r0, [sp] - ldrh r0, [r1, 0xE] - ldrh r1, [r1, 0x1C] - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 - mov r9, r0 - movs r6, 0 - subs r0, r7, 0x1 - ldr r4, _08148704 @ =0x0201cffe - mov r10, r4 - cmp r6, r0 - bge _081486D4 - ldr r1, [sp] - lsls r0, r1, 16 - asrs r0, 16 - str r0, [sp, 0x4] -_08148674: - mov r2, r8 - adds r5, r2, r6 - lsls r5, 1 - ldr r4, _08148708 @ =0x0201d000 - adds r3, r5, r4 - ldrh r2, [r3] - ldr r0, [sp, 0x4] - subs r1, r2, r0 - ldr r4, _0814870C @ =0x0201d400 - adds r5, r4 - ldrh r0, [r5] - mov r12, r0 - mov r4, r9 - lsls r0, r4, 16 - asrs r0, 16 - mov r4, r12 - subs r0, r4, r0 - lsls r4, r0, 16 - lsrs r4, 16 - lsls r1, 16 - asrs r1, 16 - adds r6, 0x1 - adds r0, r1, 0 - muls r0, r6 - adds r1, r7, 0 - str r2, [sp, 0x8] - str r3, [sp, 0xC] - bl __divsi3 - ldr r2, [sp, 0x8] - subs r2, r0 - ldr r3, [sp, 0xC] - strh r2, [r3] - lsls r4, 16 - asrs r4, 16 - adds r0, r4, 0 - muls r0, r6 - adds r1, r7, 0 - bl __divsi3 - ldrh r1, [r5] - subs r1, r0 - strh r1, [r5] - lsls r6, 16 - lsrs r6, 16 - subs r0, r7, 0x1 - cmp r6, r0 - blt _08148674 -_081486D4: - mov r1, r8 - adds r0, r1, r7 - lsls r0, 1 - mov r2, r10 - adds r1, r0, r2 - mov r3, sp - ldrh r3, [r3] - strh r3, [r1] - movs r1, 0x80 - lsls r1, 3 - add r1, r10 - adds r0, r1 - mov r4, r9 - strh r4, [r0] - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08148700: .4byte gUnknown_03005FA0 -_08148704: .4byte 0x0201cffe -_08148708: .4byte 0x0201d000 -_0814870C: .4byte 0x0201d400 - thumb_func_end sub_814862C - - thumb_func_start sub_8148710 -sub_8148710: @ 8148710 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - movs r0, 0 - str r0, [sp] - ldr r1, _081487A4 @ =gUnknown_03005FA0 - ldrh r2, [r1, 0x1A] - ldrh r0, [r1, 0x14] - subs r2, r0 - ldrh r3, [r1, 0x1C] - ldrh r0, [r1, 0x16] - subs r3, r0 - adds r6, r1, 0 - ldr r1, _081487A8 @ =0x0201d000 - mov r9, r1 - lsls r2, 16 - asrs r2, 16 - mov r8, r2 - movs r2, 0x80 - lsls r2, 3 - add r2, r9 - mov r10, r2 - lsls r3, 16 - asrs r7, r3, 16 -_08148746: - movs r1, 0xA - ldrsh r0, [r6, r1] - cmp r0, 0 - bge _08148750 - negs r0, r0 -_08148750: - lsls r0, 16 - lsrs r0, 16 - ldrh r2, [r6, 0x6] - adds r0, r2 - lsls r5, r0, 16 - strh r0, [r6, 0x6] - ldrh r2, [r6, 0x4] - movs r1, 0x4 - ldrsh r0, [r6, r1] - cmp r0, 0 - bge _0814876A - movs r0, 0x1 - str r0, [sp] -_0814876A: - ldrh r0, [r6, 0x18] - ldrh r1, [r6, 0x8] - subs r0, r1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r1, 0 - beq _081487F0 - ldr r1, [sp] - cmp r1, 0 - bne _081487AC - movs r1, 0 - ldrsh r0, [r6, r1] - lsrs r5, 24 - adds r1, r2, r5 - lsls r1, 16 - asrs r1, 16 - bl Sin - lsls r4, 1 - mov r2, r9 - adds r1, r4, r2 - add r0, r8 - strh r0, [r1] - movs r1, 0 - ldrsh r0, [r6, r1] - ldrh r1, [r6, 0x6] - adds r1, r5 - b _081487CE - .align 2, 0 -_081487A4: .4byte gUnknown_03005FA0 -_081487A8: .4byte 0x0201d000 -_081487AC: - movs r1, 0 - ldrsh r0, [r6, r1] - lsrs r5, 24 - subs r1, r2, r5 - lsls r1, 16 - asrs r1, 16 - bl Sin - lsls r4, 1 - mov r2, r9 - adds r1, r4, r2 - add r0, r8 - strh r0, [r1] - movs r1, 0 - ldrsh r0, [r6, r1] - ldrh r1, [r6, 0x6] - subs r1, r5 -_081487CE: - lsls r1, 16 - asrs r1, 16 - bl Cos - add r4, r10 - adds r0, r7, r0 - strh r0, [r4] - ldrh r0, [r6, 0x2] - ldrh r2, [r6] - adds r0, r2 - movs r1, 0xFF - ands r0, r1 - strh r0, [r6] - ldrh r0, [r6, 0x8] - subs r0, 0x1 - strh r0, [r6, 0x8] - b _08148746 -_081487F0: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8148710 - .align 2, 0 @ Don't pad with nop. diff --git a/asm/save_failed_screen.s b/asm/save_failed_screen.s deleted file mode 100644 index a114bbea3..000000000 --- a/asm/save_failed_screen.s +++ /dev/null @@ -1,779 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start fullscreen_save_activate -fullscreen_save_activate: @ 8146E10 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _08146E30 @ =sub_8146E50 - bl SetMainCallback2 - ldr r0, _08146E34 @ =gUnknown_0203933C - strh r4, [r0] - ldr r1, _08146E38 @ =gUnknown_0203933E - movs r0, 0 - strh r0, [r1] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08146E30: .4byte sub_8146E50 -_08146E34: .4byte gUnknown_0203933C -_08146E38: .4byte gUnknown_0203933E - thumb_func_end fullscreen_save_activate - - thumb_func_start sub_8146E3C -sub_8146E3C: @ 8146E3C - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_8146E3C - - thumb_func_start sub_8146E50 -sub_8146E50: @ 8146E50 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0xC - ldr r0, _08146FB0 @ =gMain - ldr r1, _08146FB4 @ =0x0000043c - adds r7, r0, r1 - ldrb r0, [r7] - cmp r0, 0 - beq _08146E6C - cmp r0, 0x1 - bne _08146E6C - b _0814701C -_08146E6C: - movs r0, 0 - bl SetVBlankCallback - movs r0, 0x80 - lsls r0, 19 - mov r9, r0 - movs r1, 0 - strh r1, [r0] - ldr r6, _08146FB8 @ =REG_BG3CNT - strh r1, [r6] - adds r0, 0xC - mov r8, r0 - strh r1, [r0] - subs r0, 0x2 - strh r1, [r0] - ldr r5, _08146FBC @ =REG_BG0CNT - strh r1, [r5] - adds r0, 0x12 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - subs r0, 0x6 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - subs r0, 0x6 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - subs r0, 0x6 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - add r0, sp, 0x4 - strh r1, [r0] - ldr r2, _08146FC0 @ =0x040000d4 - str r0, [r2] - movs r1, 0xC0 - lsls r1, 19 - str r1, [r2, 0x4] - ldr r0, _08146FC4 @ =0x8100c000 - str r0, [r2, 0x8] - ldr r0, [r2, 0x8] - movs r4, 0 - str r4, [sp, 0x8] - add r0, sp, 0x8 - str r0, [r2] - movs r0, 0xE0 - lsls r0, 19 - str r0, [r2, 0x4] - ldr r0, _08146FC8 @ =0x85000100 - str r0, [r2, 0x8] - ldr r0, [r2, 0x8] - add r0, sp, 0x4 - strh r4, [r0] - str r0, [r2] - movs r0, 0xA0 - lsls r0, 19 - str r0, [r2, 0x4] - ldr r0, _08146FCC @ =0x81000200 - str r0, [r2, 0x8] - ldr r0, [r2, 0x8] - ldr r0, _08146FD0 @ =gUnknown_083F66F0 - bl LZ77UnCompVram - ldr r0, _08146FD4 @ =gBirchBagTilemap - ldr r1, _08146FD8 @ =0x06003000 - bl LZ77UnCompVram - ldr r0, _08146FDC @ =gBirchGrassTilemap - ldr r1, _08146FE0 @ =0x06003800 - bl LZ77UnCompVram - ldr r0, _08146FE4 @ =gUnknown_08411980 - ldr r1, _08146FE8 @ =0x06010020 - bl LZ77UnCompVram - bl ResetSpriteData - bl ResetTasks - bl ResetPaletteFade - ldr r0, _08146FEC @ =gUnknown_083F62EC - movs r1, 0 - movs r2, 0x40 - bl LoadPalette - ldr r0, _08146FF0 @ =gUnknown_08411960 - movs r1, 0x80 - lsls r1, 1 - movs r2, 0x20 - bl LoadPalette - ldr r0, _08146FF4 @ =gWindowConfig_81E6C3C - bl SetUpWindowConfig - ldr r0, _08146FF8 @ =gWindowConfig_81E6CE4 - bl InitMenuWindow - .if REVISION >= 1 - movs r0, 0xD - movs r1, 0x6 - movs r2, 0x10 - movs r3, 0x9 - .else - movs r0, 0xD - movs r1, 0x8 - movs r2, 0x10 - movs r3, 0xB - .endif - bl MenuDrawTextWindow - .if REVISION >= 1 - movs r0, 0x1 - movs r1, 0xA - movs r2, 0x1C - movs r3, 0x13 - .else - movs r0, 0x1 - movs r1, 0xC - movs r2, 0x1C - movs r3, 0x13 - .endif - bl MenuDrawTextWindow - ldr r0, _08146FFC @ =gSystemText_SaveFailedBackupCheck - .if REVISION >= 1 - movs r1, 0x2 - movs r2, 0xB - .else - movs r1, 0x2 - movs r2, 0xD - .endif - bl MenuPrint - movs r0, 0x1 - negs r0, r0 - str r4, [sp] - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r3, _08147000 @ =0x04000208 - ldrh r2, [r3] - strh r4, [r3] - ldr r4, _08147004 @ =0x04000200 - ldrh r0, [r4] - movs r1, 0x1 - orrs r0, r1 - strh r0, [r4] - strh r2, [r3] - ldr r2, _08147008 @ =REG_DISPSTAT - ldrh r0, [r2] - movs r1, 0x8 - orrs r0, r1 - strh r0, [r2] - ldr r0, _0814700C @ =sub_8146E3C - bl SetVBlankCallback - ldr r1, _08147010 @ =0x00000703 - adds r0, r1, 0 - strh r0, [r6] - ldr r1, _08147014 @ =0x00000602 - adds r0, r1, 0 - mov r1, r8 - strh r0, [r1] - ldr r1, _08147018 @ =0x00001f08 - adds r0, r1, 0 - strh r0, [r5] - movs r1, 0xEA - lsls r1, 5 - adds r0, r1, 0 - mov r1, r9 - strh r0, [r1] - ldrb r0, [r7] - adds r0, 0x1 - strb r0, [r7] - b _08147032 - .align 2, 0 -_08146FB0: .4byte gMain -_08146FB4: .4byte 0x0000043c -_08146FB8: .4byte REG_BG3CNT -_08146FBC: .4byte REG_BG0CNT -_08146FC0: .4byte 0x040000d4 -_08146FC4: .4byte 0x8100c000 -_08146FC8: .4byte 0x85000100 -_08146FCC: .4byte 0x81000200 -_08146FD0: .4byte gUnknown_083F66F0 -_08146FD4: .4byte gBirchBagTilemap -_08146FD8: .4byte 0x06003000 -_08146FDC: .4byte gBirchGrassTilemap -_08146FE0: .4byte 0x06003800 -_08146FE4: .4byte gUnknown_08411980 -_08146FE8: .4byte 0x06010020 -_08146FEC: .4byte gUnknown_083F62EC -_08146FF0: .4byte gUnknown_08411960 -_08146FF4: .4byte gWindowConfig_81E6C3C -_08146FF8: .4byte gWindowConfig_81E6CE4 -_08146FFC: .4byte gSystemText_SaveFailedBackupCheck -_08147000: .4byte 0x04000208 -_08147004: .4byte 0x04000200 -_08147008: .4byte REG_DISPSTAT -_0814700C: .4byte sub_8146E3C -_08147010: .4byte 0x00000703 -_08147014: .4byte 0x00000602 -_08147018: .4byte 0x00001f08 -_0814701C: - bl UpdatePaletteFade - lsls r0, 24 - cmp r0, 0 - bne _08147032 - ldr r0, _08147040 @ =sub_8147048 - bl SetMainCallback2 - ldr r0, _08147044 @ =sub_8147218 - bl SetVBlankCallback -_08147032: - add sp, 0xC - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08147040: .4byte sub_8147048 -_08147044: .4byte sub_8147218 - thumb_func_end sub_8146E50 - - thumb_func_start sub_8147048 -sub_8147048: @ 8147048 - push {r4,r5,lr} - movs r4, 0 - ldr r0, _081470C8 @ =gUnknown_0203933E - movs r1, 0x1 - strh r1, [r0] - ldr r1, _081470CC @ =gUnknown_03005EA8 - ldr r0, [r1] - cmp r0, 0 - beq _081470A6 - adds r5, r1, 0 -_0814705C: - ldr r0, [r5] - bl sub_814737C - lsls r0, 24 - cmp r0, 0 - bne _0814710C - .if REVISION >= 1 - movs r0, 0x1 - movs r1, 0xA - movs r2, 0x1C - movs r3, 0x13 - .else - movs r0, 0x1 - movs r1, 0xC - movs r2, 0x1C - movs r3, 0x13 - .endif - bl MenuDrawTextWindow - ldr r0, _081470D0 @ =gSystemText_CheckCompleteSaveAttempt - .if REVISION >= 1 - movs r1, 0x2 - movs r2, 0xB - .else - movs r1, 0x2 - movs r2, 0xD - .endif - bl MenuPrint - ldr r0, _081470D4 @ =gUnknown_0203933C - ldrb r0, [r0] - bl sub_8125C3C - ldr r0, [r5] - cmp r0, 0 - beq _08147096 - ldr r0, _081470D8 @ =gSystemText_SaveFailedBackupCheck - .if REVISION >= 1 - movs r1, 0x2 - movs r2, 0xB - .else - movs r1, 0x2 - movs r2, 0xD - .endif - bl MenuPrint -_08147096: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, [r5] - cmp r0, 0 - beq _081470A6 - cmp r4, 0x2 - bls _0814705C -_081470A6: - cmp r4, 0x3 - bne _081470E4 - .if REVISION >= 1 - movs r0, 0x1 - movs r1, 0xA - movs r2, 0x1C - movs r3, 0x13 - .else - movs r0, 0x1 - movs r1, 0xC - movs r2, 0x1C - movs r3, 0x13 - .endif - bl MenuDrawTextWindow - ldr r0, _081470DC @ =gSystemText_BackupDamagedGameContinue - .if REVISION >= 1 - movs r1, 0x2 - movs r2, 0xB - .else - movs r1, 0x2 - movs r2, 0xD - .endif - bl MenuPrint - ldr r0, _081470E0 @ =sub_81471A4 - bl SetMainCallback2 - b _0814713E - .align 2, 0 -_081470C8: .4byte gUnknown_0203933E -_081470CC: .4byte gUnknown_03005EA8 -_081470D0: .4byte gSystemText_CheckCompleteSaveAttempt -_081470D4: .4byte gUnknown_0203933C -_081470D8: .4byte gSystemText_SaveFailedBackupCheck -_081470DC: .4byte gSystemText_BackupDamagedGameContinue -_081470E0: .4byte sub_81471A4 -_081470E4: - .if REVISION >= 1 - movs r0, 0x1 - movs r1, 0xA - movs r2, 0x1C - movs r3, 0x13 - .else - movs r0, 0x1 - movs r1, 0xC - movs r2, 0x1C - movs r3, 0x13 - .endif - bl MenuDrawTextWindow - ldr r0, _08147104 @ =gUnknown_03005EBC - ldr r0, [r0] - cmp r0, 0 - bne _08147134 - ldr r0, _08147108 @ =gSystemText_SaveCompletedGameEnd - .if REVISION >= 1 - movs r1, 0x2 - movs r2, 0xB - .else - movs r1, 0x2 - movs r2, 0xD - .endif - bl MenuPrint - b _0814713E - .align 2, 0 -_08147104: .4byte gUnknown_03005EBC -_08147108: .4byte gSystemText_SaveCompletedGameEnd -_0814710C: - .if REVISION >= 1 - movs r0, 0x1 - movs r1, 0xA - movs r2, 0x1C - movs r3, 0x13 - .else - movs r0, 0x1 - movs r1, 0xC - movs r2, 0x1C - movs r3, 0x13 - .endif - bl MenuDrawTextWindow - ldr r0, _0814712C @ =gSystemText_BackupDamagedGameContinue - .if REVISION >= 1 - movs r1, 0x2 - movs r2, 0xB - .else - movs r1, 0x2 - movs r2, 0xD - .endif - bl MenuPrint - ldr r0, _08147130 @ =sub_8147154 - bl SetMainCallback2 - b _08147144 - .align 2, 0 -_0814712C: .4byte gSystemText_BackupDamagedGameContinue -_08147130: .4byte sub_8147154 -_08147134: - ldr r0, _0814714C @ =gSystemText_SaveCompletedPressA - .if REVISION >= 1 - movs r1, 0x2 - movs r2, 0xB - .else - movs r1, 0x2 - movs r2, 0xD - .endif - bl MenuPrint -_0814713E: - ldr r0, _08147150 @ =sub_81471A4 - bl SetMainCallback2 -_08147144: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0814714C: .4byte gSystemText_SaveCompletedPressA -_08147150: .4byte sub_81471A4 - thumb_func_end sub_8147048 - - thumb_func_start sub_8147154 -sub_8147154: @ 8147154 - push {lr} - ldr r1, _08147190 @ =gUnknown_0203933E - movs r0, 0 - strh r0, [r1] - ldr r0, _08147194 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0814718A - .if REVISION >= 1 - movs r0, 0x1 - movs r1, 0xA - movs r2, 0x1C - movs r3, 0x13 - .else - movs r0, 0x1 - movs r1, 0xC - movs r2, 0x1C - movs r3, 0x13 - .endif - bl MenuDrawTextWindow - ldr r0, _08147198 @ =gSystemText_GameplayEnded - .if REVISION >= 1 - movs r1, 0x2 - movs r2, 0xB - .else - movs r1, 0x2 - movs r2, 0xD - .endif - bl MenuPrint - ldr r0, _0814719C @ =sub_8146E3C - bl SetVBlankCallback - ldr r0, _081471A0 @ =sub_81471A4 - bl SetMainCallback2 -_0814718A: - pop {r0} - bx r0 - .align 2, 0 -_08147190: .4byte gUnknown_0203933E -_08147194: .4byte gMain -_08147198: .4byte gSystemText_GameplayEnded -_0814719C: .4byte sub_8146E3C -_081471A0: .4byte sub_81471A4 - thumb_func_end sub_8147154 - - thumb_func_start sub_81471A4 -sub_81471A4: @ 81471A4 - push {lr} - sub sp, 0x4 - ldr r0, _081471DC @ =gUnknown_0203933E - movs r2, 0 - strh r2, [r0] - ldr r0, _081471E0 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _081471D4 - movs r0, 0x1 - negs r0, r0 - str r2, [sp] - movs r1, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, _081471E4 @ =sub_8146E3C - bl SetVBlankCallback - ldr r0, _081471E8 @ =sub_81471EC - bl SetMainCallback2 -_081471D4: - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_081471DC: .4byte gUnknown_0203933E -_081471E0: .4byte gMain -_081471E4: .4byte sub_8146E3C -_081471E8: .4byte sub_81471EC - thumb_func_end sub_81471A4 - - thumb_func_start sub_81471EC -sub_81471EC: @ 81471EC - push {r4,r5,lr} - bl UpdatePaletteFade - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _08147212 - ldr r5, _08147208 @ =gUnknown_03005EBC - ldr r0, [r5] - cmp r0, 0 - bne _0814720C - bl DoSoftReset - b _08147212 - .align 2, 0 -_08147208: .4byte gUnknown_03005EBC -_0814720C: - bl SetMainCallback2 - str r4, [r5] -_08147212: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_81471EC - - thumb_func_start sub_8147218 -sub_8147218: @ 8147218 - push {r4,r5,lr} - ldr r0, _08147290 @ =gMain - mov r12, r0 - ldr r0, [r0, 0x24] - lsrs r4, r0, 3 - movs r0, 0x7 - ands r4, r0 - ldr r0, _08147294 @ =gUnknown_08411940 - ldr r1, [r0, 0x4] - ldr r0, [r0] - mov r2, r12 - str r0, [r2, 0x3C] - str r1, [r2, 0x40] - ldrh r1, [r2, 0x3E] - ldr r0, _08147298 @ =0xfffffe00 - ands r0, r1 - movs r1, 0x70 - orrs r0, r1 - strh r0, [r2, 0x3E] - mov r1, r12 - adds r1, 0x3C - .if REVISION >= 1 - movs r0, 0x38 - .else - movs r0, 0x48 - .endif - strb r0, [r1] - ldr r0, _0814729C @ =gUnknown_0203933E - ldrh r0, [r0] - cmp r0, 0 - beq _081472A8 - ldr r3, _081472A0 @ =gUnknown_08411948 - lsls r2, r4, 1 - adds r2, r4 - adds r0, r2, r3 - mov r4, r12 - adds r4, 0x40 - ldrb r5, [r0] - ldrh r1, [r4] - ldr r0, _081472A4 @ =0xfffffc00 - ands r0, r1 - orrs r0, r5 - strh r0, [r4] - adds r0, r3, 0x2 - adds r0, r2, r0 - ldrb r1, [r0] - lsls r1, 4 - adds r3, 0x1 - adds r2, r3 - ldrb r0, [r2] - lsls r0, 3 - orrs r1, r0 - mov r3, r12 - adds r3, 0x3F - movs r0, 0x1F - ands r1, r0 - lsls r1, 1 - ldrb r2, [r3] - movs r0, 0x3F - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3] - b _081472B8 - .align 2, 0 -_08147290: .4byte gMain -_08147294: .4byte gUnknown_08411940 -_08147298: .4byte 0xfffffe00 -_0814729C: .4byte gUnknown_0203933E -_081472A0: .4byte gUnknown_08411948 -_081472A4: .4byte 0xfffffc00 -_081472A8: - mov r2, r12 - adds r2, 0x40 - ldrh r1, [r2] - ldr r0, _081472D8 @ =0xfffffc00 - ands r0, r1 - movs r1, 0x1 - orrs r0, r1 - strh r0, [r2] -_081472B8: - ldr r0, _081472DC @ =gMain + 0x3C - movs r1, 0xE0 - lsls r1, 19 - movs r2, 0x1 - bl CpuFastSet - ldr r1, _081472E0 @ =gUnknown_0203933E - ldrh r0, [r1, 0x2] - cmp r0, 0 - beq _081472D0 - subs r0, 0x1 - strh r0, [r1, 0x2] -_081472D0: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_081472D8: .4byte 0xfffffc00 -_081472DC: .4byte gMain + 0x3C -_081472E0: .4byte gUnknown_0203933E - thumb_func_end sub_8147218 - - thumb_func_start sub_81472E4 -sub_81472E4: @ 81472E4 - push {r4,lr} - lsls r0, 16 - lsrs r0, 16 - ldr r4, _08147308 @ =0x02000000 - movs r3, 0x80 - lsls r3, 5 - movs r1, 0 - adds r2, r4, 0 - bl ReadFlash - movs r1, 0 - ldr r2, _0814730C @ =0x000003ff -_081472FC: - ldr r0, [r4] - cmp r0, 0 - beq _08147310 - movs r0, 0x1 - b _0814731E - .align 2, 0 -_08147308: .4byte 0x02000000 -_0814730C: .4byte 0x000003ff -_08147310: - adds r0, r1, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - adds r4, 0x4 - cmp r1, r2 - bls _081472FC - movs r0, 0 -_0814731E: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81472E4 - - thumb_func_start sub_8147324 -sub_8147324: @ 8147324 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 16 - lsrs r6, r0, 16 - movs r0, 0 - ldr r1, _08147374 @ =0x00000fff - mov r8, r1 - ldr r7, _08147378 @ =ProgramFlashByte -_08147336: - movs r4, 0 - adds r5, r0, 0x1 -_0814733A: - ldr r3, [r7] - adds r0, r6, 0 - adds r1, r4, 0 - movs r2, 0 - bl _call_via_r3 - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, r8 - bls _0814733A - adds r0, r6, 0 - bl sub_81472E4 - lsls r0, 24 - lsrs r1, r0, 24 - lsls r0, r5, 16 - lsrs r0, 16 - cmp r1, 0 - beq _08147366 - cmp r0, 0x81 - bls _08147336 -_08147366: - adds r0, r1, 0 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08147374: .4byte 0x00000fff -_08147378: .4byte ProgramFlashByte - thumb_func_end sub_8147324 - - thumb_func_start sub_814737C -sub_814737C: @ 814737C - push {r4-r6,lr} - adds r5, r0, 0 - movs r6, 0 -_08147382: - movs r4, 0x1 - lsls r4, r6 - adds r0, r5, 0 - ands r0, r4 - cmp r0, 0 - beq _0814739C - adds r0, r6, 0 - bl sub_8147324 - lsls r0, 24 - cmp r0, 0 - bne _0814739C - bics r5, r4 -_0814739C: - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - cmp r6, 0x1F - bls _08147382 - cmp r5, 0 - beq _081473AE - movs r0, 0x1 - b _081473B0 -_081473AE: - movs r0, 0 -_081473B0: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_814737C - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/script_menu.s b/asm/script_menu.s deleted file mode 100644 index bd6180940..000000000 --- a/asm/script_menu.s +++ /dev/null @@ -1,1237 +0,0 @@ - .include "constants/gba_constants.inc" - .include "constants/species_constants.inc" - .include "asm/macros.inc" - - .syntax unified - - .text - - thumb_func_start sub_80B5054 -sub_80B5054: @ 80B5054 - push {r4-r7,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r7, r0, 24 - lsls r1, 24 - lsrs r6, r1, 24 - lsls r2, 24 - lsrs r4, r2, 24 - lsls r3, 24 - lsrs r5, r3, 24 - ldr r0, _080B5098 @ =sub_80B52B4 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080B50A4 - ldr r1, _080B509C @ =gScriptResult - movs r0, 0xFF - strh r0, [r1] - ldr r1, _080B50A0 @ =gMultichoiceLists - lsls r0, r4, 3 - adds r0, r1 - ldrb r2, [r0, 0x4] - ldr r3, [r0] - str r5, [sp] - movs r0, 0 - str r0, [sp, 0x4] - adds r0, r7, 0 - adds r1, r6, 0 - bl sub_80B5138 - movs r0, 0x1 - b _080B50A6 - .align 2, 0 -_080B5098: .4byte sub_80B52B4 -_080B509C: .4byte gScriptResult -_080B50A0: .4byte gMultichoiceLists -_080B50A4: - movs r0, 0 -_080B50A6: - add sp, 0x8 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80B5054 - - thumb_func_start sub_80B50B0 -sub_80B50B0: @ 80B50B0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - ldr r4, [sp, 0x20] - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r1, 24 - lsrs r7, r1, 24 - lsls r2, 24 - lsrs r5, r2, 24 - lsls r3, 24 - lsrs r6, r3, 24 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _080B5100 @ =sub_80B52B4 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080B510C - ldr r1, _080B5104 @ =gScriptResult - movs r0, 0xFF - strh r0, [r1] - ldr r1, _080B5108 @ =gMultichoiceLists - lsls r0, r5, 3 - adds r0, r1 - ldrb r2, [r0, 0x4] - ldr r3, [r0] - str r6, [sp] - str r4, [sp, 0x4] - mov r0, r8 - adds r1, r7, 0 - bl sub_80B5138 - movs r0, 0x1 - b _080B510E - .align 2, 0 -_080B5100: .4byte sub_80B52B4 -_080B5104: .4byte gScriptResult -_080B5108: .4byte gMultichoiceLists -_080B510C: - movs r0, 0 -_080B510E: - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80B50B0 - - thumb_func_start GetStringWidthInTilesForScriptMenu -GetStringWidthInTilesForScriptMenu: @ 80B511C - push {lr} - adds r1, r0, 0 - ldr r0, _080B5134 @ =gWindowConfig_81E6CE4 - bl GetStringWidthGivenWindowConfig - lsls r0, 24 - lsrs r0, 24 - adds r1, r0, 0x7 - lsrs r0, r1, 3 - pop {r1} - bx r1 - .align 2, 0 -_080B5134: .4byte gWindowConfig_81E6CE4 - thumb_func_end GetStringWidthInTilesForScriptMenu - - thumb_func_start sub_80B5138 -sub_80B5138: @ 80B5138 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x14 - mov r10, r3 - ldr r3, [sp, 0x34] - ldr r4, [sp, 0x38] - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - lsls r1, 24 - lsrs r1, 24 - str r1, [sp, 0x8] - lsls r2, 24 - lsrs r2, 24 - mov r8, r2 - lsls r3, 24 - lsrs r3, 24 - str r3, [sp, 0xC] - lsls r4, 24 - lsrs r4, 24 - str r4, [sp, 0x10] - mov r1, r10 - ldr r0, [r1] - bl GetStringWidthInTilesForScriptMenu - lsls r0, 16 - lsrs r5, r0, 16 - movs r4, 0x1 - cmp r4, r8 - bcs _080B5198 -_080B517A: - lsls r0, r4, 3 - add r0, r10 - ldr r0, [r0] - bl GetStringWidthInTilesForScriptMenu - lsls r0, 16 - lsrs r0, 16 - cmp r5, r0 - bcs _080B518E - adds r5, r0, 0 -_080B518E: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, r8 - bcc _080B517A -_080B5198: - lsls r0, r5, 24 - lsrs r7, r0, 24 - mov r1, r9 - adds r0, r7, r1 - adds r0, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x1D - bls _080B51B8 - mov r0, r9 - adds r0, 0x1D - subs r0, r7 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - movs r7, 0x1D -_080B51B8: - mov r1, r8 - lsls r0, r1, 1 - adds r0, 0x1 - ldr r1, [sp, 0x8] - lsls r4, r1, 24 - asrs r4, 24 - adds r4, r0 - lsls r4, 24 - lsrs r4, 24 - mov r0, r9 - adds r2, r7, 0 - adds r3, r4, 0 - bl MenuDrawTextWindow - mov r6, r9 - adds r6, 0x1 - lsls r6, 24 - lsrs r6, 24 - ldr r5, [sp, 0x8] - adds r5, 0x1 - lsls r5, 24 - lsrs r5, 24 - adds r0, r6, 0 - adds r1, r5, 0 - mov r2, r8 - mov r3, r10 - bl PrintMenuItems - ldr r0, [sp, 0x10] - str r0, [sp] - mov r1, r9 - subs r0, r7, r1 - subs r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - movs r0, 0 - adds r1, r6, 0 - adds r2, r5, 0 - mov r3, r8 - bl InitMenu - ldr r0, [sp, 0xC] - str r0, [sp] - mov r1, r8 - str r1, [sp, 0x4] - mov r0, r9 - ldr r1, [sp, 0x8] - adds r2, r7, 0 - adds r3, r4, 0 - bl sub_80B5230 - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80B5138 - - thumb_func_start sub_80B5230 -sub_80B5230: @ 80B5230 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - ldr r0, [sp, 0x1C] - mov r8, r0 - ldr r0, [sp, 0x20] - mov r9, r0 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - lsls r6, 24 - lsrs r6, 24 - lsls r3, 24 - lsrs r3, 24 - mov r0, r8 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - mov r0, r9 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - ldr r0, _080B5298 @ =sub_80B52B4 - movs r1, 0x50 - str r3, [sp] - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080B529C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r4, [r1, 0x8] - strh r5, [r1, 0xA] - strh r6, [r1, 0xC] - ldr r3, [sp] - strh r3, [r1, 0xE] - mov r0, r8 - strh r0, [r1, 0x10] - mov r0, r9 - cmp r0, 0x3 - bls _080B52A0 - movs r0, 0x1 - b _080B52A2 - .align 2, 0 -_080B5298: .4byte sub_80B52B4 -_080B529C: .4byte gTasks -_080B52A0: - movs r0, 0 -_080B52A2: - strh r0, [r1, 0x12] - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_80B5230 - - thumb_func_start sub_80B52B4 -sub_80B52B4: @ 80B52B4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _080B52E0 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080B534E - ldr r2, _080B52E4 @ =gTasks - lsls r1, r4, 2 - adds r0, r1, r4 - lsls r0, 3 - adds r0, r2 - movs r2, 0x12 - ldrsh r0, [r0, r2] - adds r5, r1, 0 - cmp r0, 0 - bne _080B52E8 - bl ProcessMenuInputNoWrap - b _080B52EC - .align 2, 0 -_080B52E0: .4byte gPaletteFade -_080B52E4: .4byte gTasks -_080B52E8: - bl ProcessMenuInput -_080B52EC: - lsls r0, 24 - lsrs r0, 24 - lsls r0, 24 - asrs r1, r0, 24 - movs r0, 0x2 - negs r0, r0 - cmp r1, r0 - beq _080B534E - adds r0, 0x1 - cmp r1, r0 - bne _080B5328 - ldr r0, _080B5320 @ =gTasks - adds r1, r5, r4 - lsls r1, 3 - adds r1, r0 - movs r2, 0x10 - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _080B534E - movs r0, 0x5 - bl PlaySE - ldr r1, _080B5324 @ =gScriptResult - movs r0, 0x7F - strh r0, [r1] - b _080B532C - .align 2, 0 -_080B5320: .4byte gTasks -_080B5324: .4byte gScriptResult -_080B5328: - ldr r0, _080B5354 @ =gScriptResult - strh r1, [r0] -_080B532C: - bl sub_8072DEC - ldr r0, _080B5358 @ =gTasks - adds r3, r5, r4 - lsls r3, 3 - adds r3, r0 - ldrb r0, [r3, 0x8] - ldrb r1, [r3, 0xA] - ldrb r2, [r3, 0xC] - ldrb r3, [r3, 0xE] - bl MenuZeroFillWindowRect - adds r0, r4, 0 - bl DestroyTask - bl EnableBothScriptContexts -_080B534E: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B5354: .4byte gScriptResult -_080B5358: .4byte gTasks - thumb_func_end sub_80B52B4 - - thumb_func_start Multichoice -Multichoice: @ 80B535C - push {r4-r7,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r7, r0, 24 - lsls r1, 24 - lsrs r6, r1, 24 - lsls r2, 24 - lsrs r4, r2, 24 - lsls r3, 24 - lsrs r5, r3, 24 - ldr r0, _080B539C @ =sub_80B52B4 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080B53A8 - ldr r1, _080B53A0 @ =gScriptResult - movs r0, 0xFF - strh r0, [r1] - ldr r1, _080B53A4 @ =gMultichoiceLists - lsls r0, r4, 3 - adds r0, r1 - ldrb r2, [r0, 0x4] - ldr r3, [r0] - str r5, [sp] - adds r0, r7, 0 - adds r1, r6, 0 - bl sub_80B53B4 - movs r0, 0x1 - b _080B53AA - .align 2, 0 -_080B539C: .4byte sub_80B52B4 -_080B53A0: .4byte gScriptResult -_080B53A4: .4byte gMultichoiceLists -_080B53A8: - movs r0, 0 -_080B53AA: - add sp, 0x4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end Multichoice - - thumb_func_start sub_80B53B4 -sub_80B53B4: @ 80B53B4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - adds r7, r3, 0 - ldr r3, [sp, 0x28] - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r1, 24 - lsrs r1, 24 - mov r9, r1 - lsls r2, 24 - lsrs r6, r2, 24 - lsls r3, 24 - lsrs r3, 24 - mov r10, r3 - ldr r0, [r7] - bl GetStringWidthInTilesForScriptMenu - lsls r0, 16 - lsrs r4, r0, 16 - movs r5, 0x1 - cmp r5, r6 - bcs _080B5408 -_080B53EA: - lsls r0, r5, 3 - adds r0, r7 - ldr r0, [r0] - bl GetStringWidthInTilesForScriptMenu - lsls r0, 16 - lsrs r0, 16 - cmp r4, r0 - bcs _080B53FE - adds r4, r0, 0 -_080B53FE: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, r6 - bcc _080B53EA -_080B5408: - lsls r4, 24 - lsrs r4, 24 - add r4, r8 - adds r4, 0x2 - lsls r4, 24 - lsrs r4, 24 - lsls r0, r6, 1 - adds r0, 0x1 - mov r1, r9 - lsls r5, r1, 24 - asrs r5, 24 - adds r5, r0 - lsls r5, 24 - lsrs r5, 24 - mov r0, r8 - adds r2, r6, 0 - adds r3, r7, 0 - bl PrintMenuItems - movs r0, 0 - str r0, [sp] - mov r1, r8 - subs r0, r4, r1 - subs r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - movs r0, 0 - mov r2, r9 - adds r3, r6, 0 - bl InitMenu - mov r0, r10 - str r0, [sp] - str r6, [sp, 0x4] - mov r0, r8 - mov r1, r9 - adds r2, r4, 0 - adds r3, r5, 0 - bl sub_80B5230 - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_80B53B4 - - thumb_func_start yes_no_box -yes_no_box: @ 80B546C - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 24 - lsrs r4, r1, 24 - ldr r6, _080B54B4 @ =task_yes_no_maybe - adds r0, r6, 0 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080B54C0 - ldr r1, _080B54B8 @ =gScriptResult - movs r0, 0xFF - strh r0, [r1] - adds r0, r5, 0 - adds r1, r4, 0 - movs r2, 0x1 - bl DisplayYesNoMenu - adds r0, r6, 0 - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080B54BC @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r5, [r1, 0x8] - strh r4, [r1, 0xA] - movs r0, 0x1 - b _080B54C2 - .align 2, 0 -_080B54B4: .4byte task_yes_no_maybe -_080B54B8: .4byte gScriptResult -_080B54BC: .4byte gTasks -_080B54C0: - movs r0, 0 -_080B54C2: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end yes_no_box - - thumb_func_start unref_sub_80B54C8 -unref_sub_80B54C8: @ 80B54C8 - push {lr} - ldr r0, _080B54D8 @ =gScriptResult - ldrh r0, [r0] - cmp r0, 0xFF - beq _080B54DC - movs r0, 0x1 - b _080B54DE - .align 2, 0 -_080B54D8: .4byte gScriptResult -_080B54DC: - movs r0, 0 -_080B54DE: - pop {r1} - bx r1 - thumb_func_end unref_sub_80B54C8 - - thumb_func_start task_yes_no_maybe -task_yes_no_maybe: @ 80B54E4 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, _080B5504 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r1, r0, r1 - ldrh r2, [r1, 0xC] - movs r3, 0xC - ldrsh r0, [r1, r3] - cmp r0, 0x4 - bgt _080B5508 - adds r0, r2, 0x1 - strh r0, [r1, 0xC] - b _080B556A - .align 2, 0 -_080B5504: .4byte gTasks -_080B5508: - bl ProcessMenuInputNoWrap - lsls r0, 24 - asrs r1, r0, 24 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _080B552C - cmp r1, r0 - bgt _080B5524 - subs r0, 0x1 - cmp r1, r0 - beq _080B556A - b _080B5542 -_080B5524: - cmp r1, 0 - beq _080B553C - cmp r1, 0x1 - bne _080B5542 -_080B552C: - movs r0, 0x5 - bl PlaySE - ldr r1, _080B5538 @ =gScriptResult - movs r0, 0 - b _080B5540 - .align 2, 0 -_080B5538: .4byte gScriptResult -_080B553C: - ldr r1, _080B5570 @ =gScriptResult - movs r0, 0x1 -_080B5540: - strh r0, [r1] -_080B5542: - ldr r0, _080B5574 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r0 - ldrb r0, [r1, 0x8] - ldrb r1, [r1, 0xA] - adds r2, r0, 0x6 - lsls r2, 24 - lsrs r2, 24 - adds r3, r1, 0x5 - lsls r3, 24 - lsrs r3, 24 - bl MenuZeroFillWindowRect - adds r0, r4, 0 - bl DestroyTask - bl EnableBothScriptContexts -_080B556A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_080B5570: .4byte gScriptResult -_080B5574: .4byte gTasks - thumb_func_end task_yes_no_maybe - - thumb_func_start sub_80B5578 -sub_80B5578: @ 80B5578 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - ldr r4, [sp, 0x30] - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - lsls r2, 24 - lsrs r6, r2, 24 - lsls r3, 24 - lsrs r3, 24 - str r3, [sp, 0xC] - lsls r4, 24 - lsrs r5, r4, 24 - movs r7, 0 - ldr r0, _080B55B8 @ =sub_80B5684 - mov r10, r0 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _080B55BC - movs r0, 0 - b _080B5670 - .align 2, 0 -_080B55B8: .4byte sub_80B5684 -_080B55BC: - ldr r1, _080B5620 @ =gScriptResult - movs r0, 0xFF - strh r0, [r1] - ldr r0, _080B5624 @ =gMultichoiceLists - lsls r4, r6, 3 - adds r0, r4, r0 - ldrb r6, [r0, 0x4] - ldr r0, [r0] - str r0, [sp] - str r5, [sp, 0x4] - str r7, [sp, 0x8] - mov r0, r9 - mov r1, r8 - adds r2, r6, 0 - movs r3, 0 - bl sub_807274C - mov r0, r10 - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - lsls r0, r6, 24 - lsrs r1, r0, 24 - lsrs r0, 25 - cmp r0, r5 - bcc _080B55FE - movs r0, 0x1 - ands r0, r6 - cmp r0, 0 - beq _080B5606 -_080B55FE: - cmp r5, 0x1 - beq _080B5606 - cmp r1, r5 - bne _080B5628 -_080B5606: - ldr r0, _080B5624 @ =gMultichoiceLists - adds r0, r4, r0 - ldrb r0, [r0, 0x4] - adds r1, r5, 0 - bl __udivsi3 - lsls r0, 24 - lsrs r0, 23 - adds r0, 0x1 - mov r2, r8 - lsls r1, r2, 24 - b _080B563A - .align 2, 0 -_080B5620: .4byte gScriptResult -_080B5624: .4byte gMultichoiceLists -_080B5628: - adds r0, r6, 0 - adds r1, r5, 0 - bl __udivsi3 - lsls r0, 24 - lsrs r0, 23 - adds r0, 0x3 - mov r3, r8 - lsls r1, r3, 24 -_080B563A: - asrs r1, 24 - adds r1, r0 - lsls r1, 24 - lsrs r7, r1, 24 - adds r0, r5, 0 - bl sub_807288C - lsls r0, 24 - lsrs r0, 24 - ldr r2, _080B5680 @ =gTasks - mov r3, r10 - lsls r1, r3, 2 - add r1, r10 - lsls r1, 3 - adds r1, r2 - mov r2, r9 - strh r2, [r1, 0x8] - mov r3, r8 - strh r3, [r1, 0xA] - add r0, r9 - adds r0, 0x2 - strh r0, [r1, 0xC] - strh r7, [r1, 0xE] - mov r0, sp - ldrh r0, [r0, 0xC] - strh r0, [r1, 0x10] - movs r0, 0x1 -_080B5670: - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_080B5680: .4byte gTasks - thumb_func_end sub_80B5578 - - thumb_func_start sub_80B5684 -sub_80B5684: @ 80B5684 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - bl sub_80727CC - lsls r0, 24 - asrs r1, r0, 24 - movs r0, 0x2 - negs r0, r0 - cmp r1, r0 - beq _080B56F4 - adds r0, 0x1 - cmp r1, r0 - bne _080B56CC - ldr r2, _080B56C4 @ =gTasks - lsls r1, r5, 2 - adds r0, r1, r5 - lsls r0, 3 - adds r0, r2 - movs r2, 0x10 - ldrsh r0, [r0, r2] - adds r4, r1, 0 - cmp r0, 0 - bne _080B56F4 - movs r0, 0x5 - bl PlaySE - ldr r1, _080B56C8 @ =gScriptResult - movs r0, 0x7F - strh r0, [r1] - b _080B56D2 - .align 2, 0 -_080B56C4: .4byte gTasks -_080B56C8: .4byte gScriptResult -_080B56CC: - ldr r0, _080B56FC @ =gScriptResult - strh r1, [r0] - lsls r4, r5, 2 -_080B56D2: - bl sub_8072DEC - ldr r0, _080B5700 @ =gTasks - adds r3, r4, r5 - lsls r3, 3 - adds r3, r0 - ldrb r0, [r3, 0x8] - ldrb r1, [r3, 0xA] - ldrb r2, [r3, 0xC] - ldrb r3, [r3, 0xE] - bl MenuZeroFillWindowRect - adds r0, r5, 0 - bl DestroyTask - bl EnableBothScriptContexts -_080B56F4: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_080B56FC: .4byte gScriptResult -_080B5700: .4byte gTasks - thumb_func_end sub_80B5684 - - thumb_func_start sp109_CreatePCMenu -sp109_CreatePCMenu: @ 80B5704 - push {lr} - ldr r0, _080B5724 @ =sub_80B52B4 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080B572C - ldr r1, _080B5728 @ =gScriptResult - movs r0, 0xFF - strh r0, [r1] - bl CreatePCMenu - movs r0, 0x1 - b _080B572E - .align 2, 0 -_080B5724: .4byte sub_80B52B4 -_080B5728: .4byte gScriptResult -_080B572C: - movs r0, 0 -_080B572E: - pop {r1} - bx r1 - thumb_func_end sp109_CreatePCMenu - - thumb_func_start CreatePCMenu -CreatePCMenu: @ 80B5734 - push {r4-r7,lr} - sub sp, 0x8 - ldr r0, _080B5758 @ =gPCText_PlayersPC - bl GetStringWidthInTilesForScriptMenu - lsls r0, 16 - lsrs r4, r0, 16 - ldr r0, _080B575C @ =gPCText_SomeonesPC - bl GetStringWidthInTilesForScriptMenu - lsls r0, 16 - lsrs r0, 16 - cmp r4, r0 - bls _080B5760 - lsls r0, r4, 24 - lsrs r5, r0, 24 - b _080B5762 - .align 2, 0 -_080B5758: .4byte gPCText_PlayersPC -_080B575C: .4byte gPCText_SomeonesPC -_080B5760: - movs r5, 0x8 -_080B5762: - ldr r0, _080B5798 @ =0x00000804 - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _080B57A4 - movs r7, 0x4 - adds r4, r5, 0x2 - lsls r2, r4, 24 - lsrs r2, 24 - movs r0, 0 - movs r1, 0 - movs r3, 0x9 - bl MenuDrawTextWindow - ldr r0, _080B579C @ =gPCText_HallOfFame - movs r1, 0x1 - movs r2, 0x5 - bl MenuPrint - ldr r0, _080B57A0 @ =gPCText_LogOff - movs r1, 0x1 - movs r2, 0x7 - bl MenuPrint - b _080B57C0 - .align 2, 0 -_080B5798: .4byte 0x00000804 -_080B579C: .4byte gPCText_HallOfFame -_080B57A0: .4byte gPCText_LogOff -_080B57A4: - movs r7, 0x3 - adds r4, r5, 0x2 - lsls r2, r4, 24 - lsrs r2, 24 - movs r0, 0 - movs r1, 0 - movs r3, 0x7 - bl MenuDrawTextWindow - ldr r0, _080B57DC @ =gPCText_LogOff - movs r1, 0x1 - movs r2, 0x5 - bl MenuPrint -_080B57C0: - adds r6, r4, 0 - ldr r0, _080B57E0 @ =0x0000084b - bl FlagGet - lsls r0, 24 - cmp r0, 0 - beq _080B57E8 - ldr r0, _080B57E4 @ =gPCText_LanettesPC - movs r1, 0x1 - movs r2, 0x1 - bl MenuPrint - b _080B57F2 - .align 2, 0 -_080B57DC: .4byte gPCText_LogOff -_080B57E0: .4byte 0x0000084b -_080B57E4: .4byte gPCText_LanettesPC -_080B57E8: - ldr r0, _080B5830 @ =gPCText_SomeonesPC - movs r1, 0x1 - movs r2, 0x1 - bl MenuPrint -_080B57F2: - ldr r0, _080B5834 @ =gPCText_PlayersPC - movs r1, 0x1 - movs r2, 0x3 - bl MenuPrint - movs r4, 0 - str r4, [sp] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0x1 - movs r2, 0x1 - adds r3, r7, 0 - bl InitMenu - lsls r2, r6, 24 - lsrs r2, 24 - lsls r3, r7, 1 - adds r3, 0x1 - str r4, [sp] - str r7, [sp, 0x4] - movs r0, 0 - movs r1, 0 - bl sub_80B5230 - add sp, 0x8 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_080B5830: .4byte gPCText_SomeonesPC -_080B5834: .4byte gPCText_PlayersPC - thumb_func_end CreatePCMenu - - thumb_func_start sub_80B5838 -sub_80B5838: @ 80B5838 - push {lr} - bl MenuDisplayMessageBox - ldr r0, _080B584C @ =gUnknown_081A0A01 - movs r1, 0x2 - movs r2, 0xF - bl MenuPrint - pop {r0} - bx r0 - .align 2, 0 -_080B584C: .4byte gUnknown_081A0A01 - thumb_func_end sub_80B5838 - - thumb_func_start task_picbox -task_picbox: @ 80B5850 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _080B5874 @ =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _080B58BE - cmp r0, 0x1 - bgt _080B5878 - cmp r0, 0 - beq _080B5894 - b _080B58BE - .align 2, 0 -_080B5874: .4byte gTasks -_080B5878: - cmp r0, 0x2 - beq _080B5882 - cmp r0, 0x3 - beq _080B58A0 - b _080B58BE -_080B5882: - movs r0, 0xC - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, _080B589C @ =gSprites - adds r0, r1 - bl FreeResourcesAndDestroySprite -_080B5894: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _080B58BE - .align 2, 0 -_080B589C: .4byte gSprites -_080B58A0: - ldrb r2, [r4, 0xE] - adds r0, r2, 0 - ldrb r3, [r4, 0x10] - adds r1, r3, 0 - adds r2, 0x9 - lsls r2, 24 - lsrs r2, 24 - adds r3, 0xA - lsls r3, 24 - lsrs r3, 24 - bl MenuZeroFillWindowRect - adds r0, r5, 0 - bl DestroyTask -_080B58BE: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end task_picbox - - thumb_func_start sub_80B58C4 -sub_80B58C4: @ 80B58C4 - push {r4-r7,lr} - lsls r0, 16 - lsrs r7, r0, 16 - lsls r1, 24 - lsrs r6, r1, 24 - lsls r2, 24 - lsrs r5, r2, 24 - ldr r4, _080B595C @ =task_picbox - adds r0, r4, 0 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - bne _080B596C - adds r2, r6, 0 - adds r2, 0x9 - lsls r2, 24 - lsrs r2, 24 - adds r3, r5, 0 - adds r3, 0xA - lsls r3, 24 - lsrs r3, 24 - adds r0, r6, 0 - adds r1, r5, 0 - bl MenuDrawTextWindow - adds r0, r4, 0 - movs r1, 0x50 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r1, _080B5960 @ =gTasks - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - adds r4, r1 - movs r0, 0 - strh r0, [r4, 0x8] - strh r7, [r4, 0xA] - lsls r1, r6, 19 - movs r0, 0xA0 - lsls r0, 14 - adds r1, r0 - asrs r1, 16 - lsls r2, r5, 19 - adds r2, r0 - asrs r2, 16 - adds r0, r7, 0 - movs r3, 0 - bl CreateMonSprite_PicBox - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0xC] - strh r6, [r4, 0xE] - strh r5, [r4, 0x10] - ldr r3, _080B5964 @ =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r0, r3, 0 - adds r0, 0x1C - adds r0, r1, r0 - ldr r2, _080B5968 @ =SpriteCallbackDummy - str r2, [r0] - adds r1, r3 - ldrb r2, [r1, 0x5] - movs r0, 0xD - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0x5] - movs r0, 0x1 - b _080B596E - .align 2, 0 -_080B595C: .4byte task_picbox -_080B5960: .4byte gTasks -_080B5964: .4byte gSprites -_080B5968: .4byte SpriteCallbackDummy -_080B596C: - movs r0, 0 -_080B596E: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80B58C4 - - thumb_func_start picbox_close -picbox_close: @ 80B5974 - push {lr} - ldr r0, _080B5998 @ =task_picbox - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0xFF - beq _080B59A4 - ldr r0, _080B599C @ =gTasks - lsls r1, r2, 2 - adds r1, r2 - lsls r1, 3 - adds r1, r0 - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - ldr r0, _080B59A0 @ =sub_80B59AC - b _080B59A6 - .align 2, 0 -_080B5998: .4byte task_picbox -_080B599C: .4byte gTasks -_080B59A0: .4byte sub_80B59AC -_080B59A4: - movs r0, 0 -_080B59A6: - pop {r1} - bx r1 - thumb_func_end picbox_close - - thumb_func_start sub_80B59AC -sub_80B59AC: @ 80B59AC - push {lr} - ldr r0, _080B59C0 @ =task_picbox - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _080B59C4 - movs r0, 0 - b _080B59C6 - .align 2, 0 -_080B59C0: .4byte task_picbox -_080B59C4: - movs r0, 0x1 -_080B59C6: - pop {r1} - bx r1 - thumb_func_end sub_80B59AC - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/script_pokemon_util_80C4BF0.s b/asm/script_pokemon_util_80C4BF0.s index 5d99fa2b2..b60c9444a 100644 --- a/asm/script_pokemon_util_80C4BF0.s +++ b/asm/script_pokemon_util_80C4BF0.s @@ -1311,7 +1311,7 @@ SetBattleTowerPlayerParty: @ 80C55C8 ldrb r4, [r0] cmp r4, 0 bne _080C55E4 - bl copy_player_party_from_sav1 + bl LoadPlayerParty ldr r0, _080C55E0 @ =gScriptResult strh r4, [r0] b _080C55EE diff --git a/asm/smokescreen.s b/asm/smokescreen.s new file mode 100644 index 000000000..1c5d9f2e9 --- /dev/null +++ b/asm/smokescreen.s @@ -0,0 +1,226 @@ + .include "constants/gba_constants.inc" + .include "constants/species_constants.inc" + .include "asm/macros.inc" + + .syntax unified + + .text + + thumb_func_start sub_8046234 +sub_8046234: @ 8046234 + push {r4-r7,lr} + mov r7, r10 + mov r6, r9 + mov r5, r8 + push {r5-r7} + lsls r0, 16 + lsrs r6, r0, 16 + lsls r1, 16 + lsrs r7, r1, 16 + lsls r2, 24 + lsrs r4, r2, 24 + ldr r5, _0804636C @ =gUnknown_081FAEA4 + ldrh r0, [r5, 0x6] + bl GetSpriteTileStartByTag + lsls r0, 16 + ldr r1, _08046370 @ =0xffff0000 + cmp r0, r1 + bne _08046266 + adds r0, r5, 0 + bl LoadCompressedObjectPic + ldr r0, _08046374 @ =gUnknown_081FAEAC + bl LoadCompressedObjectPalette +_08046266: + ldr r0, _08046378 @ =sub_8046388 + bl object_new_hidden_with_callback + mov r8, r0 + mov r0, r8 + lsls r0, 24 + lsrs r0, 24 + mov r8, r0 + lsls r5, r0, 4 + add r5, r8 + lsls r5, 2 + ldr r0, _0804637C @ =gSprites + adds r5, r0 + strh r4, [r5, 0x30] + ldr r0, _08046380 @ =gSpriteTemplate_81FAF0C + mov r9, r0 + lsls r6, 16 + asrs r0, r6, 16 + mov r10, r0 + ldr r0, _08046384 @ =0xfff00000 + adds r6, r0 + asrs r6, 16 + lsls r4, r7, 16 + asrs r7, r4, 16 + adds r4, r0 + asrs r4, 16 + mov r0, r9 + adds r1, r6, 0 + adds r2, r4, 0 + movs r3, 0x2 + bl CreateSprite + lsls r0, 24 + lsrs r0, 24 + lsls r1, r0, 4 + adds r1, r0 + lsls r1, 2 + ldr r0, _0804637C @ =gSprites + adds r1, r0 + mov r0, r8 + strh r0, [r1, 0x2E] + ldrh r0, [r5, 0x2E] + adds r0, 0x1 + strh r0, [r5, 0x2E] + adds r0, r1, 0 + bl AnimateSprite + mov r0, r9 + mov r1, r10 + adds r2, r4, 0 + movs r3, 0x2 + bl CreateSprite + lsls r0, 24 + lsrs r0, 24 + lsls r4, r0, 4 + adds r4, r0 + lsls r4, 2 + ldr r0, _0804637C @ =gSprites + adds r4, r0 + mov r0, r8 + strh r0, [r4, 0x2E] + ldrh r0, [r5, 0x2E] + adds r0, 0x1 + strh r0, [r5, 0x2E] + adds r0, r4, 0 + movs r1, 0x1 + bl StartSpriteAnim + adds r0, r4, 0 + bl AnimateSprite + mov r0, r9 + adds r1, r6, 0 + adds r2, r7, 0 + movs r3, 0x2 + bl CreateSprite + lsls r0, 24 + lsrs r0, 24 + lsls r4, r0, 4 + adds r4, r0 + lsls r4, 2 + ldr r0, _0804637C @ =gSprites + adds r4, r0 + mov r0, r8 + strh r0, [r4, 0x2E] + ldrh r0, [r5, 0x2E] + adds r0, 0x1 + strh r0, [r5, 0x2E] + adds r0, r4, 0 + movs r1, 0x2 + bl StartSpriteAnim + adds r0, r4, 0 + bl AnimateSprite + mov r0, r9 + mov r1, r10 + adds r2, r7, 0 + movs r3, 0x2 + bl CreateSprite + lsls r0, 24 + lsrs r0, 24 + lsls r4, r0, 4 + adds r4, r0 + lsls r4, 2 + ldr r0, _0804637C @ =gSprites + adds r4, r0 + mov r0, r8 + strh r0, [r4, 0x2E] + ldrh r0, [r5, 0x2E] + adds r0, 0x1 + strh r0, [r5, 0x2E] + adds r0, r4, 0 + movs r1, 0x3 + bl StartSpriteAnim + adds r0, r4, 0 + bl AnimateSprite + mov r0, r8 + pop {r3-r5} + mov r8, r3 + mov r9, r4 + mov r10, r5 + pop {r4-r7} + pop {r1} + bx r1 + .align 2, 0 +_0804636C: .4byte gUnknown_081FAEA4 +_08046370: .4byte 0xffff0000 +_08046374: .4byte gUnknown_081FAEAC +_08046378: .4byte sub_8046388 +_0804637C: .4byte gSprites +_08046380: .4byte gSpriteTemplate_81FAF0C +_08046384: .4byte 0xfff00000 + thumb_func_end sub_8046234 + + thumb_func_start sub_8046388 +sub_8046388: @ 8046388 + push {r4,lr} + adds r4, r0, 0 + movs r1, 0x2E + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _080463C0 + ldr r0, _080463B4 @ =gUnknown_081FAEA4 + ldrh r0, [r0, 0x6] + bl FreeSpriteTilesByTag + ldr r0, _080463B8 @ =gUnknown_081FAEAC + ldrh r0, [r0, 0x4] + bl FreeSpritePaletteByTag + movs r1, 0x30 + ldrsh r0, [r4, r1] + cmp r0, 0 + bne _080463BC + adds r0, r4, 0 + bl DestroySprite + b _080463C0 + .align 2, 0 +_080463B4: .4byte gUnknown_081FAEA4 +_080463B8: .4byte gUnknown_081FAEAC +_080463BC: + ldr r0, _080463C8 @ =SpriteCallbackDummy + str r0, [r4, 0x1C] +_080463C0: + pop {r4} + pop {r0} + bx r0 + .align 2, 0 +_080463C8: .4byte SpriteCallbackDummy + thumb_func_end sub_8046388 + + thumb_func_start sub_80463CC +sub_80463CC: @ 80463CC + push {lr} + adds r3, r0, 0 + adds r0, 0x3F + ldrb r1, [r0] + movs r0, 0x10 + ands r0, r1 + cmp r0, 0 + beq _080463F6 + ldr r2, _080463FC @ =gSprites + movs r0, 0x2E + ldrsh r1, [r3, r0] + lsls r0, r1, 4 + adds r0, r1 + lsls r0, 2 + adds r0, r2 + ldrh r1, [r0, 0x2E] + subs r1, 0x1 + strh r1, [r0, 0x2E] + adds r0, r3, 0 + bl DestroySprite +_080463F6: + pop {r0} + bx r0 + .align 2, 0 +_080463FC: .4byte gSprites + thumb_func_end sub_80463CC + + .align 2, 0 @ Don't pad with nop. diff --git a/asm/trade.s b/asm/trade.s index ae857d1c3..87ee96d21 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -6137,7 +6137,7 @@ _0804AE5C: asrs r0, 16 lsls r1, 16 asrs r1, 16 - bl sub_8046200 + bl GetHPBarLevel ldr r1, [r7] adds r1, 0x69 adds r1, r6 @@ -6182,7 +6182,7 @@ _0804AEBC: asrs r0, 16 lsls r1, 16 asrs r1, 16 - bl sub_8046200 + bl GetHPBarLevel ldr r1, [r7] adds r1, 0x6F adds r1, r6 @@ -11765,7 +11765,7 @@ _0804DF48: .4byte 0x0000043c _0804DF4C: .4byte gUnknown_03004828 _0804DF50: .4byte gSystemText_Saving _0804DF54: - bl sub_8047A1C + bl SetSecretBase2Field_9_AndHideBG movs r0, 0x15 bl sav12_xor_increment bl sub_8125D80 @@ -11803,7 +11803,7 @@ _0804DF9C: lsrs r1, r0, 24 cmp r1, 0 beq _0804DFC0 - bl sub_8047A34 + bl ClearSecretBase2Field_9_2 ldr r0, _0804DFB8 @ =gMain ldr r1, _0804DFBC @ =0x0000043c adds r0, r1 diff --git a/data/berry_blender.s b/data/berry_blender.s new file mode 100644 index 000000000..d346ab9cd --- /dev/null +++ b/data/berry_blender.s @@ -0,0 +1,447 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + + .align 2 +gUnknown_08215C0C:: @ 8215C0C + .incbin "graphics/berry_blender/center.gbapal" + + .align 2 +gUnknown_08215C2C:: @ 8215C2C + .incbin "graphics/berry_blender/center_map.bin" + + .align 2 +gUnknown_0821602C:: @ 821602C + .incbin "graphics/berry_blender/outer.gbapal" + + .incbin "graphics/unused/unknown/821604C.gbapal" + + .space 0x1C0 + + .string "▶$" + .string " $" + .string "カッコイ$" @ "cool" (missing an イ at the end) + .string "カワイイ$" @ "cute" + .string "ウツクシ$" @ "beautiful" (missing an イ at the end) + .string "カシコイ$" @ "smart" + .string "タクマシ$" @ "tough" (missing an イ at the end) + +gUnknown_08216249:: @ 8216249 + .string "\p$" + +@ unreferenced +@ These appear to be the first names of four people who worked on the game. + .string "てつじ$", 10 @ Tetsuji (Ohta) + .string "あきと$", 10 @ Akito (Mori) + .string "シゲル$", 10 @ Shigeru (Ohmori) + .string "ヨシノリ$", 10 @ Yoshinori (Matsuda) + +UnknownText_2Pok: + .string "2Pok$" +UnknownText_3Pok: + .string "3Pok$" +UnknownText_4Pok: + .string "4Pok$" + + .align 2 +gUnknown_08216284:: @ 8216284 + .4byte UnknownText_2Pok + .4byte UnknownText_3Pok + .4byte UnknownText_4Pok + +@ unreferenced + .string "1P$", 4 + .string "2P$", 4 + .string "3P$", 4 + .string "4P$", 4 + +UnknownText_Mister: + .string "MISTER$" +UnknownText_Laddie: + .string "LADDIE$" +UnknownText_Lassie: + .string "LASSIE$" + + .align 2 +gUnknown_082162B8:: @ 82162B8 + .4byte UnknownText_Mister + .4byte UnknownText_Laddie + .4byte UnknownText_Lassie + +gUnknown_082162C4:: @ 82162C4 + .string "{COLOR RED}$" + +gUnknown_082162C8:: @ 82162C8 + .string "\n$" + + .string " $" + +gUnknown_082162CC:: @ 82162CC + .byte -1, -1 + .byte 1, -1 + .byte -1, 1 + .byte 1, 1 + +gUnknown_082162D4:: @ 82162D4 + .byte 2, 6 + .byte 23, 6 + .byte 2, 12 + .byte 23, 12 + .byte 1, 6 + .byte 22, 6 + .byte 1, 12 + .byte 22, 12 + +gUnknown_082162E4:: @ 82162E4 + .byte 72, 32 + .byte 168, 32 + .byte 72, 128 + .byte 168, 128 + +gUnknown_082162EC:: @ 82162EC + .byte -1, 0, 1, -1 + .byte -1, 0, 1, 2 + .byte 0, 1, 2, 3 + + .align 1 +gUnknown_082162F8:: @ 82162F8 + .2byte 0x0000, 0xC000, 0x4000, 0x8000 + +gUnknown_08216300:: @ 8216300 + .byte 1 + .byte 1 + .byte 0 + +gUnknown_08216303:: @ 8216303 + .byte 32 + .byte 224 + .byte 96 + .byte 160 + .byte 0 + + .align 2 +gUnknown_08216308:: @ 8216308 + .4byte sub_804F8C8 + .4byte sub_804F9F4 + .4byte sub_804FB1C + + .align 2 +gOamData_8216314:: @ 8216314 + .2byte 0x0000 + .2byte 0x8000 + .2byte 0x0400 + + .align 2 +gSpriteAnim_821631C:: @ 821631C + obj_image_anim_frame 16, 5, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_end + + .align 2 +gSpriteAnim_8216324:: @ 8216324 + obj_image_anim_frame 16, 5, OBJ_IMAGE_ANIM_V_FLIP + obj_image_anim_end + + .align 2 +gSpriteAnim_821632C:: @ 821632C + obj_image_anim_frame 16, 5, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_end + + .align 2 +gSpriteAnim_8216334:: @ 8216334 + obj_image_anim_frame 16, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_821633C:: @ 821633C + obj_image_anim_frame 48, 2, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 32, 5, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 48, 3, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 16, 5, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_end + + .align 2 +gSpriteAnim_8216350:: @ 8216350 + obj_image_anim_frame 48, 2, OBJ_IMAGE_ANIM_V_FLIP + obj_image_anim_frame 32, 5, OBJ_IMAGE_ANIM_V_FLIP + obj_image_anim_frame 48, 3, OBJ_IMAGE_ANIM_V_FLIP + obj_image_anim_frame 16, 5, OBJ_IMAGE_ANIM_V_FLIP + obj_image_anim_end + + .align 2 +gSpriteAnim_8216364:: @ 8216364 + obj_image_anim_frame 48, 2, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 32, 5, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 48, 3, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 16, 5, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_end + + .align 2 +gSpriteAnim_8216378:: @ 8216378 + obj_image_anim_frame 48, 2 + obj_image_anim_frame 32, 5 + obj_image_anim_frame 48, 3 + obj_image_anim_frame 16, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_821638C:: @ 821638C + obj_image_anim_frame 0, 5, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_end + + .align 2 +gSpriteAnim_8216394:: @ 8216394 + obj_image_anim_frame 0, 5, OBJ_IMAGE_ANIM_V_FLIP + obj_image_anim_end + + .align 2 +gSpriteAnim_821639C:: @ 821639C + obj_image_anim_frame 0, 5, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_end + + .align 2 +gSpriteAnim_82163A4:: @ 82163A4 + obj_image_anim_frame 0, 5 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_82163AC:: @ 82163AC + .4byte gSpriteAnim_821631C + .4byte gSpriteAnim_8216324 + .4byte gSpriteAnim_821632C + .4byte gSpriteAnim_8216334 + .4byte gSpriteAnim_821633C + .4byte gSpriteAnim_8216350 + .4byte gSpriteAnim_8216364 + .4byte gSpriteAnim_8216378 + .4byte gSpriteAnim_821638C + .4byte gSpriteAnim_8216394 + .4byte gSpriteAnim_821639C + .4byte gSpriteAnim_82163A4 + + .align 2 +gUnknown_082163DC:: @ 82163DC + obj_tiles gBerryBlenderArrowTiles, 0x800, 46545 + + .align 2 +gUnknown_082163E4:: @ 82163E4 + obj_pal gBerryBlenderMiscPalette, 46546 + + .align 2 +gUnknown_082163EC:: @ 82163EC + obj_pal gBerryBlenderArrowPalette, 12312 + + .align 2 +gSpriteTemplate_82163F4:: @ 82163F4 + spr_template 46545, 12312, gOamData_8216314, gSpriteAnimTable_82163AC, NULL, gDummySpriteAffineAnimTable, sub_8051C04 + + .align 2 +gOamData_821640C:: @ 821640C + .2byte 0x0000 + .2byte 0x4000 + .2byte 0x0000 + + .align 2 +gSpriteAnim_8216414:: @ 8216414 + obj_image_anim_frame 0, 20 + obj_image_anim_end + + .align 2 +gSpriteAnim_821641C:: @ 821641C + obj_image_anim_frame 4, 20, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_end + + .align 2 +gSpriteAnim_8216424:: @ 8216424 + obj_image_anim_frame 8, 4 + obj_image_anim_frame 12, 4 + obj_image_anim_frame 8, 4 + obj_image_anim_frame 12, 4 + obj_image_anim_frame 8, 4 + obj_image_anim_end + + .align 2 +gSpriteAnim_821643C:: @ 821643C + obj_image_anim_frame 8, 4 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_8216444:: @ 8216444 + .4byte gSpriteAnim_8216414 + .4byte gSpriteAnim_821641C + .4byte gSpriteAnim_8216424 + .4byte gSpriteAnim_821643C + + .align 2 +gUnknown_08216454:: @ 8216454 + obj_tiles gBerryBlenderMarubatsuTiles, 0x200, 48888 + + .align 2 +gSpriteTemplate_821645C:: @ 821645C + spr_template 48888, 46546, gOamData_821640C, gSpriteAnimTable_8216444, NULL, gDummySpriteAffineAnimTable, sub_8051650 + + .align 2 +gOamData_8216474:: @ 8216474 + .2byte 0x0000 + .2byte 0x0000 + .2byte 0x0400 + + .align 2 +gSpriteAnim_821647C:: @ 821647C + obj_image_anim_frame 0, 3 + obj_image_anim_frame 1, 4 + obj_image_anim_frame 3, 5 + obj_image_anim_frame 1, 4 + obj_image_anim_frame 0, 3 + obj_image_anim_end + + .align 2 +gSpriteAnim_8216494:: @ 8216494 + obj_image_anim_frame 0, 3 + obj_image_anim_frame 2, 4 + obj_image_anim_frame 4, 5 + obj_image_anim_frame 2, 4 + obj_image_anim_frame 0, 3 + obj_image_anim_end + + .align 2 +gSpriteAnim_82164AC:: @ 82164AC + obj_image_anim_frame 0, 2 + obj_image_anim_frame 1, 2 + obj_image_anim_frame 2, 2 + obj_image_anim_frame 4, 4 + obj_image_anim_frame 3, 3 + obj_image_anim_frame 2, 2 + obj_image_anim_frame 1, 2 + obj_image_anim_frame 0, 2 + obj_image_anim_end + + .align 2 +gSpriteAnim_82164D0:: @ 82164D0 + obj_image_anim_frame 5, 5, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_end + + .align 2 +gSpriteAnim_82164D8:: @ 82164D8 + obj_image_anim_frame 6, 5, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_end + + .align 2 +gSpriteAnimTable_82164E0:: @ 82164E0 + .4byte gSpriteAnim_821647C + .4byte gSpriteAnim_8216494 + .4byte gSpriteAnim_82164AC + .4byte gSpriteAnim_82164D0 + .4byte gSpriteAnim_82164D8 + + .align 2 +gUnknown_082164F4:: @ 82164F4 + obj_tiles gBerryBlenderParticlesTiles, 0xE0, 23456 + + .align 2 +gSpriteTemplate_82164FC:: @ 82164FC + spr_template 23456, 46546, gOamData_8216474, gSpriteAnimTable_82164E0, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gOamData_8216514:: @ 8216514 + .2byte 0x0000 + .2byte 0x8000 + .2byte 0x0400 + + .align 2 +gSpriteAnim_821651C:: @ 821651C + obj_image_anim_frame 32, 30 + obj_image_anim_end + + .align 2 +gSpriteAnim_8216524:: @ 8216524 + obj_image_anim_frame 16, 30 + obj_image_anim_end + + .align 2 +gSpriteAnim_821652C:: @ 821652C + obj_image_anim_frame 0, 30 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_8216534:: @ 8216534 + .4byte gSpriteAnim_821651C + .4byte gSpriteAnim_8216524 + .4byte gSpriteAnim_821652C + + .align 2 +gUnknown_08216540:: @ 8216540 + obj_tiles gBerryBlenderCountdownNumbersTiles, 0x600, 12345 + + .align 2 +gSpriteTemplate_8216548:: @ 8216548 + spr_template 12345, 46546, gOamData_8216514, gSpriteAnimTable_8216534, NULL, gDummySpriteAffineAnimTable, sub_805181C + + .align 2 +gOamData_8216560:: @ 8216560 + .2byte 0x4000 + .2byte 0xC000 + .2byte 0x0400 + + .align 2 +gSpriteAnim_8216568:: @ 8216568 + obj_image_anim_frame 0, 30 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_8216570:: @ 8216570 + .4byte gSpriteAnim_8216568 + + .align 2 +gUnknown_08216574:: @ 8216574 + obj_tiles gBerryBlenderStartTiles, 0x400, 12346 + + .align 2 +gSpriteTemplate_821657C:: @ 821657C + spr_template 12346, 46546, gOamData_8216560, gSpriteAnimTable_8216570, NULL, gDummySpriteAffineAnimTable, sub_80518CC + + .align 1 +gUnknown_08216594:: @ 8216594 + .2byte -10, 20, 10, 2, 1 + .2byte 250, 20, 10, -2, 1 + .2byte -10, 140, 10, 2, -1 + .2byte 250, 140, 10, -2, -1 + +gUnknown_082165BC:: @ 82165BC + .byte 4, 3, 2 + .byte 0, 4, 3 + .byte 1, 0, 4 + .byte 2, 1, 0 + .byte 3, 2, 1 + .byte 0, 2, 3 + .byte 1, 3, 4 + .byte 2, 4, 0 + .byte 3, 0, 1 + .byte 4, 1, 2 + +gUnknown_082165DA:: @ 82165DA + .byte 1, 1, 2, 3, 4 + +gUnknown_082165DF:: @ 82165DF + .byte 0x1C, 0x16, 0x13, 0x1A, 0x19, 0x0E, 0x0D, 0x0B, 0x07, 0x15 + +gUnknown_082165E9:: @ 82165E9 + .byte 6, 6, 6, 6, 5 + +gUnknown_082165EE:: @ 82165EE + .byte 3, 3, 3, 2, 2 + +gUnknown_082165F3:: @ 82165F3 + .byte 3, 3, 3, 3, 2 + +gUnknown_082165F8:: @ 82165F8 + .string " $" + +gOtherText_BPMAndDash:: @ 82165FA + .string "BPM$" + .string "-$" + +gUnknown_08216600:: @ 8216600 + .string "\n$" + + .string "\n$" diff --git a/data/data2.s b/data/data2.s index 060d359de..e7c12e63b 100644 --- a/data/data2.s +++ b/data/data2.s @@ -2505,29292 +2505,3 @@ gUnknown_0820A904:: @ 820A904 .4byte OBJ_VRAM0 + 0x420 .4byte OBJ_VRAM0 + 0x440 .4byte OBJ_VRAM0 + 0x460 - - .align 2 -gUnknown_0820A92C:: @ 820A92C @ graphics - obj_tiles gInterfaceGfx_PokeBall, 384, 0xd6d8 @ poke - obj_tiles gInterfaceGfx_GreatBall, 384, 0xd6d9 @ great - obj_tiles gInterfaceGfx_SafariBall, 384, 0xd6da @ safari - obj_tiles gInterfaceGfx_UltraBall, 384, 0xd6db @ ultra - obj_tiles gInterfaceGfx_MasterBall, 384, 0xd6dc @ master - obj_tiles gInterfaceGfx_NetBall, 384, 0xd6dd @ net - obj_tiles gInterfaceGfx_DiveBall, 384, 0xd6de @ dive - obj_tiles gInterfaceGfx_NestBall, 384, 0xd6df @ nest - obj_tiles gInterfaceGfx_RepeatBall, 384, 0xd6e0 @ repeat - obj_tiles gInterfaceGfx_TimerBall, 384, 0xd6e1 @ timer - obj_tiles gInterfaceGfx_LuxuryBall, 384, 0xd6e2 @ luxury - obj_tiles gInterfaceGfx_PremierBall, 384, 0xd6e3 @ premier - - .align 2 -gUnknown_0820A98C:: @ 820A98C - obj_pal gInterfacePal_PokeBall, 0xD6D8 @ poke - obj_pal gInterfacePal_GreatBall, 0xD6D9 @ great - obj_pal gInterfacePal_SafariBall, 0xD6DA @ safari - obj_pal gInterfacePal_UltraBall, 0xD6DB @ ultra - obj_pal gInterfacePal_MasterBall, 0xD6DC @ master - obj_pal gInterfacePal_NetBall, 0xD6DD @ net - obj_pal gInterfacePal_DiveBall, 0xD6DE @ dive - obj_pal gInterfacePal_NestBall, 0xD6DF @ nest - obj_pal gInterfacePal_RepeatBall, 0xD6E0 @ repeat - obj_pal gInterfacePal_TimerBall, 0xD6E1 @ timer - obj_pal gInterfacePal_LuxuryBall, 0xD6E2 @ luxury - obj_pal gInterfacePal_PremierBall, 0xD6E3 @ premier - - .align 2 -gOamData_820A9EC:: @ 820A9EC - .2byte 0x0300 - .2byte 0x4000 - .2byte 0x0800 - - .align 2 -gSpriteAnim_820A9F4: @ 820A9F4 - obj_image_anim_frame 0, 5 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnim_820A9FC: @ 820A9FC - obj_image_anim_frame 4, 1 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnim_820AA04: @ 820AA04 - obj_image_anim_frame 8, 5 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnim_820AA0C: @ 820AA0C - obj_image_anim_frame 12, 1 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnim_820AA14:: @ 820AA14 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_820AA1C:: @ 820AA1C - obj_image_anim_frame 4, 5 - obj_image_anim_frame 8, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_820AA28:: @ 820AA28 - obj_image_anim_frame 4, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_820AA34:: @ 820AA34 - .4byte gSpriteAnim_820AA14 - .4byte gSpriteAnim_820AA1C - .4byte gSpriteAnim_820AA28 - - @ unused? - .4byte gSpriteAnim_820A9F4 - .4byte gSpriteAnim_820AA04 - .4byte gSpriteAnim_820A9FC - .4byte gSpriteAnim_820AA0C - - .align 2 -gSpriteAffineAnim_820AA50:: @ 820AA50 - obj_rot_scal_anim_frame 0x0, 0x0, 0, 1 - obj_rot_scal_anim_jump 0 - - .align 2 -gSpriteAffineAnim_820AA60:: @ 820AA60 - obj_rot_scal_anim_frame 0x0, 0x0, -3, 1 - obj_rot_scal_anim_jump 0 - - .align 2 -gSpriteAffineAnim_820AA70:: @ 820AA70 - obj_rot_scal_anim_frame 0x0, 0x0, 3, 1 - obj_rot_scal_anim_jump 0 - - .align 2 -gSpriteAffineAnim_820AA80:: @ 820AA80 - obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_820AA90:: @ 820AA90 - obj_rot_scal_anim_frame 0x0, 0x0, 25, 1 - obj_rot_scal_anim_jump 0 - - .align 2 -gSpriteAffineAnimTable_820AAA0:: @ 820AAA0 - .4byte gSpriteAffineAnim_820AA50 - .4byte gSpriteAffineAnim_820AA60 - .4byte gSpriteAffineAnim_820AA70 - .4byte gSpriteAffineAnim_820AA80 - .4byte gSpriteAffineAnim_820AA90 - - .align 2 -gSpriteTemplate_820AAB4:: @ 820AAB4 - spr_template 55000, 55000, gOamData_820A9EC, gSpriteAnimTable_820AA34, NULL, gSpriteAffineAnimTable_820AAA0, objc_0804ABD4 - spr_template 55001, 55001, gOamData_820A9EC, gSpriteAnimTable_820AA34, NULL, gSpriteAffineAnimTable_820AAA0, objc_0804ABD4 - spr_template 55002, 55002, gOamData_820A9EC, gSpriteAnimTable_820AA34, NULL, gSpriteAffineAnimTable_820AAA0, objc_0804ABD4 - spr_template 55003, 55003, gOamData_820A9EC, gSpriteAnimTable_820AA34, NULL, gSpriteAffineAnimTable_820AAA0, objc_0804ABD4 - spr_template 55004, 55004, gOamData_820A9EC, gSpriteAnimTable_820AA34, NULL, gSpriteAffineAnimTable_820AAA0, objc_0804ABD4 - spr_template 55005, 55005, gOamData_820A9EC, gSpriteAnimTable_820AA34, NULL, gSpriteAffineAnimTable_820AAA0, objc_0804ABD4 - spr_template 55006, 55006, gOamData_820A9EC, gSpriteAnimTable_820AA34, NULL, gSpriteAffineAnimTable_820AAA0, objc_0804ABD4 - spr_template 55007, 55007, gOamData_820A9EC, gSpriteAnimTable_820AA34, NULL, gSpriteAffineAnimTable_820AAA0, objc_0804ABD4 - spr_template 55008, 55008, gOamData_820A9EC, gSpriteAnimTable_820AA34, NULL, gSpriteAffineAnimTable_820AAA0, objc_0804ABD4 - spr_template 55009, 55009, gOamData_820A9EC, gSpriteAnimTable_820AA34, NULL, gSpriteAffineAnimTable_820AAA0, objc_0804ABD4 - spr_template 55010, 55010, gOamData_820A9EC, gSpriteAnimTable_820AA34, NULL, gSpriteAffineAnimTable_820AAA0, objc_0804ABD4 - spr_template 55011, 55011, gOamData_820A9EC, gSpriteAnimTable_820AA34, NULL, gSpriteAffineAnimTable_820AAA0, objc_0804ABD4 - - .align 2 - .byte 0x90, 0x08, 0x00, 0x00 - .byte 0xC0, 0x3A, 0x00, 0x00 - .byte 0x1C, 0x00, 0x00, 0x00 - .byte 0x30, 0x05, 0x00, 0x00 - .byte 0x24, 0x00, 0x00, 0x00 - .byte 0x64, 0x00, 0x00, 0x00 - .byte 0xD8, 0x04, 0x00, 0x00 - - .align 1 -gTradeMovesBoxTilemap:: @ 820ABF0 - .incbin "graphics/trade/moves_box_map.bin" - - .align 1 -gTradePartyBoxTilemap:: @ 820ADEE - .incbin "graphics/trade/party_box_map.bin" - - .align 2 -gTradeStripesBG2Tilemap:: @ 820AFEC - .incbin "graphics/trade/stripes_bg2_map.bin" - - .align 2 -gTradeStripesBG3Tilemap:: @ 820B7EC - .incbin "graphics/trade/stripes_bg3_map.bin" - - .align 2 -gOamData_820BFEC:: @ 820BFEC - .2byte 0x4000 - .2byte 0x8000 - .2byte 0x0400 - - .align 2 -gSpriteAnim_820BFF4:: @ 820BFF4 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_820BFFC:: @ 820BFFC - obj_image_anim_frame 8, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_820C004:: @ 820C004 - obj_image_anim_frame 16, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_820C00C:: @ 820C00C - obj_image_anim_frame 24, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_820C014:: @ 820C014 - obj_image_anim_frame 32, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_820C01C:: @ 820C01C - obj_image_anim_frame 40, 5 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_820C024:: @ 820C024 - .4byte gSpriteAnim_820BFF4 - .4byte gSpriteAnim_820BFFC - .4byte gSpriteAnim_820C004 - .4byte gSpriteAnim_820C00C - .4byte gSpriteAnim_820C014 - .4byte gSpriteAnim_820C01C - - .align 2 -TradeScreenTextPalette: @ 820C03C - .incbin "graphics/trade/text1.gbapal" - .incbin "graphics/trade/text2.gbapal" @ unused? - - .align 2 -gUnknown_0820C07C:: @ 820C07C - obj_tiles 0x0201d000, 256, 0x00c8 - obj_tiles 0x0201d100, 256, 0x00c9 - obj_tiles 0x0201d200, 256, 0x00ca - obj_tiles 0x0201d300, 256, 0x00cb - obj_tiles 0x0201d400, 256, 0x00cc - obj_tiles 0x0201d500, 256, 0x00cd - obj_tiles 0x0201d600, 256, 0x00ce - obj_tiles 0x0201d700, 256, 0x00cf - obj_tiles 0x0201d800, 256, 0x00d0 - obj_tiles 0x0201d900, 256, 0x00d1 - obj_tiles 0x0201da00, 256, 0x00d2 - obj_tiles 0x0201db00, 256, 0x00d3 - obj_tiles 0x0201dc00, 256, 0x00d4 - - .align 2 -gSpritePalette_TradeScreenText:: @ 820C0E4 - obj_pal TradeScreenTextPalette, 4925 - - .align 2 -gSpriteTemplate_820C0EC:: @ 820C0EC - spr_template 200, 4925, gOamData_820BFEC, gSpriteAnimTable_820C024, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gOamData_820C104:: @ 820C104 - .2byte 0x4000 - .2byte 0xC000 - .2byte 0x0400 - - .align 2 -gSpriteAnim_820C10C:: @ 820C10C - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_820C114:: @ 820C114 - obj_image_anim_frame 32, 5 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_820C11C:: @ 820C11C - .4byte gSpriteAnim_820C10C - .4byte gSpriteAnim_820C114 - - .align 2 -gUnknown_0820C124:: @ 820C124 - obj_tiles gUnknown_08EA1DEC, 0x800, 300 - - .align 2 -gUnknown_0820C12C:: @ 820C12C - obj_pal gUnknown_08EA0328, 2345 - - .align 2 -gSpriteTemplate_820C134:: @ 820C134 - spr_template 300, 2345, gOamData_820C104, gSpriteAnimTable_820C11C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gUnknown_0820C14C:: @ 820C14C - .4byte TradeText_Cancel - .4byte TradeText_ChoosePoke - .4byte TradeText_Summary1 - .4byte TradeText_Trade1 - .4byte TradeText_CancelTradePrompt - .4byte TradeText_PressBToExit - -@ This is used to determine the next mon to select when the D-Pad is -@ pressed in a given direction. -@ Note that the mons are laid out like this. -@ 0-5 are the player's party and 6-11 are the trading partner's party. -@ 12 is the cancel button. -@ 0 1 6 7 -@ 2 3 8 9 -@ 4 5 10 11 -@ 12 -gTradeNextSelectedMonTable:: @ 820C164 - @ 0 - .byte 4, 2, 12, 12, 0, 0 @ up - .byte 2, 4, 12, 12, 0, 0 @ down - .byte 7, 6, 1, 0, 0, 0 @ left - .byte 1, 6, 7, 0, 0, 0 @ right - @ 1 - .byte 5, 3, 12, 12, 0, 0 @ up - .byte 3, 5, 12, 12, 0, 0 @ down - .byte 0, 7, 6, 1, 0, 0 @ left - .byte 6, 7, 0, 1, 0, 0 @ right - @ 2 - .byte 0, 0, 0, 0, 0, 0 @ up - .byte 4, 0, 0, 0, 0, 0 @ down - .byte 9, 8, 7, 6, 0, 0 @ left - .byte 3, 1, 0, 0, 0, 0 @ right - @ 3 - .byte 1, 1, 1, 1, 0, 0 @ up - .byte 5, 1, 1, 1, 0, 0 @ down - .byte 2, 9, 8, 7, 0, 0 @ left - .byte 8, 9, 6, 6, 0, 0 @ right - @ 4 - .byte 2, 2, 2, 2, 0, 0 @ up - .byte 0, 0, 0, 0, 0, 0 @ down - .byte 11, 10, 9, 8, 7, 6 @ left - .byte 5, 3, 1, 0, 0, 0 @ right - @ 5 - .byte 3, 3, 3, 3, 0, 0 @ up - .byte 1, 1, 1, 1, 0, 0 @ down - .byte 4, 4, 4, 4, 0, 0 @ left - .byte 10, 8, 6, 0, 0, 0 @ right - @ 6 - .byte 10, 8, 12, 0, 0, 0 @ up - .byte 8, 10, 12, 0, 0, 0 @ down - .byte 1, 0, 0, 0, 0, 0 @ left - .byte 7, 0, 1, 0, 0, 0 @ right - @ 7 - .byte 12, 0, 0, 0, 0, 0 @ up - .byte 9, 12, 0, 0, 0, 0 @ down - .byte 6, 0, 0, 0, 0, 0 @ left - .byte 0, 0, 0, 0, 0, 0 @ right - @ 8 - .byte 6, 0, 0, 0, 0, 0 @ up - .byte 10, 6, 0, 0, 0, 0 @ down - .byte 3, 2, 1, 0, 0, 0 @ left - .byte 9, 7, 0, 0, 0, 0 @ right - @ 9 - .byte 7, 0, 0, 0, 0, 0 @ up - .byte 11, 12, 0, 0, 0, 0 @ down - .byte 8, 0, 0, 0, 0, 0 @ left - .byte 2, 1, 0, 0, 0, 0 @ right - @ 10 - .byte 8, 0, 0, 0, 0, 0 @ up - .byte 6, 0, 0, 0, 0, 0 @ down - .byte 5, 4, 3, 2, 1, 0 @ left - .byte 11, 9, 7, 0, 0, 0 @ right - @ 11 - .byte 9, 0, 0, 0, 0, 0 @ up - .byte 12, 0, 0, 0, 0, 0 @ down - .byte 10, 0, 0, 0, 0, 0 @ left - .byte 4, 2, 0, 0, 0, 0 @ right - @ 12 - .byte 11, 9, 7, 6, 0, 0 @ up - .byte 7, 6, 0, 0, 0, 0 @ down - .byte 12, 0, 0, 0, 0, 0 @ left - .byte 12, 0, 0, 0, 0, 0 @ right - -@ The coordinates are in units of tiles. -@ These are used for both mon icons and the selected mon cursor, -@ but the origins of the coordinates differ. -gTradeMonSpriteCoords:: @ 820C29C - @ left-side party - .byte 1, 5 - .byte 8, 5 - .byte 1, 10 - .byte 8, 10 - .byte 1, 15 - .byte 8, 15 - - @ right-side party - .byte 16, 5 - .byte 23, 5 - .byte 16, 10 - .byte 23, 10 - .byte 16, 15 - .byte 23, 15 - - @ cancel button - .byte 23, 18 - -gTradeLevelDisplayCoords:: @ 820C2B6 - @ left-side party - .byte 5, 4 - .byte 12, 4 - .byte 5, 9 - .byte 12, 9 - .byte 5, 14 - .byte 12, 14 - - @ right-side party - .byte 20, 4 - .byte 27, 4 - .byte 20, 9 - .byte 27, 9 - .byte 20, 14 - .byte 27, 14 - -gTradeMonBoxCoords:: @ 820C2CE - @ left-side party - .byte 1, 3 - .byte 8, 3 - .byte 1, 8 - .byte 8, 8 - .byte 1, 13 - .byte 8, 13 - - @ right-side party - .byte 16, 3 - .byte 23, 3 - .byte 16, 8 - .byte 23, 8 - .byte 16, 13 - .byte 23, 13 - -gTradeUnknownSpriteCoords:: @ 820C2E6 - .byte 59, 10 - .byte 179, 10 - .byte 59, 10 - .byte 179, 10 - - .align 2 -gUnknown_0820C2F0:: @ 820C2F0 - .4byte TradeText_LinkStandby - .4byte TradeText_TradeCancelled - .4byte TradeText_OnlyPoke - .4byte TradeText_NonTradablePoke - .4byte TradeText_WaitingForFriend - .4byte TradeText_WantToTrade - -gTradeMessageWindowRects:: @ 820C308 - .byte 8, 7, 22, 12 - .byte 8, 7, 22, 12 - .byte 6, 7, 24, 12 - .byte 6, 7, 24, 12 - .byte 8, 7, 22, 12 - .byte 7, 7, 23, 12 - - .align 2 -gUnknown_0820C320:: @ 820C320 - .4byte TradeText_Summary2, sub_804A9F4 @unknown - .4byte TradeText_Trade2, sub_804AA00 - -gUnknown_0820C330:: @ 820C330 - .byte 0, 14 - .byte 15, 29 - -gUnknown_0820C334:: @ 820C334 - .byte 3, 5 - .byte 3, 7 - .byte 18, 5 - .byte 18, 7 - -gOtherText_Terminator:: - .string "$" - -gOtherText_MaleSymbol3:: @ 820C33D - .string "♂$" - -gOtherText_FemaleSymbol3:: @ 820C33F - .string "♀$" - -gOtherText_GenderlessSymbol:: @ 820C341 - .string "$$" - - .align 2 - .4byte gTileBuffer - -@ Unused debug strings? - .string "かいめの そうしん$", 13 - .string "かいめの じゅしん$", 13 - .string "ポケモンアイコンセット$", 13 - .string "OBJテキストセット$", 13 - .string "セルセット$", 13 - .string "OBJテキストADD$", 13 - .string "システムメッセージADD$", 13 - .string "はいけいセット$", 13 - -@ Shedinja's Japanese name -@ sub_8048D44 compares a pokemon name with this string -gUnknown_0820C3B0:: @ 820C3B0 - .string "ヌケニン$" - - .string "こうかんせいりつ $" @ trade completed - .string "だめだたらしいよ $" @ it's no good (trade failed maybe?) - -gUnknown_0820C3D1:: @ 820C3D1 - .byte 4, 3 - .byte 19, 3 - - .align 2 -gTradeBallPalette:: @ 820C3D8 - .incbin "graphics/trade/ball.gbapal" - - .align 2 -gTradeBallTiles:: @ 820C3F8 - .incbin "graphics/trade/ball.4bpp" - - .align 2 -gUnknown_0820C9F8:: @ 820C9F8 - .incbin "graphics/trade/unknown.gbapal" - .incbin "graphics/trade/gba.gbapal" - .incbin "graphics/trade/shadow.gbapal" - .space 32 - .incbin "graphics/trade/misc.gbapal" - - .align 2 -gUnknown_0820CA98:: @ 820CA98 - .incbin "graphics/trade/gba.4bpp" - .incbin "graphics/trade/shadow.4bpp" - - .align 2 -gUnknown_0820DD98:: @ 820DD98 - .incbin "graphics/trade/pokeball_symbol.8bpp" - - .align 2 -gUnknown_0820F798:: @ 820F798 - .incbin "graphics/trade/shadow_map.bin" - - .align 2 -gUnknown_08210798:: @ 8210798 - .incbin "graphics/trade/gba_map.bin" - - .align 2 -gUnknown_08211798:: @ 8211798 - .incbin "graphics/trade/cable_closeup_map.bin" - - .align 2 -gUnknown_08211F98:: @ 8211F98 - .incbin "graphics/trade/pokeball_symbol_map.bin" - - .incbin "graphics/unused/unknown/8212098.gbapal" - - .align 2 -gTradeCableEndPalette:: @ 82120B8 - .incbin "graphics/trade/cable_end.gbapal" - - .incbin "graphics/unused/unknown/82120D8.gbapal" - - .space 32 - - .align 2 -gTradeGlowPalette:: @ 8212118 - .incbin "graphics/trade/glow.gbapal" - - .align 2 -gTradeGlow1Tiles:: @ 8212138 - .incbin "graphics/trade/glow1.4bpp" - - .align 2 -gTradeGlow2Tiles:: @ 8212338 - .incbin "graphics/trade/glow2.4bpp" - - .align 2 -gTradeCableEndTiles:: @ 8212538 - .incbin "graphics/trade/cable_end.4bpp" - - .align 2 -gTradeGBAScreenTiles:: @ 8212738 - .incbin "graphics/trade/gba_screen.4bpp" - - .align 2 -gUnknown_08213738:: @ 8213738 - .incbin "graphics/trade/gba_affine.8bpp" - - .align 2 -gUnknown_08215778:: @ 8215778 - .incbin "graphics/trade/gba_affine_map.bin" - - .align 2 -gOamData_8215878:: @ 8215878 - .2byte 0x0100 - .2byte 0x4000 - .2byte 0x0000 - - .align 2 -gSpriteAnim_8215880:: @ 8215880 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 4, 3 - obj_image_anim_frame 8, 3 - obj_image_anim_frame 12, 3 - obj_image_anim_frame 16, 3 - obj_image_anim_frame 20, 3 - obj_image_anim_frame 24, 3 - obj_image_anim_frame 28, 3 - obj_image_anim_frame 32, 3 - obj_image_anim_frame 36, 3 - obj_image_anim_frame 40, 3 - obj_image_anim_frame 44, 3 - obj_image_anim_loop 1 - obj_image_anim_frame 0, 3 - obj_image_anim_end - - .align 2 -gSpriteAnim_82158BC:: @ 82158BC - obj_image_anim_frame 0, 3 - obj_image_anim_frame 4, 3 - obj_image_anim_frame 8, 3 - obj_image_anim_frame 12, 3 - obj_image_anim_frame 16, 3 - obj_image_anim_frame 20, 3 - obj_image_anim_frame 24, 3 - obj_image_anim_frame 28, 3 - obj_image_anim_frame 32, 3 - obj_image_anim_frame 36, 3 - obj_image_anim_frame 40, 3 - obj_image_anim_frame 44, 3 - obj_image_anim_loop 2 - obj_image_anim_frame 0, 3 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_82158F8:: @ 82158F8 - .4byte gSpriteAnim_8215880 - .4byte gSpriteAnim_82158BC - - .align 2 -gSpriteAffineAnim_8215900:: @ 8215900 - obj_rot_scal_anim_frame 0x0, 0x0, 0, 1 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_8215910:: @ 8215910 - obj_rot_scal_anim_frame 0xFFF8, 0x0, 0, 20 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_8215920:: @ 8215920 - obj_rot_scal_anim_frame 0x60, 0x100, 0, 0 - obj_rot_scal_anim_frame 0x0, 0x0, 0, 5 - obj_rot_scal_anim_frame 0x8, 0x0, 0, 20 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_8215940:: @ 8215940 - .4byte gSpriteAffineAnim_8215900 - .4byte gSpriteAffineAnim_8215910 - .4byte gSpriteAffineAnim_8215920 - - .align 2 -gUnknown_0821594C:: @ 821594C - obj_tiles gTradeBallTiles, 0x600, 5557 - - .align 2 -gUnknown_08215954:: @ 8215954 - obj_pal gTradeBallPalette, 5558 - - .align 2 -gSpriteTemplate_821595C:: @ 821595C - spr_template 5557, 5558, gOamData_8215878, gSpriteAnimTable_82158F8, NULL, gSpriteAffineAnimTable_8215940, sub_804D6BC - - .align 2 -gOamData_8215974:: @ 8215974 - .2byte 0x0500 - .2byte 0x8000 - .2byte 0x0400 - - .align 2 -gSpriteAnim_821597C:: @ 821597C - obj_image_anim_frame 0, 5, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_end - - .align 2 -gSpriteAnimTable_8215984:: @ 8215984 - .4byte gSpriteAnim_821597C - - .align 2 -gSpriteAffineAnim_8215988:: @ 8215988 - obj_rot_scal_anim_frame 0xFFF6, 0xFFF6, 0, 5 - obj_rot_scal_anim_frame 0xA, 0xA, 0, 5 - obj_rot_scal_anim_jump 0 - - .align 2 -gSpriteAffineAnimTable_82159A0:: @ 82159A0 - .4byte gSpriteAffineAnim_8215988 - - .align 2 -gUnknown_082159A4:: @ 82159A4 - obj_tiles gTradeGlow1Tiles, 0x200, 5550 - - .align 2 -gUnknown_082159AC:: @ 82159AC - obj_pal gTradeGlowPalette, 5551 - - .align 2 -gUnknown_082159B4:: @ 82159B4 - obj_pal gTradeCableEndPalette, 5555 - - .align 2 -gSpriteTemplate_82159BC:: @ 82159BC - spr_template 5550, 5551, gOamData_8215974, gSpriteAnimTable_8215984, NULL, gSpriteAffineAnimTable_82159A0, sub_804B058 - - .align 2 -gOamData_82159D4:: @ 82159D4 - .2byte 0x8000 - .2byte 0x8000 - .2byte 0x0400 - - .align 2 -gSpriteAnim_82159DC:: @ 82159DC - obj_image_anim_frame 0, 5, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_end - - .align 2 -gSpriteAnim_82159E4:: @ 82159E4 - obj_image_anim_frame 8, 5, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_end - - .align 2 -gSpriteAnimTable_82159EC:: @ 82159EC - .4byte gSpriteAnim_82159DC - .4byte gSpriteAnim_82159E4 - - .align 2 -gUnknown_082159F4:: @ 82159F4 - obj_tiles gTradeGlow2Tiles, 0x300, 5552 - - .align 2 -gSpriteTemplate_82159FC:: @ 82159FC - spr_template 5552, 5551, gOamData_82159D4, gSpriteAnimTable_82159EC, NULL, gDummySpriteAffineAnimTable, sub_804B07C - - .align 2 -gOamData_8215A14:: @ 8215A14 - .2byte 0x8000 - .2byte 0x8000 - .2byte 0x0400 - - .align 2 -gSpriteAnim_8215A1C:: @ 8215A1C - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_8215A24:: @ 8215A24 - .4byte gSpriteAnim_8215A1C - - .align 2 -gUnknown_08215A28:: @ 8215A28 - obj_tiles gTradeCableEndTiles, 0x100, 5554 - - .align 2 -gSpriteTemplate_8215A30:: @ 8215A30 - spr_template 5554, 5555, gOamData_8215A14, gSpriteAnimTable_8215A24, NULL, gDummySpriteAffineAnimTable, sub_804B0BC - - .align 2 -gOamData_8215A48:: @ 8215A48 - .2byte 0x4000 - .2byte 0xC000 - .2byte 0x0400 - - .align 2 -gSpriteAnim_8215A50:: @ 8215A50 - obj_image_anim_frame 0, 2, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 32, 2, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 64, 2, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 96, 2, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 64, 2, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 32, 2, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 0, 2, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_loop 8 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_8215A74:: @ 8215A74 - .4byte gSpriteAnim_8215A50 - - .align 2 -gUnknown_08215A78:: @ 8215A78 - obj_tiles gTradeGBAScreenTiles, 0x1000, 5556 - - .align 2 -gSpriteTemplate_8215A80:: @ 8215A80 - spr_template 5556, 5555, gOamData_8215A48, gSpriteAnimTable_8215A74, NULL, gDummySpriteAffineAnimTable, sub_804B104 - - .align 1 -gTradeGlow2PaletteAnimTable:: @ 8215A98 - .2byte 0x7F12 - .2byte 0x7F12 - .2byte 0x7F12 - .2byte 0x7FFF - .2byte 0x7FFF - .2byte 0x7FFF - .2byte 0x7F12 - .2byte 0x7F12 - .2byte 0x7F12 - .2byte 0x7FFF - .2byte 0x7FFF - .2byte 0x7FFF - - .align 2 -gSpriteAffineAnim_8215AB0:: @ 8215AB0 - obj_rot_scal_anim_frame 0xFF00, 0x100, 0, 0 - obj_rot_scal_anim_jump 0 - - .align 2 -gSpriteAffineAnimTable_8215AC0:: @ 8215AC0 - .4byte gSpriteAffineAnim_8215AB0 - -@ 8215AC4 - .include "data/ingame_trades.inc" - -gTradeBallVerticalVelocityTable:: @ 8215BA0 - .byte 0 - .byte 0 - .byte 1 - .byte 0 - .byte 1 - .byte 0 - .byte 1 - .byte 1 - .byte 1 - .byte 1 - .byte 2 - .byte 2 - .byte 2 - .byte 2 - .byte 3 - .byte 3 - .byte 3 - .byte 3 - .byte 4 - .byte 4 - .byte 4 - .byte 4 - .byte -4 - .byte -4 - .byte -4 - .byte -3 - .byte -3 - .byte -3 - .byte -3 - .byte -2 - .byte -2 - .byte -2 - .byte -2 - .byte -1 - .byte -1 - .byte -1 - .byte -1 - .byte 0 - .byte -1 - .byte 0 - .byte -1 - .byte 0 - .byte 0 - .byte 0 - .byte 0 - .byte 0 - .byte 1 - .byte 0 - .byte 1 - .byte 0 - .byte 1 - .byte 1 - .byte 1 - .byte 1 - .byte 2 - .byte 2 - .byte 2 - .byte 2 - .byte 3 - .byte 3 - .byte 3 - .byte 3 - .byte 4 - .byte 4 - .byte 4 - .byte 4 - .byte -4 - .byte -3 - .byte -3 - .byte -2 - .byte -2 - .byte -1 - .byte -1 - .byte -1 - .byte 0 - .byte -1 - .byte 0 - .byte 0 - .byte 0 - .byte 0 - .byte 0 - .byte 0 - .byte 1 - .byte 0 - .byte 1 - .byte 1 - .byte 1 - .byte 2 - .byte 2 - .byte 3 - .byte 3 - .byte 4 - .byte -4 - .byte -3 - .byte -2 - .byte -1 - .byte -1 - .byte -1 - .byte 0 - .byte 0 - .byte 0 - .byte 0 - .byte 1 - .byte 0 - .byte 1 - .byte 1 - .byte 2 - .byte 3 - - .align 2 -gUnknown_08215C0C:: @ 8215C0C - .incbin "graphics/berry_blender/center.gbapal" - - .align 2 -gUnknown_08215C2C:: @ 8215C2C - .incbin "graphics/berry_blender/center_map.bin" - - .align 2 -gUnknown_0821602C:: @ 821602C - .incbin "graphics/berry_blender/outer.gbapal" - - .incbin "graphics/unused/unknown/821604C.gbapal" - - .space 0x1C0 - - .string "▶$" - .string " $" - .string "カッコイ$" @ "cool" (missing an イ at the end) - .string "カワイイ$" @ "cute" - .string "ウツクシ$" @ "beautiful" (missing an イ at the end) - .string "カシコイ$" @ "smart" - .string "タクマシ$" @ "tough" (missing an イ at the end) - -gUnknown_08216249:: @ 8216249 - .string "\p$" - -@ unreferenced -@ These appear to be the first names of four people who worked on the game. - .string "てつじ$", 10 @ Tetsuji (Ohta) - .string "あきと$", 10 @ Akito (Mori) - .string "シゲル$", 10 @ Shigeru (Ohmori) - .string "ヨシノリ$", 10 @ Yoshinori (Matsuda) - -UnknownText_2Pok: - .string "2Pok$" -UnknownText_3Pok: - .string "3Pok$" -UnknownText_4Pok: - .string "4Pok$" - - .align 2 -gUnknown_08216284:: @ 8216284 - .4byte UnknownText_2Pok - .4byte UnknownText_3Pok - .4byte UnknownText_4Pok - -@ unreferenced - .string "1P$", 4 - .string "2P$", 4 - .string "3P$", 4 - .string "4P$", 4 - -UnknownText_Mister: - .string "MISTER$" -UnknownText_Laddie: - .string "LADDIE$" -UnknownText_Lassie: - .string "LASSIE$" - - .align 2 -gUnknown_082162B8:: @ 82162B8 - .4byte UnknownText_Mister - .4byte UnknownText_Laddie - .4byte UnknownText_Lassie - -gUnknown_082162C4:: @ 82162C4 - .string "{COLOR RED}$" - -gUnknown_082162C8:: @ 82162C8 - .string "\n$" - - .string " $" - -gUnknown_082162CC:: @ 82162CC - .byte -1, -1 - .byte 1, -1 - .byte -1, 1 - .byte 1, 1 - -gUnknown_082162D4:: @ 82162D4 - .byte 2, 6 - .byte 23, 6 - .byte 2, 12 - .byte 23, 12 - .byte 1, 6 - .byte 22, 6 - .byte 1, 12 - .byte 22, 12 - -gUnknown_082162E4:: @ 82162E4 - .byte 72, 32 - .byte 168, 32 - .byte 72, 128 - .byte 168, 128 - -gUnknown_082162EC:: @ 82162EC - .byte -1, 0, 1, -1 - .byte -1, 0, 1, 2 - .byte 0, 1, 2, 3 - - .align 1 -gUnknown_082162F8:: @ 82162F8 - .2byte 0x0000, 0xC000, 0x4000, 0x8000 - -gUnknown_08216300:: @ 8216300 - .byte 1 - .byte 1 - .byte 0 - -gUnknown_08216303:: @ 8216303 - .byte 32 - .byte 224 - .byte 96 - .byte 160 - .byte 0 - - .align 2 -gUnknown_08216308:: @ 8216308 - .4byte sub_804F8C8 - .4byte sub_804F9F4 - .4byte sub_804FB1C - - .align 2 -gOamData_8216314:: @ 8216314 - .2byte 0x0000 - .2byte 0x8000 - .2byte 0x0400 - - .align 2 -gSpriteAnim_821631C:: @ 821631C - obj_image_anim_frame 16, 5, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_end - - .align 2 -gSpriteAnim_8216324:: @ 8216324 - obj_image_anim_frame 16, 5, OBJ_IMAGE_ANIM_V_FLIP - obj_image_anim_end - - .align 2 -gSpriteAnim_821632C:: @ 821632C - obj_image_anim_frame 16, 5, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_end - - .align 2 -gSpriteAnim_8216334:: @ 8216334 - obj_image_anim_frame 16, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_821633C:: @ 821633C - obj_image_anim_frame 48, 2, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 32, 5, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 48, 3, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 16, 5, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_end - - .align 2 -gSpriteAnim_8216350:: @ 8216350 - obj_image_anim_frame 48, 2, OBJ_IMAGE_ANIM_V_FLIP - obj_image_anim_frame 32, 5, OBJ_IMAGE_ANIM_V_FLIP - obj_image_anim_frame 48, 3, OBJ_IMAGE_ANIM_V_FLIP - obj_image_anim_frame 16, 5, OBJ_IMAGE_ANIM_V_FLIP - obj_image_anim_end - - .align 2 -gSpriteAnim_8216364:: @ 8216364 - obj_image_anim_frame 48, 2, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 32, 5, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 48, 3, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 16, 5, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_end - - .align 2 -gSpriteAnim_8216378:: @ 8216378 - obj_image_anim_frame 48, 2 - obj_image_anim_frame 32, 5 - obj_image_anim_frame 48, 3 - obj_image_anim_frame 16, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_821638C:: @ 821638C - obj_image_anim_frame 0, 5, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_end - - .align 2 -gSpriteAnim_8216394:: @ 8216394 - obj_image_anim_frame 0, 5, OBJ_IMAGE_ANIM_V_FLIP - obj_image_anim_end - - .align 2 -gSpriteAnim_821639C:: @ 821639C - obj_image_anim_frame 0, 5, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_end - - .align 2 -gSpriteAnim_82163A4:: @ 82163A4 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_82163AC:: @ 82163AC - .4byte gSpriteAnim_821631C - .4byte gSpriteAnim_8216324 - .4byte gSpriteAnim_821632C - .4byte gSpriteAnim_8216334 - .4byte gSpriteAnim_821633C - .4byte gSpriteAnim_8216350 - .4byte gSpriteAnim_8216364 - .4byte gSpriteAnim_8216378 - .4byte gSpriteAnim_821638C - .4byte gSpriteAnim_8216394 - .4byte gSpriteAnim_821639C - .4byte gSpriteAnim_82163A4 - - .align 2 -gUnknown_082163DC:: @ 82163DC - obj_tiles gBerryBlenderArrowTiles, 0x800, 46545 - - .align 2 -gUnknown_082163E4:: @ 82163E4 - obj_pal gBerryBlenderMiscPalette, 46546 - - .align 2 -gUnknown_082163EC:: @ 82163EC - obj_pal gBerryBlenderArrowPalette, 12312 - - .align 2 -gSpriteTemplate_82163F4:: @ 82163F4 - spr_template 46545, 12312, gOamData_8216314, gSpriteAnimTable_82163AC, NULL, gDummySpriteAffineAnimTable, sub_8051C04 - - .align 2 -gOamData_821640C:: @ 821640C - .2byte 0x0000 - .2byte 0x4000 - .2byte 0x0000 - - .align 2 -gSpriteAnim_8216414:: @ 8216414 - obj_image_anim_frame 0, 20 - obj_image_anim_end - - .align 2 -gSpriteAnim_821641C:: @ 821641C - obj_image_anim_frame 4, 20, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_end - - .align 2 -gSpriteAnim_8216424:: @ 8216424 - obj_image_anim_frame 8, 4 - obj_image_anim_frame 12, 4 - obj_image_anim_frame 8, 4 - obj_image_anim_frame 12, 4 - obj_image_anim_frame 8, 4 - obj_image_anim_end - - .align 2 -gSpriteAnim_821643C:: @ 821643C - obj_image_anim_frame 8, 4 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_8216444:: @ 8216444 - .4byte gSpriteAnim_8216414 - .4byte gSpriteAnim_821641C - .4byte gSpriteAnim_8216424 - .4byte gSpriteAnim_821643C - - .align 2 -gUnknown_08216454:: @ 8216454 - obj_tiles gBerryBlenderMarubatsuTiles, 0x200, 48888 - - .align 2 -gSpriteTemplate_821645C:: @ 821645C - spr_template 48888, 46546, gOamData_821640C, gSpriteAnimTable_8216444, NULL, gDummySpriteAffineAnimTable, sub_8051650 - - .align 2 -gOamData_8216474:: @ 8216474 - .2byte 0x0000 - .2byte 0x0000 - .2byte 0x0400 - - .align 2 -gSpriteAnim_821647C:: @ 821647C - obj_image_anim_frame 0, 3 - obj_image_anim_frame 1, 4 - obj_image_anim_frame 3, 5 - obj_image_anim_frame 1, 4 - obj_image_anim_frame 0, 3 - obj_image_anim_end - - .align 2 -gSpriteAnim_8216494:: @ 8216494 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 2, 4 - obj_image_anim_frame 4, 5 - obj_image_anim_frame 2, 4 - obj_image_anim_frame 0, 3 - obj_image_anim_end - - .align 2 -gSpriteAnim_82164AC:: @ 82164AC - obj_image_anim_frame 0, 2 - obj_image_anim_frame 1, 2 - obj_image_anim_frame 2, 2 - obj_image_anim_frame 4, 4 - obj_image_anim_frame 3, 3 - obj_image_anim_frame 2, 2 - obj_image_anim_frame 1, 2 - obj_image_anim_frame 0, 2 - obj_image_anim_end - - .align 2 -gSpriteAnim_82164D0:: @ 82164D0 - obj_image_anim_frame 5, 5, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_end - - .align 2 -gSpriteAnim_82164D8:: @ 82164D8 - obj_image_anim_frame 6, 5, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_end - - .align 2 -gSpriteAnimTable_82164E0:: @ 82164E0 - .4byte gSpriteAnim_821647C - .4byte gSpriteAnim_8216494 - .4byte gSpriteAnim_82164AC - .4byte gSpriteAnim_82164D0 - .4byte gSpriteAnim_82164D8 - - .align 2 -gUnknown_082164F4:: @ 82164F4 - obj_tiles gBerryBlenderParticlesTiles, 0xE0, 23456 - - .align 2 -gSpriteTemplate_82164FC:: @ 82164FC - spr_template 23456, 46546, gOamData_8216474, gSpriteAnimTable_82164E0, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gOamData_8216514:: @ 8216514 - .2byte 0x0000 - .2byte 0x8000 - .2byte 0x0400 - - .align 2 -gSpriteAnim_821651C:: @ 821651C - obj_image_anim_frame 32, 30 - obj_image_anim_end - - .align 2 -gSpriteAnim_8216524:: @ 8216524 - obj_image_anim_frame 16, 30 - obj_image_anim_end - - .align 2 -gSpriteAnim_821652C:: @ 821652C - obj_image_anim_frame 0, 30 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_8216534:: @ 8216534 - .4byte gSpriteAnim_821651C - .4byte gSpriteAnim_8216524 - .4byte gSpriteAnim_821652C - - .align 2 -gUnknown_08216540:: @ 8216540 - obj_tiles gBerryBlenderCountdownNumbersTiles, 0x600, 12345 - - .align 2 -gSpriteTemplate_8216548:: @ 8216548 - spr_template 12345, 46546, gOamData_8216514, gSpriteAnimTable_8216534, NULL, gDummySpriteAffineAnimTable, sub_805181C - - .align 2 -gOamData_8216560:: @ 8216560 - .2byte 0x4000 - .2byte 0xC000 - .2byte 0x0400 - - .align 2 -gSpriteAnim_8216568:: @ 8216568 - obj_image_anim_frame 0, 30 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_8216570:: @ 8216570 - .4byte gSpriteAnim_8216568 - - .align 2 -gUnknown_08216574:: @ 8216574 - obj_tiles gBerryBlenderStartTiles, 0x400, 12346 - - .align 2 -gSpriteTemplate_821657C:: @ 821657C - spr_template 12346, 46546, gOamData_8216560, gSpriteAnimTable_8216570, NULL, gDummySpriteAffineAnimTable, sub_80518CC - - .align 1 -gUnknown_08216594:: @ 8216594 - .2byte -10, 20, 10, 2, 1 - .2byte 250, 20, 10, -2, 1 - .2byte -10, 140, 10, 2, -1 - .2byte 250, 140, 10, -2, -1 - -gUnknown_082165BC:: @ 82165BC - .byte 4, 3, 2 - .byte 0, 4, 3 - .byte 1, 0, 4 - .byte 2, 1, 0 - .byte 3, 2, 1 - .byte 0, 2, 3 - .byte 1, 3, 4 - .byte 2, 4, 0 - .byte 3, 0, 1 - .byte 4, 1, 2 - -gUnknown_082165DA:: @ 82165DA - .byte 1, 1, 2, 3, 4 - -gUnknown_082165DF:: @ 82165DF - .byte 0x1C, 0x16, 0x13, 0x1A, 0x19, 0x0E, 0x0D, 0x0B, 0x07, 0x15 - -gUnknown_082165E9:: @ 82165E9 - .byte 6, 6, 6, 6, 5 - -gUnknown_082165EE:: @ 82165EE - .byte 3, 3, 3, 2, 2 - -gUnknown_082165F3:: @ 82165F3 - .byte 3, 3, 3, 3, 2 - -gUnknown_082165F8:: @ 82165F8 - .string " $" - -gOtherText_BPMAndDash:: @ 82165FA - .string "BPM$" - .string "-$" - -gUnknown_08216600:: @ 8216600 - .string "\n$" - - .string "\n$" - -@ used to initialize part of save block 1 when starting a new game - .align 2 -gUnknown_08216604:: @ 8216604 - .space 11 - .byte 0xFF - .space 10 - .byte 0xFF - .space 9 - - .align 2 -gDummyWarpData:: @ 8216624 - .byte -1 - .byte -1 - .byte -1 - .space 1 - .2byte -1 - .2byte -1 - -@ unused, unknown data - .byte 0xB0, 0x04, 0x00, 0x00 - .byte 0x10, 0x0E, 0x00, 0x00 - .byte 0xB0, 0x04, 0x00, 0x00 - .byte 0x60, 0x09, 0x00, 0x00 - .byte 0x32, 0x00, 0x00, 0x00 - .byte 0x50, 0x00, 0x00, 0x00 - .byte 0xD4, 0xFF, 0xFF, 0xFF - .byte 0x2C, 0x00, 0x00, 0x00 - - .align 2 -gUnknown_0821664C:: @ 821664C - .4byte 0, 0 - .4byte 0, 1 - .4byte 0, -1 - .4byte -1, 0 - .4byte 1, 0 - .4byte -1, 1 - .4byte 1, 1 - .4byte -1, -1 - .4byte 1, -1 - - .align 2 -gUnknown_08216694:: @ 8216694 - .4byte REG_WIN0H - .4byte ((DMA_ENABLE | DMA_START_HBLANK | DMA_REPEAT | DMA_DEST_RELOAD) << 16) | 1 - .4byte 1 - - .align 2 -gUnknown_082166A0:: @ 82166A0 - .4byte sub_8055C68 - .4byte sub_8055C88 - .4byte sub_8055C8C - - .align 2 -gUnknown_082166AC:: @ 82166AC - .4byte sub_8055CAC - .4byte sub_8055CB0 - .4byte sub_8055CB0 - .4byte sub_8055CB0 - .4byte sub_8055CB0 - .4byte sub_8055CAC - .4byte sub_8055CAC - .4byte sub_8055D18 - .4byte sub_8055D18 - .4byte sub_8055D18 - .4byte sub_8055D18 - - .align 2 -gUnknown_082166D8:: @ 82166D8 - .4byte sub_8055D30 - .4byte sub_8055D38 - -@ 82166E0 - .include "data/tilesets/graphics.inc" - -@ 8259C1C - .include "data/tilesets/metatiles.inc" - -@ 8286CF4 - .include "data/tilesets/headers.inc" - - .include "data/maps/_assets.inc" - .include "data/maps/attributes_table.inc" - .include "data/maps/headers.inc" - .include "data/maps/_groups.inc" - .include "data/maps/connections.inc" - - .align 2 -gUnknown_08308E28:: @ 8308E28 - .4byte 0 - -gUnknown_08308E2C:: @ 8308E2C - .byte 0b100 - .byte 0b000 - .byte 0b101 - .byte 0b101 - .byte 0b000 - .byte 0b001 - .byte 0b101 - .byte 0b100 - .byte 0b101 - .byte 0b100 - .byte 0b100 - .byte 0b101 - .byte 0b100 - .byte 0b000 - .byte 0b000 - .byte 0b100 - .byte 0b111 - .byte 0b111 - .byte 0b111 - .byte 0b110 - .byte 0b110 - .byte 0b111 - .byte 0b100 - .byte 0b100 - .byte 0b000 - .byte 0b110 - .byte 0b000 - .byte 0b100 - .byte 0b100 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b100 - .byte 0b100 - .byte 0b111 - .byte 0b100 - .byte 0b101 - .byte 0b101 - .byte 0b100 - .byte 0b100 - .byte 0b100 - .byte 0b100 - .byte 0b111 - .byte 0b100 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b100 - .byte 0b100 - .byte 0b100 - .byte 0b100 - .byte 0b100 - .byte 0b100 - .byte 0b100 - .byte 0b100 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b100 - .byte 0b100 - .byte 0b100 - .byte 0b100 - .byte 0b100 - .byte 0b100 - .byte 0b100 - .byte 0b100 - .byte 0b100 - .byte 0b100 - .byte 0b100 - .byte 0b100 - .byte 0b100 - .byte 0b100 - .byte 0b100 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b110 - .byte 0b110 - .byte 0b110 - .byte 0b110 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b100 - .byte 0b100 - .byte 0b100 - .byte 0b100 - .byte 0b100 - .byte 0b100 - .byte 0b100 - .byte 0b100 - .byte 0b100 - .byte 0b100 - .byte 0b100 - .byte 0b100 - .byte 0b110 - .byte 0b110 - .byte 0b100 - .byte 0b110 - .byte 0b000 - .byte 0b100 - .byte 0b100 - .byte 0b100 - .byte 0b100 - .byte 0b100 - .byte 0b100 - .byte 0b100 - .byte 0b100 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b100 - .byte 0b100 - .byte 0b000 - .byte 0b100 - .byte 0b000 - .byte 0b000 - .byte 0b100 - .byte 0b100 - .byte 0b100 - .byte 0b100 - .byte 0b100 - .byte 0b100 - .byte 0b100 - .byte 0b000 - .byte 0b100 - .byte 0b100 - .byte 0b100 - .byte 0b100 - .byte 0b100 - .byte 0b100 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b100 - .byte 0b100 - .byte 0b100 - .byte 0b100 - .byte 0b100 - .byte 0b100 - .byte 0b100 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - .byte 0b000 - - .align 2 -DoorAnimTiles_04: @ 8308F1C - .incbin "graphics/door_anims/04/0.4bpp" - .incbin "graphics/door_anims/04/1.4bpp" - .incbin "graphics/door_anims/04/2.4bpp" - - .space 32 - - .align 2 -DoorAnimTiles_05: @ 830923C - .incbin "graphics/door_anims/05/0.4bpp" - .incbin "graphics/door_anims/05/1.4bpp" - .incbin "graphics/door_anims/05/2.4bpp" - - .align 2 -DoorAnimTiles_08: @ 830953C - .incbin "graphics/door_anims/08/0.4bpp" - .incbin "graphics/door_anims/08/1.4bpp" - .incbin "graphics/door_anims/08/2.4bpp" - - .space 32 - - .align 2 -DoorAnimTiles_15: @ 830985C - .incbin "graphics/door_anims/15/0.4bpp" - .incbin "graphics/door_anims/15/1.4bpp" - .incbin "graphics/door_anims/15/2.4bpp" - - .space 32 - - .align 2 -DoorAnimTiles_16: @ 8309B7C - .incbin "graphics/door_anims/16/0.4bpp" - .incbin "graphics/door_anims/16/1.4bpp" - .incbin "graphics/door_anims/16/2.4bpp" - - .space 32 - - .align 2 -DoorAnimTiles_00: @ 8309E9C - .incbin "graphics/door_anims/00/0.4bpp" - .incbin "graphics/door_anims/00/1.4bpp" - .incbin "graphics/door_anims/00/2.4bpp" - - .align 2 -DoorAnimTiles_01: @ 830A19C - .incbin "graphics/door_anims/01/0.4bpp" - .incbin "graphics/door_anims/01/1.4bpp" - .incbin "graphics/door_anims/01/2.4bpp" - - .align 2 -DoorAnimTiles_02: @ 830A49C - .incbin "graphics/door_anims/02/0.4bpp" - .incbin "graphics/door_anims/02/1.4bpp" - .incbin "graphics/door_anims/02/2.4bpp" - - .align 2 -DoorAnimTiles_03: @ 830A79C - .incbin "graphics/door_anims/03/0.4bpp" - .incbin "graphics/door_anims/03/1.4bpp" - .incbin "graphics/door_anims/03/2.4bpp" - - .align 2 -DoorAnimTiles_06: @ 830AA9C - .incbin "graphics/door_anims/06/0.4bpp" - .incbin "graphics/door_anims/06/1.4bpp" - .incbin "graphics/door_anims/06/2.4bpp" - - .align 2 -DoorAnimTiles_07: @ 830AD9C - .incbin "graphics/door_anims/07/0.4bpp" - .incbin "graphics/door_anims/07/1.4bpp" - .incbin "graphics/door_anims/07/2.4bpp" - - .align 2 -DoorAnimTiles_09: @ 830B09C - .incbin "graphics/door_anims/09/0.4bpp" - .incbin "graphics/door_anims/09/1.4bpp" - .incbin "graphics/door_anims/09/2.4bpp" - - .space 32 - - .align 2 -DoorAnimTiles_10: @ 830B3BC - .incbin "graphics/door_anims/10/0.4bpp" - .incbin "graphics/door_anims/10/1.4bpp" - .incbin "graphics/door_anims/10/2.4bpp" - - .space 32 - - .align 2 -DoorAnimTiles_11: @ 830B6DC - .incbin "graphics/door_anims/11/0.4bpp" - .incbin "graphics/door_anims/11/1.4bpp" - .incbin "graphics/door_anims/11/2.4bpp" - - .space 32 - - .align 2 -DoorAnimTiles_12: @ 830B9FC - .incbin "graphics/door_anims/12/0.4bpp" - .incbin "graphics/door_anims/12/1.4bpp" - .incbin "graphics/door_anims/12/2.4bpp" - - .space 32 - - .align 2 -DoorAnimTiles_13: @ 830BD1C - .incbin "graphics/door_anims/13/0.4bpp" - .incbin "graphics/door_anims/13/1.4bpp" - .incbin "graphics/door_anims/13/2.4bpp" - - .space 32 - - .align 2 -DoorAnimTiles_14: @ 830C03C - .incbin "graphics/door_anims/14/0.4bpp" - .incbin "graphics/door_anims/14/1.4bpp" - .incbin "graphics/door_anims/14/2.4bpp" - - .space 32 - - .align 2 -DoorAnimTiles_17: @ 830C35C - .incbin "graphics/door_anims/17/0.4bpp" - .incbin "graphics/door_anims/17/1.4bpp" - .incbin "graphics/door_anims/17/2.4bpp" - - .space 32 - - .align 2 -DoorAnimTiles_18: @ 830C67C - .incbin "graphics/door_anims/18/0.4bpp" - .incbin "graphics/door_anims/18/1.4bpp" - .incbin "graphics/door_anims/18/2.4bpp" - - .space 32 - - .align 2 -DoorAnimTiles_19: @ 830C99C - .incbin "graphics/door_anims/19/0.4bpp" - .incbin "graphics/door_anims/19/1.4bpp" - .incbin "graphics/door_anims/19/2.4bpp" - - .space 32 - - .align 2 -DoorAnimTiles_20: @ 830CCBC - .incbin "graphics/door_anims/20/0.4bpp" - .incbin "graphics/door_anims/20/1.4bpp" - .incbin "graphics/door_anims/20/2.4bpp" - - .space 32 - - .align 2 -DoorAnimTiles_21: @ 830CFDC - .incbin "graphics/door_anims/21/0.4bpp" - .incbin "graphics/door_anims/21/1.4bpp" - .incbin "graphics/door_anims/21/2.4bpp" - - .space 32 - - .align 2 -DoorAnimTiles_22: @ 830D2FC - .incbin "graphics/door_anims/22/0.4bpp" - .incbin "graphics/door_anims/22/1.4bpp" - .incbin "graphics/door_anims/22/2.4bpp" - - .space 32 - - .align 2 -DoorAnimTiles_23: @ 830D61C - .incbin "graphics/door_anims/23/0.4bpp" - .incbin "graphics/door_anims/23/1.4bpp" - .incbin "graphics/door_anims/23/2.4bpp" - - .space 32 - - .align 2 -DoorAnimTiles_24: @ 830D93C - .incbin "graphics/door_anims/24/0.4bpp" - .incbin "graphics/door_anims/24/1.4bpp" - .incbin "graphics/door_anims/24/2.4bpp" - - .space 32 - - .align 2 -DoorAnimTiles_25: @ 830DC5C - .incbin "graphics/door_anims/25/0.4bpp" - .incbin "graphics/door_anims/25/1.4bpp" - .incbin "graphics/door_anims/25/2.4bpp" - - .space 32 - - .align 2 -DoorAnimTiles_26: @ 830DF7C - .incbin "graphics/door_anims/26/0.4bpp" - .incbin "graphics/door_anims/26/1.4bpp" - .incbin "graphics/door_anims/26/2.4bpp" - - .space 32 - - .align 2 -DoorAnimTiles_27: @ 830E29C - .incbin "graphics/door_anims/27/0.4bpp" - .incbin "graphics/door_anims/27/1.4bpp" - .incbin "graphics/door_anims/27/2.4bpp" - - .space 32 - - .align 2 -DoorAnimTiles_28: @ 830E5BC - .incbin "graphics/door_anims/28/0.4bpp" - .incbin "graphics/door_anims/28/1.4bpp" - .incbin "graphics/door_anims/28/2.4bpp" - - .space 32 - - .align 2 -DoorAnimTiles_29: @ 830E8DC - .incbin "graphics/door_anims/29/0.4bpp" - .incbin "graphics/door_anims/29/1.4bpp" - .incbin "graphics/door_anims/29/2.4bpp" - - .space 32 - - .align 2 -DoorAnimTiles_30: @ 830EBFC - .incbin "graphics/door_anims/30/0.4bpp" - .incbin "graphics/door_anims/30/1.4bpp" - .incbin "graphics/door_anims/30/2.4bpp" - - .space 32 - - .align 2 -DoorAnimTiles_31: @ 830EF1C - .incbin "graphics/door_anims/31/0.4bpp" - .incbin "graphics/door_anims/31/1.4bpp" - .incbin "graphics/door_anims/31/2.4bpp" - - .space 32 - - .align 2 -DoorAnimTiles_32: @ 830F23C - .incbin "graphics/door_anims/32/0.4bpp" - .incbin "graphics/door_anims/32/1.4bpp" - .incbin "graphics/door_anims/32/2.4bpp" - - .space 32 - - .align 2 -DoorAnimTiles_33: @ 830F55C - .incbin "graphics/door_anims/33/0.4bpp" - .incbin "graphics/door_anims/33/1.4bpp" - .incbin "graphics/door_anims/33/2.4bpp" - - .space 32 - -gDoorOpenAnimFrames:: @ 830F87C - door_anim_frame 4, -1 - door_anim_frame 4, 0 - door_anim_frame 4, 0x100 - door_anim_frame 4, 0x200 - door_anim_frame 0, 0 - -gDoorCloseAnimFrames:: @ 830F890 - door_anim_frame 4, 0x200 - door_anim_frame 4, 0x100 - door_anim_frame 4, 0 - door_anim_frame 4, -1 - door_anim_frame 0, 0 - -DoorAnimPalettes_830F8A4: - .byte 1, 1, 1, 1, 1, 1, 1, 1 - -DoorAnimPalettes_830F8AC: - .byte 1, 1, 1, 1, 1, 1, 1, 1 - -DoorAnimPalettes_830F8B4: - .byte 5, 5, 5, 5, 5, 5, 5, 5 - -DoorAnimPalettes_830F8BC: - .byte 0, 0, 1, 1, 1, 1, 1, 1 - -DoorAnimPalettes_830F8C4: - .byte 6, 6, 6, 6, 6, 6, 6, 6 - -DoorAnimPalettes_830F8CC: - .byte 8, 8, 8, 8, 8, 8, 8, 8 - -DoorAnimPalettes_830F8D4: - .byte 11, 11, 11, 11, 11, 11, 11, 11 - -DoorAnimPalettes_830F8DC: - .byte 10, 10, 10, 10, 10, 10, 10, 10 - -DoorAnimPalettes_830F8E4: - .byte 7, 7, 7, 7, 7, 7, 7, 7 - -DoorAnimPalettes_830F8EC: - .byte 8, 8, 8, 8, 8, 8, 8, 8 - -DoorAnimPalettes_830F8F4: - .byte 9, 9, 9, 9, 9, 9, 9, 9 - -DoorAnimPalettes_830F8FC: - .byte 9, 9, 1, 1, 1, 1, 1, 1 - -DoorAnimPalettes_830F904: - .byte 8, 8, 8, 8, 8, 8, 8, 8 - -DoorAnimPalettes_830F90C: - .byte 9, 9, 9, 9, 9, 9, 9, 9 - -DoorAnimPalettes_830F914: - .byte 6, 6, 6, 6, 6, 6, 6, 6 - -DoorAnimPalettes_830F91C: - .byte 6, 6, 6, 6, 6, 6, 6, 6 - -DoorAnimPalettes_830F924: - .byte 0, 0, 5, 5, 5, 5, 5, 5 - -DoorAnimPalettes_830F92C: - .byte 6, 6, 1, 1, 1, 1, 1, 1 - -DoorAnimPalettes_830F934: - .byte 7, 7, 7, 7, 7, 7, 7, 7 - -DoorAnimPalettes_830F93C: - .byte 6, 6, 5, 5, 5, 5, 5, 5 - -DoorAnimPalettes_830F944: - .byte 5, 5, 5, 5, 5, 5, 5, 5 - -DoorAnimPalettes_830F94C: - .byte 1, 1, 1, 1, 1, 1, 1, 1 - -DoorAnimPalettes_830F954: - .byte 6, 6, 7, 7, 7, 7, 7, 7 - -DoorAnimPalettes_830F95C: - .byte 7, 7, 7, 7, 7, 7, 7, 7 - -DoorAnimPalettes_830F964: - .byte 5, 5, 5, 5, 5, 5, 5, 5 - -DoorAnimPalettes_830F96C: - .byte 9, 9, 9, 9, 9, 9, 9, 9 - -DoorAnimPalettes_830F974: - .byte 8, 8, 8, 8, 8, 8, 8, 8 - -DoorAnimPalettes_830F97C: - .byte 6, 6, 6, 6, 6, 6, 6, 6 - -DoorAnimPalettes_830F984: - .byte 7, 7, 7, 7, 7, 7, 7, 7 - -DoorAnimPalettes_830F98C: - .byte 11, 11, 7, 7, 7, 7, 7, 7 - -DoorAnimPalettes_830F994: - .byte 7, 7, 7, 7, 7, 7, 7, 7 - -DoorAnimPalettes_830F99C: - .byte 6, 6, 7, 7, 7, 7, 7, 7 - -DoorAnimPalettes_830F9A4: - .byte 9, 9, 9, 9, 9, 9, 9, 9 - -DoorAnimPalettes_830F9AC: - .byte 7, 7, 7, 7, 7, 7, 7, 7 - - .align 2 -gDoorAnimGraphicsTable:: @ 830F9B4 - door_anim_gfx 0x021, 0, DoorAnimTiles_00, DoorAnimPalettes_830F8A4 - door_anim_gfx 0x061, 1, DoorAnimTiles_01, DoorAnimPalettes_830F8AC - door_anim_gfx 0x1CD, 1, DoorAnimTiles_02, DoorAnimPalettes_830F8B4 - door_anim_gfx 0x041, 1, DoorAnimTiles_03, DoorAnimPalettes_830F8BC - door_anim_gfx 0x248, 0, DoorAnimTiles_04, DoorAnimPalettes_830F8C4 - door_anim_gfx 0x249, 0, DoorAnimTiles_05, DoorAnimPalettes_830F8CC - door_anim_gfx 0x22F, 0, DoorAnimTiles_06, DoorAnimPalettes_830F8D4 - door_anim_gfx 0x21F, 0, DoorAnimTiles_07, DoorAnimPalettes_830F8DC - door_anim_gfx 0x2A5, 0, DoorAnimTiles_08, DoorAnimPalettes_830F8E4 - door_anim_gfx 0x287, 0, DoorAnimTiles_09, DoorAnimPalettes_830F8F4 - door_anim_gfx 0x2AC, 0, DoorAnimTiles_10, DoorAnimPalettes_830F934 - door_anim_gfx 0x3A1, 0, DoorAnimTiles_11, DoorAnimPalettes_830F93C - door_anim_gfx 0x2DC, 0, DoorAnimTiles_12, DoorAnimPalettes_830F92C - door_anim_gfx 0x225, 0, DoorAnimTiles_13, DoorAnimPalettes_830F924 - door_anim_gfx 0x1DB, 1, DoorAnimTiles_14, DoorAnimPalettes_830F94C - door_anim_gfx 0x246, 0, DoorAnimTiles_15, DoorAnimPalettes_830F8EC - door_anim_gfx 0x28E, 0, DoorAnimTiles_16, DoorAnimPalettes_830F944 - door_anim_gfx 0x2A1, 0, DoorAnimTiles_17, DoorAnimPalettes_830F8FC - door_anim_gfx 0x21C, 0, DoorAnimTiles_18, DoorAnimPalettes_830F914 - door_anim_gfx 0x21E, 0, DoorAnimTiles_19, DoorAnimPalettes_830F91C - door_anim_gfx 0x21D, 1, DoorAnimTiles_20, DoorAnimPalettes_830F904 - door_anim_gfx 0x21A, 0, DoorAnimTiles_21, DoorAnimPalettes_830F90C - door_anim_gfx 0x224, 0, DoorAnimTiles_22, DoorAnimPalettes_830F954 - door_anim_gfx 0x289, 0, DoorAnimTiles_23, DoorAnimPalettes_830F95C - door_anim_gfx 0x30C, 1, DoorAnimTiles_24, DoorAnimPalettes_830F964 - door_anim_gfx 0x32D, 1, DoorAnimTiles_25, DoorAnimPalettes_830F96C - door_anim_gfx 0x2ED, 1, DoorAnimTiles_26, DoorAnimPalettes_830F974 - door_anim_gfx 0x264, 1, DoorAnimTiles_27, DoorAnimPalettes_830F97C - door_anim_gfx 0x22B, 0, DoorAnimTiles_28, DoorAnimPalettes_830F984 - door_anim_gfx 0x2F7, 0, DoorAnimTiles_29, DoorAnimPalettes_830F98C - door_anim_gfx 0x297, 0, DoorAnimTiles_30, DoorAnimPalettes_830F994 - door_anim_gfx 0x285, 1, DoorAnimTiles_31, DoorAnimPalettes_830F99C - door_anim_gfx 0x25D, 1, DoorAnimTiles_32, DoorAnimPalettes_830F9A4 - door_anim_gfx 0x20E, 1, DoorAnimTiles_33, DoorAnimPalettes_830F9AC - door_anim_gfx 0, 0, 0, 0 - - .align 2 -gUnknown_0830FB58:: @ 830FB58 - .4byte MetatileBehavior_IsTrickHouseSlipperyFloor - .4byte MetatileBehavior_IsIce_2 - .4byte MetatileBehavior_IsWalkSouth - .4byte MetatileBehavior_IsWalkNorth - .4byte MetatileBehavior_IsWalkWest - .4byte MetatileBehavior_IsWalkEast - .4byte MetatileBehavior_IsSouthwardCurrent - .4byte MetatileBehavior_IsNorthwardCurrent - .4byte MetatileBehavior_IsWestwardCurrent - .4byte MetatileBehavior_IsEastwardCurrent - .4byte MetatileBehavior_IsSlideSouth - .4byte MetatileBehavior_IsSlideNorth - .4byte MetatileBehavior_IsSlideWest - .4byte MetatileBehavior_IsSlideEast - .4byte MetatileBehavior_IsWaterfall - .4byte MetatileBehavior_0xBB - .4byte MetatileBehavior_0xBC - .4byte MetatileBehavior_IsMuddySlope - - .align 2 -gUnknown_0830FBA0:: @ 830FBA0 - .4byte ForcedMovement_None - .4byte ForcedMovement_Slip - .4byte ForcedMovement_Slip - .4byte sub_8058AAC - .4byte sub_8058AC4 - .4byte sub_8058ADC - .4byte sub_8058AF4 - .4byte sub_8058B0C - .4byte sub_8058B24 - .4byte sub_8058B3C - .4byte sub_8058B54 - .4byte ForcedMovement_SlideSouth - .4byte ForcedMovement_SlideNorth - .4byte ForcedMovement_SlideWest - .4byte ForcedMovement_SlideEast - .4byte sub_8058B0C - .4byte sub_8058C04 - .4byte sub_8058C10 - .4byte ForcedMovement_MuddySlope - - .align 2 -gUnknown_0830FBEC:: @ 830FBEC - .4byte PlayerNotOnBikeNotMoving - .4byte PlayerNotOnBikeTurningInPlace - .4byte sub_8058D0C - - .align 2 -gUnknown_0830FBF8:: @ 830FBF8 - .4byte MetatileBehavior_IsBumpySlope - .4byte MetatileBehavior_IsIsolatedVerticalRail - .4byte MetatileBehavior_IsIsolatedHorizontalRail - .4byte MetatileBehavior_IsVerticalRail - .4byte MetatileBehavior_IsHorizontalRail - -gUnknown_0830FC0C:: @ 830FC0C - .byte 0x9, 0xA, 0xB, 0xC, 0xD - - .align 2 -gUnknown_0830FC14:: @ 830FC14 - .4byte PlayerAvatarTransition_Normal - .4byte PlayerAvatarTransition_MachBike - .4byte PlayerAvatarTransition_AcroBike - .4byte PlayerAvatarTransition_Surfing - .4byte PlayerAvatarTransition_Underwater - .4byte sub_80591F4 - .4byte nullsub_49 - .4byte nullsub_49 - - .align 2 -gUnknown_0830FC34:: @ 830FC34 - .4byte MetatileBehavior_IsSouthArrowWarp - .4byte MetatileBehavior_IsNorthArrowWarp - .4byte MetatileBehavior_IsWestArrowWarp - .4byte MetatileBehavior_IsEastArrowWarp - -gUnknown_0830FC44:: @ 830FC44 - .byte MAP_OBJ_GFX_RIVAL_BRENDAN_NORMAL, MAP_OBJ_GFX_RIVAL_MAY_NORMAL - .byte MAP_OBJ_GFX_RIVAL_BRENDAN_MACH_BIKE, MAP_OBJ_GFX_RIVAL_MAY_MACH_BIKE - .byte MAP_OBJ_GFX_RIVAL_BRENDAN_ACRO_BIKE, MAP_OBJ_GFX_RIVAL_MAY_ACRO_BIKE - .byte MAP_OBJ_GFX_RIVAL_BRENDAN_SURFING, MAP_OBJ_GFX_RIVAL_MAY_SURFING - .byte MAP_OBJ_GFX_BRENDAN_UNDERWATER, MAP_OBJ_GFX_MAY_UNDERWATER - .byte MAP_OBJ_GFX_RIVAL_BRENDAN_FIELD_MOVE, MAP_OBJ_GFX_RIVAL_MAY_FIELD_MOVE - .byte MAP_OBJ_GFX_BRENDAN_FISHING, MAP_OBJ_GFX_MAY_FISHING - .byte MAP_OBJ_GFX_BRENDAN_WATERING, MAP_OBJ_GFX_MAY_WATERING - -gUnknown_0830FC54:: @ 830FC54 - .byte MAP_OBJ_GFX_BRENDAN_NORMAL, MAP_OBJ_GFX_MAY_NORMAL - .byte MAP_OBJ_GFX_BRENDAN_MACH_BIKE, MAP_OBJ_GFX_MAY_MACH_BIKE - .byte MAP_OBJ_GFX_BRENDAN_ACRO_BIKE, MAP_OBJ_GFX_MAY_ACRO_BIKE - .byte MAP_OBJ_GFX_BRENDAN_SURFING, MAP_OBJ_GFX_MAY_SURFING - .byte MAP_OBJ_GFX_BRENDAN_UNDERWATER, MAP_OBJ_GFX_MAY_UNDERWATER - .byte MAP_OBJ_GFX_BRENDAN_FIELD_MOVE, MAP_OBJ_GFX_MAY_FIELD_MOVE - .byte MAP_OBJ_GFX_BRENDAN_FISHING, MAP_OBJ_GFX_MAY_FISHING - .byte MAP_OBJ_GFX_BRENDAN_WATERING, MAP_OBJ_GFX_MAY_WATERING - -gUnknown_0830FC64:: @ 830FC64 - @ male - .byte MAP_OBJ_GFX_BRENDAN_NORMAL, 1 - .byte MAP_OBJ_GFX_BRENDAN_MACH_BIKE, 2 - .byte MAP_OBJ_GFX_BRENDAN_ACRO_BIKE, 4 - .byte MAP_OBJ_GFX_BRENDAN_SURFING, 8 - .byte MAP_OBJ_GFX_BRENDAN_UNDERWATER, 16 - @ female - .byte MAP_OBJ_GFX_MAY_NORMAL, 1 - .byte MAP_OBJ_GFX_MAY_MACH_BIKE, 2 - .byte MAP_OBJ_GFX_MAY_ACRO_BIKE, 4 - .byte MAP_OBJ_GFX_MAY_SURFING, 8 - .byte MAP_OBJ_GFX_MAY_UNDERWATER, 16 - - .align 2 -gUnknown_0830FC78:: @ 830FC78 - .4byte MetatileBehavior_IsSouthArrowWarp - .4byte MetatileBehavior_IsNorthArrowWarp - .4byte MetatileBehavior_IsWestArrowWarp - .4byte MetatileBehavior_IsEastArrowWarp - - .align 2 -gUnknown_0830FC88:: @ 830FC88 - .4byte sub_8059E84 - .4byte sub_8059EA4 - .4byte sub_8059F40 - - .align 2 -gUnknown_0830FC94:: @ 830FC94 - .4byte sub_805A000 - - .align 2 -gUnknown_0830FC98:: @ 830FC98 - .4byte sub_805A0D8 - .4byte sub_805A100 - .4byte sub_805A178 - .4byte sub_805A1B8 - -gUnknown_0830FCA8:: @ 830FCA8 - .byte DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH - -gUnknown_0830FCAC:: @ 830FCAC - .byte 0x10, 0x10, 0x11, 0x12, 0x13 - - .align 2 -gUnknown_0830FCB4:: @ 830FCB4 - .4byte Fishing1 - .4byte Fishing2 - .4byte Fishing3 - .4byte Fishing4 - .4byte Fishing5 - .4byte Fishing6 - .4byte Fishing7 - .4byte Fishing8 - .4byte Fishing9 - .4byte Fishing10 - .4byte Fishing11 - .4byte Fishing12 - .4byte Fishing13 - .4byte Fishing14 - .4byte Fishing15 - .4byte Fishing16 - - .align 1 -gUnknown_0830FCF4:: @ 830FCF4 - .2byte 1, 1, 1 - - .align 1 -gUnknown_0830FCFA:: @ 830FCFA - .2byte 1, 3, 6 - -gUnknown_0830FD00:: @ 830FD00 - .string "·$" - - .align 1 -gUnknown_0830FD02:: @ 830FD02 - .2byte 36, 33, 30 - - .align 1 -gUnknown_0830FD08:: @ 830FD08 - .2byte 0, 0, 40, 10, 70, 30 - -gUnknown_0830FD14:: @ 830FD14 - .byte 1, 1, 6, 7, 8, 9, 6, 7, 8, 9, 11, 11, 0, 0, 0, 0 - - .align 2 -gSpriteTemplate_830FD24:: @ 830FD24 - spr_template 0, 0xFFFF, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, ObjectCB_CameraObject - - .align 2 -gUnknown_0830FD3C:: @ 830FD3C - .4byte CameraObject_0 - .4byte CameraObject_1 - .4byte CameraObject_2 - -@ 830FD48 - .include "data/graphics/field_objects/map_object_graphics.inc" - -@ 8368528 - .include "data/graphics/field_objects/field_effect_object_graphics.inc" - - .align 2 -gUnknown_0836DA88:: @ 836DA88 - .4byte sub_805C884 - .4byte sub_805CDE8 - .4byte sub_805C8AC - .4byte sub_805CF28 - .4byte sub_805CF28 - .4byte sub_805D0AC - .4byte sub_805D0AC - .4byte sub_805D230 - .4byte sub_805D230 - .4byte sub_805D230 - .4byte sub_805D230 - .4byte sub_80587B4 - .4byte FieldObjectCB_BerryTree - .4byte sub_805D4F4 - .4byte sub_805D634 - .4byte sub_805D774 - .4byte sub_805D8B4 - .4byte sub_805D9F4 - .4byte sub_805DB34 - .4byte sub_805DC74 - .4byte sub_805DDB4 - .4byte sub_805DEF4 - .4byte sub_805E034 - .4byte sub_805E174 - .4byte sub_805E278 - .4byte sub_805E37C - .4byte sub_805E37C - .4byte sub_805E37C - .4byte sub_805E37C - .4byte sub_805E5DC - .4byte sub_805E668 - .4byte sub_805E6F4 - .4byte sub_805E780 - .4byte sub_805E80C - .4byte sub_805E898 - .4byte sub_805E924 - .4byte sub_805E9B0 - .4byte sub_805EA3C - .4byte sub_805EAC8 - .4byte sub_805EB54 - .4byte sub_805EBE0 - .4byte sub_805EC6C - .4byte sub_805ECF8 - .4byte sub_805ED84 - .4byte sub_805EE10 - .4byte sub_805EE9C - .4byte sub_805EF28 - .4byte sub_805EFB4 - .4byte sub_805F040 - .4byte sub_805F0CC - .4byte sub_805F158 - .4byte sub_805F1E4 - .4byte sub_805F270 - .4byte sub_805F2FC - .4byte sub_805F2FC - .4byte sub_805F2FC - .4byte sub_805F2FC - .4byte FieldObjectCB_TreeDisguise - .4byte FieldObjectCB_MountainDisguise - .4byte sub_805F8E0 - .4byte sub_805F8E0 - .4byte sub_805F8E0 - .4byte sub_805F8E0 - .4byte FieldObjectCB_Hidden1 - .4byte sub_805FB20 - .4byte sub_805FB20 - .4byte sub_805FB20 - .4byte sub_805FB20 - .4byte sub_805FB90 - .4byte sub_805FB90 - .4byte sub_805FB90 - .4byte sub_805FB90 - .4byte sub_805FC00 - .4byte sub_805FC00 - .4byte sub_805FC00 - .4byte sub_805FC00 - .4byte sub_805FC70 - -gUnknown_0836DBBC:: @ 836DBBC - .byte 0 - .byte 0 - .byte 1 - .byte 1 - .byte 1 - .byte 1 - .byte 1 - .byte 0 - .byte 0 - .byte 0 - .byte 0 - .byte 0 - .byte 0 - .byte 0 - .byte 0 - .byte 0 - .byte 0 - .byte 0 - .byte 0 - .byte 0 - .byte 0 - .byte 0 - .byte 0 - .byte 0 - .byte 0 - .byte 1 - .byte 1 - .byte 1 - .byte 1 - .byte 1 - .byte 1 - .byte 1 - .byte 1 - .byte 1 - .byte 1 - .byte 1 - .byte 1 - .byte 1 - .byte 1 - .byte 1 - .byte 1 - .byte 1 - .byte 1 - .byte 1 - .byte 1 - .byte 1 - .byte 1 - .byte 1 - .byte 1 - .byte 1 - .byte 1 - .byte 1 - .byte 1 - .byte 1 - .byte 1 - .byte 1 - .byte 1 - .byte 0 - .byte 0 - .byte 1 - .byte 1 - .byte 1 - .byte 1 - .byte 0 - .byte 0 - .byte 0 - .byte 0 - .byte 0 - .byte 0 - .byte 0 - .byte 0 - .byte 0 - .byte 0 - .byte 0 - .byte 0 - .byte 0 - .byte 0 - -gUnknown_0836DC09:: @ 836DC09 - .byte DIR_SOUTH - .byte DIR_SOUTH - .byte DIR_SOUTH - .byte DIR_NORTH - .byte DIR_SOUTH - .byte DIR_WEST - .byte DIR_EAST - .byte DIR_NORTH - .byte DIR_SOUTH - .byte DIR_WEST - .byte DIR_EAST - .byte DIR_SOUTH - .byte DIR_SOUTH - .byte DIR_SOUTH - .byte DIR_WEST - .byte DIR_NORTH - .byte DIR_NORTH - .byte DIR_SOUTH - .byte DIR_SOUTH - .byte DIR_SOUTH - .byte DIR_SOUTH - .byte DIR_NORTH - .byte DIR_SOUTH - .byte DIR_SOUTH - .byte DIR_SOUTH - .byte DIR_NORTH - .byte DIR_SOUTH - .byte DIR_WEST - .byte DIR_EAST - .byte DIR_NORTH - .byte DIR_EAST - .byte DIR_SOUTH - .byte DIR_WEST - .byte DIR_NORTH - .byte DIR_WEST - .byte DIR_SOUTH - .byte DIR_EAST - .byte DIR_WEST - .byte DIR_NORTH - .byte DIR_EAST - .byte DIR_SOUTH - .byte DIR_EAST - .byte DIR_NORTH - .byte DIR_WEST - .byte DIR_SOUTH - .byte DIR_NORTH - .byte DIR_SOUTH - .byte DIR_WEST - .byte DIR_EAST - .byte DIR_NORTH - .byte DIR_SOUTH - .byte DIR_WEST - .byte DIR_EAST - .byte DIR_NORTH - .byte DIR_SOUTH - .byte DIR_WEST - .byte DIR_EAST - .byte DIR_SOUTH - .byte DIR_SOUTH - .byte DIR_NORTH - .byte DIR_SOUTH - .byte DIR_WEST - .byte DIR_EAST - .byte DIR_SOUTH - .byte DIR_SOUTH - .byte DIR_NORTH - .byte DIR_WEST - .byte DIR_EAST - .byte DIR_SOUTH - .byte DIR_NORTH - .byte DIR_WEST - .byte DIR_EAST - .byte DIR_SOUTH - .byte DIR_NORTH - .byte DIR_WEST - .byte DIR_EAST - .byte DIR_SOUTH - -@ 836DC58 - .include "data/graphics/field_objects/map_object_graphics_info_pointers.inc" - -@ 836DFC0 - .include "data/graphics/field_objects/field_effect_object_template_pointers.inc" - -@ 836E050 - .include "data/graphics/field_objects/map_object_pic_tables.inc" - -@ 83708C8 - .include "data/graphics/field_objects/map_object_anims.inc" - -@ 83711C4 - .include "data/graphics/field_objects/base_oam.inc" - -@ 8371204 - .include "data/graphics/field_objects/map_object_subsprites.inc" - -@ 83718D4 - .include "data/graphics/field_objects/map_object_graphics_info.inc" - - .align 2 -gUnknown_0837377C:: @ 837377C - obj_pal gMapObjectPalette0, 0x1103 - obj_pal gMapObjectPalette1, 0x1104 - obj_pal gMapObjectPalette2, 0x1105 - obj_pal gMapObjectPalette3, 0x1106 - obj_pal gMapObjectPalette4, 0x1107 - obj_pal gMapObjectPalette5, 0x1108 - obj_pal gMapObjectPalette6, 0x1109 - obj_pal gMapObjectPalette7, 0x110A - obj_pal gMapObjectPalette8, 0x1100 - obj_pal gMapObjectPalette9, 0x1101 - obj_pal gMapObjectPalette10, 0x1102 - obj_pal gMapObjectPalette11, 0x1115 - obj_pal gMapObjectPalette12, 0x110B - obj_pal gMapObjectPalette13, 0x110C - obj_pal gMapObjectPalette14, 0x110D - obj_pal gMapObjectPalette15, 0x110E - obj_pal gMapObjectPalette16, 0x110F - obj_pal gMapObjectPalette17, 0x1110 - obj_pal gMapObjectPalette18, 0x1111 - obj_pal gMapObjectPalette19, 0x1112 - obj_pal gMapObjectPalette20, 0x1113 - obj_pal gMapObjectPalette21, 0x1114 - obj_pal gMapObjectPalette22, 0x1116 - obj_pal gMapObjectPalette23, 0x1117 - obj_pal gMapObjectPalette24, 0x1118 - obj_pal gMapObjectPalette25, 0x1119 - obj_pal gMapObjectPalette26, 0x111A - null_obj_pal - - .align 1 -Palettes_837385C: - .2byte 0x1101 - .2byte 0x1101 - .2byte 0x1101 - .2byte 0x1101 - - @ unused? - .2byte 0x1111 - .2byte 0x1111 - .2byte 0x1111 - .2byte 0x1111 - - .align 1 -Palettes_837386C: - .2byte 0x1115 - .2byte 0x1115 - .2byte 0x1115 - .2byte 0x1115 - - .align 2 -gUnknown_08373874:: @ 8373874 - paired_pals 0x1100, Palettes_837385C - paired_pals 0x1110, Palettes_837385C - paired_pals 0x1115, Palettes_837386C - paired_pals 0x11FF, NULL - - .align 1 -Palettes_8373894: - .2byte 0x110C - .2byte 0x110C - .2byte 0x110C - .2byte 0x110C - - .align 1 -Palettes_837389C: - .2byte 0x110D - .2byte 0x110D - .2byte 0x110D - .2byte 0x110D - - .align 1 -Palettes_83738A4: - .2byte 0x110E - .2byte 0x110E - .2byte 0x110E - .2byte 0x110E - - .align 1 -Palettes_83738AC: - .2byte 0x1112 - .2byte 0x1112 - .2byte 0x1112 - .2byte 0x1112 - - .align 1 -Palettes_83738B4: - .2byte 0x1113 - .2byte 0x1113 - .2byte 0x1113 - .2byte 0x1113 - - .align 1 -Palettes_83738BC: - .2byte 0x1114 - .2byte 0x1114 - .2byte 0x1114 - .2byte 0x1114 - - .align 1 -Palettes_83738C4: - .2byte 0x111A - .2byte 0x111A - .2byte 0x111A - .2byte 0x111A - - .align 1 -Palettes_83738CC: - .2byte 0x1117 - .2byte 0x1117 - .2byte 0x1117 - .2byte 0x1117 - - .align 1 -Palettes_83738D4: - .2byte 0x1119 - .2byte 0x1119 - .2byte 0x1119 - .2byte 0x1119 - - .align 1 -Palettes_83738DC: - .2byte 0x1109 - .2byte 0x1109 - .2byte 0x1109 - .2byte 0x1109 - - .align 2 -gUnknown_083738E4:: @ 83738E4 - paired_pals 0x1100, Palettes_837385C - paired_pals 0x1110, Palettes_837385C - paired_pals 0x110B, Palettes_8373894 - paired_pals 0x110D, Palettes_837389C - paired_pals 0x110E, Palettes_83738A4 - paired_pals 0x1112, Palettes_83738AC - paired_pals 0x1113, Palettes_83738B4 - paired_pals 0x1114, Palettes_83738BC - paired_pals 0x1116, Palettes_83738CC - paired_pals 0x1118, Palettes_83738D4 - paired_pals 0x1105, Palettes_83738DC - paired_pals 0x111A, Palettes_83738C4 - paired_pals 0x11FF, NULL - - .align 1 -Unknown_837394C: - .2byte 0x1100 - .2byte 0x1101 - .2byte 0x1103 - .2byte 0x1104 - .2byte 0x1105 - .2byte 0x1106 - .2byte 0x1107 - .2byte 0x1108 - .2byte 0x1109 - .2byte 0x110A - - .align 1 -Unknown_8373960: - .2byte 0x1100 - .2byte 0x1101 - .2byte 0x1103 - .2byte 0x1104 - .2byte 0x1105 - .2byte 0x1106 - .2byte 0x1107 - .2byte 0x1108 - .2byte 0x1109 - .2byte 0x110A - - .align 1 -Unknown_8373974: - .2byte 0x1100 - .2byte 0x1101 - .2byte 0x1103 - .2byte 0x1104 - .2byte 0x1105 - .2byte 0x1106 - .2byte 0x1107 - .2byte 0x1108 - .2byte 0x1109 - .2byte 0x110A - - .align 1 -Unknown_8373988: - .2byte 0x1100 - .2byte 0x1101 - .2byte 0x1103 - .2byte 0x1104 - .2byte 0x1105 - .2byte 0x1106 - .2byte 0x1107 - .2byte 0x1108 - .2byte 0x1109 - .2byte 0x110A - - .align 2 -gUnknown_0837399C:: @ 837399C - .4byte Unknown_837394C - .4byte Unknown_8373960 - .4byte Unknown_8373974 - .4byte Unknown_8373988 - -@ 83739AC - .include "data/graphics/field_objects/berry_tree_graphics_tables.inc" - -@ 8374524 - .include "data/graphics/field_objects/field_effect_objects.inc" - - .align 1 -gUnknown_0837520C:: @ 837520C - .2byte 0x20, 0x40, 0x60, 0x80, 0x20, 0x40, 0x80, 0xC0 - - .align 1 -gUnknown_0837521C:: @ 837521C - .2byte 0x20, 0x30, 0x40, 0x50 - - .align 2 -gUnknown_08375224:: @ 8375224 - .4byte sub_805C8F0 - .4byte sub_805C904 - .4byte sub_805C930 - .4byte sub_805C96C - .4byte sub_805C98C - .4byte sub_805C9D8 - .4byte sub_805CA08 - -gUnknown_08375240:: @ 8375240 - .byte DIR_SOUTH, DIR_NORTH, DIR_WEST, DIR_EAST - - .align 2 -gUnknown_08375244:: @ 8375244 - .4byte sub_805CAAC - .4byte sub_805CADC - .4byte sub_805CAEC - .4byte sub_805CB00 - .4byte sub_805CB5C - .4byte sub_805CBB8 - .4byte sub_805CC14 - .4byte sub_805CC70 - .4byte sub_805CCAC - .4byte sub_805CCE8 - .4byte sub_805CD24 - - .align 2 -gUnknown_08375270:: @ 8375270 - .4byte sub_805CE2C - .4byte sub_805CE40 - .4byte sub_805CE6C - .4byte sub_805CEB0 - .4byte sub_805CEE0 - - .align 2 -gUnknown_08375284:: @ 8375284 - .4byte sub_805CF6C - .4byte sub_805CF80 - .4byte sub_805CFAC - .4byte sub_805CFE8 - .4byte sub_805D008 - .4byte sub_805D054 - .4byte sub_805D084 - -gUnknown_083752A0:: @ 83752A0 - .byte DIR_SOUTH, DIR_NORTH - - .align 2 -gUnknown_083752A4:: @ 83752A4 - .4byte sub_805D0F0 - .4byte sub_805D104 - .4byte sub_805D130 - .4byte sub_805D16C - .4byte sub_805D18C - .4byte sub_805D1D8 - .4byte sub_805D208 - -gUnknown_083752C0:: @ 83752C0 - .byte DIR_WEST, DIR_EAST - - .align 2 -gUnknown_083752C4:: @ 83752C4 - .4byte sub_805D274 - .4byte sub_805D2A0 - .4byte sub_805D2C0 - - .align 2 -gUnknown_083752D0:: @ 83752D0 - .4byte do_berry_tree_growth_sparkle_1 - .4byte sub_805D3EC - .4byte do_berry_tree_growth_sparkle_2 - .4byte sub_805D458 - .4byte sub_805D4A8 - - .align 2 -gUnknown_083752E4:: @ 83752E4 - .4byte sub_805D538 - .4byte sub_805D54C - .4byte sub_805D578 - .4byte sub_805D5BC - .4byte sub_805D5EC - - .align 2 -gUnknown_083752F8:: @ 83752F8 - .4byte sub_805D678 - .4byte sub_805D68C - .4byte sub_805D6B8 - .4byte sub_805D6FC - .4byte sub_805D72C - - .align 2 -gUnknown_0837530C:: @ 837530C - .4byte sub_805D7B8 - .4byte sub_805D7CC - .4byte sub_805D7F8 - .4byte sub_805D83C - .4byte sub_805D86C - -gUnknown_08375320:: @ 8375320 - .byte DIR_NORTH, DIR_WEST - - .align 2 -gUnknown_08375324:: @ 8375324 - .4byte sub_805D8F8 - .4byte sub_805D90C - .4byte sub_805D938 - .4byte sub_805D97C - .4byte sub_805D9AC - -gUnknown_08375338:: @ 8375338 - .byte DIR_NORTH, DIR_EAST - - .align 2 -gUnknown_0837533C:: @ 837533C - .4byte sub_805DA38 - .4byte sub_805DA4C - .4byte sub_805DA78 - .4byte sub_805DABC - .4byte sub_805DAEC - -gUnknown_08375350:: @ 8375350 - .byte DIR_SOUTH, DIR_WEST - - .align 2 -gUnknown_08375354:: @ 8375354 - .4byte sub_805DB78 - .4byte sub_805DB8C - .4byte sub_805DBB8 - .4byte sub_805DBFC - .4byte sub_805DC2C - -gUnknown_08375368:: @ 8375368 - .byte DIR_SOUTH, DIR_EAST - - .align 2 -gUnknown_0837536C:: @ 837536C - .4byte sub_805DCB8 - .4byte sub_805DCCC - .4byte sub_805DCF8 - .4byte sub_805DD3C - .4byte sub_805DD6C - -gUnknown_08375380:: @ 8375380 - .byte DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_SOUTH - - .align 2 -gUnknown_08375384:: @ 8375384 - .4byte sub_805DDF8 - .4byte sub_805DE0C - .4byte sub_805DE38 - .4byte sub_805DE7C - .4byte sub_805DEAC - -gUnknown_08375398:: @ 8375398 - .byte DIR_SOUTH, DIR_NORTH, DIR_EAST, DIR_SOUTH - - .align 2 -gUnknown_0837539C:: @ 837539C - .4byte sub_805DF38 - .4byte sub_805DF4C - .4byte sub_805DF78 - .4byte sub_805DFBC - .4byte sub_805DFEC - -gUnknown_083753B0:: @ 83753B0 - .byte DIR_NORTH, DIR_WEST, DIR_EAST, DIR_NORTH - - .align 2 -gUnknown_083753B4:: @ 83753B4 - .4byte sub_805E078 - .4byte sub_805E08C - .4byte sub_805E0B8 - .4byte sub_805E0FC - .4byte sub_805E12C - -gUnknown_083753C8:: @ 83753C8 - .byte DIR_WEST, DIR_EAST, DIR_SOUTH, DIR_SOUTH - - .align 2 -gUnknown_083753CC:: @ 83753CC - .4byte sub_805E1B8 - .4byte sub_805E1E4 - .4byte sub_805E208 - .4byte sub_805E234 - -gUnknown_083753DC:: @ 83753DC - .byte DIR_SOUTH, DIR_EAST, DIR_WEST, DIR_SOUTH, DIR_NORTH - - .align 2 -gUnknown_083753E4:: @ 83753E4 - .4byte sub_805E2BC - .4byte sub_805E2E8 - .4byte sub_805E30C - .4byte sub_805E338 - -gUnknown_083753F4:: @ 83753F4 - .byte DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH - - .align 2 -gUnknown_083753FC:: @ 83753FC - .4byte sub_805E3C0 - .4byte sub_805E3D4 - .4byte sub_805E40C - .4byte sub_805E4C4 - - .align 2 -gUnknown_0837540C:: @ 837540C - .4byte sub_805E4EC - .4byte sub_805E620 - .4byte sub_805E5B4 - -gUnknown_08375418:: @ 8375418 - .byte DIR_NORTH, DIR_EAST, DIR_WEST, DIR_SOUTH - - .align 2 -gUnknown_0837541C:: @ 837541C - .4byte sub_805E4EC - .4byte sub_805E6AC - .4byte sub_805E5B4 - - .align 2 -gUnknown_08375428:: @ 8375428 - .byte DIR_EAST, DIR_WEST, DIR_SOUTH, DIR_NORTH - -gUnknown_0837542C:: @ 837542C - .4byte sub_805E4EC - .4byte sub_805E738 - .4byte sub_805E5B4 - -gUnknown_08375438:: @ 8375438 - .byte DIR_SOUTH, DIR_NORTH, DIR_EAST, DIR_WEST - - .align 2 -gUnknown_0837543C:: @ 837543C - .4byte sub_805E4EC - .4byte sub_805E7C4 - .4byte sub_805E5B4 - -gUnknown_08375448:: @ 8375448 - .byte DIR_WEST, DIR_SOUTH, DIR_NORTH, DIR_EAST - - .align 2 -gUnknown_0837544C:: @ 837544C - .4byte sub_805E4EC - .4byte sub_805E850 - .4byte sub_805E5B4 - -gUnknown_08375458:: @ 8375458 - .byte DIR_NORTH, DIR_WEST, DIR_EAST, DIR_SOUTH - - .align 2 -gUnknown_0837545C:: @ 837545C - .4byte sub_805E4EC - .4byte sub_805E8DC - .4byte sub_805E5B4 - -gUnknown_08375468:: @ 8375468 - .byte DIR_WEST, DIR_EAST, DIR_SOUTH, DIR_NORTH - - .align 2 -gUnknown_0837546C:: @ 837546C - .4byte sub_805E4EC - .4byte sub_805E968 - .4byte sub_805E5B4 - - .align 2 -gUnknown_08375478:: @ 8375478 - .4byte sub_805E4EC - .4byte sub_805E9F4 - .4byte sub_805E5B4 - -gUnknown_08375484:: @ 8375484 - .byte DIR_EAST, DIR_SOUTH, DIR_NORTH, DIR_WEST - - .align 2 -gUnknown_08375488:: @ 8375488 - .4byte sub_805E4EC - .4byte sub_805EA80 - .4byte sub_805E5B4 - -gUnknown_08375494:: @ 8375494 - .byte DIR_WEST, DIR_NORTH, DIR_SOUTH, DIR_EAST - - .align 2 -gUnknown_08375498:: @ 8375498 - .4byte sub_805E4EC - .4byte sub_805EB0C - .4byte sub_805E5B4 - -gUnknown_083754A4:: @ 83754A4 - .byte DIR_NORTH, DIR_SOUTH, DIR_EAST, DIR_WEST - - .align 2 -gUnknown_083754A8:: @ 83754A8 - .4byte sub_805E4EC - .4byte sub_805EB98 - .4byte sub_805E5B4 - -gUnknown_083754B4:: @ 83754B4 - .byte DIR_EAST, DIR_WEST, DIR_NORTH, DIR_SOUTH - - .align 2 -gUnknown_083754B8:: @ 83754B8 - .4byte sub_805E4EC - .4byte sub_805EC24 - .4byte sub_805E5B4 - -gUnknown_083754C4:: @ 83754C4 - .byte DIR_SOUTH, DIR_EAST, DIR_WEST, DIR_NORTH - - .align 2 -gUnknown_083754C8:: @ 83754C8 - .4byte sub_805E4EC - .4byte sub_805ECB0 - .4byte sub_805E5B4 - -gUnknown_083754D4:: @ 83754D4 - .byte DIR_EAST, DIR_NORTH, DIR_SOUTH, DIR_WEST - - .align 2 -gUnknown_083754D8:: @ 83754D8 - .4byte sub_805E4EC - .4byte sub_805ED3C - .4byte sub_805E5B4 - -gUnknown_083754E4:: @ 83754E4 - .byte DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_EAST - - .align 2 -gUnknown_083754E8:: @ 83754E8 - .4byte sub_805E4EC - .4byte sub_805EDC8 - .4byte sub_805E5B4 - -gUnknown_083754F4:: @ 83754F4 - .byte DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH - - .align 2 -gUnknown_083754F8:: @ 83754F8 - .4byte sub_805E4EC - .4byte sub_805EE54 - .4byte sub_805E5B4 - -gUnknown_08375504:: @ 8375504 - .byte DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH - - .align 2 -gUnknown_08375508:: @ 8375508 - .4byte sub_805E4EC - .4byte sub_805EEE0 - .4byte sub_805E5B4 - -gUnknown_08375514:: @ 8375514 - .byte DIR_NORTH, DIR_WEST, DIR_SOUTH, DIR_EAST - - .align 2 -gUnknown_08375518:: @ 8375518 - .4byte sub_805E4EC - .4byte sub_805EF6C - .4byte sub_805E5B4 - -gUnknown_08375524:: @ 8375524 - .byte DIR_SOUTH, DIR_EAST, DIR_NORTH, DIR_WEST - - .align 2 -gUnknown_08375528:: @ 8375528 - .4byte sub_805E4EC - .4byte sub_805EFF8 - .4byte sub_805E5B4 - -gUnknown_08375534:: @ 8375534 - .byte DIR_WEST, DIR_SOUTH, DIR_EAST, DIR_NORTH - - .align 2 -gUnknown_08375538:: @ 8375538 - .4byte sub_805E4EC - .4byte sub_805F084 - .4byte sub_805E5B4 - -gUnknown_08375544:: @ 8375544 - .byte DIR_EAST, DIR_NORTH, DIR_WEST, DIR_SOUTH - - .align 2 -gUnknown_08375548:: @ 8375548 - .4byte sub_805E4EC - .4byte sub_805F110 - .4byte sub_805E5B4 - -gUnknown_08375554:: @ 8375554 - .byte DIR_NORTH, DIR_EAST, DIR_SOUTH, DIR_WEST - - .align 2 -gUnknown_08375558:: @ 8375558 - .4byte sub_805E4EC - .4byte sub_805F19C - .4byte sub_805E5B4 - -gUnknown_08375564:: @ 8375564 - .byte DIR_SOUTH, DIR_WEST, DIR_NORTH, DIR_EAST - - .align 2 -gUnknown_08375568:: @ 8375568 - .4byte sub_805E4EC - .4byte sub_805F228 - .4byte sub_805E5B4 - -gUnknown_08375574:: @ 8375574 - .byte DIR_WEST, DIR_NORTH, DIR_EAST, DIR_SOUTH - - .align 2 -gUnknown_08375578:: @ 8375578 - .4byte sub_805E4EC - .4byte sub_805F2B4 - .4byte sub_805E5B4 - - .align 2 -gUnknown_08375584:: @ 8375584 - .byte DIR_EAST, DIR_SOUTH, DIR_WEST, DIR_NORTH - - .align 2 -gUnknown_08375588:: @ 8375588 - .4byte mss_npc_reset_oampriv3_1_unk2_unk3 - .4byte sub_805F364 - .4byte sub_805F3C4 - - .align 2 -gUnknown_08375594:: @ 8375594 - .4byte sub_805F3EC - .4byte sub_805F3F0 - .4byte sub_805F438 - .4byte sub_805F4F0 - .4byte sub_805F5A8 - .4byte sub_805F660 - .4byte cph_IM_DIFFERENT - .4byte sub_805F760 - .4byte oac_hopping - .4byte sub_805F3EC - .4byte sub_805F3EC - - .align 2 -gUnknown_083755C0:: @ 83755C0 - .4byte mss_npc_reset_oampriv3_1_unk2_unk3 - .4byte mss_08062EA4 - .4byte sub_805F3C4 - - .align 2 -gUnknown_083755CC:: @ 83755CC - .4byte sub_805FAF8 - - .align 2 -gUnknown_083755D0:: @ 83755D0 - .4byte sub_805FB64 - .4byte sub_805FB04 - - .align 2 -gUnknown_083755D8:: @ 83755D8 - .4byte sub_805FBD4 - .4byte sub_805FB04 - - .align 2 -gUnknown_083755E0:: @ 83755E0 - .4byte sub_805FC44 - .4byte sub_805FB04 - - .align 2 -gUnknown_083755E8:: @ 83755E8 - .4byte sub_805FCB4 - .4byte sub_805FCE8 - .4byte sub_805FD08 - -gUnknown_083755F4:: @ 83755F4 - .byte 0x00, 0x00, 0x01, 0x02, 0x03, 0x00, 0x00, 0x01, 0x01 - -gUnknown_083755FD:: @ 83755FD - .byte 0x04, 0x04, 0x05, 0x06, 0x07, 0x04, 0x04, 0x05, 0x05 - -gUnknown_08375606:: @ 8375606 - .byte 0x08, 0x08, 0x09, 0x0A, 0x0B, 0x08, 0x08, 0x09, 0x09 - -gUnknown_0837560F:: @ 837560F - .byte 0x0C, 0x0C, 0x0D, 0x0E, 0x0F, 0x0C, 0x0C, 0x0D, 0x0D - -gUnknown_08375618:: @ 8375618 - .byte 0x10, 0x10, 0x11, 0x12, 0x13, 0x10, 0x10, 0x11, 0x11 - -gUnknown_08375621:: @ 8375621 - .byte 0x14, 0x14, 0x15, 0x16, 0x17, 0x14, 0x14, 0x15, 0x15 - -gUnknown_0837562A:: @ 837562A - .byte 0x14, 0x14, 0x15, 0x16, 0x17, 0x14, 0x14, 0x15, 0x15 - -gUnknown_08375633:: @ 8375633 - .byte 0x18, 0x18, 0x19, 0x1A, 0x1B, 0x18, 0x18, 0x19, 0x19 - -gUnknown_0837563C:: @ 837563C - .byte 0x1C, 0x1C, 0x1D, 0x1E, 0x1F, 0x1C, 0x1C, 0x1D, 0x1D - -gUnknown_08375645:: @ 8375645 - .byte 0x20, 0x20, 0x21, 0x22, 0x23, 0x20, 0x20, 0x21, 0x21 - -gUnknown_0837564E:: @ 837564E - .byte 0x24, 0x24, 0x25, 0x26, 0x27, 0x24, 0x24, 0x25, 0x25 - -gUnknown_08375657:: @ 8375657 - .byte 0x00, 0x00, 0x01, 0x02, 0x03, 0x00, 0x00, 0x01, 0x01 - -gUnknown_08375660:: @ 8375660 - .byte 0x04, 0x04, 0x05, 0x06, 0x07, 0x04, 0x04, 0x05, 0x05 - -gUnknown_08375669:: @ 8375669 - .byte 0x08, 0x08, 0x09, 0x0A, 0x0B, 0x08, 0x08, 0x09, 0x09 - -gUnknown_08375672:: @ 8375672 - .byte 0x14, 0x14, 0x15, 0x16, 0x17, 0x14, 0x14, 0x15, 0x15 - -gUnknown_0837567B:: @ 837567B - .byte 0x08, 0x08, 0x07, 0x09, 0x0A, 0x08, 0x08, 0x07, 0x07 - - .align 2 -gUnknown_08375684:: @ 8375684 - .4byte MetatileBehavior_IsSouthBlocked - .4byte MetatileBehavior_IsNorthBlocked - .4byte MetatileBehavior_IsWestBlocked - .4byte MetatileBehavior_IsEastBlocked - - .align 2 -gUnknown_08375694:: @ 8375694 - .4byte MetatileBehavior_IsNorthBlocked - .4byte MetatileBehavior_IsSouthBlocked - .4byte MetatileBehavior_IsEastBlocked - .4byte MetatileBehavior_IsWestBlocked - - .align 1 -gDirectionToVector:: @ 83756A4 - .2byte 0, 0 - .2byte 0, 1 - .2byte 0, -1 - .2byte -1, 0 - .2byte 1, 0 - .2byte -1, 1 - .2byte 1, 1 - .2byte -1, -1 - .2byte 1, -1 - -gUnknown_083756C8:: @ 83756C8 - .byte 0x00, 0x00, 0x01, 0x02, 0x03 - -gUnknown_083756CD:: @ 83756CD - .byte 0x04, 0x04, 0x05, 0x06, 0x07 - -gUnknown_083756D2:: @ 83756D2 - .byte 0x08, 0x08, 0x09, 0x0A, 0x0B - -gUnknown_083756D7:: @ 83756D7 - .byte 0x15, 0x15, 0x16, 0x17, 0x18 - -gUnknown_083756DC:: @ 83756DC - .byte 0x29, 0x29, 0x2A, 0x2B, 0x2C - -gUnknown_083756E1:: @ 83756E1 - .byte 0x2D, 0x2D, 0x2E, 0x2F, 0x30 - -gUnknown_083756E6:: @ 83756E6 - .byte 0x31, 0x31, 0x32, 0x33, 0x34 - -gUnknown_083756EB:: @ 83756EB - .byte 0x35, 0x35, 0x36, 0x37, 0x38 - -gUnknown_083756F0:: @ 83756F0 - .byte 0x0C, 0x0C, 0x0D, 0x0E, 0x0F - -gUnknown_083756F5:: @ 83756F5 - .byte 0x46, 0x46, 0x47, 0x48, 0x49 - -gUnknown_083756FA:: @ 83756FA - .byte 0x4B, 0x4B, 0x4A, 0x4D, 0x4C - -gUnknown_083756FF:: @ 83756FF - .byte 0x42, 0x42, 0x43, 0x44, 0x45 - -gUnknown_08375704:: @ 8375704 - .byte 0x3A, 0x3A, 0x3B, 0x3C, 0x3D - -gUnknown_08375709:: @ 8375709 - .byte 0x19, 0x19, 0x1A, 0x1B, 0x1C - -gUnknown_0837570E:: @ 837570E - .byte 0x1D, 0x1D, 0x1E, 0x1F, 0x20 - -gUnknown_08375713:: @ 8375713 - .byte 0x21, 0x21, 0x22, 0x23, 0x24 - -gUnknown_08375718:: @ 8375718 - .byte 0x25, 0x25, 0x26, 0x27, 0x28 - -gUnknown_0837571D:: @ 837571D - .byte 0x62, 0x62, 0x63, 0x64, 0x65 - -gUnknown_08375722:: @ 8375722 - .byte 0x66, 0x66, 0x67, 0x68, 0x69 - -gUnknown_08375727:: @ 8375727 - .byte 0x6A, 0x6A, 0x6B, 0x6C, 0x6D - -gUnknown_0837572C:: @ 837572C - .byte 0x6E, 0x6E, 0x6F, 0x70, 0x71 - -gUnknown_08375731:: @ 8375731 - .byte 0x72, 0x72, 0x73, 0x74, 0x75 - -gUnknown_08375736:: @ 8375736 - .byte 0x76, 0x76, 0x77, 0x78, 0x79 - -gUnknown_0837573B:: @ 837573B - .byte 0x7A, 0x7A, 0x7B, 0x7C, 0x7D - -gUnknown_08375740:: @ 8375740 - .byte 0x7E, 0x7E, 0x7F, 0x80, 0x81 - -gUnknown_08375745:: @ 8375745 - .byte 0x82, 0x82, 0x83, 0x84, 0x85 - -gUnknown_0837574A:: @ 837574A - .byte 0x86, 0x86, 0x87, 0x88, 0x89 - -gUnknown_0837574F:: @ 837574F - .byte 2, 1, 4, 3, 8, 7, 6, 5 - -gUnknown_08375757:: @ 8375757 - .byte 2, 1, 4, 3, 1, 2, 3, 4, 3, 4, 2, 1, 4, 3, 1, 2 - -gUnknown_08375767:: @ 8375767 - .byte 2, 1, 4, 3, 1, 2, 3, 4, 4, 3, 1, 2, 3, 4, 2, 1 - - .align 2 -gUnknown_08375778:: @ 8375778 - .4byte Unknown_83759A0 - .4byte Unknown_83759A8 - .4byte Unknown_83759B0 - .4byte Unknown_83759B8 - .4byte Unknown_83759D4 - .4byte Unknown_83759E0 - .4byte Unknown_83759EC - .4byte Unknown_83759F8 - .4byte Unknown_8375A04 - .4byte Unknown_8375A10 - .4byte Unknown_8375A1C - .4byte Unknown_8375A28 - .4byte Unknown_8375A40 - .4byte Unknown_8375A4C - .4byte Unknown_8375A58 - .4byte Unknown_8375A64 - .4byte Unknown_8375A70 - .4byte Unknown_8375A7C - .4byte Unknown_8375A88 - .4byte Unknown_8375A94 - .4byte Unknown_8375AA0 - .4byte Unknown_8375AAC - .4byte Unknown_8375AB8 - .4byte Unknown_8375AC4 - .4byte Unknown_8375AD0 - .4byte Unknown_8375ADC - .4byte Unknown_8375AE8 - .4byte Unknown_8375AF4 - .4byte Unknown_8375B00 - .4byte Unknown_8375B0C - .4byte Unknown_8375B18 - .4byte Unknown_8375B24 - .4byte Unknown_8375B30 - .4byte Unknown_8375B3C - .4byte Unknown_8375B48 - .4byte Unknown_8375B54 - .4byte Unknown_8375B60 - .4byte Unknown_8375B6C - .4byte Unknown_8375B78 - .4byte Unknown_8375B84 - .4byte Unknown_8375B90 - .4byte Unknown_8375B9C - .4byte Unknown_8375BA8 - .4byte Unknown_8375BB4 - .4byte Unknown_8375BC0 - .4byte Unknown_8375BCC - .4byte Unknown_8375BD8 - .4byte Unknown_8375BE4 - .4byte Unknown_8375BF0 - .4byte Unknown_8375BFC - .4byte Unknown_8375C08 - .4byte Unknown_8375C14 - .4byte Unknown_8375C20 - .4byte Unknown_8375C2C - .4byte Unknown_8375C38 - .4byte Unknown_8375C44 - .4byte Unknown_8375C50 - .4byte Unknown_8375C5C - .4byte Unknown_8375C68 - .4byte Unknown_8375C74 - .4byte Unknown_8375C80 - .4byte Unknown_8375C8C - .4byte Unknown_8375C98 - .4byte Unknown_8375CA0 - .4byte Unknown_8375CA8 - .4byte Unknown_8375CB0 - .4byte Unknown_8375CB8 - .4byte Unknown_8375CC4 - .4byte Unknown_8375CD0 - .4byte Unknown_8375CDC - .4byte Unknown_8375CE8 - .4byte Unknown_8375CF4 - .4byte Unknown_8375D00 - .4byte Unknown_8375D0C - .4byte Unknown_8375D18 - .4byte Unknown_8375D24 - .4byte Unknown_8375D30 - .4byte Unknown_8375D3C - .4byte Unknown_8375D48 - .4byte Unknown_8375D50 - .4byte Unknown_8375D5C - .4byte Unknown_8375D64 - .4byte Unknown_8375D6C - .4byte Unknown_8375D74 - .4byte Unknown_8375D7C - .4byte Unknown_8375D84 - .4byte Unknown_8375D8C - .4byte Unknown_8375D94 - .4byte Unknown_8375D9C - .4byte Unknown_8375DA4 - .4byte Unknown_8375DB0 - .4byte Unknown_8375DC0 - .4byte Unknown_8375DD0 - .4byte Unknown_8375DD8 - .4byte Unknown_8375DE0 - .4byte Unknown_8375DE8 - .4byte Unknown_8375DF0 - .4byte Unknown_8375DFC - .4byte Unknown_8375E08 - .4byte Unknown_8375E10 - .4byte Unknown_8375E18 - .4byte Unknown_8375E20 - .4byte Unknown_8375E28 - .4byte Unknown_8375E34 - .4byte Unknown_8375E40 - .4byte Unknown_8375E4C - .4byte Unknown_8375E58 - .4byte Unknown_8375E64 - .4byte Unknown_8375E70 - .4byte Unknown_8375E7C - .4byte Unknown_8375EB8 - .4byte Unknown_8375EC4 - .4byte Unknown_8375ED0 - .4byte Unknown_8375EDC - .4byte Unknown_8375EE8 - .4byte Unknown_8375EF4 - .4byte Unknown_8375F00 - .4byte Unknown_8375F0C - .4byte Unknown_8375F18 - .4byte Unknown_8375F24 - .4byte Unknown_8375F30 - .4byte Unknown_8375F3C - .4byte Unknown_8375F48 - .4byte Unknown_8375F54 - .4byte Unknown_8375F60 - .4byte Unknown_8375F6C - .4byte Unknown_8375F78 - .4byte Unknown_8375F84 - .4byte Unknown_8375F90 - .4byte Unknown_8375F9C - .4byte Unknown_8375FA8 - .4byte Unknown_8375FB4 - .4byte Unknown_8375FC0 - .4byte Unknown_8375FCC - .4byte Unknown_8375FD8 - .4byte Unknown_8375FE4 - .4byte Unknown_8375FF0 - .4byte Unknown_8375FFC - - .align 2 -Unknown_83759A0: - .4byte sub_8060CE0 - .4byte sub_8063474 - - .align 2 -Unknown_83759A8: - .4byte sub_8060CF0 - .4byte sub_8063474 - - .align 2 -Unknown_83759B0: - .4byte sub_8060D00 - .4byte sub_8063474 - - .align 2 -Unknown_83759B8: - .4byte sub_8060D10 - .4byte sub_8063474 - - .align 2 -gUnknown_083759C0:: @ 83759C0 - .4byte get_go_image_anim_num - .4byte get_go_fast_image_anim_num - .4byte get_go_fast_image_anim_num - .4byte get_go_faster_image_anim_num - .4byte sub_805FD78 - - .align 2 -Unknown_83759D4: - .4byte sub_8060F3C - .4byte sub_8060F5C - .4byte sub_8063474 - - .align 2 -Unknown_83759E0: - .4byte sub_8060F7C - .4byte sub_8060F9C - .4byte sub_8063474 - - .align 2 -Unknown_83759EC: - .4byte sub_8060FBC - .4byte sub_8060FDC - .4byte sub_8063474 - - .align 2 -Unknown_83759F8: - .4byte sub_8060FFC - .4byte sub_806101C - .4byte sub_8063474 - - .align 2 -Unknown_8375A04: - .4byte sub_806103C - .4byte sub_806105C - .4byte sub_8063474 - - .align 2 -Unknown_8375A10: - .4byte sub_806107C - .4byte sub_806109C - .4byte sub_8063474 - - .align 2 -Unknown_8375A1C: - .4byte sub_80610BC - .4byte sub_80610DC - .4byte sub_8063474 - - .align 2 -Unknown_8375A28: - .4byte sub_80610FC - .4byte sub_806111C - .4byte sub_8063474 - - .align 1 -gUnknown_08375A34:: @ 8375A34 - .2byte 0, 1, 1 - - .align 1 -gUnknown_08375A3A:: @ 8375A3A - .2byte 0, 0, 1 - - .align 2 -Unknown_8375A40: - .4byte sub_80613A8 - .4byte sub_80613D4 - .4byte sub_8063474 - - .align 2 -Unknown_8375A4C: - .4byte sub_8061400 - .4byte sub_806142C - .4byte sub_8063474 - - .align 2 -Unknown_8375A58: - .4byte sub_8061458 - .4byte sub_8061484 - .4byte sub_8063474 - - .align 2 -Unknown_8375A64: - .4byte sub_80614B0 - .4byte sub_80614DC - .4byte sub_8063474 - - .align 2 -Unknown_8375A70: - .4byte sub_806152C - .4byte sub_8061510 - .4byte sub_8063470 - - .align 2 -Unknown_8375A7C: - .4byte sub_806154C - .4byte sub_8061510 - .4byte sub_8063470 - - .align 2 -Unknown_8375A88: - .4byte sub_806156C - .4byte sub_8061510 - .4byte sub_8063470 - - .align 2 -Unknown_8375A94: - .4byte sub_806158C - .4byte sub_8061510 - .4byte sub_8063470 - - .align 2 -Unknown_8375AA0: - .4byte sub_80615AC - .4byte sub_8061510 - .4byte sub_8063470 - - .align 2 -Unknown_8375AAC: - .4byte sub_80615CC - .4byte sub_80615EC - .4byte sub_8063474 - - .align 2 -Unknown_8375AB8: - .4byte sub_806160C - .4byte sub_806162C - .4byte sub_8063474 - - .align 2 -Unknown_8375AC4: - .4byte sub_806164C - .4byte sub_806166C - .4byte sub_8063474 - - .align 2 -Unknown_8375AD0: - .4byte sub_806168C - .4byte sub_80616AC - .4byte sub_8063474 - - .align 2 -Unknown_8375ADC: - .4byte sub_8061778 - .4byte sub_806173C - .4byte sub_8063474 - - .align 2 -Unknown_8375AE8: - .4byte sub_80617B0 - .4byte sub_806173C - .4byte sub_8063474 - - .align 2 -Unknown_8375AF4: - .4byte sub_80617E8 - .4byte sub_806173C - .4byte sub_8063474 - - .align 2 -Unknown_8375B00: - .4byte sub_8061820 - .4byte sub_806173C - .4byte sub_8063474 - - .align 2 -Unknown_8375B0C: - .4byte sub_8061858 - .4byte sub_8061714 - .4byte sub_8063474 - - .align 2 -Unknown_8375B18: - .4byte sub_8061890 - .4byte sub_8061714 - .4byte sub_8063474 - - .align 2 -Unknown_8375B24: - .4byte sub_80618C8 - .4byte sub_8061714 - .4byte sub_8063474 - - .align 2 -Unknown_8375B30: - .4byte sub_8061900 - .4byte sub_8061714 - .4byte sub_8063474 - - .align 2 -Unknown_8375B3C: - .4byte sub_8061938 - .4byte sub_8061714 - .4byte sub_8063474 - - .align 2 -Unknown_8375B48: - .4byte sub_8061970 - .4byte sub_8061714 - .4byte sub_8063474 - - .align 2 -Unknown_8375B54: - .4byte sub_80619A8 - .4byte sub_8061714 - .4byte sub_8063474 - - .align 2 -Unknown_8375B60: - .4byte sub_80619E0 - .4byte sub_8061714 - .4byte sub_8063474 - - .align 2 -Unknown_8375B6C: - .4byte sub_8061A18 - .4byte sub_8061714 - .4byte sub_8063474 - - .align 2 -Unknown_8375B78: - .4byte sub_8061A50 - .4byte sub_8061714 - .4byte sub_8063474 - - .align 2 -Unknown_8375B84: - .4byte sub_8061A88 - .4byte sub_8061714 - .4byte sub_8063474 - - .align 2 -Unknown_8375B90: - .4byte sub_8061AC0 - .4byte sub_8061714 - .4byte sub_8063474 - - .align 2 -Unknown_8375B9C: - .4byte sub_8061AF8 - .4byte sub_8061B18 - .4byte sub_8063474 - - .align 2 -Unknown_8375BA8: - .4byte sub_8061B38 - .4byte sub_8061B58 - .4byte sub_8063474 - - .align 2 -Unknown_8375BB4: - .4byte sub_8061B78 - .4byte sub_8061B98 - .4byte sub_8063474 - - .align 2 -Unknown_8375BC0: - .4byte sub_8061BB8 - .4byte sub_8061BD8 - .4byte sub_8063474 - - .align 2 -Unknown_8375BCC: - .4byte sub_8061BF8 - .4byte sub_8061C18 - .4byte sub_8063474 - - .align 2 -Unknown_8375BD8: - .4byte sub_8061C38 - .4byte sub_8061C58 - .4byte sub_8063474 - - .align 2 -Unknown_8375BE4: - .4byte sub_8061C78 - .4byte sub_8061C98 - .4byte sub_8063474 - - .align 2 -Unknown_8375BF0: - .4byte sub_8061CB8 - .4byte sub_8061CD8 - .4byte sub_8063474 - - .align 2 -Unknown_8375BFC: - .4byte sub_8061CF8 - .4byte sub_8061D18 - .4byte sub_8063474 - - .align 2 -Unknown_8375C08: - .4byte sub_8061D38 - .4byte sub_8061D58 - .4byte sub_8063474 - - .align 2 -Unknown_8375C14: - .4byte sub_8061D78 - .4byte sub_8061D98 - .4byte sub_8063474 - - .align 2 -Unknown_8375C20: - .4byte sub_8061DB8 - .4byte sub_8061DD8 - .4byte sub_8063474 - - .align 2 -Unknown_8375C2C: - .4byte do_run_south_anim - .4byte sub_8061E18 - .4byte sub_8063474 - - .align 2 -Unknown_8375C38: - .4byte do_run_north_anim - .4byte sub_8061E58 - .4byte sub_8063474 - - .align 2 -Unknown_8375C44: - .4byte do_run_west_anim - .4byte sub_8061E98 - .4byte sub_8063474 - - .align 2 -Unknown_8375C50: - .4byte do_run_east_anim - .4byte sub_8061ED8 - .4byte sub_8063474 - - .align 2 -Unknown_8375C5C: - .4byte sub_8061F24 - .4byte sub_8061F3C - .4byte sub_8063474 - - .align 2 -Unknown_8375C68: - .4byte sub_8061F90 - .4byte sub_8061FB0 - .4byte sub_8063474 - - .align 2 -Unknown_8375C74: - .4byte sub_8061FD8 - .4byte sub_8061FF8 - .4byte sub_8063474 - - .align 2 -Unknown_8375C80: - .4byte sub_8062020 - .4byte sub_8062040 - .4byte sub_8063474 - - .align 2 -Unknown_8375C8C: - .4byte sub_8062068 - .4byte sub_8062088 - .4byte sub_8063474 - - .align 2 -Unknown_8375C98: - .4byte sub_80620B0 - .4byte sub_8063474 - - .align 2 -Unknown_8375CA0: - .4byte sub_806210C - .4byte sub_8063474 - - .align 2 -Unknown_8375CA8: - .4byte sub_8062170 - .4byte sub_8063474 - - .align 2 -Unknown_8375CB0: - .4byte sub_8062180 - .4byte sub_8063474 - - .align 2 -Unknown_8375CB8: - .4byte sub_8062190 - .4byte sub_80621BC - .4byte sub_8063474 - - .align 2 -Unknown_8375CC4: - .4byte sub_80621E8 - .4byte sub_8062214 - .4byte sub_8063474 - - .align 2 -Unknown_8375CD0: - .4byte sub_8062240 - .4byte sub_806226C - .4byte sub_8063474 - - .align 2 -Unknown_8375CDC: - .4byte sub_8062298 - .4byte sub_80622C4 - .4byte sub_8063474 - - .align 2 -Unknown_8375CE8: - .4byte sub_80622F0 - .4byte sub_806231C - .4byte sub_8063474 - - .align 2 -Unknown_8375CF4: - .4byte sub_8062348 - .4byte sub_8062374 - .4byte sub_8063474 - - .align 2 -Unknown_8375D00: - .4byte sub_80623A0 - .4byte sub_80623CC - .4byte sub_8063474 - - .align 2 -Unknown_8375D0C: - .4byte sub_80623F8 - .4byte sub_8062424 - .4byte sub_8063474 - - .align 2 -Unknown_8375D18: - .4byte sub_8062450 - .4byte sub_806247C - .4byte sub_8063474 - - .align 2 -Unknown_8375D24: - .4byte sub_80624A8 - .4byte sub_80624D4 - .4byte sub_8063474 - - .align 2 -Unknown_8375D30: - .4byte sub_8062500 - .4byte sub_806252C - .4byte sub_8063474 - - .align 2 -Unknown_8375D3C: - .4byte sub_8062558 - .4byte sub_8062584 - .4byte sub_8063474 - - .align 2 -Unknown_8375D48: - .4byte sub_80625B0 - .4byte sub_8063474 - - .align 2 -Unknown_8375D50: - .4byte sub_80625C8 - .4byte sub_8061F3C - .4byte sub_8063474 - - .align 2 -Unknown_8375D5C: - .4byte sub_80625D8 - .4byte sub_8063470 - - .align 2 -Unknown_8375D64: - .4byte sub_80625E8 - .4byte sub_8063470 - - .align 2 -Unknown_8375D6C: - .4byte sub_80625F8 - .4byte sub_8063470 - - .align 2 -Unknown_8375D74: - .4byte sub_8062608 - .4byte sub_8063470 - - .align 2 -Unknown_8375D7C: - .4byte sub_8062634 - .4byte sub_8063470 - - .align 2 -Unknown_8375D84: - .4byte sub_8062644 - .4byte sub_8063470 - - .align 2 -Unknown_8375D8C: - .4byte do_exclamation_mark_bubble_1 - .4byte sub_8063470 - - .align 2 -Unknown_8375D94: - .4byte do_exclamation_mark_bubble_2 - .4byte sub_8063470 - - .align 2 -Unknown_8375D9C: - .4byte do_heart_bubble - .4byte sub_8063470 - - .align 2 -Unknown_8375DA4: - .4byte sub_80626C0 - .4byte sub_8062704 - .4byte sub_8063470 - - .align 2 -Unknown_8375DB0: - .4byte sub_8062724 - .4byte sub_8062740 - .4byte sub_8062764 - .4byte sub_8063470 - - .align 2 -Unknown_8375DC0: - .4byte sub_80627A0 - .4byte sub_80627BC - .4byte sub_80627E0 - .4byte sub_8063470 - - .align 2 -Unknown_8375DD0: - .4byte sub_806281C - .4byte sub_8063470 - - .align 2 -Unknown_8375DD8: - .4byte sub_806282C - .4byte sub_8063470 - - .align 2 -Unknown_8375DE0: - .4byte sub_806283C - .4byte sub_8063470 - - .align 2 -Unknown_8375DE8: - .4byte sub_806286C - .4byte sub_8063470 - - .align 2 -Unknown_8375DF0: - .4byte sub_806289C - .4byte sub_80628D0 - .4byte sub_8063474 - - .align 2 -Unknown_8375DFC: - .4byte sub_80628FC - .4byte sub_8062930 - .4byte sub_8063474 - - .align 2 -Unknown_8375E08: - .4byte sub_806299C - .4byte sub_8063474 - - .align 2 -Unknown_8375E10: - .4byte sub_80629AC - .4byte sub_8063474 - - .align 2 -Unknown_8375E18: - .4byte sub_80629BC - .4byte sub_8063474 - - .align 2 -Unknown_8375E20: - .4byte sub_80629CC - .4byte sub_8063474 - - .align 2 -Unknown_8375E28: - .4byte sub_80629DC - .4byte sub_8061F3C - .4byte sub_8063474 - - .align 2 -Unknown_8375E34: - .4byte sub_8062A00 - .4byte sub_8061F3C - .4byte sub_8063474 - - .align 2 -Unknown_8375E40: - .4byte sub_8062A24 - .4byte sub_8061F3C - .4byte sub_8063474 - - .align 2 -Unknown_8375E4C: - .4byte sub_8062A48 - .4byte sub_8061F3C - .4byte sub_8063474 - - .align 2 -Unknown_8375E58: - .4byte sub_8062A6C - .4byte sub_8061F3C - .4byte sub_8063474 - - .align 2 -Unknown_8375E64: - .4byte sub_8062A90 - .4byte sub_8061F3C - .4byte sub_8063474 - - .align 2 -Unknown_8375E70: - .4byte sub_8062AB4 - .4byte sub_8061F3C - .4byte sub_8063474 - - .align 2 -Unknown_8375E7C: - .4byte sub_8062AD8 - .4byte sub_8061F3C - .4byte sub_8063474 - .4byte sub_8062AFC - .4byte sub_8061F3C - .4byte sub_8063474 - .4byte sub_8062B20 - .4byte sub_8061F3C - .4byte sub_8063474 - .4byte sub_8062B44 - .4byte sub_8061F3C - .4byte sub_8063474 - .4byte sub_8062B68 - .4byte sub_8061F3C - .4byte sub_8063474 - - .align 2 -Unknown_8375EB8: - .4byte sub_8062BD0 - .4byte sub_8062BFC - .4byte sub_8063474 - - .align 2 -Unknown_8375EC4: - .4byte sub_8062C28 - .4byte sub_8062C54 - .4byte sub_8063474 - - .align 2 -Unknown_8375ED0: - .4byte sub_8062C80 - .4byte sub_8062CAC - .4byte sub_8063474 - - .align 2 -Unknown_8375EDC: - .4byte sub_8062CD8 - .4byte sub_8062D04 - .4byte sub_8063474 - - .align 2 -Unknown_8375EE8: - .4byte sub_8062D30 - .4byte sub_8062D5C - .4byte sub_8063474 - - .align 2 -Unknown_8375EF4: - .4byte sub_8062D88 - .4byte sub_8062DB4 - .4byte sub_8063474 - - .align 2 -Unknown_8375F00: - .4byte sub_8062DE0 - .4byte sub_8062E0C - .4byte sub_8063474 - - .align 2 -Unknown_8375F0C: - .4byte sub_8062E38 - .4byte sub_8062E64 - .4byte sub_8063474 - - .align 2 -Unknown_8375F18: - .4byte sub_8062E90 - .4byte sub_8062EBC - .4byte sub_8063474 - - .align 2 -Unknown_8375F24: - .4byte sub_8062EE8 - .4byte sub_8062F14 - .4byte sub_8063474 - - .align 2 -Unknown_8375F30: - .4byte sub_8062F40 - .4byte sub_8062F6C - .4byte sub_8063474 - - .align 2 -Unknown_8375F3C: - .4byte sub_8062F98 - .4byte sub_8062FC4 - .4byte sub_8063474 - - .align 2 -Unknown_8375F48: - .4byte sub_8062FF0 - .4byte sub_8061714 - .4byte sub_8063474 - - .align 2 -Unknown_8375F54: - .4byte sub_8063028 - .4byte sub_8061714 - .4byte sub_8063474 - - .align 2 -Unknown_8375F60: - .4byte sub_8063060 - .4byte sub_8061714 - .4byte sub_8063474 - - .align 2 -Unknown_8375F6C: - .4byte sub_8063098 - .4byte sub_8061714 - .4byte sub_8063474 - - .align 2 -Unknown_8375F78: - .4byte sub_8063108 - .4byte sub_8063128 - .4byte sub_8063474 - - .align 2 -Unknown_8375F84: - .4byte sub_8063148 - .4byte sub_8063168 - .4byte sub_8063474 - - .align 2 -Unknown_8375F90: - .4byte sub_8063188 - .4byte sub_80631A8 - .4byte sub_8063474 - - .align 2 -Unknown_8375F9C: - .4byte sub_80631C8 - .4byte sub_80631E8 - .4byte sub_8063474 - - .align 2 -Unknown_8375FA8: - .4byte sub_8063238 - .4byte sub_8063258 - .4byte sub_8063474 - - .align 2 -Unknown_8375FB4: - .4byte sub_8063278 - .4byte sub_8063298 - .4byte sub_8063474 - - .align 2 -Unknown_8375FC0: - .4byte sub_80632B8 - .4byte sub_80632D8 - .4byte sub_8063474 - - .align 2 -Unknown_8375FCC: - .4byte sub_80632F8 - .4byte sub_8063318 - .4byte sub_8063474 - - .align 2 -Unknown_8375FD8: - .4byte sub_8063370 - .4byte sub_8063390 - .4byte sub_8063474 - - .align 2 -Unknown_8375FE4: - .4byte sub_80633B0 - .4byte sub_80633D0 - .4byte sub_8063474 - - .align 2 -Unknown_8375FF0: - .4byte sub_80633F0 - .4byte sub_8063410 - .4byte sub_8063474 - - .align 2 -Unknown_8375FFC: - .4byte sub_8063430 - .4byte sub_8063450 - .4byte sub_8063474 - - .align 2 -gUnknown_08376008:: @ 8376008 - .4byte 0x00000020 - .4byte 0x00000010 - -@ Functions used to determine which category of tile the player is landing -@ on after jumping over a ledge. - .align 2 -gJumpLanding_MetatileFunctionPointers:: @ 8376010 - .4byte MetatileBehavior_IsTallGrass - .4byte MetatileBehavior_IsLongGrass - .4byte MetatileBehavior_IsPuddle - .4byte MetatileBehavior_IsSurfableWaterOrUnderwater - .4byte MetatileBehavior_IsShallowFlowingWater - .4byte sub_8056D9C - -@ This table contains bitmasks used for determining the animation that happens when the player lands on -@ the ground after jumping over a ledge. Each entry corresponds to the gJumpLanding_MetatileFunctionPointers table. - .align 2 -gJumpLanding_Bitmasks:: @ 8376028 - .4byte 0x00001000 @ Landing in tall grass - .4byte 0x00002000 @ Landing in long grass - .4byte 0x00004000 @ Landing on puddle - .4byte 0x00008000 @ Landing on surfable water or underwater - .4byte 0x00004000 @ Landing on shallow flowing water - .4byte 0x00010000 @ Landing on any other type of ground - - .align 2 -gUnknown_08376040:: @ 8376040 - .4byte MetatileBehavior_IsJumpSouth - .4byte MetatileBehavior_IsJumpNorth - .4byte MetatileBehavior_IsJumpWest - .4byte MetatileBehavior_IsJumpEast - -gUnknown_08376050:: @ 8376050 - .byte 0x73, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x00, 0x00, 0x73 - -@ Each byte corresponds to a sprite priority for a field object. -@ This is directly the inverse of gFieldObjectPriorities_08376070. -gFieldObjectPriorities_08376060:: @ 8376060 - .byte 2, 2, 2, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 0, 0, 2 - -@ Each byte corresponds to a sprite priority for a field object. -@ This is the inverse of gFieldObjectPriorities_08376060. -@ 1 = Above player sprite -@ 2 = Below player sprite -gFieldObjectPriorities_08376070:: @ 8376070 - .byte 1, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 0, 0, 1 - - .align 2 -gUnknown_08376080:: @ 8376080 - .4byte nullsub_50 - .4byte DoTracksGroundEffect_Footprints - .4byte DoTracksGroundEffect_BikeTireTracks - -@ First byte is a Field Effect script id. (gFieldEffectScriptPointers) -@ Last three bytes are unknown. -gSandFootprints_FieldEffectData:: @ 837608C - .byte 0xD, 0x0, 0x18, 0x0 - -@ Specifies which bike track shape to show next. -@ For example, when the bike turns from up to right, it will show -@ a track that curves to the right. -@ Each 4-byte row corresponds to the initial direction of the bike, and -@ each byte in that row is for the next direction of the bike in the order -@ of down, up, left, right. -gBikeTireTracks_Transitions:: @ 8376090 - .byte 1, 2, 7, 8 - .byte 1, 2, 6, 5 - .byte 5, 8, 3, 4 - .byte 6, 7, 3, 4 - - .align 2 -gUnknown_083760A0:: @ 83760A0 - .4byte GroundEffect_SpawnOnTallGrass - .4byte sub_8063E94 - .4byte sub_8063EE0 - .4byte sub_8063F2C - .4byte GroundEffect_WaterReflection - .4byte GroundEffect_IceReflection - .4byte GroundEffect_FlowingWater - .4byte sub_8063FA0 - .4byte sub_8063FCC - .4byte GroundEffect_Ripple - .4byte GroundEffect_StepOnPuddle - .4byte GroundEffect_SandPile - .4byte GroundEffect_JumpOnTallGrass - .4byte GroundEffect_JumpOnLongGrass - .4byte GroundEffect_JumpOnShallowWater - .4byte GroundEffect_JumpOnWater - .4byte GroundEffect_JumpLandingDust - .4byte GroundEffect_ShortGrass - .4byte GroundEffect_HotSprings - .4byte GroundEffect_Seaweed - - .align 2 -Unknown_83760F0: - .4byte little_step - .4byte little_step - .4byte little_step - .4byte little_step - .4byte little_step - .4byte little_step - .4byte little_step - .4byte little_step - .4byte little_step - .4byte little_step - .4byte little_step - .4byte little_step - .4byte little_step - .4byte little_step - .4byte little_step - .4byte little_step - - .align 2 -Unknown_8376130: - .4byte sub_806456C - .4byte sub_806456C - .4byte sub_806456C - .4byte sub_806456C - .4byte sub_806456C - .4byte sub_806456C - .4byte sub_806456C - .4byte sub_806456C - - .align 2 -Unknown_8376150: - .4byte sub_806456C - .4byte sub_8064590 - .4byte sub_8064590 - .4byte sub_806456C - .4byte sub_8064590 - .4byte sub_8064590 - - .align 2 -Unknown_8376168: - .4byte sub_80645B8 - .4byte sub_80645B8 - .4byte sub_80645B8 - .4byte sub_80645B8 - - .align 2 -Unknown_8376178: - .4byte sub_80645DC - .4byte sub_80645DC - - .align 2 -gUnknown_08376180:: @ 8376180 - .4byte Unknown_83760F0 - .4byte Unknown_8376130 - .4byte Unknown_8376150 - .4byte Unknown_8376168 - .4byte Unknown_8376178 - - .align 1 -gUnknown_08376194:: @ 8376194 - .2byte 16, 8, 6, 4, 2 -Unknown_837619E: - .byte -4, -6, -8, -10, -11, -12, -12, -12, -11, -10, -9, -8, -6, -4, 0, 0 -Unknown_83761AE: - .byte 0, -2, -3, -4, -5, -6, -6, -6, -5, -5, -4, -3, -2, 0, 0, 0 -Unknown_83761BE: - .byte -2, -4, -6, -8, -9, -10, -10, -10, -9, -8, -6, -5, -3, -2, 0, 0 - - .align 2 -gUnknown_083761D0:: @ 83761D0 - .4byte Unknown_837619E - .4byte Unknown_83761AE - .4byte Unknown_83761BE - - .align 1 -gUnknown_083761DC:: @ 83761DC - .2byte 0x10, 0x10, 0x20 - -gUnknown_083761E2:: @ 83761E2 - .byte 0, 0, 1 - - .align 1 -gUnknown_083761E6:: @ 83761E6 - .2byte 0x20, 0x20, 0x40 - -gUnknown_083761EC:: @ 83761EC - .byte 1, 1, 2 - - .align 2 -gUnknown_083761F0:: @ 83761F0 - .4byte gTextWindowFrame1_Gfx, gTextWindowFrame1_Pal - .4byte gTextWindowFrame2_Gfx, gTextWindowFrame2_Pal - .4byte gTextWindowFrame3_Gfx, gTextWindowFrame3_Pal - .4byte gTextWindowFrame4_Gfx, gTextWindowFrame4_Pal - .4byte gTextWindowFrame5_Gfx, gTextWindowFrame5_Pal - .4byte gTextWindowFrame6_Gfx, gTextWindowFrame6_Pal - .4byte gTextWindowFrame7_Gfx, gTextWindowFrame7_Pal - .4byte gTextWindowFrame8_Gfx, gTextWindowFrame8_Pal - .4byte gTextWindowFrame9_Gfx, gTextWindowFrame9_Pal - .4byte gTextWindowFrame10_Gfx, gTextWindowFrame10_Pal - .4byte gTextWindowFrame11_Gfx, gTextWindowFrame11_Pal - .4byte gTextWindowFrame12_Gfx, gTextWindowFrame12_Pal - .4byte gTextWindowFrame13_Gfx, gTextWindowFrame13_Pal - .4byte gTextWindowFrame14_Gfx, gTextWindowFrame14_Pal - .4byte gTextWindowFrame15_Gfx, gTextWindowFrame15_Pal - .4byte gTextWindowFrame16_Gfx, gTextWindowFrame16_Pal - .4byte gTextWindowFrame17_Gfx, gTextWindowFrame17_Pal - .4byte gTextWindowFrame18_Gfx, gTextWindowFrame18_Pal - .4byte gTextWindowFrame19_Gfx, gTextWindowFrame19_Pal - .4byte gTextWindowFrame20_Gfx, gTextWindowFrame20_Pal - - .align 1 -gMessageBoxTilemap:: @ 8376290 - .incbin "graphics/text_window/message_box_map.bin" - - .align 2 -gUnknown_083762D8:: @ 83762D8 - .4byte NULL - -gScriptConditionTable:: @ 83762DC - @ < = > - .byte 1, 0, 0 @ < - .byte 0, 1, 0 @ = - .byte 0, 0, 1 @ > - .byte 1, 1, 0 @ <= - .byte 0, 1, 1 @ >= - .byte 1, 0, 1 @ != - - .align 2 -gUnknown_083762F0:: @ 83762F0 - .4byte gStringVar1 - .4byte gStringVar2 - .4byte gStringVar3 - - .align 2 -gUnknown_083762FC:: @ 83762FC - .4byte 0x1, sub_806936C - .4byte 0x2, sub_8069378 - .4byte 0x3, sub_8069384 - .4byte 0x4, sub_8069390 - .4byte 0x5, sub_806939C - .4byte 0x6, sub_80693A8 - .4byte 0x7, sub_80693B4 - .4byte 0x8, sub_80693C0 - .4byte 0x9, sub_80693CC - .4byte 0xa, sub_80693D8 - .4byte 0xb, sub_80693E4 - .4byte 0x14, sub_80693F0 - .4byte 0x15, sub_80693FC - - .align 2 -gUnknown_08376364:: @ 8376364 - .4byte nullsub_51 - .4byte sub_8069F64 - .4byte sub_8069AA0 - .4byte sub_8069864 - .4byte sub_8069DD4 - .4byte EndTruckSequence - .4byte sub_80BCF1C - .4byte sub_806A07C - -gUnknown_08376384:: @ 8376384 - .incbin "baserom.gba", 0x00376384, 0x20 - -gUnknown_083763A4:: @ 83763A4 - .incbin "baserom.gba", 0x003763a4, 0x20 - -gUnknown_083763C4:: @ 83763C4 - .incbin "baserom.gba", 0x003763c4, 0x20 - -gUnknown_083763E4:: @ 83763E4 - .incbin "baserom.gba", 0x003763e4, 0x30 - -gUnknown_08376414:: @ 8376414 - .space 4 - -gUnknown_08376418:: @ 8376418 - .incbin "baserom.gba", 0x00376418, 0x44 - - .align 2 -gOamData_837645C:: @ 837645C - .2byte 0x0000 - .2byte 0x0000 - .2byte 0x0000 - - .align 2 -gSpriteImage_8376464:: @ 8376464 - .incbin "graphics/unknown_sprites/83764AC/0.4bpp" - - .align 2 -gSpriteImage_8376484:: @ 8376484 - .incbin "graphics/unknown_sprites/83764AC/1.4bpp" - - .align 2 -Palette_3764A4: @ 83764A4 - .incbin "baserom.gba", 0x3764a4, 0x8 - - .align 2 -gSpriteImageTable_83764AC:: @ 83764AC - obj_frame_tiles gSpriteImage_8376464, 0x20 - obj_frame_tiles gSpriteImage_8376484, 0x20 - - .align 2 -gUnknown_083764BC:: @ 83764BC - obj_pal Palette_3764A4, 0x1000 - - .align 2 -gSpriteAnim_83764C4:: @ 83764C4 - obj_image_anim_frame 0, 30 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnim_83764CC:: @ 83764CC - obj_image_anim_frame 0, 30, OBJ_IMAGE_ANIM_V_FLIP - obj_image_anim_jump 0 - - .align 2 -gSpriteAnim_83764D4:: @ 83764D4 - obj_image_anim_frame 1, 30 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnimTable_83764DC:: @ 83764DC - .4byte gSpriteAnim_83764C4 - .4byte gSpriteAnim_83764CC - .4byte gSpriteAnim_83764D4 - - .align 2 -gSpriteTemplate_83764E8:: @ 83764E8 - spr_template 0xFFFF, 0x1000, gOamData_837645C, gSpriteAnimTable_83764DC, gSpriteImageTable_83764AC, gDummySpriteAffineAnimTable, SpriteCallbackDummy - -gUnknown_08376500:: @ 8376500 - .incbin "baserom.gba", 0x00376500, 0x4 - - .align 1 -gUnknown_08376504:: @ 8376504 - .2byte MOVE_FOCUS_PUNCH - .2byte MOVE_DRAGON_CLAW - .2byte MOVE_WATER_PULSE - .2byte MOVE_CALM_MIND - .2byte MOVE_ROAR - .2byte MOVE_TOXIC - .2byte MOVE_HAIL - .2byte MOVE_BULK_UP - .2byte MOVE_BULLET_SEED - .2byte MOVE_HIDDEN_POWER - .2byte MOVE_SUNNY_DAY - .2byte MOVE_TAUNT - .2byte MOVE_ICE_BEAM - .2byte MOVE_BLIZZARD - .2byte MOVE_HYPER_BEAM - .2byte MOVE_LIGHT_SCREEN - .2byte MOVE_PROTECT - .2byte MOVE_RAIN_DANCE - .2byte MOVE_GIGA_DRAIN - .2byte MOVE_SAFEGUARD - .2byte MOVE_FRUSTRATION - .2byte MOVE_SOLAR_BEAM - .2byte MOVE_IRON_TAIL - .2byte MOVE_THUNDERBOLT - .2byte MOVE_THUNDER - .2byte MOVE_EARTHQUAKE - .2byte MOVE_RETURN - .2byte MOVE_DIG - .2byte MOVE_PSYCHIC - .2byte MOVE_SHADOW_BALL - .2byte MOVE_BRICK_BREAK - .2byte MOVE_DOUBLE_TEAM - .2byte MOVE_REFLECT - .2byte MOVE_SHOCK_WAVE - .2byte MOVE_FLAMETHROWER - .2byte MOVE_SLUDGE_BOMB - .2byte MOVE_SANDSTORM - .2byte MOVE_FIRE_BLAST - .2byte MOVE_ROCK_TOMB - .2byte MOVE_AERIAL_ACE - .2byte MOVE_TORMENT - .2byte MOVE_FACADE - .2byte MOVE_SECRET_POWER - .2byte MOVE_REST - .2byte MOVE_ATTRACT - .2byte MOVE_THIEF - .2byte MOVE_STEEL_WING - .2byte MOVE_SKILL_SWAP - .2byte MOVE_SNATCH - .2byte MOVE_OVERHEAT - .2byte MOVE_CUT - .2byte MOVE_FLY - .2byte MOVE_SURF - .2byte MOVE_STRENGTH - .2byte MOVE_FLASH - .2byte MOVE_ROCK_SMASH - .2byte MOVE_WATERFALL - .2byte MOVE_DIVE - - .4byte gTileBuffer @ unreferenced? - -MenuGfx_HoldIcons: - .incbin "graphics/interface/hold_icons.4bpp" -MenuPal_HoldIcons: - .incbin "graphics/interface/hold_icons.gbapal" - - .align 2 -gUnknown_083765DC:: @ 83765DC - obj_tiles MenuGfx_HoldIcons, 64, 0xd750 - - .align 2 -gUnknown_083765E4:: @ 83765E4 - obj_pal MenuPal_HoldIcons, 0xd750 - - .align 2 -gOamData_83765EC:: @ 83765EC - .2byte 0x0000 - .2byte 0x0000 - .2byte 0x0400 - - .align 2 -gSpriteAnim_83765F4:: @ 83765F4 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83765FC:: @ 83765FC - obj_image_anim_frame 1, 1 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_8376604:: @ 8376604 - .4byte gSpriteAnim_83765F4 - .4byte gSpriteAnim_83765FC - - .align 2 -gSpriteTemplate_837660C:: @ 837660C - spr_template 55120, 55120, gOamData_83765EC, gSpriteAnimTable_8376604, NULL, gDummySpriteAffineAnimTable, sub_806DD7C - - .align 2 -gUnknown_08376624:: @ 8376624 - .4byte OtherText_ChoosePoke - .4byte OtherText_MovePokeTo - .4byte OtherText_TeachWhat - .4byte OtherText_UseWhat - .4byte OtherText_GiveWhat - .4byte OtherText_DoWhat - .4byte OtherText_NothingToCut - .4byte OtherText_CantSurf - .4byte OtherText_AlreadySurfing - .4byte OtherText_CantUseThatHere - .4byte OtherText_RestoreWhatMove - .4byte OtherText_BoostPP - .4byte gOtherText_CancelWithTerminator - .4byte OtherText_DoWhatWithItem - .4byte OtherText_NoPokeForBattle - .4byte OtherText_ChoosePoke2 - .4byte OtherText_NotEnoughHP - .4byte OtherText_ThreePokeNeeded - .4byte OtherText_PokeCantBeSame - .4byte OtherText_NoIdenticalHoldItems - .4byte OtherText_TeachWhichPoke - - .align 2 -gUnknown_08376678:: @ 8376678 - .byte 16, 40, 0, 0 - .byte 104, 18, 0, 0 - .byte 104, 42, 0, 0 - .byte 104, 66, 0, 0 - .byte 104, 90, 0, 0 - .byte 104, 114, 0, 0 - .byte 16, 24, 0, 0 - .byte 16, 80, 0, 0 - .byte 104, 18, 0, 0 - .byte 104, 50, 0, 0 - .byte 104, 82, 0, 0 - .byte 104, 114, 0, 0 - .byte 16, 24, 0, 0 - .byte 16, 80, 0, 0 - .byte 104, 26, 0, 0 - .byte 104, 50, 0, 0 - .byte 104, 82, 0, 0 - .byte 104, 106, 0, 0 - .byte 16, 24, 0, 0 - .byte 104, 26, 0, 0 - .byte 104, 50, 0, 0 - .byte 16, 80, 0, 0 - .byte 104, 82, 0, 0 - .byte 104, 106, 0, 0 - .byte 5, 4, 0, 0 - .byte 16, 1, 0, 0 - .byte 16, 4, 0, 0 - .byte 16, 7, 0, 0 - .byte 16, 10, 0, 0 - .byte 16, 13, 0, 0 - .byte 5, 2, 0, 0 - .byte 5, 9, 0, 0 - .byte 16, 1, 0, 0 - .byte 16, 5, 0, 0 - .byte 16, 9, 0, 0 - .byte 16, 13, 0, 0 - .byte 5, 2, 0, 0 - .byte 5, 9, 0, 0 - .byte 16, 2, 0, 0 - .byte 16, 5, 0, 0 - .byte 16, 9, 0, 0 - .byte 16, 12, 0, 0 - .byte 5, 2, 0, 0 - .byte 16, 2, 0, 0 - .byte 16, 5, 0, 0 - .byte 5, 9, 0, 0 - .byte 16, 9, 0, 0 - .byte 16, 12, 0, 0 - - .align 2 -gUnknown_08376738:: @ 8376738 - .byte 6, 5, 0, 0 - .byte 17, 2, 0, 0 - .byte 17, 5, 0, 0 - .byte 17, 8, 0, 0 - .byte 17, 11, 0, 0 - .byte 17, 14, 0, 0 - .byte 6, 3, 0, 0 - .byte 6, 10, 0, 0 - .byte 17, 2, 0, 0 - .byte 17, 6, 0, 0 - .byte 17, 10, 0, 0 - .byte 17, 14, 0, 0 - .byte 6, 3, 0, 0 - .byte 6, 10, 0, 0 - .byte 17, 3, 0, 0 - .byte 17, 6, 0, 0 - .byte 17, 10, 0, 0 - .byte 17, 13, 0, 0 - .byte 6, 3, 0, 0 - .byte 17, 3, 0, 0 - .byte 17, 6, 0, 0 - .byte 6, 10, 0, 0 - .byte 17, 10, 0, 0 - .byte 17, 13, 0, 0 - .byte 3, 7, 0, 0 - .byte 22, 2, 0, 0 - .byte 22, 5, 0, 0 - .byte 22, 8, 0, 0 - .byte 22, 11, 0, 0 - .byte 22, 14, 0, 0 - .byte 3, 5, 0, 0 - .byte 3, 12, 0, 0 - .byte 22, 2, 0, 0 - .byte 22, 6, 0, 0 - .byte 22, 10, 0, 0 - .byte 22, 14, 0, 0 - .byte 3, 5, 0, 0 - .byte 3, 12, 0, 0 - .byte 22, 3, 0, 0 - .byte 22, 6, 0, 0 - .byte 22, 10, 0, 0 - .byte 22, 13, 0, 0 - .byte 3, 5, 0, 0 - .byte 22, 3, 0, 0 - .byte 22, 6, 0, 0 - .byte 3, 12, 0, 0 - .byte 22, 10, 0, 0 - .byte 22, 13, 0, 0 - .byte 7, 7, 0, 0 - .byte 26, 2, 0, 0 - .byte 26, 5, 0, 0 - .byte 26, 8, 0, 0 - .byte 26, 11, 0, 0 - .byte 26, 14, 0, 0 - .byte 7, 5, 0, 0 - .byte 7, 12, 0, 0 - .byte 26, 2, 0, 0 - .byte 26, 6, 0, 0 - .byte 26, 10, 0, 0 - .byte 26, 14, 0, 0 - .byte 7, 5, 0, 0 - .byte 7, 12, 0, 0 - .byte 26, 3, 0, 0 - .byte 26, 6, 0, 0 - .byte 26, 10, 0, 0 - .byte 26, 13, 0, 0 - .byte 7, 5, 0, 0 - .byte 26, 3, 0, 0 - .byte 26, 6, 0, 0 - .byte 7, 12, 0, 0 - .byte 26, 10, 0, 0 - .byte 26, 13, 0, 0 - - .align 2 -gUnknown_08376858:: @ 8376858 - .4byte BG_VRAM + 0xF1C8 - .4byte BG_VRAM + 0xF0AE - .4byte BG_VRAM + 0xF16E - .4byte BG_VRAM + 0xF22E - .4byte BG_VRAM + 0xF2EE - .4byte BG_VRAM + 0xF3AE - .4byte BG_VRAM + 0xF148 - .4byte BG_VRAM + 0xF308 - .4byte BG_VRAM + 0xF0AE - .4byte BG_VRAM + 0xF1AE - .4byte BG_VRAM + 0xF2AE - .4byte BG_VRAM + 0xF3AE - .4byte BG_VRAM + 0xF148 - .4byte BG_VRAM + 0xF308 - .4byte BG_VRAM + 0xF0EE - .4byte BG_VRAM + 0xF1AE - .4byte BG_VRAM + 0xF2AE - .4byte BG_VRAM + 0xF36E - .4byte BG_VRAM + 0xF148 - .4byte BG_VRAM + 0xF0EE - .4byte BG_VRAM + 0xF1AE - .4byte BG_VRAM + 0xF308 - .4byte BG_VRAM + 0xF2AE - .4byte BG_VRAM + 0xF36E - - .align 2 -gUnknown_083768B8:: @ 83768B8 - .byte 8, 44, 0, 0 - .byte 92, 22, 0, 0 - .byte 92, 46, 0, 0 - .byte 92, 70, 0, 0 - .byte 92, 94, 0, 0 - .byte 92, 118, 0, 0 - .byte 196, 136, 0, 0 - .byte 196, 152, 0, 0 - .byte 8, 28, 0, 0 - .byte 8, 84, 0, 0 - .byte 92, 22, 0, 0 - .byte 92, 54, 0, 0 - .byte 92, 86, 0, 0 - .byte 92, 118, 0, 0 - .byte 196, 136, 0, 0 - .byte 196, 152, 0, 0 - .byte 8, 28, 0, 0 - .byte 8, 84, 0, 0 - .byte 92, 30, 0, 0 - .byte 92, 54, 0, 0 - .byte 92, 86, 0, 0 - .byte 92, 110, 0, 0 - .byte 196, 136, 0, 0 - .byte 196, 152, 0, 0 - - .align 2 -gUnknown_08376918:: @ 8376918 - .4byte BG_VRAM + 0xF1C6 - .4byte BG_VRAM + 0xF06C - .4byte BG_VRAM + 0xF12C - .4byte BG_VRAM + 0xF1EC - .4byte BG_VRAM + 0xF2AC - .4byte BG_VRAM + 0xF36C - .4byte BG_VRAM + 0xF148 - .4byte BG_VRAM + 0xF308 - .4byte BG_VRAM + 0xF0AE - .4byte BG_VRAM + 0xF1AE - .4byte BG_VRAM + 0xF2AE - .4byte BG_VRAM + 0xF3AE - - .align 2 -gUnknown_08376948:: @ 8376948 - .byte 2, 4, 10, 9 - .byte 16, 1, 29, 3 - .byte 16, 4, 29, 6 - .byte 16, 7, 29, 9 - .byte 16, 10, 29, 12 - .byte 16, 13, 29, 15 - .byte 2, 2, 10, 7 - .byte 2, 9, 10, 14 - .byte 16, 1, 29, 3 - .byte 16, 5, 29, 7 - .byte 16, 9, 29, 11 - .byte 16, 13, 29, 15 - - .align 2 -gUnknown_08376978:: @ 8376978 - .byte 2, 7, 10, 9 - .byte 21, 1, 29, 3 - .byte 21, 4, 29, 6 - .byte 21, 7, 29, 9 - .byte 21, 10, 29, 12 - .byte 21, 13, 29, 15 - .byte 2, 2, 10, 7 - .byte 2, 9, 10, 14 - .byte 16, 1, 29, 3 - .byte 16, 5, 29, 7 - .byte 16, 9, 29, 11 - .byte 16, 13, 29, 15 - - .align 2 -gUnknown_083769A8:: @ 83769A8 - .byte 0, 3 - .byte 11, 1 - .byte 11, 4 - .byte 11, 7 - .byte 11, 10 - .byte 11, 13 - .byte 0, 1 - .byte 0, 8 - .byte 11, 1 - .byte 11, 5 - .byte 11, 9 - .byte 11, 13 - - .align 2 -gUnknown_083769C0:: @ 83769C0 - .byte 0, 1 - .byte 0, 8 - .byte 11, 2 - .byte 11, 5 - .byte 11, 9 - .byte 11, 12 - .byte 0, 1 - .byte 0, 8 - .byte 11, 2 - .byte 11, 5 - .byte 11, 9 - .byte 11, 12 - -gUnknown_083769D8:: @ 83769D8 - .byte 0x24,0x25,0x25,0x25,0x25,0x25,0x25,0x25,0x25,0x25,0x27 - .byte 0x34,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x37 - .byte 0x34,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x37 - .byte 0x34,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x37 - .byte 0x44,0x45,0x45,0x45,0x45,0x45,0x45,0x45,0x45,0x45,0x47 - .byte 0x44,0x45,0x45,0x45,0x45,0x45,0x45,0x45,0x45,0x45,0x47 - .byte 0x54,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x57 - -gUnknown_08376A25:: @ 8376A25 - .byte 0x50,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x53 - .byte 0x60,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x63 - .byte 0x70,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x73 - -gUnknown_08376A5E:: @ 8376A5E - .byte 0x20,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x23 - .byte 0x30,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x33 - .byte 0x40,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x43 - -@ unknown, unreferenced data - .byte 0x0C - .byte 0x0D - .byte 0x0E - .byte 0x0F - .byte 0x00 - .byte 0x01 - .byte 0x02 - .byte 0x03 - .byte 0x04 - .byte 0x05 - .byte 0x0F - .byte 0x10 - .byte 0x11 - .byte 0x12 - .byte 0x13 - .byte 0x14 - .byte 0x15 - .byte 0x0F - .byte 0x06 - .byte 0x05 - .byte 0x01 - .byte 0x07 - .byte 0x08 - .byte 0x09 - .byte 0x0F - .byte 0x16 - .byte 0x15 - .byte 0x11 - .byte 0x17 - .byte 0x18 - .byte 0x19 - .byte 0x0F - .byte 0x09 - .byte 0x0A - .byte 0x0B - .byte 0x05 - .byte 0x0C - .byte 0x0F - .byte 0x0F - .byte 0x19 - .byte 0x1A - .byte 0x1B - .byte 0x15 - .byte 0x1C - .byte 0x0F - .byte 0x0F - .byte 0x0D - .byte 0x0B - .byte 0x05 - .byte 0x0C - .byte 0x0F - .byte 0x0F - .byte 0x0F - .byte 0x1D - .byte 0x1B - .byte 0x15 - .byte 0x1C - .byte 0x0F - .byte 0x0F - .byte 0x0F - .byte 0x06 - .byte 0x05 - .byte 0x0B - .byte 0x05 - .byte 0x0C - .byte 0x0F - .byte 0x0F - .byte 0x16 - .byte 0x15 - .byte 0x1B - .byte 0x15 - .byte 0x1C - .byte 0x0F - .byte 0x0F - .byte 0x0F - .byte 0x0F - .byte 0x20 - .byte 0x0C - .byte 0x09 - .byte 0x0F - .byte 0x0F - .byte 0x0F - .byte 0x1F - .byte 0x30 - .byte 0x1C - .byte 0x19 - .byte 0x0F - .byte 0x0F - .byte 0x0F - .byte 0x25 - .byte 0x0F - .byte 0x22 - .byte 0x24 - .byte 0x0F - .byte 0x0F - .byte 0x0F - .byte 0x35 - .byte 0x41 - .byte 0x32 - .byte 0x34 - .byte 0x0F - .byte 0x0F - .byte 0x0F - .byte 0x26 - .byte 0x0F - .byte 0x23 - .byte 0x0E - .byte 0x0F - .byte 0x0F - .byte 0x0F - .byte 0x36 - .byte 0x43 - .byte 0x33 - .byte 0x1E - .byte 0x0F - .byte 0x0F - .byte 0x27 - .byte 0x28 - .byte 0x29 - .byte 0x03 - .byte 0x2A - .byte 0x0F - .byte 0x0F - .byte 0x37 - .byte 0x38 - .byte 0x39 - .byte 0x13 - .byte 0x3A - .byte 0x0F - .byte 0x0F - .byte 0x27 - .byte 0x28 - .byte 0x29 - .byte 0x03 - .byte 0x04 - .byte 0x05 - .byte 0x0F - .byte 0x37 - .byte 0x38 - .byte 0x39 - .byte 0x13 - .byte 0x14 - .byte 0x15 - .byte 0x0F - .byte 0x2B - .byte 0x2C - .byte 0x02 - .byte 0x28 - .byte 0x29 - .byte 0x2D - .byte 0x21 - .byte 0x3B - .byte 0x3C - .byte 0x12 - .byte 0x38 - .byte 0x39 - .byte 0x3D - .byte 0x31 - .byte 0x2B - .byte 0x2C - .byte 0x02 - .byte 0x28 - .byte 0x29 - .byte 0x08 - .byte 0x09 - .byte 0x3B - .byte 0x3C - .byte 0x12 - .byte 0x38 - .byte 0x39 - .byte 0x18 - .byte 0x19 - .byte 0x2E - .byte 0x2F - .byte 0x2B - .byte 0x2C - .byte 0x02 - .byte 0x27 - .byte 0x2D - .byte 0x3E - .byte 0x3F - .byte 0x3B - .byte 0x3C - .byte 0x12 - .byte 0x45 - .byte 0x3D - - .align 2 -gUnknown_08376B54:: @ 8376B54 - .4byte ether_effect_related_2 - .4byte sub_80704F0 - - .align 1 -Unknown_08376B5C: - .2byte 0x4000, 0x4018, 0xF400 - .2byte 0x4000, 0x4038, 0xF404 - .2byte 0x4008, 0x4018, 0xF408 - .2byte 0x4008, 0x4038, 0xF40C - .2byte 0x4010, 0x4020, 0xF410 - .2byte 0x4020, 0x4025, 0xF418 - .2byte 0x4020, 0x4045, 0xF41C - .2byte -1 - - .align 1 -Unknown_08376B88: - .2byte 0x4000, 0x4018, 0xF400 - .2byte 0x4000, 0x4038, 0xF404 - .2byte 0x4008, 0x4018, 0xF408 - .2byte 0x4008, 0x4038, 0xF40C - .2byte 0x4010, 0x4020, 0xF410 - .2byte 0x4010, 0x4065, 0xF418 - .2byte 0x4010, 0x4085, 0xF41C - .2byte -1 - - .align 2 -gUnknown_08376BB4:: @ 8376BB4 - .byte 0x1, 0x4 - .space 2 - .4byte Unknown_08376B5C - - .byte 0xC, 0x1 - .space 2 - .4byte Unknown_08376B88 - - .byte 0xC, 0x4 - .space 2 - .4byte Unknown_08376B88 - - .byte 0xC, 0x7 - .space 2 - .4byte Unknown_08376B88 - - .byte 0xC, 0xA - .space 2 - .4byte Unknown_08376B88 - - .byte 0xC, 0xD - .space 2 - .4byte Unknown_08376B88 - - .byte 0x1, 0x2 - .space 2 - .4byte Unknown_08376B5C - - .byte 0x1, 0x9 - .space 2 - .4byte Unknown_08376B5C - - .byte 0xC, 0x1 - .space 2 - .4byte Unknown_08376B88 - - .byte 0xC, 0x5 - .space 2 - .4byte Unknown_08376B88 - - .byte 0xC, 0x9 - .space 2 - .4byte Unknown_08376B88 - - .byte 0xC, 0xD - .space 2 - .4byte Unknown_08376B88 - - .byte 0x1, 0x2 - .space 2 - .4byte Unknown_08376B5C - - .byte 0x1, 0x9 - .space 2 - .4byte Unknown_08376B5C - - .byte 0xC, 0x2 - .space 2 - .4byte Unknown_08376B88 - - .byte 0xC, 0x5 - .space 2 - .4byte Unknown_08376B88 - - .byte 0xC, 0x9 - .space 2 - .4byte Unknown_08376B88 - - .byte 0xC, 0xC - .space 2 - .4byte Unknown_08376B88 - - .byte 0x1, 0x2 - .space 2 - .4byte Unknown_08376B5C - - .byte 0xC, 0x2 - .space 2 - .4byte Unknown_08376B88 - - .byte 0xC, 0x5 - .space 2 - .4byte Unknown_08376B88 - - .byte 0x1, 0x9 - .space 2 - .4byte Unknown_08376B5C - - .byte 0xC, 0x9 - .space 2 - .4byte Unknown_08376B88 - - .byte 0xC, 0xC - .space 2 - .4byte Unknown_08376B88 - - .align 2 -gUnknown_08376C74:: @ 8376C74 - .4byte sub_8089CD4, sub_806AFD0, 0 - .4byte sub_8095118, sub_8094E58, 0 - .4byte sub_80F9C6C, sub_80F9ACC, 0 - .4byte sub_80F9C6C, sub_806AFD0, 0 - .4byte sub_81222B0, sub_8121E78, 0 - .4byte sub_8122A48, sub_8122854, 0xFF - .4byte sub_8122E0C, sub_806AFD0, 0x0F - .4byte sub_80F9E64, sub_80F9CE8, 0 - - .align 2 -gUnknown_08376CD4:: @ 8376CD4 - .2byte 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F - .2byte 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F - - .align 2 -gUnknown_08376CEC:: @ 8376CEC - .2byte 0x2A, 0x0B, 0x0C, 0x0D, 0x0E, 0x2F - .2byte 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F - - .align 2 -gUnknown_08376D04:: @ 8376D04 - .4byte gOtherText_HP - .4byte gOtherText_Attack - .4byte gOtherText_Defense - .4byte gOtherText_SpAtk - .4byte gOtherText_SpDef - .4byte gOtherText_Speed - -gUnknown_08376D1C:: @ 8376D1C - .byte 0x3A @ HP - .byte 0x3B @ Attack - .byte 0x3C @ Defense - .byte 0x3E @ Sp. Attack - .byte 0x3F @ Sp. Defense - .byte 0x3D @ Speed - - .align 2 -gStartMenuItems:: @ 8376D24 - .4byte SystemText_Pokedex, StartMenu_PokedexCallback - .4byte SystemText_Pokemon, StartMenu_PokemonCallback - .4byte SystemText_BAG, StartMenu_BagCallback - .4byte SystemText_Pokenav, StartMenu_PokenavCallback - .4byte SystemText_Player, StartMenu_PlayerCallback - .4byte SystemText_Save, StartMenu_SaveCallback - .4byte SystemText_Option, StartMenu_OptionCallback - .4byte SystemText_Exit, StartMenu_ExitCallback - .4byte SystemText_Retire, StartMenu_RetireCallback - .4byte SystemText_Player, StartMenu_PlayerLinkCallback - - .align 2 -gUnknown_08376D74:: @ 8376D74 - .4byte OtherText_Yes, 0 - .4byte OtherText_No, 0 - - .align 2 -TilesetAnimTiles_General_0_1: @ 8376D84 - .incbin "data/tilesets/primary/general/anim/0/1.4bpp" - - .align 2 -TilesetAnimTiles_General_0_0: @ 8376E04 - .incbin "data/tilesets/primary/general/anim/0/0.4bpp" - - .align 2 -TilesetAnimTiles_General_0_2: @ 8376E84 - .incbin "data/tilesets/primary/general/anim/0/2.4bpp" - - .space 32 - - .align 2 -gTilesetAnimTable_General_0:: @ 8376F24 - .4byte TilesetAnimTiles_General_0_0 - .4byte TilesetAnimTiles_General_0_1 - .4byte TilesetAnimTiles_General_0_0 - .4byte TilesetAnimTiles_General_0_2 - - .align 2 -TilesetAnimTiles_General_1_0: @ 8376F34 - .incbin "data/tilesets/primary/general/anim/1/0.4bpp" - - .align 2 -TilesetAnimTiles_General_1_1: @ 83772F4 - .incbin "data/tilesets/primary/general/anim/1/1.4bpp" - - .align 2 -TilesetAnimTiles_General_1_2: @ 83776B4 - .incbin "data/tilesets/primary/general/anim/1/2.4bpp" - - .align 2 -TilesetAnimTiles_General_1_3: @ 8377A74 - .incbin "data/tilesets/primary/general/anim/1/3.4bpp" - - .align 2 -TilesetAnimTiles_General_1_4: @ 8377E34 - .incbin "data/tilesets/primary/general/anim/1/4.4bpp" - - .align 2 -TilesetAnimTiles_General_1_5: @ 83781F4 - .incbin "data/tilesets/primary/general/anim/1/5.4bpp" - - .align 2 -TilesetAnimTiles_General_1_6: @ 83785B4 - .incbin "data/tilesets/primary/general/anim/1/6.4bpp" - - .align 2 -TilesetAnimTiles_General_1_7: @ 8378974 - .incbin "data/tilesets/primary/general/anim/1/7.4bpp" - - .align 2 -gTilesetAnimTable_General_1:: @ 8378D34 - .4byte TilesetAnimTiles_General_1_0 - .4byte TilesetAnimTiles_General_1_1 - .4byte TilesetAnimTiles_General_1_2 - .4byte TilesetAnimTiles_General_1_3 - .4byte TilesetAnimTiles_General_1_4 - .4byte TilesetAnimTiles_General_1_5 - .4byte TilesetAnimTiles_General_1_6 - .4byte TilesetAnimTiles_General_1_7 - - .align 2 -TilesetAnimTiles_General_2_0: @ 8378D54 - .incbin "data/tilesets/primary/general/anim/2/0.4bpp" - - .align 2 -TilesetAnimTiles_General_2_1: @ 8378E94 - .incbin "data/tilesets/primary/general/anim/2/1.4bpp" - - .align 2 -TilesetAnimTiles_General_2_2: @ 8378FD4 - .incbin "data/tilesets/primary/general/anim/2/2.4bpp" - - .align 2 -TilesetAnimTiles_General_2_3: @ 8379114 - .incbin "data/tilesets/primary/general/anim/2/3.4bpp" - - .align 2 -TilesetAnimTiles_General_2_4: @ 8379254 - .incbin "data/tilesets/primary/general/anim/2/4.4bpp" - - .align 2 -TilesetAnimTiles_General_2_5: @ 8379394 - .incbin "data/tilesets/primary/general/anim/2/5.4bpp" - - .align 2 -TilesetAnimTiles_General_2_6: @ 83794D4 - .incbin "data/tilesets/primary/general/anim/2/6.4bpp" - - .align 2 -gTilesetAnimTable_General_2:: @ 8379614 - .4byte TilesetAnimTiles_General_2_0 - .4byte TilesetAnimTiles_General_2_1 - .4byte TilesetAnimTiles_General_2_2 - .4byte TilesetAnimTiles_General_2_3 - .4byte TilesetAnimTiles_General_2_4 - .4byte TilesetAnimTiles_General_2_5 - .4byte TilesetAnimTiles_General_2_6 - .4byte TilesetAnimTiles_General_2_0 - - .align 2 -TilesetAnimTiles_General_3_0: @ 8379634 - .incbin "data/tilesets/primary/general/anim/3/0.4bpp" - - .align 2 -TilesetAnimTiles_General_3_1: @ 83796F4 - .incbin "data/tilesets/primary/general/anim/3/1.4bpp" - - .align 2 -TilesetAnimTiles_General_3_2: @ 83797B4 - .incbin "data/tilesets/primary/general/anim/3/2.4bpp" - - .align 2 -TilesetAnimTiles_General_3_3: @ 8379874 - .incbin "data/tilesets/primary/general/anim/3/3.4bpp" - - .align 2 -gTilesetAnimTable_General_3:: @ 8379934 - .4byte TilesetAnimTiles_General_3_0 - .4byte TilesetAnimTiles_General_3_1 - .4byte TilesetAnimTiles_General_3_2 - .4byte TilesetAnimTiles_General_3_3 - - .align 2 -TilesetAnimTiles_General_4_0: @ 8379944 - .incbin "data/tilesets/primary/general/anim/4/0.4bpp" - - .align 2 -TilesetAnimTiles_General_4_1: @ 8379A84 - .incbin "data/tilesets/primary/general/anim/4/1.4bpp" - - .align 2 -TilesetAnimTiles_General_4_2: @ 8379BC4 - .incbin "data/tilesets/primary/general/anim/4/2.4bpp" - - .align 2 -TilesetAnimTiles_General_4_3: @ 8379D04 - .incbin "data/tilesets/primary/general/anim/4/3.4bpp" - - .align 2 -gTilesetAnimTable_General_4:: @ 8379E44 - .4byte TilesetAnimTiles_General_4_0 - .4byte TilesetAnimTiles_General_4_1 - .4byte TilesetAnimTiles_General_4_2 - .4byte TilesetAnimTiles_General_4_3 - - .align 2 -TilesetAnimTiles_Lavaridge_0: @ 8379E54 - .incbin "data/tilesets/secondary/lavaridge/anim/0.4bpp" - - .align 2 -TilesetAnimTiles_Lavaridge_1: @ 8379ED4 - .incbin "data/tilesets/secondary/lavaridge/anim/1.4bpp" - - .align 2 -TilesetAnimTiles_Lavaridge_2: @ 8379F54 - .incbin "data/tilesets/secondary/lavaridge/anim/2.4bpp" - - .align 2 -TilesetAnimTiles_Lavaridge_3: @ 8379FD4 - .incbin "data/tilesets/secondary/lavaridge/anim/3.4bpp" - - .align 2 -gTilesetAnimTable_Lavaridge:: @ 837A054 - .4byte TilesetAnimTiles_Lavaridge_0 - .4byte TilesetAnimTiles_Lavaridge_1 - .4byte TilesetAnimTiles_Lavaridge_2 - .4byte TilesetAnimTiles_Lavaridge_3 - - .align 2 -TilesetAnimTiles_Pacifidlog_0_0: @ 837A064 - .incbin "data/tilesets/secondary/pacifidlog/anim/0/0.4bpp" - - .align 2 -TilesetAnimTiles_Pacifidlog_0_1: @ 837A424 - .incbin "data/tilesets/secondary/pacifidlog/anim/0/1.4bpp" - - .align 2 -TilesetAnimTiles_Pacifidlog_0_2: @ 837A7E4 - .incbin "data/tilesets/secondary/pacifidlog/anim/0/2.4bpp" - - .align 2 -gTilesetAnimTable_Pacifidlog_0:: @ 837ABA4 - .4byte TilesetAnimTiles_Pacifidlog_0_0 - .4byte TilesetAnimTiles_Pacifidlog_0_1 - .4byte TilesetAnimTiles_Pacifidlog_0_2 - .4byte TilesetAnimTiles_Pacifidlog_0_1 - - .align 2 -TilesetAnimTiles_Underwater_0: @ 837ABB4 - .incbin "data/tilesets/secondary/underwater/anim/0.4bpp" - - .align 2 -TilesetAnimTiles_Underwater_1: @ 837AC34 - .incbin "data/tilesets/secondary/underwater/anim/1.4bpp" - - .align 2 -TilesetAnimTiles_Underwater_2: @ 837ACB4 - .incbin "data/tilesets/secondary/underwater/anim/2.4bpp" - - .align 2 -TilesetAnimTiles_Underwater_3: @ 837AD34 - .incbin "data/tilesets/secondary/underwater/anim/3.4bpp" - - .align 2 -gTilesetAnimTable_Underwater:: @ 837ADB4 - .4byte TilesetAnimTiles_Underwater_0 - .4byte TilesetAnimTiles_Underwater_1 - .4byte TilesetAnimTiles_Underwater_2 - .4byte TilesetAnimTiles_Underwater_3 - - .align 2 -TilesetAnimTiles_Pacifidlog_1_0: @ 837ADC4 - .incbin "data/tilesets/secondary/pacifidlog/anim/1/0.4bpp" - - .align 2 -TilesetAnimTiles_Pacifidlog_1_1: @ 837AEC4 - .incbin "data/tilesets/secondary/pacifidlog/anim/1/1.4bpp" - - .align 2 -TilesetAnimTiles_Pacifidlog_1_2: @ 837AFC4 - .incbin "data/tilesets/secondary/pacifidlog/anim/1/2.4bpp" - - .align 2 -TilesetAnimTiles_Pacifidlog_1_3: @ 837B0C4 - .incbin "data/tilesets/secondary/pacifidlog/anim/1/3.4bpp" - - .align 2 -TilesetAnimTiles_Pacifidlog_1_4: @ 837B1C4 - .incbin "data/tilesets/secondary/pacifidlog/anim/1/4.4bpp" - - .align 2 -TilesetAnimTiles_Pacifidlog_1_5: @ 837B2C4 - .incbin "data/tilesets/secondary/pacifidlog/anim/1/5.4bpp" - - .align 2 -TilesetAnimTiles_Pacifidlog_1_6: @ 837B3C4 - .incbin "data/tilesets/secondary/pacifidlog/anim/1/6.4bpp" - - .align 2 -TilesetAnimTiles_Pacifidlog_1_7: @ 837B4C4 - .incbin "data/tilesets/secondary/pacifidlog/anim/1/7.4bpp" - - .align 2 -gTilesetAnimTable_Pacifidlog_1:: @ 837B5C4 - .4byte TilesetAnimTiles_Pacifidlog_1_0 - .4byte TilesetAnimTiles_Pacifidlog_1_1 - .4byte TilesetAnimTiles_Pacifidlog_1_2 - .4byte TilesetAnimTiles_Pacifidlog_1_3 - .4byte TilesetAnimTiles_Pacifidlog_1_4 - .4byte TilesetAnimTiles_Pacifidlog_1_5 - .4byte TilesetAnimTiles_Pacifidlog_1_6 - .4byte TilesetAnimTiles_Pacifidlog_1_7 - - .align 2 -TilesetAnimTiles_Mauville_0_0: @ 837B5E4 - .incbin "data/tilesets/secondary/mauville/anim/0/0.4bpp" - - .align 2 -TilesetAnimTiles_Mauville_0_1: @ 837B664 - .incbin "data/tilesets/secondary/mauville/anim/0/1.4bpp" - - .align 2 -TilesetAnimTiles_Mauville_0_2: @ 837B6E4 - .incbin "data/tilesets/secondary/mauville/anim/0/2.4bpp" - - .align 2 -TilesetAnimTiles_Mauville_0_3: @ 837B764 - .incbin "data/tilesets/secondary/mauville/anim/0/3.4bpp" - - .align 2 -TilesetAnimTiles_Mauville_0_4: @ 837B7E4 - .incbin "data/tilesets/secondary/mauville/anim/0/4.4bpp" - - .align 2 -TilesetAnimTiles_Mauville_1_0: @ 837B864 - .incbin "data/tilesets/secondary/mauville/anim/1/0.4bpp" - - .align 2 -TilesetAnimTiles_Mauville_1_1: @ 837B8E4 - .incbin "data/tilesets/secondary/mauville/anim/1/1.4bpp" - - .align 2 -TilesetAnimTiles_Mauville_1_2: @ 837B964 - .incbin "data/tilesets/secondary/mauville/anim/1/2.4bpp" - - .align 2 -TilesetAnimTiles_Mauville_1_3: @ 837B9E4 - .incbin "data/tilesets/secondary/mauville/anim/1/3.4bpp" - - .align 2 -TilesetAnimTiles_Mauville_1_4: @ 837BA64 - .incbin "data/tilesets/secondary/mauville/anim/1/4.4bpp" - - .align 2 -gUnknown_0837BAE4:: @ 837BAE4 - .4byte 0x06004C00 - .4byte 0x06004C80 - .4byte 0x06004D00 - .4byte 0x06004D80 - .4byte 0x06004E00 - .4byte 0x06004E80 - .4byte 0x06004F00 - .4byte 0x06004F80 - - .align 2 -gUnknown_0837BB04:: @ 837BB04 - .4byte 0x06005000 - .4byte 0x06005080 - .4byte 0x06005100 - .4byte 0x06005180 - .4byte 0x06005200 - .4byte 0x06005280 - .4byte 0x06005300 - .4byte 0x06005380 - - .align 2 -gTilesetAnimTable_Mauville_0A:: @ 837BB24 - .4byte TilesetAnimTiles_Mauville_0_0 - .4byte TilesetAnimTiles_Mauville_0_0 - .4byte TilesetAnimTiles_Mauville_0_1 - .4byte TilesetAnimTiles_Mauville_0_2 - .4byte TilesetAnimTiles_Mauville_0_3 - .4byte TilesetAnimTiles_Mauville_0_3 - .4byte TilesetAnimTiles_Mauville_0_3 - .4byte TilesetAnimTiles_Mauville_0_3 - .4byte TilesetAnimTiles_Mauville_0_3 - .4byte TilesetAnimTiles_Mauville_0_3 - .4byte TilesetAnimTiles_Mauville_0_2 - .4byte TilesetAnimTiles_Mauville_0_1 - - .align 2 -gTilesetAnimTable_Mauville_1A:: @ 837BB54 - .4byte TilesetAnimTiles_Mauville_1_0 - .4byte TilesetAnimTiles_Mauville_1_0 - .4byte TilesetAnimTiles_Mauville_1_1 - .4byte TilesetAnimTiles_Mauville_1_2 - .4byte TilesetAnimTiles_Mauville_1_3 - .4byte TilesetAnimTiles_Mauville_1_3 - .4byte TilesetAnimTiles_Mauville_1_3 - .4byte TilesetAnimTiles_Mauville_1_3 - .4byte TilesetAnimTiles_Mauville_1_3 - .4byte TilesetAnimTiles_Mauville_1_3 - .4byte TilesetAnimTiles_Mauville_1_2 - .4byte TilesetAnimTiles_Mauville_1_1 - - .align 2 -gTilesetAnimTable_Mauville_0B:: @ 837BB84 - .4byte TilesetAnimTiles_Mauville_0_0 - .4byte TilesetAnimTiles_Mauville_0_0 - .4byte TilesetAnimTiles_Mauville_0_4 - .4byte TilesetAnimTiles_Mauville_0_4 - - .align 2 -gTilesetAnimTable_Mauville_1B:: @ 837BB94 - .4byte TilesetAnimTiles_Mauville_1_0 - .4byte TilesetAnimTiles_Mauville_1_0 - .4byte TilesetAnimTiles_Mauville_1_4 - .4byte TilesetAnimTiles_Mauville_1_4 - - .align 2 -TilesetAnimTiles_Rustboro_0_0: @ 837BBA4 - .incbin "data/tilesets/secondary/rustboro/anim/0/0.4bpp" - - .align 2 -TilesetAnimTiles_Rustboro_0_1: @ 837BC24 - .incbin "data/tilesets/secondary/rustboro/anim/0/1.4bpp" - - .align 2 -TilesetAnimTiles_Rustboro_0_2: @ 837BCA4 - .incbin "data/tilesets/secondary/rustboro/anim/0/2.4bpp" - - .align 2 -TilesetAnimTiles_Rustboro_0_3: @ 837BD24 - .incbin "data/tilesets/secondary/rustboro/anim/0/3.4bpp" - - .align 2 -TilesetAnimTiles_Rustboro_0_4: @ 837BDA4 - .incbin "data/tilesets/secondary/rustboro/anim/0/4.4bpp" - - .align 2 -TilesetAnimTiles_Rustboro_0_5: @ 837BE24 - .incbin "data/tilesets/secondary/rustboro/anim/0/5.4bpp" - - .align 2 -TilesetAnimTiles_Rustboro_0_6: @ 837BEA4 - .incbin "data/tilesets/secondary/rustboro/anim/0/6.4bpp" - - .align 2 -TilesetAnimTiles_Rustboro_0_7: @ 837BF24 - .incbin "data/tilesets/secondary/rustboro/anim/0/7.4bpp" - - .align 2 -gUnknown_0837BFA4:: @ 837BFA4 - .4byte 0x06005000 - .4byte 0x06005080 - .4byte 0x06005100 - .4byte 0x06005180 - .4byte 0x06005200 - .4byte 0x06005280 - .4byte 0x06005300 - .4byte 0x06005380 - - .align 2 -gTilesetAnimTable_Rustboro_0:: @ 837BFC4 - .4byte TilesetAnimTiles_Rustboro_0_0 - .4byte TilesetAnimTiles_Rustboro_0_1 - .4byte TilesetAnimTiles_Rustboro_0_2 - .4byte TilesetAnimTiles_Rustboro_0_3 - .4byte TilesetAnimTiles_Rustboro_0_4 - .4byte TilesetAnimTiles_Rustboro_0_5 - .4byte TilesetAnimTiles_Rustboro_0_6 - .4byte TilesetAnimTiles_Rustboro_0_7 - - .align 2 -TilesetAnimTiles_Rustboro_1_0: @ 837BFE4 - .incbin "data/tilesets/secondary/rustboro/anim/1/0.4bpp" - - .align 2 -TilesetAnimTiles_Rustboro_1_1: @ 837C064 - .incbin "data/tilesets/secondary/rustboro/anim/1/1.4bpp" - - .align 2 -gTilesetAnimTable_Rustboro_1:: @ 837C0E4 - .4byte TilesetAnimTiles_Rustboro_1_0 - .4byte TilesetAnimTiles_Rustboro_1_1 - - .align 2 -TilesetAnimTiles_Cave_0: @ 837C0EC - .incbin "data/tilesets/secondary/cave/anim/0.4bpp" - - .align 2 -TilesetAnimTiles_Cave_1: @ 837C16C - .incbin "data/tilesets/secondary/cave/anim/1.4bpp" - - .align 2 -TilesetAnimTiles_Cave_2: @ 837C1EC - .incbin "data/tilesets/secondary/cave/anim/2.4bpp" - - .align 2 -TilesetAnimTiles_Cave_3: @ 837C26C - .incbin "data/tilesets/secondary/cave/anim/3.4bpp" - - .incbin "data/tilesets/secondary/cave/anim/unused/0.4bpp" - .incbin "data/tilesets/secondary/cave/anim/unused/1.4bpp" - .incbin "data/tilesets/secondary/cave/anim/unused/2.4bpp" - .incbin "data/tilesets/secondary/cave/anim/unused/3.4bpp" - - .space 32 - - .align 2 -gTilesetAnimTable_Cave:: @ 837C50C - .4byte TilesetAnimTiles_Cave_0 - .4byte TilesetAnimTiles_Cave_1 - .4byte TilesetAnimTiles_Cave_2 - .4byte TilesetAnimTiles_Cave_3 - - .align 2 -TilesetAnimTiles_EverGrande_0: @ 837C51C - .incbin "data/tilesets/secondary/ever_grande/anim/0.4bpp" - - .align 2 -TilesetAnimTiles_EverGrande_1: @ 837C59C - .incbin "data/tilesets/secondary/ever_grande/anim/1.4bpp" - - .align 2 -TilesetAnimTiles_EverGrande_2: @ 837C61C - .incbin "data/tilesets/secondary/ever_grande/anim/2.4bpp" - - .align 2 -TilesetAnimTiles_EverGrande_3: @ 837C69C - .incbin "data/tilesets/secondary/ever_grande/anim/3.4bpp" - - .align 2 -TilesetAnimTiles_EverGrande_4: @ 837C71C - .incbin "data/tilesets/secondary/ever_grande/anim/4.4bpp" - - .align 2 -TilesetAnimTiles_EverGrande_5: @ 837C79C - .incbin "data/tilesets/secondary/ever_grande/anim/5.4bpp" - - .align 2 -TilesetAnimTiles_EverGrande_6: @ 837C81C - .incbin "data/tilesets/secondary/ever_grande/anim/6.4bpp" - - .align 2 -TilesetAnimTiles_EverGrande_7: @ 837C89C - .incbin "data/tilesets/secondary/ever_grande/anim/7.4bpp" - - .space 32 - - .align 2 -gUnknown_0837C93C:: @ 837C93C - .4byte 0x06005C00 - .4byte 0x06005C80 - .4byte 0x06005D00 - .4byte 0x06005D80 - .4byte 0x06005E00 - .4byte 0x06005E80 - .4byte 0x06005F00 - .4byte 0x06005F80 - - .align 2 -gTilesetAnimTable_EverGrande:: @ 837C95C - .4byte TilesetAnimTiles_EverGrande_0 - .4byte TilesetAnimTiles_EverGrande_1 - .4byte TilesetAnimTiles_EverGrande_2 - .4byte TilesetAnimTiles_EverGrande_3 - .4byte TilesetAnimTiles_EverGrande_4 - .4byte TilesetAnimTiles_EverGrande_5 - .4byte TilesetAnimTiles_EverGrande_6 - .4byte TilesetAnimTiles_EverGrande_7 - - .align 2 -TilesetAnimTiles_Building_0: @ 837C97C - .incbin "data/tilesets/primary/building/anim/0.4bpp" - - .align 2 -TilesetAnimTiles_Building_1: @ 837C9FC - .incbin "data/tilesets/primary/building/anim/1.4bpp" - - .align 2 -gTilesetAnimTable_Building:: @ 837CA7C - .4byte TilesetAnimTiles_Building_0 - .4byte TilesetAnimTiles_Building_1 - - .align 2 -TilesetAnimTiles_SootopolisGym_0_0: @ 837CA84 - .incbin "data/tilesets/secondary/sootopolis_gym/anim/0/0.4bpp" - - .align 2 -TilesetAnimTiles_SootopolisGym_0_1: @ 837CC04 - .incbin "data/tilesets/secondary/sootopolis_gym/anim/0/1.4bpp" - - .align 2 -TilesetAnimTiles_SootopolisGym_0_2: @ 837CD84 - .incbin "data/tilesets/secondary/sootopolis_gym/anim/0/2.4bpp" - - .align 2 -TilesetAnimTiles_SootopolisGym_1_0: @ 837CF04 - .incbin "data/tilesets/secondary/sootopolis_gym/anim/1/0.4bpp" - - .align 2 -TilesetAnimTiles_SootopolisGym_1_1: @ 837D184 - .incbin "data/tilesets/secondary/sootopolis_gym/anim/1/1.4bpp" - - .align 2 -TilesetAnimTiles_SootopolisGym_1_2: @ 837D404 - .incbin "data/tilesets/secondary/sootopolis_gym/anim/1/2.4bpp" - - .align 2 -gTilesetAnimTable_SootopolisGym_0:: @ 837D684 - .4byte TilesetAnimTiles_SootopolisGym_0_0 - .4byte TilesetAnimTiles_SootopolisGym_0_1 - .4byte TilesetAnimTiles_SootopolisGym_0_2 - - .align 2 -gTilesetAnimTable_SootopolisGym_1:: @ 837D690 - .4byte TilesetAnimTiles_SootopolisGym_1_0 - .4byte TilesetAnimTiles_SootopolisGym_1_1 - .4byte TilesetAnimTiles_SootopolisGym_1_2 - - .align 2 -TilesetAnimTiles_EliteFour_1_0: @ 837D69C - .incbin "data/tilesets/secondary/elite_four/anim/1/0.4bpp" - - .align 2 -TilesetAnimTiles_EliteFour_1_1: @ 837D71C - .incbin "data/tilesets/secondary/elite_four/anim/1/1.4bpp" - - .align 2 -TilesetAnimTiles_EliteFour_0_0: @ 837D79C - .incbin "data/tilesets/secondary/elite_four/anim/0/0.4bpp" - - .align 2 -TilesetAnimTiles_EliteFour_0_1: @ 837D7BC - .incbin "data/tilesets/secondary/elite_four/anim/0/1.4bpp" - - .align 2 -TilesetAnimTiles_EliteFour_0_2: @ 837D7DC - .incbin "data/tilesets/secondary/elite_four/anim/0/2.4bpp" - - .align 2 -TilesetAnimTiles_EliteFour_0_3: @ 837D7FC - .incbin "data/tilesets/secondary/elite_four/anim/0/3.4bpp" - - .space 32 - - .align 2 -gTilesetAnimTable_EliteFour_0:: @ 837D83C - .4byte TilesetAnimTiles_EliteFour_0_0 - .4byte TilesetAnimTiles_EliteFour_0_1 - .4byte TilesetAnimTiles_EliteFour_0_2 - .4byte TilesetAnimTiles_EliteFour_0_3 - - .align 2 -gTilesetAnimTable_EliteFour_1:: @ 837D84C - .4byte TilesetAnimTiles_EliteFour_1_0 - .4byte TilesetAnimTiles_EliteFour_1_1 - - .align 2 -TilesetAnimTiles_MauvilleGym_0: @ 837D854 - .incbin "data/tilesets/secondary/mauville_gym/anim/0.4bpp" - - .align 2 -TilesetAnimTiles_MauvilleGym_1: @ 837DA54 - .incbin "data/tilesets/secondary/mauville_gym/anim/1.4bpp" - - .space 32 - - .align 2 -gTilesetAnimTable_MauvilleGym:: @ 837DC74 - .4byte TilesetAnimTiles_MauvilleGym_0 - .4byte TilesetAnimTiles_MauvilleGym_1 - - .align 2 -TilesetAnimTiles_BikeShop_0: @ 837DC7C - .incbin "data/tilesets/secondary/bike_shop/anim/0.4bpp" - - .align 2 -TilesetAnimTiles_BikeShop_1: @ 837DD9C - .incbin "data/tilesets/secondary/bike_shop/anim/1.4bpp" - - .space 32 - - .align 2 -gTilesetAnimTable_BikeShop:: @ 837DEDC - .4byte TilesetAnimTiles_BikeShop_0 - .4byte TilesetAnimTiles_BikeShop_1 - - .align 2 -gDummyPaletteStructTemplate:: @ 837DEE4 - .2byte 0xFFFF - .space 9 - .byte 0x20 - .space 4 - - .align 2 -gFanfares:: @ 837DEF4 - .2byte BGM_FANFA1, 80 - .2byte BGM_FANFA4, 160 - .2byte BGM_FANFA5, 220 - .2byte BGM_ME_WAZA, 220 - .2byte BGM_ME_ASA, 160 - .2byte BGM_ME_BACHI, 340 - .2byte BGM_ME_WASURE, 180 - .2byte BGM_ME_KINOMI, 120 - .2byte BGM_ME_TAMA, 710 - .2byte BGM_ME_B_BIG, 250 - .2byte BGM_ME_B_SMALL, 150 - .2byte BGM_ME_ZANNEN, 160 - - .align 2 -gOamData_837DF24:: @ 837DF24 - .2byte 0x0000 - .2byte 0x0000 - .2byte 0x0800 - - .align 2 -gOamData_837DF2C:: @ 837DF2C - .2byte 0x0000 - .2byte 0x4000 - .2byte 0x0800 - - .align 2 -gOamData_837DF34:: @ 837DF34 - .2byte 0x0000 - .2byte 0x8000 - .2byte 0x0800 - - .align 2 -gOamData_837DF3C:: @ 837DF3C - .2byte 0x0000 - .2byte 0xC000 - .2byte 0x0800 - - .align 2 -gOamData_837DF44:: @ 837DF44 - .2byte 0x4000 - .2byte 0x0000 - .2byte 0x0800 - - .align 2 -gOamData_837DF4C:: @ 837DF4C - .2byte 0x4000 - .2byte 0x4000 - .2byte 0x0800 - - .align 2 -gOamData_837DF54:: @ 837DF54 - .2byte 0x4000 - .2byte 0x8000 - .2byte 0x0800 - - .align 2 -gOamData_837DF5C:: @ 837DF5C - .2byte 0x4000 - .2byte 0xC000 - .2byte 0x0800 - - .align 2 -gOamData_837DF64:: @ 837DF64 - .2byte 0x8000 - .2byte 0x0000 - .2byte 0x0800 - - .align 2 -gOamData_837DF6C:: @ 837DF6C - .2byte 0x8000 - .2byte 0x4000 - .2byte 0x0800 - - .align 2 -gOamData_837DF74:: @ 837DF74 - .2byte 0x8000 - .2byte 0x8000 - .2byte 0x0800 - - .align 2 -gOamData_837DF7C:: @ 837DF7C - .2byte 0x8000 - .2byte 0xC000 - .2byte 0x0800 - - .align 2 -gOamData_837DF84:: @ 837DF84 - .2byte 0x0100 - .2byte 0x0000 - .2byte 0x0800 - - .align 2 -gOamData_837DF8C:: @ 837DF8C - .2byte 0x0100 - .2byte 0x4000 - .2byte 0x0800 - - .align 2 -gOamData_837DF94:: @ 837DF94 - .2byte 0x0100 - .2byte 0x8000 - .2byte 0x0800 - - .align 2 -gOamData_837DF9C:: @ 837DF9C - .2byte 0x0100 - .2byte 0xC000 - .2byte 0x0800 - - .align 2 -gOamData_837DFA4:: @ 837DFA4 - .2byte 0x4100 - .2byte 0x0000 - .2byte 0x0800 - - .align 2 -gOamData_837DFAC:: @ 837DFAC - .2byte 0x4100 - .2byte 0x4000 - .2byte 0x0800 - - .align 2 -gOamData_837DFB4:: @ 837DFB4 - .2byte 0x4100 - .2byte 0x8000 - .2byte 0x0800 - - .align 2 -gOamData_837DFBC:: @ 837DFBC - .2byte 0x4100 - .2byte 0xC000 - .2byte 0x0800 - - .align 2 -gOamData_837DFC4:: @ 837DFC4 - .2byte 0x8100 - .2byte 0x0000 - .2byte 0x0800 - - .align 2 -gOamData_837DFCC:: @ 837DFCC - .2byte 0x8100 - .2byte 0x4000 - .2byte 0x0800 - - .align 2 -gOamData_837DFD4:: @ 837DFD4 - .2byte 0x8100 - .2byte 0x8000 - .2byte 0x0800 - - .align 2 -gOamData_837DFDC:: @ 837DFDC - .2byte 0x8100 - .2byte 0xC000 - .2byte 0x0800 - - .align 2 -gOamData_837DFE4:: @ 837DFE4 - .2byte 0x0300 - .2byte 0x0000 - .2byte 0x0800 - - .align 2 -gOamData_837DFEC:: @ 837DFEC - .2byte 0x0300 - .2byte 0x4000 - .2byte 0x0800 - - .align 2 -gOamData_837DFF4:: @ 837DFF4 - .2byte 0x0300 - .2byte 0x8000 - .2byte 0x0800 - - .align 2 -gOamData_837DFFC:: @ 837DFFC - .2byte 0x0300 - .2byte 0xC000 - .2byte 0x0800 - - .align 2 -gOamData_837D004:: @ 837D004 - .2byte 0x4300 - .2byte 0x0000 - .2byte 0x0800 - - .align 2 -gOamData_837D00C:: @ 837D00C - .2byte 0x4300 - .2byte 0x4000 - .2byte 0x0800 - - .align 2 -gOamData_837E014:: @ 837E014 - .2byte 0x4300 - .2byte 0x8000 - .2byte 0x0800 - - .align 2 -gOamData_837E01C:: @ 837E01C - .2byte 0x4300 - .2byte 0xC000 - .2byte 0x0800 - - .align 2 -gOamData_837E024:: @ 837E024 - .2byte 0x8300 - .2byte 0x0000 - .2byte 0x0800 - - .align 2 -gOamData_837E02C:: @ 837E02C - .2byte 0x8300 - .2byte 0x4000 - .2byte 0x0800 - - .align 2 -gOamData_837E034:: @ 837E034 - .2byte 0x8300 - .2byte 0x8000 - .2byte 0x0800 - - .align 2 -gOamData_837E03C:: @ 837E03C - .2byte 0x8300 - .2byte 0xC000 - .2byte 0x0800 - - .align 2 -gOamData_837E044:: @ 837E044 - .2byte 0x0400 - .2byte 0x0000 - .2byte 0x0800 - - .align 2 -gOamData_837E04C:: @ 837E04C - .2byte 0x0400 - .2byte 0x4000 - .2byte 0x0800 - - .align 2 -gOamData_837E054:: @ 837E054 - .2byte 0x0400 - .2byte 0x8000 - .2byte 0x0800 - - .align 2 -gOamData_837E05C:: @ 837E05C - .2byte 0x0400 - .2byte 0xC000 - .2byte 0x0800 - - .align 2 -gOamData_837E064:: @ 837E064 - .2byte 0x4400 - .2byte 0x0000 - .2byte 0x0800 - - .align 2 -gOamData_837E06C:: @ 837E06C - .2byte 0x4400 - .2byte 0x4000 - .2byte 0x0800 - - .align 2 -gOamData_837E074:: @ 837E074 - .2byte 0x4400 - .2byte 0x8000 - .2byte 0x0800 - - .align 2 -gOamData_837E07C:: @ 837E07C - .2byte 0x4400 - .2byte 0xC000 - .2byte 0x0800 - - .align 2 -gOamData_837E084:: @ 837E084 - .2byte 0x8400 - .2byte 0x0000 - .2byte 0x0800 - - .align 2 -gOamData_837E08C:: @ 837E08C - .2byte 0x8400 - .2byte 0x4000 - .2byte 0x0800 - - .align 2 -gOamData_837E094:: @ 837E094 - .2byte 0x8400 - .2byte 0x8000 - .2byte 0x0800 - - .align 2 -gOamData_837E09C:: @ 837E09C - .2byte 0x8400 - .2byte 0xC000 - .2byte 0x0800 - - .align 2 -gOamData_837E0A4:: @ 837E0A4 - .2byte 0x0500 - .2byte 0x0000 - .2byte 0x0800 - - .align 2 -gOamData_837E0AC:: @ 837E0AC - .2byte 0x0500 - .2byte 0x4000 - .2byte 0x0800 - - .align 2 -gOamData_837E0B4:: @ 837E0B4 - .2byte 0x0500 - .2byte 0x8000 - .2byte 0x0800 - - .align 2 -gOamData_837E0BC:: @ 837E0BC - .2byte 0x0500 - .2byte 0xC000 - .2byte 0x0800 - - .align 2 -gOamData_837E0C4:: @ 837E0C4 - .2byte 0x4500 - .2byte 0x0000 - .2byte 0x0800 - - .align 2 -gOamData_837E0CC:: @ 837E0CC - .2byte 0x4500 - .2byte 0x4000 - .2byte 0x0800 - - .align 2 -gOamData_837E0D4:: @ 837E0D4 - .2byte 0x4500 - .2byte 0x8000 - .2byte 0x0800 - - .align 2 -gOamData_837E0DC:: @ 837E0DC - .2byte 0x4500 - .2byte 0xC000 - .2byte 0x0800 - - .align 2 -gOamData_837E0E4:: @ 837E0E4 - .2byte 0x8500 - .2byte 0x0000 - .2byte 0x0800 - - .align 2 -gOamData_837E0EC:: @ 837E0EC - .2byte 0x8500 - .2byte 0x4000 - .2byte 0x0800 - - .align 2 -gOamData_837E0F4:: @ 837E0F4 - .2byte 0x8500 - .2byte 0x8000 - .2byte 0x0800 - - .align 2 -gOamData_837E0FC:: @ 837E0FC - .2byte 0x8500 - .2byte 0xC000 - .2byte 0x0800 - - .align 2 -gOamData_837E104:: @ 837E104 - .2byte 0x0700 - .2byte 0x0000 - .2byte 0x0800 - - .align 2 -gOamData_837E10C:: @ 837E10C - .2byte 0x0700 - .2byte 0x4000 - .2byte 0x0800 - - .align 2 -gOamData_837E114:: @ 837E114 - .2byte 0x0700 - .2byte 0x8000 - .2byte 0x0800 - - .align 2 -gOamData_837E11C:: @ 837E11C - .2byte 0x0700 - .2byte 0xC000 - .2byte 0x0800 - - .align 2 -gOamData_837E124:: @ 837E124 - .2byte 0x4700 - .2byte 0x0000 - .2byte 0x0800 - - .align 2 -gOamData_837E12C:: @ 837E12C - .2byte 0x4700 - .2byte 0x4000 - .2byte 0x0800 - - .align 2 -gOamData_837E134:: @ 837E134 - .2byte 0x4700 - .2byte 0x8000 - .2byte 0x0800 - - .align 2 -gOamData_837E13C:: @ 837E13C - .2byte 0x4700 - .2byte 0xC000 - .2byte 0x0800 - - .align 2 -gOamData_837E144:: @ 837E144 - .2byte 0x8700 - .2byte 0x0000 - .2byte 0x0800 - - .align 2 -gOamData_837E14C:: @ 837E14C - .2byte 0x8700 - .2byte 0x4000 - .2byte 0x0800 - - .align 2 -gOamData_837E154:: @ 837E154 - .2byte 0x8700 - .2byte 0x8000 - .2byte 0x0800 - - .align 2 -gOamData_837E15C:: @ 837E15C - .2byte 0x8700 - .2byte 0xC000 - .2byte 0x0800 - - .align 2 -gBattleAnimPicTable:: @ 837E164 - obj_tiles gBattleAnimSpriteSheet_000, 0x200, 10000 - obj_tiles gBattleAnimSpriteSheet_001, 0x300, 10001 - obj_tiles gBattleAnimSpriteSheet_002, 0x200, 10002 - obj_tiles gBattleAnimSpriteSheet_003, 0x100, 10003 - obj_tiles gBattleAnimSpriteSheet_004, 0x200, 10004 - obj_tiles gBattleAnimSpriteSheet_005, 0x400, 10005 - obj_tiles gBattleAnimSpriteSheet_006, 0x180, 10006 - obj_tiles gBattleAnimSpriteSheet_007, 0x800, 10007 - obj_tiles gBattleAnimSpriteSheet_008, 0x20, 10008 - obj_tiles gBattleAnimSpriteSheet_009, 0x400, 10009 - obj_tiles gBattleAnimSpriteSheet_010, 0x1200, 10010 - obj_tiles gBattleAnimSpriteSheet_011, 0x180, 10011 - obj_tiles gBattleAnimSpriteSheet_012, 0x80, 10012 - obj_tiles gBattleAnimSpriteSheet_013, 0x80, 10013 - obj_tiles gBattleAnimSpriteSheet_014, 0x280, 10014 - obj_tiles gBattleAnimSpriteSheet_015, 0x80, 10015 - obj_tiles gBattleAnimSpriteSheet_016, 0x100, 10016 - obj_tiles gBattleAnimSpriteSheet_017, 0x20, 10017 - obj_tiles gBattleAnimSpriteSheet_018, 0x80, 10018 - obj_tiles gBattleAnimSpriteSheet_019, 0x400, 10019 - obj_tiles gBattleAnimSpriteSheet_020, 0x200, 10020 - obj_tiles gBattleAnimSpriteSheet_021, 0xA00, 10021 - obj_tiles gBattleAnimSpriteSheet_021, 0xA00, 10022 - obj_tiles gBattleAnimSpriteSheet_023, 0x380, 10023 - obj_tiles gBattleAnimSpriteSheet_024, 0x300, 10024 - obj_tiles gBattleAnimSpriteSheet_025, 0xA00, 10025 - obj_tiles gBattleAnimSpriteSheet_026, 0xA00, 10026 - obj_tiles gBattleAnimSpriteSheet_027, 0xA00, 10027 - obj_tiles gBattleAnimSpriteSheet_028, 0xA00, 10028 - obj_tiles gBattleAnimSpriteSheet_029, 0xA00, 10029 - obj_tiles gBattleAnimSpriteSheet_030, 0xA00, 10030 - obj_tiles gBattleAnimSpriteSheet_031, 0xE00, 10031 - obj_tiles gBattleAnimSpriteSheet_032, 0x380, 10032 - obj_tiles gBattleAnimSpriteSheet_033, 0x1000, 10033 - obj_tiles gBattleAnimSpriteSheet_034, 0x800, 10034 - obj_tiles gBattleAnimSpriteSheet_035, 0xA00, 10035 - obj_tiles gBattleAnimSpriteSheet_036, 0x800, 10036 - obj_tiles gBattleAnimSpriteSheet_037, 0xA00, 10037 - obj_tiles gBattleAnimSpriteSheet_038, 0xA00, 10038 - obj_tiles gBattleAnimSpriteSheet_039, 0xA00, 10039 - obj_tiles gBattleAnimSpriteSheet_040, 0xA00, 10040 - obj_tiles gBattleAnimSpriteSheet_041, 0xA00, 10041 - obj_tiles gBattleAnimSpriteSheet_042, 0xA00, 10042 - obj_tiles gBattleAnimSpriteSheet_043, 0xA00, 10043 - obj_tiles gBattleAnimSpriteSheet_044, 0xA00, 10044 - obj_tiles gBattleAnimSpriteSheet_045, 0xA00, 10045 - obj_tiles gBattleAnimSpriteSheet_046, 0x1000, 10046 - obj_tiles gBattleAnimSpriteSheet_046, 0x1000, 10047 - obj_tiles gBattleAnimSpriteSheet_048, 0x1000, 10048 - obj_tiles gBattleAnimSpriteSheet_048, 0x1000, 10049 - obj_tiles gBattleAnimSpriteSheet_050, 0x200, 10050 - obj_tiles gBattleAnimSpriteSheet_051, 0x200, 10051 - obj_tiles gBattleAnimSpriteSheet_052, 0x200, 10052 - obj_tiles gBattleAnimSpriteSheet_053, 0x800, 10053 - obj_tiles gBattleAnimSpriteSheet_054, 0x80, 10054 - obj_tiles gBattleAnimSpriteSheet_055, 0x200, 10055 - obj_tiles gBattleAnimSpriteSheet_056, 0x1000, 10056 - obj_tiles gBattleAnimSpriteSheet_057, 0x180, 10057 - obj_tiles gBattleAnimSpriteSheet_058, 0xC00, 10058 - obj_tiles gBattleAnimSpriteSheet_059, 0x100, 10059 - obj_tiles gBattleAnimSpriteSheet_060, 0x40, 10060 - obj_tiles gBattleAnimSpriteSheet_061, 0x180, 10061 - obj_tiles gBattleAnimSpriteSheet_062, 0x800, 10062 - obj_tiles gBattleAnimSpriteSheet_063, 0x480, 10063 - obj_tiles gBattleAnimSpriteSheet_064, 0x200, 10064 - obj_tiles gBattleAnimSpriteSheet_065, 0x200, 10065 - obj_tiles gBattleAnimSpriteSheet_066, 0x100, 10066 - obj_tiles gBattleAnimSpriteSheet_065, 0x200, 10067 - obj_tiles gBattleAnimSpriteSheet_065, 0x200, 10068 - obj_tiles gBattleAnimSpriteSheet_065, 0x200, 10069 - obj_tiles gBattleAnimSpriteSheet_070, 0x200, 10070 - obj_tiles gBattleAnimSpriteSheet_071, 0xA00, 10071 - obj_tiles gBattleAnimSpriteSheet_072, 0x300, 10072 - obj_tiles gBattleAnimSpriteSheet_073, 0x180, 10073 - obj_tiles gBattleAnimSpriteSheet_074, 0xA0, 10074 - obj_tiles gBattleAnimSpriteSheet_075, 0x700, 10075 - obj_tiles gBattleAnimSpriteSheet_076, 0x400, 10076 - obj_tiles gBattleAnimSpriteSheet_077, 0x200, 10077 - obj_tiles gBattleAnimSpriteSheet_078, 0x300, 10078 - obj_tiles gBattleAnimSpriteSheet_079, 0xC00, 10079 - obj_tiles gBattleAnimSpriteSheet_080, 0xA00, 10080 - obj_tiles gBattleAnimSpriteSheet_081, 0x80, 10081 - obj_tiles gBattleAnimSpriteSheet_082, 0x40, 10082 - obj_tiles gBattleAnimSpriteSheet_083, 0xE00, 10083 - obj_tiles gBattleAnimSpriteSheet_084, 0xE00, 10084 - obj_tiles gBattleAnimSpriteSheet_085, 0x280, 10085 - obj_tiles gBattleAnimSpriteSheet_086, 0x200, 10086 - obj_tiles gBattleAnimSpriteSheet_087, 0x80, 10087 - obj_tiles gBattleAnimSpriteSheet_088, 0xC0, 10088 - obj_tiles gBattleAnimSpriteSheet_089, 0xA00, 10089 - obj_tiles gBattleAnimSpriteSheet_090, 0x200, 10090 - obj_tiles gBattleAnimSpriteSheet_091, 0x180, 10091 - obj_tiles gBattleAnimSpriteSheet_092, 0x80, 10092 - obj_tiles gBattleAnimSpriteSheet_093, 0x1000, 10093 - obj_tiles gBattleAnimSpriteSheet_094, 0xA00, 10094 - obj_tiles gBattleAnimSpriteSheet_095, 0x180, 10095 - obj_tiles gBattleAnimSpriteSheet_096, 0x380, 10096 - obj_tiles gBattleAnimSpriteSheet_097, 0xC00, 10097 - obj_tiles gBattleAnimSpriteSheet_098, 0x200, 10098 - obj_tiles gBattleAnimSpriteSheet_099, 0x200, 10099 - obj_tiles gBattleAnimSpriteSheet_100, 0x200, 10100 - obj_tiles gBattleAnimSpriteSheet_101, 0x200, 10101 - obj_tiles gBattleAnimSpriteSheet_102, 0x400, 10102 - obj_tiles gBattleAnimSpriteSheet_103, 0x80, 10103 - obj_tiles gBattleAnimSpriteSheet_104, 0x400, 10104 - obj_tiles gBattleAnimSpriteSheet_105, 0xC00, 10105 - obj_tiles gBattleAnimSpriteSheet_106, 0x200, 10106 - obj_tiles gBattleAnimSpriteSheet_107, 0x1000, 10107 - obj_tiles gBattleAnimSpriteSheet_108, 0xA00, 10108 - obj_tiles gBattleAnimSpriteSheet_109, 0x20, 10109 - obj_tiles gBattleAnimSpriteSheet_110, 0xE00, 10110 - obj_tiles gBattleAnimSpriteSheet_111, 0x80, 10111 - obj_tiles gBattleAnimSpriteSheet_112, 0xA00, 10112 - obj_tiles gBattleAnimSpriteSheet_113, 0x400, 10113 - obj_tiles gBattleAnimSpriteSheet_114, 0x200, 10114 - obj_tiles gBattleAnimSpriteSheet_115, 0x700, 10115 - obj_tiles gBattleAnimSpriteSheet_116, 0x800, 10116 - obj_tiles gBattleAnimSpriteSheet_117, 0xA00, 10117 - obj_tiles gBattleAnimSpriteSheet_118, 0x600, 10118 - obj_tiles gBattleAnimSpriteSheet_119, 0x800, 10119 - obj_tiles gBattleAnimSpriteSheet_120, 0x200, 10120 - obj_tiles gBattleAnimSpriteSheet_121, 0x40, 10121 - obj_tiles gBattleAnimSpriteSheet_122, 0x180, 10122 - obj_tiles gBattleAnimSpriteSheet_123, 0x600, 10123 - obj_tiles gBattleAnimSpriteSheet_124, 0x600, 10124 - obj_tiles gBattleAnimSpriteSheet_125, 0x200, 10125 - obj_tiles gBattleAnimSpriteSheet_126, 0x80, 10126 - obj_tiles gBattleAnimSpriteSheet_127, 0x200, 10127 - obj_tiles gBattleAnimSpriteSheet_128, 0x800, 10128 - obj_tiles gBattleAnimSpriteSheet_129, 0x80, 10129 - obj_tiles gBattleAnimSpriteSheet_130, 0xA00, 10130 - obj_tiles gBattleAnimSpriteSheet_131, 0x280, 10131 - obj_tiles gBattleAnimSpriteSheet_132, 0x280, 10132 - obj_tiles gBattleAnimSpriteSheet_133, 0x100, 10133 - obj_tiles gBattleAnimSpriteSheet_134, 0x200, 10134 - obj_tiles gBattleAnimSpriteSheet_135, 0x200, 10135 - obj_tiles gBattleAnimSpriteSheet_136, 0x20, 10136 - obj_tiles gBattleAnimSpriteSheet_137, 0xA00, 10137 - obj_tiles gBattleAnimSpriteSheet_138, 0x800, 10138 - obj_tiles gBattleAnimSpriteSheet_139, 0x800, 10139 - obj_tiles gBattleAnimSpriteSheet_140, 0xC0, 10140 - obj_tiles gBattleAnimSpriteSheet_141, 0x1C0, 10141 - obj_tiles gBattleAnimSpriteSheet_142, 0x100, 10142 - obj_tiles gBattleAnimSpriteSheet_143, 0x800, 10143 - obj_tiles gBattleAnimSpriteSheet_144, 0x200, 10144 - obj_tiles gBattleAnimSpriteSheet_145, 0x800, 10145 - obj_tiles gBattleAnimSpriteSheet_146, 0x180, 10146 - obj_tiles gBattleAnimSpriteSheet_147, 0x180, 10147 - obj_tiles gBattleAnimSpriteSheet_148, 0x200, 10148 - obj_tiles gBattleAnimSpriteSheet_149, 0x200, 10149 - obj_tiles gBattleAnimSpriteSheet_150, 0x180, 10150 - obj_tiles gBattleAnimSpriteSheet_151, 0x400, 10151 - obj_tiles gBattleAnimSpriteSheet_152, 0x80, 10152 - obj_tiles gBattleAnimSpriteSheet_153, 0x100, 10153 - obj_tiles gBattleAnimSpriteSheet_154, 0x100, 10154 - obj_tiles gBattleAnimSpriteSheet_155, 0x140, 10155 - obj_tiles gBattleAnimSpriteSheet_156, 0x800, 10156 - obj_tiles gBattleAnimSpriteSheet_157, 0x200, 10157 - obj_tiles gBattleAnimSpriteSheet_158, 0x100, 10158 - obj_tiles gBattleAnimSpriteSheet_159, 0xA0, 10159 - obj_tiles gBattleAnimSpriteSheet_160, 0x100, 10160 - obj_tiles gBattleAnimSpriteSheet_161, 0x80, 10161 - obj_tiles gBattleAnimSpriteSheet_162, 0x300, 10162 - obj_tiles gBattleAnimSpriteSheet_163, 0x100, 10163 - obj_tiles gBattleAnimSpriteSheet_163, 0x100, 10164 - obj_tiles gBattleAnimSpriteSheet_163, 0x100, 10165 - obj_tiles gBattleAnimSpriteSheet_166, 0x800, 10166 - obj_tiles gBattleAnimSpriteSheet_166, 0x800, 10167 - obj_tiles gBattleAnimSpriteSheet_166, 0x800, 10168 - obj_tiles gBattleAnimSpriteSheet_166, 0x800, 10169 - obj_tiles gBattleAnimSpriteSheet_166, 0x800, 10170 - obj_tiles gBattleAnimSpriteSheet_171, 0x80, 10171 - obj_tiles gBattleAnimSpriteSheet_144, 0x200, 10172 - obj_tiles gBattleAnimSpriteSheet_173, 0x200, 10173 - obj_tiles gBattleAnimSpriteSheet_174, 0x200, 10174 - obj_tiles gBattleAnimSpriteSheet_175, 0x80, 10175 - obj_tiles gBattleAnimSpriteSheet_176, 0x200, 10176 - obj_tiles gBattleAnimSpriteSheet_177, 0x500, 10177 - obj_tiles gBattleAnimSpriteSheet_178, 0x800, 10178 - obj_tiles gBattleAnimSpriteSheet_179, 0x400, 10179 - obj_tiles gBattleAnimSpriteSheet_180, 0x20, 10180 - obj_tiles gBattleAnimSpriteSheet_181, 0x800, 10181 - obj_tiles gBattleAnimSpriteSheet_182, 0x100, 10182 - obj_tiles gBattleAnimSpriteSheet_183, 0x800, 10183 - obj_tiles gBattleAnimSpriteSheet_184, 0x400, 10184 - obj_tiles gBattleAnimSpriteSheet_185, 0xA00, 10185 - obj_tiles gBattleAnimSpriteSheet_186, 0x1000, 10186 - obj_tiles gBattleAnimSpriteSheet_187, 0x800, 10187 - obj_tiles gBattleAnimSpriteSheet_188, 0x400, 10188 - obj_tiles gBattleAnimSpriteSheet_189, 0x200, 10189 - obj_tiles gBattleAnimSpriteSheet_190, 0x800, 10190 - obj_tiles gBattleAnimSpriteSheet_191, 0x800, 10191 - obj_tiles gBattleAnimSpriteSheet_192, 0x800, 10192 - obj_tiles gBattleAnimSpriteSheet_193, 0x200, 10193 - obj_tiles gBattleAnimSpriteSheet_194, 0x800, 10194 - obj_tiles gBattleAnimSpriteSheet_195, 0x200, 10195 - obj_tiles gBattleAnimSpriteSheet_196, 0x800, 10196 - obj_tiles gBattleAnimSpriteSheet_197, 0x200, 10197 - obj_tiles gBattleAnimSpriteSheet_198, 0x800, 10198 - obj_tiles gBattleAnimSpriteSheet_199, 0x400, 10199 - obj_tiles gBattleAnimSpriteSheet_200, 0x200, 10200 - obj_tiles gBattleAnimSpriteSheet_201, 0xA80, 10201 - obj_tiles gBattleAnimSpriteSheet_202, 0x600, 10202 - obj_tiles gBattleAnimSpriteSheet_203, 0x800, 10203 - obj_tiles gBattleAnimSpriteSheet_204, 0x200, 10204 - obj_tiles gBattleAnimSpriteSheet_205, 0x600, 10205 - obj_tiles gBattleAnimSpriteSheet_206, 0x800, 10206 - obj_tiles gBattleAnimSpriteSheet_207, 0x180, 10207 - obj_tiles gBattleAnimSpriteSheet_208, 0x800, 10208 - obj_tiles gBattleAnimSpriteSheet_209, 0x800, 10209 - obj_tiles gBattleAnimSpriteSheet_210, 0x80, 10210 - obj_tiles gBattleAnimSpriteSheet_211, 0x80, 10211 - obj_tiles gBattleAnimSpriteSheet_212, 0x800, 10212 - obj_tiles gBattleAnimSpriteSheet_213, 0x800, 10213 - obj_tiles gBattleAnimSpriteSheet_214, 0x600, 10214 - obj_tiles gBattleAnimSpriteSheet_215, 0x600, 10215 - obj_tiles gBattleAnimSpriteSheet_210, 0x80, 10216 - obj_tiles gBattleAnimSpriteSheet_217, 0x80, 10217 - obj_tiles gBattleAnimSpriteSheet_218, 0x180, 10218 - obj_tiles gBattleAnimSpriteSheet_210, 0x80, 10219 - obj_tiles gBattleAnimSpriteSheet_220, 0x200, 10220 - obj_tiles gBattleAnimSpriteSheet_221, 0x400, 10221 - obj_tiles gBattleAnimSpriteSheet_222, 0xA00, 10222 - obj_tiles gBattleAnimSpriteSheet_223, 0x800, 10223 - obj_tiles gBattleAnimSpriteSheet_224, 0x200, 10224 - obj_tiles gBattleAnimSpriteSheet_225, 0x400, 10225 - obj_tiles gBattleAnimSpriteSheet_226, 0x80, 10226 - obj_tiles gBattleAnimSpriteSheet_227, 0x800, 10227 - obj_tiles gBattleAnimSpriteSheet_228, 0x200, 10228 - obj_tiles gBattleAnimSpriteSheet_229, 0x300, 10229 - obj_tiles gBattleAnimSpriteSheet_230, 0x800, 10230 - obj_tiles gBattleAnimSpriteSheet_231, 0x380, 10231 - obj_tiles gBattleAnimSpriteSheet_232, 0x800, 10232 - obj_tiles gBattleAnimSpriteSheet_233, 0xC0, 10233 - obj_tiles gBattleAnimSpriteSheet_234, 0x800, 10234 - obj_tiles gBattleAnimSpriteSheet_235, 0x60, 10235 - obj_tiles gBattleAnimSpriteSheet_235, 0x60, 10236 - obj_tiles gBattleAnimSpriteSheet_235, 0x60, 10237 - obj_tiles gBattleAnimSpriteSheet_238, 0x80, 10238 - obj_tiles gBattleAnimSpriteSheet_239, 0x180, 10239 - obj_tiles gBattleAnimSpriteSheet_240, 0x180, 10240 - obj_tiles gBattleAnimSpriteSheet_241, 0x200, 10241 - obj_tiles gBattleAnimSpriteSheet_242, 0x200, 10242 - obj_tiles gBattleAnimSpriteSheet_243, 0x20, 10243 - obj_tiles gBattleAnimSpriteSheet_244, 0x400, 10244 - obj_tiles gBattleAnimSpriteSheet_245, 0x600, 10245 - obj_tiles gBattleAnimSpriteSheet_246, 0x1000, 10246 - obj_tiles gBattleAnimSpriteSheet_247, 0x400, 10247 - obj_tiles gBattleAnimSpriteSheet_248, 0x20, 10248 - obj_tiles gBattleAnimSpriteSheet_249, 0x80, 10249 - obj_tiles gBattleAnimSpriteSheet_250, 0x800, 10250 - obj_tiles gBattleAnimSpriteSheet_251, 0x80, 10251 - obj_tiles gBattleAnimSpriteSheet_252, 0x200, 10252 - obj_tiles gBattleAnimSpriteSheet_253, 0x400, 10253 - obj_tiles gBattleAnimSpriteSheet_254, 0x200, 10254 - obj_tiles gBattleAnimSpriteSheet_255, 0x200, 10255 - obj_tiles gBattleAnimSpriteSheet_256, 0x800, 10256 - obj_tiles gBattleAnimSpriteSheet_257, 0x280, 10257 - obj_tiles gBattleAnimSpriteSheet_258, 0x200, 10258 - obj_tiles gBattleAnimSpriteSheet_149, 0x200, 10259 - obj_tiles gBattleAnimSpriteSheet_260, 0x400, 10260 - obj_tiles gBattleAnimSpriteSheet_261, 0x200, 10261 - obj_tiles gBattleAnimSpriteSheet_262, 0x200, 10262 - obj_tiles gBattleAnimSpriteSheet_263, 0x80, 10263 - obj_tiles gBattleAnimSpriteSheet_264, 0x20, 10264 - obj_tiles gBattleAnimSpriteSheet_264, 0x20, 10265 - obj_tiles gBattleAnimSpriteSheet_266, 0x80, 10266 - obj_tiles gBattleAnimSpriteSheet_212, 0x800, 10267 - obj_tiles gBattleAnimSpriteSheet_264, 0x20, 10268 - obj_tiles gBattleAnimSpriteSheet_269, 0x80, 10269 - obj_tiles gBattleAnimSpriteSheet_270, 0x400, 10270 - obj_tiles gBattleAnimSpriteSheet_271, 0x80, 10271 - obj_tiles gBattleAnimSpriteSheet_272, 0x800, 10272 - obj_tiles gBattleAnimSpriteSheet_273, 0x20, 10273 - obj_tiles gBattleAnimSpriteSheet_274, 0x800, 10274 - obj_tiles gBattleAnimSpriteSheet_275, 0x800, 10275 - obj_tiles gBattleAnimSpriteSheet_276, 0x800, 10276 - obj_tiles gBattleAnimSpriteSheet_277, 0x1000, 10277 - obj_tiles gBattleAnimSpriteSheet_278, 0x800, 10278 - obj_tiles gBattleAnimSpriteSheet_279, 0xA0, 10279 - obj_tiles gBattleAnimSpriteSheet_280, 0x800, 10280 - obj_tiles gBattleAnimSpriteSheet_281, 0x200, 10281 - obj_tiles gBattleAnimSpriteSheet_282, 0x600, 10282 - obj_tiles gBattleAnimSpriteSheet_283, 0x200, 10283 - obj_tiles gBattleAnimSpriteSheet_284, 0x800, 10284 - obj_tiles gBattleAnimSpriteSheet_285, 0x200, 10285 - obj_tiles gBattleAnimSpriteSheet_183, 0x800, 10286 - obj_tiles gBattleAnimSpriteSheet_056, 0x1000, 10287 - obj_tiles gBattleAnimSpriteSheet_163, 0x100, 10288 - - .align 2 -gBattleAnimPaletteTable:: @ 837EA6C - obj_pal gBattleAnimSpritePalette_000, 10000 - obj_pal gBattleAnimSpritePalette_001, 10001 - obj_pal gBattleAnimSpritePalette_002, 10002 - obj_pal gBattleAnimSpritePalette_003, 10003 - obj_pal gBattleAnimSpritePalette_004, 10004 - obj_pal gBattleAnimSpritePalette_005, 10005 - obj_pal gBattleAnimSpritePalette_006, 10006 - obj_pal gBattleAnimSpritePalette_007, 10007 - obj_pal gBattleAnimSpritePalette_008, 10008 - obj_pal gBattleAnimSpritePalette_009, 10009 - obj_pal gBattleAnimSpritePalette_010, 10010 - obj_pal gBattleAnimSpritePalette_011, 10011 - obj_pal gBattleAnimSpritePalette_012, 10012 - obj_pal gBattleAnimSpritePalette_013, 10013 - obj_pal gBattleAnimSpritePalette_014, 10014 - obj_pal gBattleAnimSpritePalette_015, 10015 - obj_pal gBattleAnimSpritePalette_016, 10016 - obj_pal gBattleAnimSpritePalette_016, 10017 - obj_pal gBattleAnimSpritePalette_018, 10018 - obj_pal gBattleAnimSpritePalette_019, 10019 - obj_pal gBattleAnimSpritePalette_020, 10020 - obj_pal gBattleAnimSpritePalette_021, 10021 - obj_pal gBattleAnimSpritePalette_022, 10022 - obj_pal gBattleAnimSpritePalette_023, 10023 - obj_pal gBattleAnimSpritePalette_024, 10024 - obj_pal gBattleAnimSpritePalette_025, 10025 - obj_pal gBattleAnimSpritePalette_026, 10026 - obj_pal gBattleAnimSpritePalette_027, 10027 - obj_pal gBattleAnimSpritePalette_028, 10028 - obj_pal gBattleAnimSpritePalette_029, 10029 - obj_pal gBattleAnimSpritePalette_030, 10030 - obj_pal gBattleAnimSpritePalette_031, 10031 - obj_pal gBattleAnimSpritePalette_032, 10032 - obj_pal gBattleAnimSpritePalette_033, 10033 - obj_pal gBattleAnimSpritePalette_033, 10034 - obj_pal gBattleAnimSpritePalette_033, 10035 - obj_pal gBattleAnimSpritePalette_036, 10036 - obj_pal gBattleAnimSpritePalette_036, 10037 - obj_pal gBattleAnimSpritePalette_038, 10038 - obj_pal gBattleAnimSpritePalette_039, 10039 - obj_pal gBattleAnimSpritePalette_038, 10040 - obj_pal gBattleAnimSpritePalette_038, 10041 - obj_pal gBattleAnimSpritePalette_042, 10042 - obj_pal gBattleAnimSpritePalette_043, 10043 - obj_pal gBattleAnimSpritePalette_044, 10044 - obj_pal gBattleAnimSpritePalette_045, 10045 - obj_pal gBattleAnimSpritePalette_046, 10046 - obj_pal gBattleAnimSpritePalette_047, 10046 - obj_pal gBattleAnimSpritePalette_048, 10048 - obj_pal gBattleAnimSpritePalette_049, 10049 - obj_pal gBattleAnimSpritePalette_050, 10050 - obj_pal gBattleAnimSpritePalette_050, 10051 - obj_pal gBattleAnimSpritePalette_050, 10052 - obj_pal gBattleAnimSpritePalette_026, 10053 - obj_pal gBattleAnimSpritePalette_054, 10054 - obj_pal gBattleAnimSpritePalette_050, 10055 - obj_pal gBattleAnimSpritePalette_056, 10056 - obj_pal gBattleAnimSpritePalette_057, 10057 - obj_pal gBattleAnimSpritePalette_058, 10058 - obj_pal gBattleAnimSpritePalette_059, 10059 - obj_pal gBattleAnimSpritePalette_060, 10060 - obj_pal gBattleAnimSpritePalette_061, 10061 - obj_pal gBattleAnimSpritePalette_062, 10062 - obj_pal gBattleAnimSpritePalette_063, 10063 - obj_pal gBattleAnimSpritePalette_064, 10064 - obj_pal gBattleAnimSpritePalette_065, 10065 - obj_pal gBattleAnimSpritePalette_066, 10066 - obj_pal gBattleAnimSpritePalette_067, 10067 - obj_pal gBattleAnimSpritePalette_068, 10068 - obj_pal gBattleAnimSpritePalette_065, 10069 - obj_pal gBattleAnimSpritePalette_070, 10070 - obj_pal gBattleAnimSpritePalette_070, 10071 - obj_pal gBattleAnimSpritePalette_072, 10072 - obj_pal gBattleAnimSpritePalette_073, 10073 - obj_pal gBattleAnimSpritePalette_074, 10074 - obj_pal gBattleAnimSpritePalette_075, 10075 - obj_pal gBattleAnimSpritePalette_076, 10076 - obj_pal gBattleAnimSpritePalette_076, 10077 - obj_pal gBattleAnimSpritePalette_078, 10078 - obj_pal gBattleAnimSpritePalette_078, 10079 - obj_pal gBattleAnimSpritePalette_080, 10080 - obj_pal gBattleAnimSpritePalette_081, 10081 - obj_pal gBattleAnimSpritePalette_082, 10082 - obj_pal gBattleAnimSpritePalette_083, 10083 - obj_pal gBattleAnimSpritePalette_084, 10084 - obj_pal gBattleAnimSpritePalette_085, 10085 - obj_pal gBattleAnimSpritePalette_086, 10086 - obj_pal gBattleAnimSpritePalette_087, 10087 - obj_pal gBattleAnimSpritePalette_088, 10088 - obj_pal gBattleAnimSpritePalette_089, 10089 - obj_pal gBattleAnimSpritePalette_090, 10090 - obj_pal gBattleAnimSpritePalette_091, 10091 - obj_pal gBattleAnimSpritePalette_092, 10092 - obj_pal gBattleAnimSpritePalette_093, 10093 - obj_pal gBattleAnimSpritePalette_094, 10094 - obj_pal gBattleAnimSpritePalette_095, 10095 - obj_pal gBattleAnimSpritePalette_096, 10096 - obj_pal gBattleAnimSpritePalette_097, 10097 - obj_pal gBattleAnimSpritePalette_094, 10098 - obj_pal gBattleAnimSpritePalette_099, 10099 - obj_pal gBattleAnimSpritePalette_100, 10100 - obj_pal gBattleAnimSpritePalette_101, 10101 - obj_pal gBattleAnimSpritePalette_101, 10102 - obj_pal gBattleAnimSpritePalette_103, 10103 - obj_pal gBattleAnimSpritePalette_104, 10104 - obj_pal gBattleAnimSpritePalette_105, 10105 - obj_pal gBattleAnimSpritePalette_105, 10106 - obj_pal gBattleAnimSpritePalette_107, 10107 - obj_pal gBattleAnimSpritePalette_107, 10108 - obj_pal gBattleAnimSpritePalette_109, 10109 - obj_pal gBattleAnimSpritePalette_109, 10110 - obj_pal gBattleAnimSpritePalette_111, 10111 - obj_pal gBattleAnimSpritePalette_112, 10112 - obj_pal gBattleAnimSpritePalette_113, 10113 - obj_pal gBattleAnimSpritePalette_114, 10114 - obj_pal gBattleAnimSpritePalette_115, 10115 - obj_pal gBattleAnimSpritePalette_116, 10116 - obj_pal gBattleAnimSpritePalette_117, 10117 - obj_pal gBattleAnimSpritePalette_118, 10118 - obj_pal gBattleAnimSpritePalette_119, 10119 - obj_pal gBattleAnimSpritePalette_120, 10120 - obj_pal gBattleAnimSpritePalette_121, 10121 - obj_pal gBattleAnimSpritePalette_122, 10122 - obj_pal gBattleAnimSpritePalette_122, 10123 - obj_pal gBattleAnimSpritePalette_124, 10124 - obj_pal gBattleAnimSpritePalette_125, 10125 - obj_pal gBattleAnimSpritePalette_126, 10126 - obj_pal gBattleAnimSpritePalette_127, 10127 - obj_pal gBattleAnimSpritePalette_128, 10128 - obj_pal gBattleAnimSpritePalette_128, 10129 - obj_pal gBattleAnimSpritePalette_130, 10130 - obj_pal gBattleAnimSpritePalette_130, 10131 - obj_pal gBattleAnimSpritePalette_132, 10132 - obj_pal gBattleAnimSpritePalette_133, 10133 - obj_pal gBattleAnimSpritePalette_133, 10134 - obj_pal gBattleAnimSpritePalette_135, 10135 - obj_pal gBattleAnimSpritePalette_136, 10136 - obj_pal gBattleAnimSpritePalette_135, 10137 - obj_pal gBattleAnimSpritePalette_135, 10138 - obj_pal gBattleAnimSpritePalette_139, 10139 - obj_pal gBattleAnimSpritePalette_140, 10140 - obj_pal gBattleAnimSpritePalette_141, 10141 - obj_pal gBattleAnimSpritePalette_141, 10142 - obj_pal gBattleAnimSpritePalette_143, 10143 - obj_pal gBattleAnimSpritePalette_144, 10144 - obj_pal gBattleAnimSpritePalette_139, 10145 - obj_pal gBattleAnimSpritePalette_115, 10146 - obj_pal gBattleAnimSpritePalette_147, 10147 - obj_pal gBattleAnimSpritePalette_148, 10148 - obj_pal gBattleAnimSpritePalette_148, 10149 - obj_pal gBattleAnimSpritePalette_150, 10150 - obj_pal gBattleAnimSpritePalette_150, 10151 - obj_pal gBattleAnimSpritePalette_152, 10152 - obj_pal gBattleAnimSpritePalette_153, 10153 - obj_pal gBattleAnimSpritePalette_154, 10154 - obj_pal gBattleAnimSpritePalette_155, 10155 - obj_pal gBattleAnimSpritePalette_156, 10156 - obj_pal gBattleAnimSpritePalette_157, 10157 - obj_pal gBattleAnimSpritePalette_158, 10158 - obj_pal gBattleAnimSpritePalette_159, 10159 - obj_pal gBattleAnimSpritePalette_160, 10160 - obj_pal gBattleAnimSpritePalette_161, 10161 - obj_pal gBattleAnimSpritePalette_162, 10162 - obj_pal gBattleAnimSpritePalette_163, 10163 - obj_pal gBattleAnimSpritePalette_164, 10164 - obj_pal gBattleAnimSpritePalette_165, 10165 - obj_pal gBattleAnimSpritePalette_166, 10166 - obj_pal gBattleAnimSpritePalette_167, 10167 - obj_pal gBattleAnimSpritePalette_168, 10168 - obj_pal gBattleAnimSpritePalette_169, 10169 - obj_pal gBattleAnimSpritePalette_170, 10170 - obj_pal gBattleAnimSpritePalette_171, 10171 - obj_pal gBattleAnimSpritePalette_172, 10172 - obj_pal gBattleAnimSpritePalette_001, 10173 - obj_pal gBattleAnimSpritePalette_174, 10174 - obj_pal gBattleAnimSpritePalette_175, 10175 - obj_pal gBattleAnimSpritePalette_176, 10176 - obj_pal gBattleAnimSpritePalette_177, 10177 - obj_pal gBattleAnimSpritePalette_178, 10178 - obj_pal gBattleAnimSpritePalette_179, 10179 - obj_pal gBattleAnimSpritePalette_179, 10180 - obj_pal gBattleAnimSpritePalette_179, 10181 - obj_pal gBattleAnimSpritePalette_182, 10182 - obj_pal gBattleAnimSpritePalette_183, 10183 - obj_pal gBattleAnimSpritePalette_184, 10184 - obj_pal gBattleAnimSpritePalette_185, 10185 - obj_pal gBattleAnimSpritePalette_186, 10186 - obj_pal gBattleAnimSpritePalette_187, 10187 - obj_pal gBattleAnimSpritePalette_188, 10188 - obj_pal gBattleAnimSpritePalette_189, 10189 - obj_pal gBattleAnimSpritePalette_190, 10190 - obj_pal gBattleAnimSpritePalette_191, 10191 - obj_pal gBattleAnimSpritePalette_192, 10192 - obj_pal gBattleAnimSpritePalette_193, 10193 - obj_pal gBattleAnimSpritePalette_194, 10194 - obj_pal gBattleAnimSpritePalette_195, 10195 - obj_pal gBattleAnimSpritePalette_196, 10196 - obj_pal gBattleAnimSpritePalette_197, 10197 - obj_pal gBattleAnimSpritePalette_198, 10198 - obj_pal gBattleAnimSpritePalette_199, 10199 - obj_pal gBattleAnimSpritePalette_200, 10200 - obj_pal gBattleAnimSpritePalette_201, 10201 - obj_pal gBattleAnimSpritePalette_202, 10202 - obj_pal gBattleAnimSpritePalette_203, 10203 - obj_pal gBattleAnimSpritePalette_204, 10204 - obj_pal gBattleAnimSpritePalette_205, 10205 - obj_pal gBattleAnimSpritePalette_206, 10206 - obj_pal gBattleAnimSpritePalette_207, 10207 - obj_pal gBattleAnimSpritePalette_167, 10208 - obj_pal gBattleAnimSpritePalette_209, 10209 - obj_pal gBattleAnimSpritePalette_210, 10210 - obj_pal gBattleAnimSpritePalette_211, 10211 - obj_pal gBattleAnimSpritePalette_211, 10212 - obj_pal gBattleAnimSpritePalette_211, 10213 - obj_pal gBattleAnimSpritePalette_064, 10214 - obj_pal gBattleAnimSpritePalette_215, 10215 - obj_pal gBattleAnimSpritePalette_216, 10216 - obj_pal gBattleAnimSpritePalette_217, 10217 - obj_pal gBattleAnimSpritePalette_218, 10218 - obj_pal gBattleAnimSpritePalette_219, 10219 - obj_pal gBattleAnimSpritePalette_220, 10220 - obj_pal gBattleAnimSpritePalette_221, 10221 - obj_pal gBattleAnimSpritePalette_222, 10222 - obj_pal gBattleAnimSpritePalette_223, 10223 - obj_pal gBattleAnimSpritePalette_224, 10224 - obj_pal gBattleAnimSpritePalette_225, 10225 - obj_pal gBattleAnimSpritePalette_226, 10226 - obj_pal gBattleAnimSpritePalette_226, 10227 - obj_pal gBattleAnimSpritePalette_228, 10228 - obj_pal gBattleAnimSpritePalette_229, 10229 - obj_pal gBattleAnimSpritePalette_230, 10230 - obj_pal gBattleAnimSpritePalette_231, 10231 - obj_pal gBattleAnimSpritePalette_231, 10232 - obj_pal gBattleAnimSpritePalette_233, 10233 - obj_pal gBattleAnimSpritePalette_234, 10234 - obj_pal gBattleAnimSpritePalette_235, 10235 - obj_pal gBattleAnimSpritePalette_236, 10236 - obj_pal gBattleAnimSpritePalette_237, 10237 - obj_pal gBattleAnimSpritePalette_238, 10238 - obj_pal gBattleAnimSpritePalette_239, 10239 - obj_pal gBattleAnimSpritePalette_240, 10240 - obj_pal gBattleAnimSpritePalette_241, 10241 - obj_pal gBattleAnimSpritePalette_242, 10242 - obj_pal gBattleAnimSpritePalette_243, 10243 - obj_pal gBattleAnimSpritePalette_244, 10244 - obj_pal gBattleAnimSpritePalette_245, 10245 - obj_pal gBattleAnimSpritePalette_245, 10246 - obj_pal gBattleAnimSpritePalette_064, 10247 - obj_pal gBattleAnimSpritePalette_248, 10248 - obj_pal gBattleAnimSpritePalette_249, 10249 - obj_pal gBattleAnimSpritePalette_249, 10250 - obj_pal gBattleAnimSpritePalette_251, 10251 - obj_pal gBattleAnimSpritePalette_252, 10252 - obj_pal gBattleAnimSpritePalette_253, 10253 - obj_pal gBattleAnimSpritePalette_254, 10254 - obj_pal gBattleAnimSpritePalette_255, 10255 - obj_pal gBattleAnimSpritePalette_256, 10256 - obj_pal gBattleAnimSpritePalette_257, 10257 - obj_pal gBattleAnimSpritePalette_258, 10258 - obj_pal gBattleAnimSpritePalette_259, 10259 - obj_pal gBattleAnimSpritePalette_260, 10260 - obj_pal gBattleAnimSpritePalette_261, 10261 - obj_pal gBattleAnimSpritePalette_262, 10262 - obj_pal gBattleAnimSpritePalette_263, 10263 - obj_pal gBattleAnimSpritePalette_264, 10264 - obj_pal gBattleAnimSpritePalette_265, 10265 - obj_pal gBattleAnimSpritePalette_266, 10266 - obj_pal gBattleAnimSpritePalette_267, 10267 - obj_pal gBattleAnimSpritePalette_268, 10268 - obj_pal gBattleAnimSpritePalette_269, 10269 - obj_pal gBattleAnimSpritePalette_270, 10270 - obj_pal gBattleAnimSpritePalette_271, 10271 - obj_pal gBattleAnimSpritePalette_272, 10272 - obj_pal gBattleAnimSpritePalette_272, 10273 - obj_pal gBattleAnimSpritePalette_274, 10274 - obj_pal gBattleAnimSpritePalette_274, 10275 - obj_pal gBattleAnimSpritePalette_274, 10276 - obj_pal gBattleAnimSpritePalette_277, 10277 - obj_pal gBattleAnimSpritePalette_278, 10278 - obj_pal gBattleAnimSpritePalette_279, 10279 - obj_pal gBattleAnimSpritePalette_280, 10280 - obj_pal gBattleAnimSpritePalette_281, 10281 - obj_pal gBattleAnimSpritePalette_282, 10282 - obj_pal gBattleAnimSpritePalette_283, 10283 - obj_pal gBattleAnimSpritePalette_284, 10284 - obj_pal gBattleAnimSpritePalette_285, 10285 - obj_pal gBattleAnimSpritePalette_286, 10286 - obj_pal gBattleAnimSpritePalette_287, 10287 - obj_pal gBattleAnimSpritePalette_288, 10288 - - .align 2 -gBattleAnimBackgroundTable:: @ 837F374 - .4byte gBattleAnimBackgroundImage_00, gBattleAnimBackgroundPalette_00, gBattleAnimBackgroundTilemap_00 - .4byte gBattleAnimBackgroundImage_00, gBattleAnimBackgroundPalette_00, gBattleAnimBackgroundTilemap_00 - .4byte gBattleAnimBackgroundImage_02, gBattleAnimBackgroundPalette_02, gBattleAnimBackgroundTilemap_02 - .4byte gBattleAnimBackgroundImage_03, gBattleAnimBackgroundPalette_03, gBattleAnimBackgroundTilemap_03 - .4byte gBattleAnimBackgroundImage_04, gBattleAnimBackgroundPalette_04, gBattleAnimBackgroundTilemap_04 - .4byte gBattleAnimBackgroundImage_04, gBattleAnimBackgroundPalette_04, gBattleAnimBackgroundTilemap_05 - .4byte gBattleAnimBackgroundImage_04, gBattleAnimBackgroundPalette_04, gBattleAnimBackgroundTilemap_06 - .4byte gBattleAnimBackgroundImage_07, gBattleAnimBackgroundPalette_07, gBattleAnimBackgroundTilemap_07 - .4byte gBattleAnimBackgroundImage_07, gBattleAnimBackgroundPalette_07, gBattleAnimBackgroundTilemap_08 - .4byte gBattleAnimBackgroundImage_09, gBattleAnimBackgroundPalette_09, gBattleAnimBackgroundTilemap_09 - .4byte gBattleAnimBackgroundImage_09, gBattleAnimBackgroundPalette_09, gBattleAnimBackgroundTilemap_10 - .4byte gBattleAnimBackgroundImage_11, gBattleAnimBackgroundPalette_11, gBattleAnimBackgroundTilemap_11 - .4byte gBattleAnimBackgroundImage_12, gBattleAnimBackgroundPalette_12, gBattleAnimBackgroundTilemap_12 - .4byte gBattleAnimBackgroundImage_12, gBattleAnimBackgroundPalette_12, gBattleAnimBackgroundTilemap_13 - .4byte gBattleAnimBackgroundImage_12, gBattleAnimBackgroundPalette_12, gBattleAnimBackgroundTilemap_14 - .4byte gBattleAnimBackgroundImage_15, gBattleAnimBackgroundPalette_15, gBattleAnimBackgroundTilemap_15 - .4byte gBattleAnimBackgroundImage_16, gBattleAnimBackgroundPalette_16, gBattleAnimBackgroundTilemap_16 - .4byte gBattleAnimBackgroundImage_17, gBattleAnimBackgroundPalette_17, gBattleAnimBackgroundTilemap_17 - .4byte gBattleAnimBackgroundImage_07, gBattleAnimBackgroundPalette_18, gBattleAnimBackgroundTilemap_07 - .4byte gBattleAnimBackgroundImage_07, gBattleAnimBackgroundPalette_18, gBattleAnimBackgroundTilemap_08 - .4byte gBattleAnimBackgroundImage_20, gBattleAnimBackgroundPalette_20, gBattleAnimBackgroundTilemap_20 - .4byte gBattleAnimBackgroundImage_21, gBattleAnimBackgroundPalette_21, gBattleAnimBackgroundTilemap_21 - .4byte gBattleAnimBackgroundImage_09, gBattleAnimBackgroundPalette_22, gBattleAnimBackgroundTilemap_09 - .4byte gBattleAnimBackgroundImage_09, gBattleAnimBackgroundPalette_22, gBattleAnimBackgroundTilemap_10 - .4byte gBattleAnimBackgroundImage_04, gBattleAnimBackgroundPalette_24, gBattleAnimBackgroundTilemap_04 - .4byte gBattleAnimBackgroundImage_04, gBattleAnimBackgroundPalette_24, gBattleAnimBackgroundTilemap_05 - .4byte gBattleAnimBackgroundImage_04, gBattleAnimBackgroundPalette_24, gBattleAnimBackgroundTilemap_06 - - .align 2 -gUnknown_0837F4B8:: @ 837F4B8 - .4byte ma00_load_graphics - .4byte ma01_080728D0 - .4byte ma02_instanciate_template - .4byte sub_8075BB8 - .4byte ma04_wait_countdown - .4byte sub_8075C74 - .4byte nullsub_53 - .4byte nullsub_88 - .4byte sub_8075CB0 - .4byte ma09_play_sound - .4byte sub_8075DE0 - .4byte ma0B_0807324C - .4byte sub_8076A3C - .4byte sub_8076AA0 - .4byte ma0E_call - .4byte sub_8076AF0 - .4byte ma10_080736AC - .4byte ma11_if_else - .4byte ma12_cond_if - .4byte sub_8076BBC - .4byte ma14_load_background - .4byte ma15_load_battle_screen_elements - .4byte ma16_wait_for_battle_screen_elements_s2 - .4byte sub_8076F44 - .4byte ma18_load_background_probably - .4byte ma19_08073BC8 - .4byte ma1A_8073C00 - .4byte ma1B_8073C2C - .4byte ma1C_8073ED0 - .4byte ma1D_08073FB4 - .4byte sub_8076A78 - .4byte sub_8077610 - .4byte ma20_wait_for_something - .4byte ma21_08074164 - .4byte sub_80767C4 - .4byte ma23_8073484 - .4byte sub_807775C - .4byte sub_8076C4C - .4byte sub_8077320 - .4byte sub_80773B4 - .4byte sub_807779C - .4byte sub_8077808 - .4byte sub_807784C - .4byte ma2B_make_side_invisible - .4byte ma2C_make_side_visible - .4byte sub_807794C - .4byte sub_80779FC - .4byte ma2F_stop_music - -gUnknown_0837F578:: @ 837F578 - .incbin "baserom.gba", 0x0037f578, 0x20 - -@ One entry for each of the four Castform forms. -@ Coords are probably front pic coords or back pic coords, but this data does not seem to be -@ used during battle, party summary, or pokedex screens. - .align 2 -gUnknownCastformCoords_0837F598:: @ 837F598 - .byte 68, 17, 0, 0 - .byte 102, 9, 0, 0 - .byte 70, 9, 0, 0 - .byte 134, 8, 0, 0 - -@ One entry for each of the four Castform forms. Probably a palette index. -gUnknownCastformData_0837F5A8:: @ 837F5A8 - .byte 0xD, 0xE, 0xD, 0xD - -gUnknown_0837F5AC:: @ 837F5AC - .byte 0, 0, 0, 0 - - .align 2 -gSpriteTemplate_837F5B0:: @ 837F5B0 - spr_template 55125, 55125, gOamData_837DF9C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_837F5C8:: @ 837F5C8 - spr_template 55126, 55126, gOamData_837DF9C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gUnknown_0837F5E0:: @ 837F5E0 - obj_tiles gMiscBlank_Gfx, 2048, 0xd755 - obj_tiles gMiscBlank_Gfx, 2048, 0xd756 - - .include "data/maps/events/PetalburgCity.inc" - .include "data/maps/events/SlateportCity.inc" - .include "data/maps/events/MauvilleCity.inc" - .include "data/maps/events/RustboroCity.inc" - .include "data/maps/events/FortreeCity.inc" - .include "data/maps/events/LilycoveCity.inc" - .include "data/maps/events/MossdeepCity.inc" - .include "data/maps/events/SootopolisCity.inc" - .include "data/maps/events/EverGrandeCity.inc" - .include "data/maps/events/LittlerootTown.inc" - .include "data/maps/events/OldaleTown.inc" - .include "data/maps/events/DewfordTown.inc" - .include "data/maps/events/LavaridgeTown.inc" - .include "data/maps/events/FallarborTown.inc" - .include "data/maps/events/VerdanturfTown.inc" - .include "data/maps/events/PacifidlogTown.inc" - .include "data/maps/events/Route101.inc" - .include "data/maps/events/Route102.inc" - .include "data/maps/events/Route103.inc" - .include "data/maps/events/Route104.inc" - .include "data/maps/events/Route105.inc" - .include "data/maps/events/Route106.inc" - .include "data/maps/events/Route107.inc" - .include "data/maps/events/Route108.inc" - .include "data/maps/events/Route109.inc" - .include "data/maps/events/Route110.inc" - .include "data/maps/events/Route111.inc" - .include "data/maps/events/Route112.inc" - .include "data/maps/events/Route113.inc" - .include "data/maps/events/Route114.inc" - .include "data/maps/events/Route115.inc" - .include "data/maps/events/Route116.inc" - .include "data/maps/events/Route117.inc" - .include "data/maps/events/Route118.inc" - .include "data/maps/events/Route119.inc" - .include "data/maps/events/Route120.inc" - .include "data/maps/events/Route121.inc" - .include "data/maps/events/Route122.inc" - .include "data/maps/events/Route123.inc" - .include "data/maps/events/Route124.inc" - .include "data/maps/events/Route125.inc" - .include "data/maps/events/Route126.inc" - .include "data/maps/events/Route127.inc" - .include "data/maps/events/Route128.inc" - .include "data/maps/events/Route129.inc" - .include "data/maps/events/Route130.inc" - .include "data/maps/events/Route131.inc" - .include "data/maps/events/Route132.inc" - .include "data/maps/events/Route133.inc" - .include "data/maps/events/Route134.inc" - .include "data/maps/events/Underwater1.inc" - .include "data/maps/events/Underwater2.inc" - .include "data/maps/events/Underwater3.inc" - .include "data/maps/events/Underwater4.inc" - .include "data/maps/events/LittlerootTown_BrendansHouse_1F.inc" - .include "data/maps/events/LittlerootTown_BrendansHouse_2F.inc" - .include "data/maps/events/LittlerootTown_MaysHouse_1F.inc" - .include "data/maps/events/LittlerootTown_MaysHouse_2F.inc" - .include "data/maps/events/LittlerootTown_ProfessorBirchsLab.inc" - .include "data/maps/events/OldaleTown_House1.inc" - .include "data/maps/events/OldaleTown_House2.inc" - .include "data/maps/events/OldaleTown_PokemonCenter_1F.inc" - .include "data/maps/events/OldaleTown_PokemonCenter_2F.inc" - .include "data/maps/events/OldaleTown_Mart.inc" - .include "data/maps/events/DewfordTown_House1.inc" - .include "data/maps/events/DewfordTown_PokemonCenter_1F.inc" - .include "data/maps/events/DewfordTown_PokemonCenter_2F.inc" - .include "data/maps/events/DewfordTown_Gym.inc" - .include "data/maps/events/DewfordTown_Hall.inc" - .include "data/maps/events/DewfordTown_House2.inc" - .include "data/maps/events/LavaridgeTown_HerbShop.inc" - .include "data/maps/events/LavaridgeTown_Gym_1F.inc" - .include "data/maps/events/LavaridgeTown_Gym_B1F.inc" - .include "data/maps/events/LavaridgeTown_House.inc" - .include "data/maps/events/LavaridgeTown_Mart.inc" - .include "data/maps/events/LavaridgeTown_PokemonCenter_1F.inc" - .include "data/maps/events/LavaridgeTown_PokemonCenter_2F.inc" - .include "data/maps/events/FallarborTown_Mart.inc" - .include "data/maps/events/FallarborTown_ContestLobby.inc" - .include "data/maps/events/FallarborTown_ContestHall.inc" - .include "data/maps/events/FallarborTown_PokemonCenter_1F.inc" - .include "data/maps/events/FallarborTown_PokemonCenter_2F.inc" - .include "data/maps/events/FallarborTown_House1.inc" - .include "data/maps/events/FallarborTown_House2.inc" - .include "data/maps/events/VerdanturfTown_ContestLobby.inc" - .include "data/maps/events/VerdanturfTown_ContestHall.inc" - .include "data/maps/events/VerdanturfTown_Mart.inc" - .include "data/maps/events/VerdanturfTown_PokemonCenter_1F.inc" - .include "data/maps/events/VerdanturfTown_PokemonCenter_2F.inc" - .include "data/maps/events/VerdanturfTown_WandasHouse.inc" - .include "data/maps/events/VerdanturfTown_FriendshipRatersHouse.inc" - .include "data/maps/events/VerdanturfTown_House.inc" - .include "data/maps/events/PacifidlogTown_PokemonCenter_1F.inc" - .include "data/maps/events/PacifidlogTown_PokemonCenter_2F.inc" - .include "data/maps/events/PacifidlogTown_House1.inc" - .include "data/maps/events/PacifidlogTown_House2.inc" - .include "data/maps/events/PacifidlogTown_House3.inc" - .include "data/maps/events/PacifidlogTown_House4.inc" - .include "data/maps/events/PacifidlogTown_House5.inc" - .include "data/maps/events/PetalburgCity_WallysHouse.inc" - .include "data/maps/events/PetalburgCity_Gym.inc" - .include "data/maps/events/PetalburgCity_House1.inc" - .include "data/maps/events/PetalburgCity_House2.inc" - .include "data/maps/events/PetalburgCity_PokemonCenter_1F.inc" - .include "data/maps/events/PetalburgCity_PokemonCenter_2F.inc" - .include "data/maps/events/PetalburgCity_Mart.inc" - .include "data/maps/events/SlateportCity_SternsShipyard_1F.inc" - .include "data/maps/events/SlateportCity_SternsShipyard_2F.inc" - .include "data/maps/events/SlateportCity_ContestLobby.inc" - .include "data/maps/events/SlateportCity_ContestHall.inc" - .include "data/maps/events/SlateportCity_House1.inc" - .include "data/maps/events/SlateportCity_PokemonFanClub.inc" - .include "data/maps/events/SlateportCity_OceanicMuseum_1F.inc" - .include "data/maps/events/SlateportCity_OceanicMuseum_2F.inc" - .include "data/maps/events/SlateportCity_Harbor.inc" - .include "data/maps/events/SlateportCity_House2.inc" - .include "data/maps/events/SlateportCity_PokemonCenter_1F.inc" - .include "data/maps/events/SlateportCity_PokemonCenter_2F.inc" - .include "data/maps/events/SlateportCity_Mart.inc" - .include "data/maps/events/MauvilleCity_Gym.inc" - .include "data/maps/events/MauvilleCity_BikeShop.inc" - .include "data/maps/events/MauvilleCity_House1.inc" - .include "data/maps/events/MauvilleCity_GameCorner.inc" - .include "data/maps/events/MauvilleCity_House2.inc" - .include "data/maps/events/MauvilleCity_PokemonCenter_1F.inc" - .include "data/maps/events/MauvilleCity_PokemonCenter_2F.inc" - .include "data/maps/events/MauvilleCity_Mart.inc" - .include "data/maps/events/RustboroCity_DevonCorp_1F.inc" - .include "data/maps/events/RustboroCity_DevonCorp_2F.inc" - .include "data/maps/events/RustboroCity_DevonCorp_3F.inc" - .include "data/maps/events/RustboroCity_Gym.inc" - .include "data/maps/events/RustboroCity_PokemonSchool.inc" - .include "data/maps/events/RustboroCity_PokemonCenter_1F.inc" - .include "data/maps/events/RustboroCity_PokemonCenter_2F.inc" - .include "data/maps/events/RustboroCity_Mart.inc" - .include "data/maps/events/RustboroCity_Flat1_1F.inc" - .include "data/maps/events/RustboroCity_Flat1_2F.inc" - .include "data/maps/events/RustboroCity_House1.inc" - .include "data/maps/events/RustboroCity_CuttersHouse.inc" - .include "data/maps/events/RustboroCity_House2.inc" - .include "data/maps/events/RustboroCity_Flat2_1F.inc" - .include "data/maps/events/RustboroCity_Flat2_2F.inc" - .include "data/maps/events/RustboroCity_Flat2_3F.inc" - .include "data/maps/events/RustboroCity_House3.inc" - .include "data/maps/events/FortreeCity_House1.inc" - .include "data/maps/events/FortreeCity_Gym.inc" - .include "data/maps/events/FortreeCity_PokemonCenter_1F.inc" - .include "data/maps/events/FortreeCity_PokemonCenter_2F.inc" - .include "data/maps/events/FortreeCity_Mart.inc" - .include "data/maps/events/FortreeCity_House2.inc" - .include "data/maps/events/FortreeCity_House3.inc" - .include "data/maps/events/FortreeCity_House4.inc" - .include "data/maps/events/FortreeCity_House5.inc" - .include "data/maps/events/FortreeCity_DecorationShop.inc" - .include "data/maps/events/LilycoveCity_CoveLilyMotel_1F.inc" - .include "data/maps/events/LilycoveCity_CoveLilyMotel_2F.inc" - .include "data/maps/events/LilycoveCity_LilycoveMuseum_1F.inc" - .include "data/maps/events/LilycoveCity_LilycoveMuseum_2F.inc" - .include "data/maps/events/LilycoveCity_ContestLobby.inc" - .include "data/maps/events/LilycoveCity_ContestHall.inc" - .include "data/maps/events/LilycoveCity_PokemonCenter_1F.inc" - .include "data/maps/events/LilycoveCity_PokemonCenter_2F.inc" - .include "data/maps/events/LilycoveCity_UnusedMart.inc" - .include "data/maps/events/LilycoveCity_PokemonTrainerFanClub.inc" - .include "data/maps/events/LilycoveCity_Harbor.inc" - .include "data/maps/events/LilycoveCity_EmptyMap.inc" - .include "data/maps/events/LilycoveCity_MoveDeletersHouse.inc" - .include "data/maps/events/LilycoveCity_House1.inc" - .include "data/maps/events/LilycoveCity_House2.inc" - .include "data/maps/events/LilycoveCity_House3.inc" - .include "data/maps/events/LilycoveCity_House4.inc" - .include "data/maps/events/LilycoveCity_DepartmentStore_1F.inc" - .include "data/maps/events/LilycoveCity_DepartmentStore_2F.inc" - .include "data/maps/events/LilycoveCity_DepartmentStore_3F.inc" - .include "data/maps/events/LilycoveCity_DepartmentStore_4F.inc" - .include "data/maps/events/LilycoveCity_DepartmentStore_5F.inc" - .include "data/maps/events/LilycoveCity_DepartmentStoreRooftop.inc" - .include "data/maps/events/LilycoveCity_DepartmentStoreElevator.inc" - .include "data/maps/events/MossdeepCity_Gym.inc" - .include "data/maps/events/MossdeepCity_House1.inc" - .include "data/maps/events/MossdeepCity_House2.inc" - .include "data/maps/events/MossdeepCity_PokemonCenter_1F.inc" - .include "data/maps/events/MossdeepCity_PokemonCenter_2F.inc" - .include "data/maps/events/MossdeepCity_Mart.inc" - .include "data/maps/events/MossdeepCity_House3.inc" - .include "data/maps/events/MossdeepCity_StevensHouse.inc" - .include "data/maps/events/MossdeepCity_House4.inc" - .include "data/maps/events/MossdeepCity_SpaceCenter_1F.inc" - .include "data/maps/events/MossdeepCity_SpaceCenter_2F.inc" - .include "data/maps/events/MossdeepCity_GameCorner_1F.inc" - .include "data/maps/events/MossdeepCity_GameCorner_B1F.inc" - .include "data/maps/events/SootopolisCity_Gym_1F.inc" - .include "data/maps/events/SootopolisCity_Gym_B1F.inc" - .include "data/maps/events/SootopolisCity_PokemonCenter_1F.inc" - .include "data/maps/events/SootopolisCity_PokemonCenter_2F.inc" - .include "data/maps/events/SootopolisCity_Mart.inc" - .include "data/maps/events/SootopolisCity_House1.inc" - .include "data/maps/events/SootopolisCity_House2.inc" - .include "data/maps/events/SootopolisCity_House3.inc" - .include "data/maps/events/SootopolisCity_House4.inc" - .include "data/maps/events/SootopolisCity_House5.inc" - .include "data/maps/events/SootopolisCity_House6.inc" - .include "data/maps/events/SootopolisCity_House7.inc" - .include "data/maps/events/SootopolisCity_House8.inc" - .include "data/maps/events/EverGrandeCity_SidneysRoom.inc" - .include "data/maps/events/EverGrandeCity_PhoebesRoom.inc" - .include "data/maps/events/EverGrandeCity_GlaciasRoom.inc" - .include "data/maps/events/EverGrandeCity_DrakesRoom.inc" - .include "data/maps/events/EverGrandeCity_ChampionsRoom.inc" - .include "data/maps/events/EverGrandeCity_Corridor1.inc" - .include "data/maps/events/EverGrandeCity_Corridor2.inc" - .include "data/maps/events/EverGrandeCity_Corridor3.inc" - .include "data/maps/events/EverGrandeCity_Corridor4.inc" - .include "data/maps/events/EverGrandeCity_Corridor5.inc" - .include "data/maps/events/EverGrandeCity_PokemonLeague.inc" - .include "data/maps/events/EverGrandeCity_HallOfFame.inc" - .include "data/maps/events/EverGrandeCity_PokemonCenter_1F.inc" - .include "data/maps/events/EverGrandeCity_PokemonCenter_2F.inc" - .include "data/maps/events/Route104_MrBrineysHouse.inc" - .include "data/maps/events/Route104_PrettyPetalFlowerShop.inc" - .include "data/maps/events/Route111_WinstrateFamilysHouse.inc" - .include "data/maps/events/Route111_OldLadysRestStop.inc" - .include "data/maps/events/Route112_CableCarStation.inc" - .include "data/maps/events/MtChimney_CableCarStation.inc" - .include "data/maps/events/Route114_FossilManiacsHouse.inc" - .include "data/maps/events/Route114_FossilManiacsTunnel.inc" - .include "data/maps/events/Route114_LanettesHouse.inc" - .include "data/maps/events/Route116_TunnelersRestHouse.inc" - .include "data/maps/events/Route117_PokemonDayCare.inc" - .include "data/maps/events/Route121_SafariZoneEntrance.inc" - .include "data/maps/events/MeteorFalls_1F_1R.inc" - .include "data/maps/events/MeteorFalls_1F_2R.inc" - .include "data/maps/events/MeteorFalls_B1F_1R.inc" - .include "data/maps/events/MeteorFalls_B1F_2R.inc" - .include "data/maps/events/RusturfTunnel.inc" - .include "data/maps/events/Underwater_SootopolisCity.inc" - .include "data/maps/events/DesertRuins.inc" - .include "data/maps/events/GraniteCave_1F.inc" - .include "data/maps/events/GraniteCave_B1F.inc" - .include "data/maps/events/GraniteCave_B2F.inc" - .include "data/maps/events/GraniteCave_StevensRoom.inc" - .include "data/maps/events/PetalburgWoods.inc" - .include "data/maps/events/MtChimney.inc" - .include "data/maps/events/JaggedPass.inc" - .include "data/maps/events/FieryPath.inc" - .include "data/maps/events/MtPyre_1F.inc" - .include "data/maps/events/MtPyre_2F.inc" - .include "data/maps/events/MtPyre_3F.inc" - .include "data/maps/events/MtPyre_4F.inc" - .include "data/maps/events/MtPyre_5F.inc" - .include "data/maps/events/MtPyre_6F.inc" - .include "data/maps/events/MtPyre_Exterior.inc" - .include "data/maps/events/MtPyre_Summit.inc" - .include "data/maps/events/AquaHideout_1F.inc" - .include "data/maps/events/AquaHideout_B1F.inc" - .include "data/maps/events/AquaHideout_B2F.inc" - .include "data/maps/events/Underwater_SeafloorCavern.inc" - .include "data/maps/events/SeafloorCavern_Entrance.inc" - .include "data/maps/events/SeafloorCavern_Room1.inc" - .include "data/maps/events/SeafloorCavern_Room2.inc" - .include "data/maps/events/SeafloorCavern_Room3.inc" - .include "data/maps/events/SeafloorCavern_Room4.inc" - .include "data/maps/events/SeafloorCavern_Room5.inc" - .include "data/maps/events/SeafloorCavern_Room6.inc" - .include "data/maps/events/SeafloorCavern_Room7.inc" - .include "data/maps/events/SeafloorCavern_Room8.inc" - .include "data/maps/events/SeafloorCavern_Room9.inc" - .include "data/maps/events/CaveOfOrigin_Entrance.inc" - .include "data/maps/events/CaveOfOrigin_1F.inc" - .include "data/maps/events/CaveOfOrigin_B1F.inc" - .include "data/maps/events/CaveOfOrigin_B2F.inc" - .include "data/maps/events/CaveOfOrigin_B3F.inc" - .include "data/maps/events/CaveOfOrigin_B4F.inc" - .include "data/maps/events/VictoryRoad_1F.inc" - .include "data/maps/events/VictoryRoad_B1F.inc" - .include "data/maps/events/VictoryRoad_B2F.inc" - .include "data/maps/events/ShoalCave_LowTideEntranceRoom.inc" - .include "data/maps/events/ShoalCave_LowTideInnerRoom.inc" - .include "data/maps/events/ShoalCave_LowTideStairsRoom.inc" - .include "data/maps/events/ShoalCave_LowTideLowerRoom.inc" - .include "data/maps/events/ShoalCave_HighTideEntranceRoom.inc" - .include "data/maps/events/ShoalCave_HighTideInnerRoom.inc" - .include "data/maps/events/NewMauville_Entrance.inc" - .include "data/maps/events/NewMauville_Inside.inc" - .include "data/maps/events/AbandonedShip_Deck.inc" - .include "data/maps/events/AbandonedShip_Corridors_1F.inc" - .include "data/maps/events/AbandonedShip_Rooms_1F.inc" - .include "data/maps/events/AbandonedShip_Corridors_B1F.inc" - .include "data/maps/events/AbandonedShip_Rooms_B1F.inc" - .include "data/maps/events/AbandonedShip_Rooms2_B1F.inc" - .include "data/maps/events/AbandonedShip_Underwater1.inc" - .include "data/maps/events/AbandonedShip_Room_B1F.inc" - .include "data/maps/events/AbandonedShip_Rooms2_1F.inc" - .include "data/maps/events/AbandonedShip_CaptainsOffice.inc" - .include "data/maps/events/AbandonedShip_Underwater2.inc" - .include "data/maps/events/AbandonedShip_HiddenFloorCorridors.inc" - .include "data/maps/events/AbandonedShip_HiddenFloorRooms.inc" - .include "data/maps/events/IslandCave.inc" - .include "data/maps/events/AncientTomb.inc" - .include "data/maps/events/Underwater_Route134.inc" - .include "data/maps/events/Underwater_SealedChamber.inc" - .include "data/maps/events/SealedChamber_OuterRoom.inc" - .include "data/maps/events/SealedChamber_InnerRoom.inc" - .include "data/maps/events/ScorchedSlab.inc" - .include "data/maps/events/MagmaHideout_1F.inc" - .include "data/maps/events/MagmaHideout_B1F.inc" - .include "data/maps/events/MagmaHideout_B2F.inc" - .include "data/maps/events/SkyPillar_Entrance.inc" - .include "data/maps/events/SkyPillar_Outside.inc" - .include "data/maps/events/SkyPillar_1F.inc" - .include "data/maps/events/SkyPillar_2F.inc" - .include "data/maps/events/SkyPillar_3F.inc" - .include "data/maps/events/SkyPillar_4F.inc" - .include "data/maps/events/ShoalCave_LowTideIceRoom.inc" - .include "data/maps/events/SkyPillar_5F.inc" - .include "data/maps/events/SkyPillar_Top.inc" - .include "data/maps/events/SecretBase_RedCave1.inc" - .include "data/maps/events/SecretBase_BrownCave1.inc" - .include "data/maps/events/SecretBase_BlueCave1.inc" - .include "data/maps/events/SecretBase_YellowCave1.inc" - .include "data/maps/events/SecretBase_Tree1.inc" - .include "data/maps/events/SecretBase_Shrub1.inc" - .include "data/maps/events/SecretBase_RedCave2.inc" - .include "data/maps/events/SecretBase_BrownCave2.inc" - .include "data/maps/events/SecretBase_BlueCave2.inc" - .include "data/maps/events/SecretBase_YellowCave2.inc" - .include "data/maps/events/SecretBase_Tree2.inc" - .include "data/maps/events/SecretBase_Shrub2.inc" - .include "data/maps/events/SecretBase_RedCave3.inc" - .include "data/maps/events/SecretBase_BrownCave3.inc" - .include "data/maps/events/SecretBase_BlueCave3.inc" - .include "data/maps/events/SecretBase_YellowCave3.inc" - .include "data/maps/events/SecretBase_Tree3.inc" - .include "data/maps/events/SecretBase_Shrub3.inc" - .include "data/maps/events/SecretBase_RedCave4.inc" - .include "data/maps/events/SecretBase_BrownCave4.inc" - .include "data/maps/events/SecretBase_BlueCave4.inc" - .include "data/maps/events/SecretBase_YellowCave4.inc" - .include "data/maps/events/SecretBase_Tree4.inc" - .include "data/maps/events/SecretBase_Shrub4.inc" - .include "data/maps/events/SingleBattleColosseum.inc" - .include "data/maps/events/TradeCenter.inc" - .include "data/maps/events/RecordCorner.inc" - .include "data/maps/events/DoubleBattleColosseum.inc" - .include "data/maps/events/LinkContestRoom1.inc" - .include "data/maps/events/LinkContestRoom2.inc" - .include "data/maps/events/LinkContestRoom3.inc" - .include "data/maps/events/LinkContestRoom4.inc" - .include "data/maps/events/LinkContestRoom5.inc" - .include "data/maps/events/LinkContestRoom6.inc" - .include "data/maps/events/UnknownMap_25_29.inc" - .include "data/maps/events/UnknownMap_25_30.inc" - .include "data/maps/events/UnknownMap_25_31.inc" - .include "data/maps/events/UnknownMap_25_32.inc" - .include "data/maps/events/UnknownMap_25_33.inc" - .include "data/maps/events/UnknownMap_25_34.inc" - .include "data/maps/events/InsideOfTruck.inc" - .include "data/maps/events/SSTidalCorridor.inc" - .include "data/maps/events/SSTidalLowerDeck.inc" - .include "data/maps/events/SSTidalRooms.inc" - .include "data/maps/events/SafariZone_Northwest.inc" - .include "data/maps/events/SafariZone_Northeast.inc" - .include "data/maps/events/SafariZone_Southwest.inc" - .include "data/maps/events/SafariZone_Southeast.inc" - .include "data/maps/events/BattleTower_Outside.inc" - .include "data/maps/events/BattleTower_Lobby.inc" - .include "data/maps/events/BattleTower_Elevator.inc" - .include "data/maps/events/BattleTower_Corridor.inc" - .include "data/maps/events/BattleTower_BattleRoom.inc" - .include "data/maps/events/SouthernIsland_Exterior.inc" - .include "data/maps/events/SouthernIsland_Interior.inc" - .include "data/maps/events/SafariZone_RestHouse.inc" - .include "data/maps/events/Route104_Prototype.inc" - .include "data/maps/events/Route104_PrototypePrettyPetalFlowerShop.inc" - .include "data/maps/events/Route109_SeashoreHouse.inc" - .include "data/maps/events/Route110_TrickHouseEntrance.inc" - .include "data/maps/events/Route110_TrickHouseEnd.inc" - .include "data/maps/events/Route110_TrickHouseCorridor.inc" - .include "data/maps/events/Route110_TrickHousePuzzle1.inc" - .include "data/maps/events/Route110_TrickHousePuzzle2.inc" - .include "data/maps/events/Route110_TrickHousePuzzle3.inc" - .include "data/maps/events/Route110_TrickHousePuzzle4.inc" - .include "data/maps/events/Route110_TrickHousePuzzle5.inc" - .include "data/maps/events/Route110_TrickHousePuzzle6.inc" - .include "data/maps/events/Route110_TrickHousePuzzle7.inc" - .include "data/maps/events/Route110_TrickHousePuzzle8.inc" - .include "data/maps/events/Route110_SeasideCyclingRoadSouthEntrance.inc" - .include "data/maps/events/Route110_SeasideCyclingRoadNorthEntrance.inc" - .include "data/maps/events/Route113_GlassWorkshop.inc" - .include "data/maps/events/Route123_BerryMastersHouse.inc" - .include "data/maps/events/Route119_WeatherInstitute_1F.inc" - .include "data/maps/events/Route119_WeatherInstitute_2F.inc" - .include "data/maps/events/Route119_House.inc" -Route124_DivingTreasureHuntersHouse_MapObjects:: @ 839300C - object_event 1, MAP_OBJ_GFX_MAN_6, 0, 5, 0, 4, 0, 0, 9, 0, 0, 0, 0, 0, 0, Route124_DivingTreasureHuntersHouse_EventScript_163E04, 0, 0, 0 - -Route124_DivingTreasureHuntersHouse_MapWarps:: @ 8393024 - warp_def 3, 8, 0, 0, Route124 - warp_def 4, 8, 0, 0, Route124 - -Route124_DivingTreasureHuntersHouse_MapBGEvents:: @ 8393034 - bg_event 7, 1, 0, 0, 0, Route124_DivingTreasureHuntersHouse_EventScript_164335 - -Route124_DivingTreasureHuntersHouse_MapEvents:: @ 8393040 - map_events Route124_DivingTreasureHuntersHouse_MapObjects, Route124_DivingTreasureHuntersHouse_MapWarps, 0x0, Route124_DivingTreasureHuntersHouse_MapBGEvents - - .align 2 -gSpriteAnim_8393054:: @ 8393054 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 4, 3 - obj_image_anim_frame 8, 3 - obj_image_anim_frame 12, 3 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnimTable_8393068:: @ 8393068 - .4byte gSpriteAnim_8393054 - - .align 2 -gSpriteTemplate_839306C:: @ 839306C - spr_template 10004, 10004, gOamData_837DF2C, gSpriteAnimTable_8393068, NULL, gDummySpriteAffineAnimTable, sub_807A5C4 - - .align 2 -gSpriteTemplate_8393084:: @ 8393084 - spr_template 10004, 10004, gOamData_837DF2C, gSpriteAnimTable_8393068, NULL, gDummySpriteAffineAnimTable, sub_807A544 - - .align 2 -gSpriteAnim_839309C:: @ 839309C - obj_image_anim_frame 0, 3 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnimTable_83930A4:: @ 83930A4 - .4byte gSpriteAnim_839309C - - .align 2 -gBattleAnimSpriteTemplate_83930A8:: @ 83930A8 - spr_template 10283, 10283, gOamData_837DF34, gSpriteAnimTable_83930A4, NULL, gDummySpriteAffineAnimTable, sub_807A908 - - .align 2 -gBattleAnimSpriteTemplate_83930C0:: @ 83930C0 - spr_template 10283, 10283, gOamData_837DF34, gSpriteAnimTable_83930A4, NULL, gDummySpriteAffineAnimTable, sub_807A9BC - - .align 2 -gSpriteAnim_83930D8:: @ 83930D8 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 16, 3 - obj_image_anim_frame 32, 3 - obj_image_anim_frame 48, 3 - obj_image_anim_frame 64, 3 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83930F0:: @ 83930F0 - .4byte gSpriteAnim_83930D8 - - .align 2 -gBattleAnimSpriteTemplate_83930F4:: @ 83930F4 - spr_template 10071, 10071, gOamData_837DF34, gSpriteAnimTable_83930F0, NULL, gDummySpriteAffineAnimTable, sub_807A63C - - .align 2 -gSpriteTemplate_839310C:: @ 839310C - spr_template 10051, 10051, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_807A5C4 - - .align 2 -gSpriteAnim_8393124:: @ 8393124 - obj_image_anim_frame 0, 5 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnim_839312C:: @ 839312C - obj_image_anim_frame 0, 5 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnim_8393134:: @ 8393134 - obj_image_anim_frame 0, 5 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnimTable_839313C:: @ 839313C - .4byte gSpriteAnim_8393124 - .4byte gSpriteAnim_839312C - .4byte gSpriteAnim_8393134 - - .align 2 -gSpriteTemplate_8393148:: @ 8393148 - spr_template 10135, 10135, gOamData_837DF34, gSpriteAnimTable_839313C, NULL, gDummySpriteAffineAnimTable, sub_807A5C4 - - .align 2 -gSpriteAnim_8393160:: @ 8393160 - obj_image_anim_frame 0, 15 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnimTable_8393168:: @ 8393168 - .4byte gSpriteAnim_8393160 - - .align 2 -gSpriteAffineAnim_839316C:: @ 839316C - obj_rot_scal_anim_frame 0x60, 0x60, 0, 0 - obj_rot_scal_anim_frame 0x2, 0x2, 0, 1 - obj_rot_scal_anim_jump 1 - - .align 2 -gSpriteAffineAnimTable_8393184:: @ 8393184 - .4byte gSpriteAffineAnim_839316C - - .align 2 -gSpriteTemplate_8393188:: @ 8393188 - spr_template 10004, 10004, gOamData_837DFEC, gSpriteAnimTable_8393168, NULL, gSpriteAffineAnimTable_8393184, sub_807A544 - - .align 2 - .incbin "baserom.gba", 0x003931a0, 0x18 -Unknown_083931B8: - .incbin "baserom.gba", 0x003931b8, 0x20 - -gUnknown_083931D8:: @ 83931D8 - .4byte 4, Unknown_083931B8 - - .align 2 -gSpriteTemplate_83931E0:: @ 83931E0 - spr_template 10010, 10010, gOamData_837E05C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_83931F8:: @ 83931F8 - spr_template 10136, 10136, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_807B870 - - .align 2 -gUnknown_08393210:: @ 8393210 - .ifdef SAPPHIRE - .incbin "graphics/title_screen/kyogre_dark.gbapal" - .incbin "graphics/title_screen/kyogre_glow.gbapal" - .else - .incbin "graphics/title_screen/groudon_dark.gbapal" - .incbin "graphics/title_screen/groudon_glow.gbapal" - .endif - - .align 2 -gUnknown_08393250:: @ 8393250 - .ifdef SAPPHIRE - .incbin "graphics/title_screen/kyogre.4bpp.lz" - .else - .incbin "graphics/title_screen/groudon.4bpp.lz" - .endif - - .align 2 -gUnknown_083939EC:: @ 83939EC - .ifdef SAPPHIRE - .incbin "graphics/title_screen/kyogre_map.bin.lz" - .else - .incbin "graphics/title_screen/groudon_map.bin.lz" - .endif - - .align 2 -gUnknown_08393BF8:: @ 8393BF8 - .ifdef SAPPHIRE - .incbin "graphics/title_screen/water_map.bin.lz" - .else - .incbin "graphics/title_screen/lava_map.bin.lz" - .endif - - .align 2 -LogoShineTiles: @ 8393D14 - .incbin "graphics/title_screen/logo_shine.4bpp.lz" - -gUnknown_08393E64:: @ 8393E64 - .incbin "baserom.gba", 0x00393e64, 0x40 - - .align 2 -gOamData_8393EA4:: @ 8393EA4 - .2byte 0x60A0 - .2byte 0xC000 - .2byte 0x0000 - - .align 2 -gOamData_8393EAC:: @ 8393EAC - .2byte 0x60A0 - .2byte 0xC000 - .2byte 0x0000 - - .align 2 -gSpriteAnim_8393EB4:: @ 8393EB4 - obj_image_anim_frame 0, 30 - obj_image_anim_end - - .align 2 -gSpriteAnim_8393EBC:: @ 8393EBC - obj_image_anim_frame 64, 30 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_8393EC4:: @ 8393EC4 - .4byte gSpriteAnim_8393EB4 - - .align 2 -gSpriteAnimTable_8393EC8:: @ 8393EC8 - .4byte gSpriteAnim_8393EBC - - .align 2 -gSpriteTemplate_8393ECC:: @ 8393ECC - spr_template 1000, 1000, gOamData_8393EA4, gSpriteAnimTable_8393EC4, NULL, gDummySpriteAffineAnimTable, SpriteCallback_VersionBannerLeft - - .align 2 -gSpriteTemplate_8393EE4:: @ 8393EE4 - spr_template 1000, 1000, gOamData_8393EAC, gSpriteAnimTable_8393EC8, NULL, gDummySpriteAffineAnimTable, SpriteCallback_VersionBannerRight - - .align 2 -gUnknown_08393EFC:: @ 8393EFC - obj_tiles gVersionTiles, 0x1000, 1000 - null_obj_tiles - - .align 2 -gOamData_8393F0C:: @ 8393F0C - .2byte 0x40A0 - .2byte 0x4000 - .2byte 0x0000 - - .align 2 -gSpriteAnim_8393F14:: @ 8393F14 - obj_image_anim_frame 0, 4 - obj_image_anim_end - - .align 2 -gSpriteAnim_8393F1C:: @ 8393F1C - obj_image_anim_frame 4, 4 - obj_image_anim_end - - .align 2 -gSpriteAnim_8393F24:: @ 8393F24 - obj_image_anim_frame 8, 4 - obj_image_anim_end - - .align 2 -gSpriteAnim_8393F2C:: @ 8393F2C - obj_image_anim_frame 12, 4 - obj_image_anim_end - - .align 2 -gSpriteAnim_8393F34:: @ 8393F34 - obj_image_anim_frame 16, 4 - obj_image_anim_end - - .align 2 -gSpriteAnim_8393F3C:: @ 8393F3C - obj_image_anim_frame 20, 4 - obj_image_anim_end - - .align 2 -gSpriteAnim_8393F44:: @ 8393F44 - obj_image_anim_frame 24, 4 - obj_image_anim_end - - .align 2 -gSpriteAnim_8393F4C:: @ 8393F4C - obj_image_anim_frame 28, 4 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_8393F54:: @ 8393F54 - .4byte gSpriteAnim_8393F14 - .4byte gSpriteAnim_8393F1C - .4byte gSpriteAnim_8393F24 - .4byte gSpriteAnim_8393F2C - .4byte gSpriteAnim_8393F34 - .4byte gSpriteAnim_8393F3C - .4byte gSpriteAnim_8393F44 - .4byte gSpriteAnim_8393F4C - - .align 2 -gSpriteTemplate_8393F74:: @ 8393F74 - spr_template 1001, 1001, gOamData_8393F0C, gSpriteAnimTable_8393F54, NULL, gDummySpriteAffineAnimTable, SpriteCallback_PressStartCopyrightBanner - - .align 2 -gUnknown_08393F8C:: @ 8393F8C - obj_tiles gTitleScreenPressStart_Gfx, 0x520, 1001 - null_obj_tiles - - .align 2 -gUnknown_08393F9C:: @ 8393F9C - obj_pal gTitleScreenLogoShinePalette, 1001 - obj_pal 0x0, 0x0 - - .align 2 -gOamData_8393FAC:: @ 8393FAC - .2byte 0x00A0 - .2byte 0xC000 - .2byte 0x0000 - - .align 2 -gSpriteAnim_8393FB4:: @ 8393FB4 - obj_image_anim_frame 0, 4 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_8393FBC:: @ 8393FBC - .4byte gSpriteAnim_8393FB4 - - .align 2 -gSpriteTemplate_8393FC0:: @ 8393FC0 - spr_template 1002, 1001, gOamData_8393FAC, gSpriteAnimTable_8393FBC, NULL, gDummySpriteAffineAnimTable, SpriteCallback_PokemonLogoShine - - .align 2 -gUnknown_08393FD8:: @ 8393FD8 - obj_tiles LogoShineTiles, 0x800, 1002 - null_obj_tiles - - .align 2 -DroughtPaletteData_0: @ 8393FE8 - .incbin "graphics/weather/drought0.bin.lz" - - .align 2 -DroughtPaletteData_1: @ 839480C - .incbin "graphics/weather/drought1.bin.lz" - - .align 2 -DroughtPaletteData_2: @ 8395004 - .incbin "graphics/weather/drought2.bin.lz" - - .align 2 -DroughtPaletteData_3: @ 83957A0 - .incbin "graphics/weather/drought3.bin.lz" - - .align 2 -DroughtPaletteData_4: @ 8395FBC - .incbin "graphics/weather/drought4.bin.lz" - - .align 2 -DroughtPaletteData_5: @ 8396784 - .incbin "graphics/weather/drought5.bin.lz" - - .align 2 -gUnknown_08396FA8:: @ 8396FA8 - .4byte DroughtPaletteData_0 - .4byte DroughtPaletteData_1 - .4byte DroughtPaletteData_2 - .4byte DroughtPaletteData_3 - .4byte DroughtPaletteData_4 - .4byte DroughtPaletteData_5 - @.4byte unk_20000000 - .incbin "baserom.gba", 0x00396fc0, 0x4 @ pointer to unk_2000000? - - .align 2 -gUnknown_08396FC4:: @ 8396FC4 - .4byte 0x0202f7e8 - - .align 2 -gUnknown_08396FC8:: @ 8396FC8 - .4byte sub_807CAE8, nullsub_38, sub_807CAE8, sub_807CB0C - .4byte sub_807DE78, sub_807DEF4, sub_807DEC4, sub_807DF54 - .4byte sub_807DF9C, nullsub_55, sub_807DFC0, sub_807DFD0 - .4byte sub_807E364, sub_807E400, sub_807E3D0, sub_807E460 - .4byte sub_807E9C8, snowflakes_progress2, sub_807EA18, sub_807EAC0 - .4byte sub_807EE80, sub_807EFC0, sub_807EEF4, sub_807F34C - .4byte sub_807F49C, sub_807F52C, sub_807F4FC, sub_807F5EC - .4byte sub_807F7F8, sub_807F888, sub_807F858, sub_807F934 - .4byte sub_807FE9C, sub_807FF4C, sub_807FF1C, sub_807FFC8 - .4byte sub_807FB24, sub_807FBD8, sub_807FBA8, sub_807FC3C - .4byte sub_807F49C, sub_807F52C, sub_807F4FC, sub_807F5EC - .4byte sub_8080430, nullsub_56, sub_8080460, sub_8080470 - .4byte sub_807E110, sub_807E174, sub_807E144, sub_807E258 - .4byte sub_807EF24, sub_807EFC0, sub_807EF90, sub_807F34C - .4byte sub_8080474, sub_80804F8, sub_80804C8, sub_808056C - - .align 2 -gUnknown_083970B8:: @ 83970B8 - .4byte sub_807CC24 - .4byte sub_807CCAC - .4byte nullsub_39 - .4byte nullsub_39 - -gUnknown_083970C8:: @ 83970C8 - .incbin "baserom.gba", 0x003970c8, 0x20 - - .align 2 -gUnknown_083970E8:: @ 83970E8 - .incbin "graphics/weather/0.gbapal" - - .align 2 -gUnknown_08397108:: @ 8397108 - .incbin "graphics/weather/1.gbapal" - - .align 2 -gUnknown_08397128:: @ 8397128 - .incbin "graphics/weather/2.gbapal" - - .align 2 -WeatherFog0Tiles: @ 8397148 - .incbin "graphics/weather/fog0.4bpp" - - .align 2 -gWeatherFog1Tiles:: @ 8397948 - .incbin "graphics/weather/fog1.4bpp" - - .align 2 -WeatherCloudTiles: @ 8398148 - .incbin "graphics/weather/cloud.4bpp" - - .align 2 -gSpriteImage_8398948:: @ 8398948 - .incbin "graphics/weather/snow0.4bpp" - - .align 2 -gSpriteImage_8398968:: @ 8398968 - .incbin "graphics/weather/snow1.4bpp" - - .align 2 -WeatherBubbleTiles: @ 8398988 - .incbin "graphics/weather/bubble.4bpp" - - .align 2 -WeatherAshTiles: @ 83989C8 - .incbin "graphics/weather/ash.4bpp" - - .align 2 -WeatherRainTiles: @ 83999C8 - .incbin "graphics/weather/rain.4bpp" - - .align 2 -WeatherSandstormTiles: @ 8399FC8 - .incbin "graphics/weather/sandstorm.4bpp" - - .align 1 -gUnknown_0839A9C8:: @ 839A9C8 - .2byte 0, 66 - .2byte 5, 73 - .2byte 10, 78 - - .align 2 -gUnknown_0839A9D4:: @ 839A9D4 - obj_tiles WeatherCloudTiles, 0x800, 0x1200 - - .align 2 -gOamData_839A9DC:: @ 839A9DC - .2byte 0x0400 - .2byte 0xC000 - .2byte 0x0C00 - - .align 2 -gSpriteAnim_839A9E4:: @ 839A9E4 - obj_image_anim_frame 0, 16 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_839A9EC:: @ 839A9EC - .4byte gSpriteAnim_839A9E4 - - .align 2 -gSpriteTemplate_839A9F0:: @ 839A9F0 - spr_template 4608, 4609, gOamData_839A9DC, gSpriteAnimTable_839A9EC, NULL, gDummySpriteAffineAnimTable, sub_807E0F4 - - .align 1 -gUnknown_0839AA08:: @ 839AA08 - .2byte 0, 0 - .2byte 0, 160 - .2byte 0, 64 - .2byte 144, 224 - .2byte 144, 128 - .2byte 32, 32 - .2byte 32, 192 - .2byte 32, 96 - .2byte 72, 128 - .2byte 72, 32 - .2byte 72, 192 - .2byte 216, 96 - .2byte 216, 0 - .2byte 104, 160 - .2byte 104, 64 - .2byte 104, 224 - .2byte 144, 0 - .2byte 144, 160 - .2byte 144, 64 - .2byte 32, 224 - .2byte 32, 128 - .2byte 72, 32 - .2byte 72, 192 - .2byte 48, 96 - - .align 2 -gOamData_839AA68:: @ 839AA68 - .2byte 0x8000 - .2byte 0x8000 - .2byte 0x2400 - - .align 2 -gSpriteAnim_839AA70:: @ 839AA70 - obj_image_anim_frame 0, 16 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnim_839AA78:: @ 839AA78 - obj_image_anim_frame 8, 3 - obj_image_anim_frame 32, 2 - obj_image_anim_frame 40, 2 - obj_image_anim_end - - .align 2 -gSpriteAnim_839AA88:: @ 839AA88 - obj_image_anim_frame 8, 3 - obj_image_anim_frame 16, 3 - obj_image_anim_frame 24, 4 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_839AA98:: @ 839AA98 - .4byte gSpriteAnim_839AA70 - .4byte gSpriteAnim_839AA78 - .4byte gSpriteAnim_839AA88 - - .align 2 -gSpriteTemplate_839AAA4:: @ 839AAA4 - spr_template 4614, 4608, gOamData_839AA68, gSpriteAnimTable_839AA98, NULL, gDummySpriteAffineAnimTable, sub_807E5C0 - -gUnknown_0839AABC:: @ 839AABC - .incbin "baserom.gba", 0x0039aabc, 0x8 - -gUnknown_0839AAC4:: @ 839AAC4 - .incbin "baserom.gba", 0x0039aac4, 0x8 - - .align 2 -gUnknown_0839AACC:: @ 839AACC - obj_tiles WeatherRainTiles, 0x600, 0x1206 - - .align 2 -gOamData_839AAD4:: @ 839AAD4 - .2byte 0x0000 - .2byte 0x0000 - .2byte 0x0400 - - .align 2 -gSpriteImageTable_839AADC:: @ 839AADC - obj_frame_tiles gSpriteImage_8398948, 0x20 - obj_frame_tiles gSpriteImage_8398968, 0x20 - - .align 2 -gSpriteAnim_839AAEC:: @ 839AAEC - obj_image_anim_frame 0, 16 - obj_image_anim_end - - .align 2 -gSpriteAnim_839AAF4:: @ 839AAF4 - obj_image_anim_frame 1, 16 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_839AAFC:: @ 839AAFC - .4byte gSpriteAnim_839AAEC - .4byte gSpriteAnim_839AAF4 - - .align 2 -gSpriteTemplate_839AB04:: @ 839AB04 - spr_template 0xFFFF, 4608, gOamData_839AAD4, gSpriteAnimTable_839AAFC, gSpriteImageTable_839AADC, gDummySpriteAffineAnimTable, sub_807ED48 - - .align 2 - .incbin "baserom.gba", 0x0039ab1c, 0x10 - - .align 2 -gOamData_839AB2C:: @ 839AB2C - .2byte 0x0400 - .2byte 0xC000 - .2byte 0x0800 - - .align 2 -gSpriteAnim_839AB34:: @ 839AB34 - obj_image_anim_frame 0, 16 - obj_image_anim_end - - .align 2 -gSpriteAnim_839AB3C:: @ 839AB3C - obj_image_anim_frame 32, 16 - obj_image_anim_end - - .align 2 -gSpriteAnim_839AB44:: @ 839AB44 - obj_image_anim_frame 64, 16 - obj_image_anim_end - - .align 2 -gSpriteAnim_839AB4C:: @ 839AB4C - obj_image_anim_frame 96, 16 - obj_image_anim_end - - .align 2 -gSpriteAnim_839AB54:: @ 839AB54 - obj_image_anim_frame 128, 16 - obj_image_anim_end - - .align 2 -gSpriteAnim_839AB5C:: @ 839AB5C - obj_image_anim_frame 160, 16 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_839AB64:: @ 839AB64 - .4byte gSpriteAnim_839AB34 - .4byte gSpriteAnim_839AB3C - .4byte gSpriteAnim_839AB44 - .4byte gSpriteAnim_839AB4C - .4byte gSpriteAnim_839AB54 - .4byte gSpriteAnim_839AB5C - - .align 2 -gSpriteAffineAnim_839AB7C:: @ 839AB7C - obj_rot_scal_anim_frame 0x200, 0x200, 0, 0 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_839AB8C:: @ 839AB8C - .4byte gSpriteAffineAnim_839AB7C - - .align 2 -gSpriteTemplate_839AB90:: @ 839AB90 - spr_template 4609, 4608, gOamData_839AB2C, gSpriteAnimTable_839AB64, NULL, gSpriteAffineAnimTable_839AB8C, sub_807F688 - - .align 2 -gUnknown_0839ABA8:: @ 839ABA8 - obj_tiles gWeatherFog1Tiles, 0x800, 0x1201 - - .align 2 -gUnknown_0839ABB0:: @ 839ABB0 - obj_tiles WeatherAshTiles, 0x1000, 0x1202 - - .align 2 -gOamData_839ABB8:: @ 839ABB8 - .2byte 0x0400 - .2byte 0xC000 - .2byte 0xF400 - - .align 2 -gSpriteAnim_839ABC0:: @ 839ABC0 - obj_image_anim_frame 0, 60 - obj_image_anim_frame 64, 60 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnimTable_839ABCC:: @ 839ABCC - .4byte gSpriteAnim_839ABC0 - - .align 2 -gSpriteTemplate_839ABD0:: @ 839ABD0 - spr_template 4610, 4608, gOamData_839ABB8, gSpriteAnimTable_839ABCC, NULL, gDummySpriteAffineAnimTable, sub_807FAA8 - - .align 2 -gUnknown_0839ABE8:: @ 839ABE8 - obj_tiles WeatherFog0Tiles, 0x800, 0x1203 - - .align 2 -gOamData_839ABF0:: @ 839ABF0 - .2byte 0x0400 - .2byte 0xC000 - .2byte 0x0800 - - .align 2 -gSpriteAnim_839ABF8:: @ 839ABF8 - obj_image_anim_frame 0, 16 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_839AC00:: @ 839AC00 - .4byte gSpriteAnim_839ABF8 - - .align 2 -gSpriteTemplate_839AC04:: @ 839AC04 - spr_template 4611, 4608, gOamData_839ABF0, gSpriteAnimTable_839AC00, NULL, gDummySpriteAffineAnimTable, sub_807FE3C - - .align 2 -gOamData_839AC1C:: @ 839AC1C - .2byte 0x0400 - .2byte 0xC000 - .2byte 0x0400 - - .align 2 -gSpriteAnim_839AC24:: @ 839AC24 - obj_image_anim_frame 0, 3 - obj_image_anim_end - - .align 2 -gSpriteAnim_839AC2C:: @ 839AC2C - obj_image_anim_frame 64, 3 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_839AC34:: @ 839AC34 - .4byte gSpriteAnim_839AC24 - .4byte gSpriteAnim_839AC2C - - .align 2 -gSpriteTemplate_839AC3C:: @ 839AC3C - spr_template 4612, 4609, gOamData_839AC1C, gSpriteAnimTable_839AC34, NULL, gDummySpriteAffineAnimTable, sub_8080338 - - .align 2 -gUnknown_0839AC54:: @ 839AC54 - obj_tiles WeatherSandstormTiles, 0xA00, 0x1204 - -gUnknown_0839AC5C:: @ 839AC5C - .incbin "baserom.gba", 0x0039ac5c, 0xc - -gUnknown_0839AC68:: @ 839AC68 - .incbin "baserom.gba", 0x0039ac68, 0x8 - - .align 2 -gUnknown_0839AC70:: @ 839AC70 - obj_tiles WeatherBubbleTiles, 0x40, 0x1205 - - .align 1 -gUnknown_0839AC78:: @ 839AC78 - .2byte 120, 160 - .2byte 376, 160 - .2byte 40, 140 - .2byte 296, 140 - .2byte 180, 130 - .2byte 436, 130 - .2byte 60, 160 - .2byte 436, 160 - .2byte 220, 180 - .2byte 476, 180 - .2byte 10, 90 - .2byte 266, 90 - .2byte 256, 160 - - .align 2 -gSpriteAnim_839ACAC:: @ 839ACAC - obj_image_anim_frame 0, 16 - obj_image_anim_frame 1, 16 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_839ACB8:: @ 839ACB8 - .4byte gSpriteAnim_839ACAC - - .align 2 -gSpriteTemplate_839ACBC:: @ 839ACBC - spr_template 4613, 4608, gOamData_837DF24, gSpriteAnimTable_839ACB8, NULL, gDummySpriteAffineAnimTable, unc_0807DAB4 - -gUnknown_0839ACD4:: @ 839ACD4 - .byte 2, 3, 5, 3 - -gUnknown_0839ACD8:: @ 839ACD8 - .byte 2, 2, 3, 2 - -gUnknown_0839ACDC:: @ 839ACDC - .incbin "baserom.gba", 0x0039acdc, 0xc - - .align 2 -gUnknown_0839ACE8:: @ 839ACE8 - .byte 4 - - .align 2 -gUnknown_0839ACEC:: @ 839ACEC - .4byte REG_WIN0H - .4byte ((DMA_ENABLE | DMA_START_HBLANK | DMA_REPEAT | DMA_DEST_RELOAD) << 16) | 1 - .4byte 1 - -gBattleTransitionTable_Wild:: @ 839ACF8 - .byte 8, 9, 5, 10, 0, 10, 7, 6 - -gBattleTransitionTable_Trainer:: @ 839AD00 - .byte 4, 11, 2, 3, 0, 10, 1, 6 - - .align 2 -gTrainerBattleSpecs_0:: @ 839AD08 - .4byte gTrainerBattleMode, 0 - .4byte gTrainerBattleOpponent, 1 - .4byte gTrainerMapObjectLocalId, 1 - .4byte gTrainerIntroSpeech, 2 - .4byte gTrainerDefeatSpeech, 2 - .4byte gTrainerVictorySpeech, 5 - .4byte gTrainerCannotBattleSpeech, 5 - .4byte gTrainerBattleEndScript, 5 - .4byte gTrainerBattleScriptReturnAddress, 6 - - .align 2 -gTrainerBattleSpecs_1:: @ 839AD50 - .4byte gTrainerBattleMode, 0 - .4byte gTrainerBattleOpponent, 1 - .4byte gTrainerMapObjectLocalId, 1 - .4byte gTrainerIntroSpeech, 2 - .4byte gTrainerDefeatSpeech, 2 - .4byte gTrainerVictorySpeech, 5 - .4byte gTrainerCannotBattleSpeech, 5 - .4byte gTrainerBattleEndScript, 2 - .4byte gTrainerBattleScriptReturnAddress, 6 - - .align 2 -gTrainerBattleSpecs_2:: @ 839AD98 - .4byte gTrainerBattleMode, 0 - .4byte gTrainerBattleOpponent, 1 - .4byte gTrainerMapObjectLocalId, 1 - .4byte gTrainerIntroSpeech, 2 - .4byte gTrainerDefeatSpeech, 2 - .4byte gTrainerVictorySpeech, 5 - .4byte gTrainerCannotBattleSpeech, 2 - .4byte gTrainerBattleEndScript, 5 - .4byte gTrainerBattleScriptReturnAddress, 6 - - .align 2 -gTrainerBattleSpecs_3:: @ 839ADE0 - .4byte gTrainerBattleMode, 0 - .4byte gTrainerBattleOpponent, 1 - .4byte gTrainerMapObjectLocalId, 1 - .4byte gTrainerIntroSpeech, 5 - .4byte gTrainerDefeatSpeech, 2 - .4byte gTrainerVictorySpeech, 5 - .4byte gTrainerCannotBattleSpeech, 5 - .4byte gTrainerBattleEndScript, 5 - .4byte gTrainerBattleScriptReturnAddress, 6 - - .align 2 -gTrainerBattleSpecs_4:: @ 839AE28 - .4byte gTrainerBattleMode, 0 - .4byte gTrainerBattleOpponent, 1 - .4byte gTrainerMapObjectLocalId, 1 - .4byte gTrainerIntroSpeech, 2 - .4byte gTrainerDefeatSpeech, 2 - .4byte gTrainerVictorySpeech, 5 - .4byte gTrainerCannotBattleSpeech, 2 - .4byte gTrainerBattleEndScript, 2 - .4byte gTrainerBattleScriptReturnAddress, 6 - -@ 839AE70 - .include "data/trainer_eye_trainers.inc" - - .align 2 -gBadgeFlags:: @ 839B1F0 - .2byte 0x0807, 0x0808, 0x0809, 0x080a, 0x080b, 0x080c, 0x080d, 0x080e - -TrainerCardColorName_Bronze: - .string "BRONZE$", 7 -TrainerCardColorName_Copper: - .string "COPPER$", 7 -TrainerCardColorName_Silver: - .string "SILVER$", 7 -TrainerCardColorName_Gold: - .string "GOLD$", 7 - - .align 2 -gTrainerCardColorNames:: @ 839B21C - .4byte TrainerCardColorName_Bronze - .4byte TrainerCardColorName_Copper - .4byte TrainerCardColorName_Silver - .4byte TrainerCardColorName_Gold - -@ These seem to be strings for keypad test code. -gUnknown_0839B22C:: @ 839B22C - .string " A$" @ A - .string " B$" @ B - .string "SL$" @ SELECT - .string "ST$" @ START - .string "RK$" @ right - .string "LK$" @ left - .string "UK$" @ up - .string "DK$" @ down - .string "RT$" @ R - .string "LT$" @ L - -gUnknown_0839B24A:: @ 839B24A - .string "ND$" - -gUnknown_0839B24D:: @ 839B24D - .string "の こどもは\n$" @ "'s child <topic-particle>" - -gUnknown_0839B255:: @ 839B255 - .string " $" - -gUnknown_0839B257:: @ 839B257 - .string "ながいなまえぽけもん$" @ "long name pokemon" (used as test name) - -Text_39B262: @ 839B262 - .string "Search a child$" - -Text_39B271: @ 839B271 - .string "Egg$" - -Text_39B275: @ 839B275 - .string "Egg (male)$" - -Text_39B280: @ 839B280 - .string "1000 steps$" - -Text_39B28B: @ 839B28B - .string "10000 steps$" - -Text_39B297: @ 839B297 - .string "MOVE TUTOR$" - -Text_39B2A2: @ 839B2A2 - .string "Breed an egg$" - -Text_39B2AF: @ 839B2AF - .string "Long name$" - -Text_39B2B9: @ 839B2B9 - .string "ポロックけす$" @ "{POKEBLOCK} CASE$" - - .align 2 -gMoriDebugMenuActions:: @ 839B2C0 - .4byte Text_39B262, MoriDebugMenu_SearchChild - .4byte Text_39B271, MoriDebugMenu_Egg - .4byte Text_39B275, MoriDebugMenu_MaleEgg - .4byte Text_39B280, MoriDebugMenu_1000Steps - .4byte Text_39B28B, MoriDebugMenu_10000Steps - .4byte Text_39B297, MoriDebugMenu_MoveTutor - .4byte Text_39B2A2, MoriDebugMenu_BreedEgg - .4byte Text_39B2AF, MoriDebugMenu_LongName - .4byte Text_39B2B9, MoriDebugMenu_PokeblockCase - - .align 2 -gSpriteImage_839B308:: @ 839B308 - .incbin "graphics/unknown_sprites/839B4E0/0.4bpp" - - .align 2 -gSpriteImage_839B388:: @ 839B388 - .incbin "graphics/unknown_sprites/839B4E0/1.4bpp" - - .align 2 -gSpriteImage_839B408:: @ 839B408 - .incbin "graphics/unknown_sprites/839B408.4bpp" - - .align 2 -gIsTrainerInRange:: @ 839B488 - .4byte IsTrainerInRangeSouth - .4byte IsTrainerInRangeNorth - .4byte IsTrainerInRangeWest - .4byte IsTrainerInRangeEast - - .align 2 -gTrainerSeeFuncList:: @ 839B498 - .4byte sub_8084394 - .4byte sub_8084398 - .4byte sub_80843DC - .4byte sub_808441C - .4byte sub_8084478 - .4byte sub_8084534 - .4byte sub_8084578 - .4byte sub_80845AC - .4byte sub_80845C8 - .4byte sub_80845FC - .4byte sub_8084654 - .4byte sub_80846C8 - - .align 2 -gTrainerSeeFuncList2:: @ 839B4C8 - .4byte sub_80845C8 - .4byte sub_80845FC - .4byte sub_8084654 - .4byte sub_80846C8 - - .align 2 -gOamData_839B4D8:: @ 839B4D8 - .2byte 0x0000 - .2byte 0x4000 - .2byte 0x0400 - - .align 2 -gSpriteImageTable_839B4E0:: @ 839B4E0 - obj_frame_tiles gSpriteImage_839B308, 0x80 - obj_frame_tiles gSpriteImage_839B388, 0x80 - - .align 2 -gSpriteImageTable_839B4F0:: @ 839B4F0 - obj_frame_tiles gSpriteImage_839B408, 0x80 - - .align 2 -gSpriteAnim_839B4F8:: @ 839B4F8 - obj_image_anim_frame 0, 60 - obj_image_anim_end - - .align 2 -gSpriteAnim_839B500:: @ 839B500 - obj_image_anim_frame 1, 60 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_839B508:: @ 839B508 - .4byte gSpriteAnim_839B4F8 - .4byte gSpriteAnim_839B500 - - .align 2 -gSpriteTemplate_839B510:: @ 839B510 - spr_template 0xFFFF, 0xFFFF, gOamData_839B4D8, gSpriteAnimTable_839B508, gSpriteImageTable_839B4E0, gDummySpriteAffineAnimTable, objc_exclamation_mark_probably - - .align 2 -gSpriteTemplate_839B528:: @ 839B528 - spr_template 0xFFFF, 4100, gOamData_839B4D8, gSpriteAnimTable_839B508, gSpriteImageTable_839B4F0, gDummySpriteAffineAnimTable, objc_exclamation_mark_probably - -@ 839B540 - .include "data/wild_mons.inc" - - .align 2 -gWildFeebasRoute119Data:: @ 839DBFC - .byte 20, 25 @ Min/Max level - .2byte SPECIES_FEEBAS - - .align 2 -gRoute119WaterTileData:: @ 839DC00 - .2byte 0x0, 0x2D, 0x0 - .2byte 0x2E, 0x5B, 0x83 - .2byte 0x5C, 0x8B, 0x12A - - .align 2 -gSpriteImage_839DC14:: @ 839DC14 - .incbin "graphics/birch_speech/birch.4bpp" - - .align 2 -gBirchPalette:: @ 839E414 - .incbin "graphics/birch_speech/birch.gbapal" - - .align 2 -gSpriteImage_839E434:: @ 839E434 - .incbin "graphics/misc/pokeball_glow.4bpp" - - .align 2 -gFieldEffectObjectPalette4: @ 839E454 - .incbin "graphics/field_effect_objects/palettes/04.gbapal" - - .align 2 -gSpriteImage_839E474:: @ 839E474 - .incbin "graphics/misc/pokecenter_monitor/0.4bpp" - - .align 2 -gSpriteImage_839E534:: @ 839E534 - .incbin "graphics/misc/pokecenter_monitor/1.4bpp" - - .align 2 -gSpriteImage_839E5F4:: @ 839E5F4 - .incbin "graphics/misc/big_hof_monitor.4bpp" - - .align 2 -gSpriteImage_839E7F4:: @ 839E7F4 - .incbin "graphics/misc/small_hof_monitor.4bpp" - - .align 2 -gFieldEffectObjectPalette5: @ 839E8F4 - .incbin "graphics/field_effect_objects/palettes/05.gbapal" - -@ Graphics for the lights streaking past your Pokémon when it uses a field move. - - .align 2 -gFieldMoveStreaksTiles:: @ 839E914 - .incbin "graphics/misc/field_move_streaks.4bpp" - - .align 2 -gFieldMoveStreaksPalette:: @ 839EB14 - .incbin "graphics/misc/field_move_streaks.gbapal" - - .align 2 -gFieldMoveStreaksTilemap:: @ 839EB34 - .incbin "graphics/misc/field_move_streaks_map.bin" - -@ The following light streaks effect is used when the map is dark (e.g. a cave). - - .align 2 -gDarknessFieldMoveStreaksTiles:: @ 839EDB4 - .incbin "graphics/misc/darkness_field_move_streaks.4bpp" - - .align 2 -gDarknessFieldMoveStreaksPalette:: @ 839EE34 - .incbin "graphics/misc/darkness_field_move_streaks.gbapal" - - .align 2 -gDarknessFieldMoveStreaksTilemap:: @ 839EE54 - .incbin "graphics/misc/darkness_field_move_streaks_map.bin" - - .align 2 -gFieldEffectScriptFuncs:: @ 839F0D4 - .4byte FieldEffectCmd_loadtiles - .4byte FieldEffectCmd_loadfadedpal - .4byte FieldEffectCmd_loadpal - .4byte FieldEffectCmd_callnative - .4byte FieldEffectCmd_end - .4byte FieldEffectCmd_loadgfx_callnative - .4byte FieldEffectCmd_loadtiles_callnative - .4byte FieldEffectCmd_loadfadedpal_callnative - - .align 2 -gOamData_839F0F4:: @ 839F0F4 - .2byte 0x0000 - .2byte 0xC000 - .2byte 0x0000 - - .align 2 -gOamData_839F0FC:: @ 839F0FC - .2byte 0x0000 - .2byte 0x0000 - .2byte 0x0000 - - .align 2 -gOamData_839F104:: @ 839F104 - .2byte 0x0000 - .2byte 0x4000 - .2byte 0x0000 - - .align 2 -gSpriteImageTable_839F10C:: @ 839F10C - obj_frame_tiles gSpriteImage_839DC14, 0x800 - - .align 2 -gUnknown_0839F114:: @ 839F114 - obj_pal gBirchPalette, 0x1006 - - .align 2 -gSpriteAnim_839F11C:: @ 839F11C - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_839F124:: @ 839F124 - .4byte gSpriteAnim_839F11C - - .align 2 -gSpriteTemplate_839F128:: @ 839F128 - spr_template 0xFFFF, 4102, gOamData_839F0F4, gSpriteAnimTable_839F124, gSpriteImageTable_839F10C, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gFieldEffectObjectPaletteInfo4:: @ 839F140 - obj_pal gFieldEffectObjectPalette4, 0x1007 - - .align 2 -gFieldEffectObjectPaletteInfo5:: @ 839F148 - obj_pal gFieldEffectObjectPalette5, 0x1010 - - .align 2 -gOamData_839F150:: @ 839F150 - .2byte 0x4000 - .2byte 0x8000 - .2byte 0x0000 - - .align 2 -gSpriteImageTable_839F158:: @ 839F158 - obj_frame_tiles gSpriteImage_839E434, 0x20 - - .align 2 -gSpriteImageTable_839F160:: @ 839F160 - obj_frame_tiles gSpriteImage_839E474, 0xc0 - obj_frame_tiles gSpriteImage_839E534, 0xc0 - - .align 2 -gSpriteImageTable_839F170:: @ 839F170 - obj_frame_tiles gSpriteImage_839E5F4, 0x200 - - .align 2 -gSpriteImageTable_839F178:: @ 839F178 - obj_frame_tiles gSpriteImage_839E7F4, 0x200 - - .align 2 -Unknown_39F180:: @ 839F180 - .incbin "baserom.gba", 0x0039f180, 0x20 - - .align 2 -gUnknown_0839F1A0:: @ 839F1A0 - .4byte 4, Unknown_39F180 - - .align 2 -Unknown_39F1A8:: @ 39F1A8 - .incbin "baserom.gba", 0x0039f1a8, 0x20 - - .align 2 -gUnknown_0839F1C8:: @ 839F1C8 - .4byte 4, Unknown_39F1A8 - - .align 2 -gSpriteAnim_839F1D0:: @ 839F1D0 - obj_image_anim_frame 0, 1 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnim_839F1D8:: @ 839F1D8 - obj_image_anim_frame 0, 16 - obj_image_anim_frame 1, 16 - obj_image_anim_frame 0, 16 - obj_image_anim_frame 1, 16 - obj_image_anim_frame 0, 16 - obj_image_anim_frame 1, 16 - obj_image_anim_frame 0, 16 - obj_image_anim_frame 1, 16 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_839F1FC:: @ 839F1FC - .4byte gSpriteAnim_839F1D0 - .4byte gSpriteAnim_839F1D8 - - .align 2 -gSpriteAnimTable_839F204:: @ 839F204 - .4byte gSpriteAnim_839F1D0 - - .align 2 -gSpriteTemplate_839F208:: @ 839F208 - spr_template 0xFFFF, 4103, gOamData_839F0FC, gSpriteAnimTable_839F1FC, gSpriteImageTable_839F158, gDummySpriteAffineAnimTable, SpriteCB_PokeballGlow - - .align 2 -gSpriteTemplate_839F220:: @ 839F220 - spr_template 0xFFFF, 4100, gOamData_839F104, gSpriteAnimTable_839F1FC, gSpriteImageTable_839F160, gDummySpriteAffineAnimTable, SpriteCB_PokecenterMonitor - - .align 2 -gSpriteTemplate_839F238:: @ 839F238 - spr_template 0xFFFF, 4112, gOamData_839F104, gSpriteAnimTable_839F204, gSpriteImageTable_839F170, gDummySpriteAffineAnimTable, SpriteCB_HallOfFameMonitor - - .align 2 -gSpriteTemplate_839F250:: @ 839F250 - spr_template 0xFFFF, 4112, gOamData_839F150, gSpriteAnimTable_839F204, gSpriteImageTable_839F178, gDummySpriteAffineAnimTable, SpriteCB_HallOfFameMonitor - - .align 2 -gUnknown_0839F268:: @ 839F268 - .4byte PokecenterHealEffect_0 - .4byte PokecenterHealEffect_1 - .4byte PokecenterHealEffect_2 - .4byte PokecenterHealEffect_3 - - .align 2 -gUnknown_0839F278:: @ 839F278 - .4byte HallOfFameRecordEffect_0 - .4byte HallOfFameRecordEffect_1 - .4byte HallOfFameRecordEffect_2 - .4byte HallOfFameRecordEffect_3 - - .align 2 -gUnknown_0839F288:: @ 839F288 - .4byte PokeballGlowEffect_0 - .4byte PokeballGlowEffect_1 - .4byte PokeballGlowEffect_2 - .4byte PokeballGlowEffect_3 - .4byte PokeballGlowEffect_4 - .4byte PokeballGlowEffect_5 - .4byte PokeballGlowEffect_6 - .4byte PokeballGlowEffect_7 - -gUnknown_0839F2A8:: @ 839F2A8 - .incbin "baserom.gba", 0x0039f2a8, 0x18 - -gUnknown_0839F2C0:: @ 839F2C0 - .incbin "baserom.gba", 0x0039f2c0, 0x4 - -gUnknown_0839F2C4:: @ 839F2C4 - .incbin "baserom.gba", 0x0039f2c4, 0x4 - -gUnknown_0839F2C8:: @ 839F2C8 - .space 4 - - .align 2 -gUnknown_0839F2CC:: @ 839F2CC - .4byte sub_80867AC - .4byte sub_8086854 - .4byte sub_8086870 - .4byte sub_80868E4 - .4byte sub_808699C - .4byte sub_80869B8 - .4byte sub_80869F8 - - .align 2 -gUnknown_0839F2E8:: @ 839F2E8 - .4byte sub_8086AA0 - .4byte sub_8086AC0 - .4byte sub_8086B30 - .4byte sub_8086B54 - .4byte sub_8086B64 - .4byte sub_8086B88 - - .align 2 -gUnknown_0839F300:: @ 839F300 - .4byte sub_8086CF4 - .4byte sub_8086D70 - .4byte sub_8086DB0 - .4byte sub_8086E10 - .4byte sub_8086E50 - .4byte sub_8086EB0 - .4byte sub_8086ED4 - - .align 2 -gUnknown_0839F31C:: @ 839F31C - .4byte sub_8086FB0 - .4byte waterfall_1_do_anim_probably - .4byte waterfall_2_wait_anim_finish_probably - .4byte sub_8087030 - .4byte sub_8087058 - - .align 2 -gUnknown_0839F330:: @ 839F330 - .4byte sub_8087124 - .4byte dive_2_unknown - .4byte dive_3_unknown - - .align 2 -gUnknown_0839F33C:: @ 839F33C - .4byte sub_808722C - .4byte sub_8087264 - .4byte sub_8087298 - .4byte sub_80872E4 - .4byte sub_80873D8 - .4byte sub_80873F4 - - .align 2 -gUnknown_0839F354:: @ 839F354 - .4byte sub_80874CC - .4byte sub_80874FC - .4byte sub_8087548 - .4byte sub_808759C - - .align 2 -gUnknown_0839F364:: @ 839F364 - .4byte sub_80876C8 - .4byte sub_80876F8 - .4byte sub_8087774 - .4byte sub_80877AC - .4byte sub_80877D4 - - .align 2 -gUnknown_0839F378:: @ 839F378 - .4byte sub_80878F4 - .4byte sub_8087914 - -gUnknown_0839F380:: @ 839F380 - .incbin "baserom.gba", 0x0039f380, 0x8 - - .align 2 -gUnknown_0839F388:: @ 839F388 - .4byte sub_8087AA4 - .4byte sub_8087AC8 - - .align 2 -gUnknown_0839F390:: @ 839F390 - .4byte sub_8087BEC - .4byte sub_8087C14 - .4byte sub_8087CA4 - .4byte sub_8087D78 - - .align 2 -gUnknown_0839F3A0:: @ 839F3A0 - .4byte sub_8087E4C - .4byte sub_8087ED8 - .4byte sub_8087FDC - - .align 2 -gUnknown_0839F3AC:: @ 839F3AC - .4byte sub_8088150 - .4byte sub_80881C0 - .4byte sub_8088228 - .4byte sub_80882B4 - .4byte sub_80882E4 - .4byte sub_8088338 - .4byte sub_8088380 - - .align 2 -gUnknown_0839F3C8:: @ 839F3C8 - .4byte sub_80884AC - .4byte sub_80884E8 - .4byte sub_8088554 - .4byte sub_80885A8 - .4byte sub_80885D8 - .4byte sub_808860C - .4byte sub_808862C - - .align 2 -gUnknown_0839F3E4:: @ 839F3E4 - .4byte sub_8088984 - .4byte sub_80889E4 - .4byte sub_8088A30 - .4byte sub_8088A78 - .4byte sub_8088AF4 - - .align 2 -gUnknown_0839F3F8:: @ 839F3F8 - .4byte sub_8088CA0 - .4byte sub_8088CF8 - .4byte sub_8088D3C - .4byte sub_8088D94 - .4byte sub_8088DD8 - .4byte sub_8088E2C - .4byte sub_8088EB4 - .4byte sub_8088F10 - .4byte sub_8088F30 -Unknown_839F41C: - .incbin "baserom.gba", 0x0039f41c, 0x18 -Unknown_839F434: - .incbin "baserom.gba", 0x0039f434, 0x18 - - .align 2 -gUnknown_0839F44C:: @ 839F44C - .4byte Unknown_839F41C - .4byte Unknown_839F434 - - .align 2 -gUnknown_0839F454:: @ 839F454 - .4byte sub_80892A0 - .4byte sub_8089354 - .4byte sub_80893C0 - .4byte sub_8089414 - .4byte sub_808948C - .4byte sub_80894C4 - .4byte fishE - -gUnknown_0839F470:: @ 839F470 - .incbin "baserom.gba", 0x0039f470, 0x24 - - .align 2 -gPokemonMenuActions:: @ 839F494 - .4byte OtherText_Summary, PokemonMenu_Summary - .4byte OtherText_Switch2, PokemonMenu_Switch - .4byte OtherText_Item, PokemonMenu_Item - .4byte gOtherText_CancelNoTerminator, PokemonMenu_Cancel - .4byte OtherText_Give2, PokemonMenu_GiveItem - .4byte OtherText_Take2, PokemonMenu_TakeItem - .4byte OtherText_Take, PokemonMenu_TakeMail - .4byte OtherText_Mail, PokemonMenu_Mail - .4byte OtherText_Read2, PokemonMenu_ReadMail - .4byte gOtherText_CancelNoTerminator, PokemonMenu_CancelSubmenu - .4byte gMoveNames + 13 * MOVE_CUT, PokemonMenu_FieldMove - .4byte gMoveNames + 13 * MOVE_FLASH, PokemonMenu_FieldMove - .4byte gMoveNames + 13 * MOVE_ROCK_SMASH, PokemonMenu_FieldMove - .4byte gMoveNames + 13 * MOVE_STRENGTH, PokemonMenu_FieldMove - .4byte gMoveNames + 13 * MOVE_SURF, PokemonMenu_FieldMove - .4byte gMoveNames + 13 * MOVE_FLY, PokemonMenu_FieldMove - .4byte gMoveNames + 13 * MOVE_DIVE, PokemonMenu_FieldMove - .4byte gMoveNames + 13 * MOVE_WATERFALL, PokemonMenu_FieldMove - .4byte gMoveNames + 13 * MOVE_TELEPORT, PokemonMenu_FieldMove - .4byte gMoveNames + 13 * MOVE_DIG, PokemonMenu_FieldMove - .4byte gMoveNames + 13 * MOVE_SECRET_POWER, PokemonMenu_FieldMove - .4byte gMoveNames + 13 * MOVE_MILK_DRINK, PokemonMenu_FieldMove - .4byte gMoveNames + 13 * MOVE_SOFT_BOILED, PokemonMenu_FieldMove - .4byte gMoveNames + 13 * MOVE_SWEET_SCENT, PokemonMenu_FieldMove - -gUnknown_0839F554:: @ 839F554 - .incbin "baserom.gba", 0x39f554, 0x1e - -Unknown_39F572: @ 839F572 - .byte 4, 5, 9, 0 - - .align 2 -gUnknown_0839F578:: @ 839F578 - .byte 3, 6, 0, 0 - .4byte Unknown_39F572 - -Unknown_39F580: @ 839F580 - .byte 8, 6, 9, 0 - - .align 2 -gUnknown_0839F584:: @ 839F584 - .byte 3, 9, 0, 0 - .4byte Unknown_39F580 - - .align 2 -gFieldMoveFuncs:: @ 839F58C - .4byte SetUpFieldMove_Cut, 0x6 - .4byte SetUpFieldMove_Flash, 0x9 - .4byte SetUpFieldMove_RockSmash, 0x9 - .4byte SetUpFieldMove_Strength, 0x9 - .4byte SetUpFieldMove_Surf, 0x7 - .4byte SetUpFieldMove_Fly, 0x9 - .4byte SetUpFieldMove_Dive, 0x9 - .4byte SetUpFieldMove_Waterfall, 0x9 - .4byte SetUpFieldMove_Teleport, 0x9 - .4byte SetUpFieldMove_Dig, 0x9 - .4byte SetUpFieldMove_SecretPower, 0x9 - .4byte SetUpFieldMove_SoftBoiled, 0x10 - .4byte SetUpFieldMove_SoftBoiled, 0x10 - .4byte SetUpFieldMove_SweetScent, 0x9 - - .align 2 -gUnknown_0839F5FC:: @ 839F5FC - .incbin "baserom.gba", 0x0039f5fc, 0x40 - - .align 2 -gUnknown_0839F63C:: @ 839F63C - .incbin "baserom.gba", 0x0039f63c, 0x40 - - .align 2 -gUnknown_0839F67C:: @ 839F67C - .incbin "graphics/pokedex/search.gbapal" - - .align 2 -gUnknown_0839F73C:: @ 839F73C - .incbin "graphics/pokedex/national.gbapal" - - .space 0xA4 - - .align 2 -gUnknown_0839F8A0:: @ 839F8A0 - .incbin "baserom.gba", 0x0039f8a0, 0xe8 - - .align 2 -gUnknown_0839F988:: @ 839F988 - .incbin "baserom.gba", 0x0039f988, 0xf4 - -gUnknown_0839FA7C:: @ 839FA7C - .incbin "graphics/pokedex/noball.4bpp.lz" - -@ 839FAC4 - .include "data/pokedex_orders.inc" - - .align 2 -gOamData_83A0404:: @ 83A0404 - .2byte 0x00A0 - .2byte 0x0000 - .2byte 0x0400 - - .align 2 -gOamData_83A040C:: @ 83A040C - .2byte 0x40A0 - .2byte 0x0000 - .2byte 0x0000 - - .align 2 -gOamData_83A0414:: @ 83A0414 - .2byte 0x40A0 - .2byte 0xC000 - .2byte 0x0000 - - .align 2 -gOamData_83A041C:: @ 83A041C - .2byte 0x08A0 - .2byte 0x8000 - .2byte 0x0400 - - .align 2 -gOamData_83A0424:: @ 83A0424 - .2byte 0x40A0 - .2byte 0xC000 - .2byte 0x0000 - - .align 2 -gOamData_83A042C:: @ 83A042C - .2byte 0x80A0 - .2byte 0x0000 - .2byte 0x0000 - - .align 2 -gSpriteAnim_83A0434:: @ 83A0434 - obj_image_anim_frame 3, 30 - obj_image_anim_end - - .align 2 -gSpriteAnim_83A043C:: @ 83A043C - obj_image_anim_frame 1, 30 - obj_image_anim_end - - .align 2 -gSpriteAnim_83A0444:: @ 83A0444 - obj_image_anim_frame 16, 30 - obj_image_anim_end - - .align 2 -gSpriteAnim_83A044C:: @ 83A044C - obj_image_anim_frame 32, 30 - obj_image_anim_end - - .align 2 -gSpriteAnim_83A0454:: @ 83A0454 - obj_image_anim_frame 64, 30 - obj_image_anim_end - - .align 2 -gSpriteAnim_83A045C:: @ 83A045C - obj_image_anim_frame 96, 30 - obj_image_anim_end - - .align 2 -gSpriteAnim_83A0464:: @ 83A0464 - obj_image_anim_frame 128, 30 - obj_image_anim_end - - .align 2 -gSpriteAnim_83A046C:: @ 83A046C - obj_image_anim_frame 160, 30 - obj_image_anim_end - - .align 2 -gSpriteAnim_83A0474:: @ 83A0474 - obj_image_anim_frame 192, 30 - obj_image_anim_end - - .align 2 -gSpriteAnim_83A047C:: @ 83A047C - obj_image_anim_frame 224, 30 - obj_image_anim_end - - .align 2 -gSpriteAnim_83A0484:: @ 83A0484 - obj_image_anim_frame 226, 30 - obj_image_anim_end - - .align 2 -gSpriteAnim_83A048C:: @ 83A048C - obj_image_anim_frame 228, 30 - obj_image_anim_end - - .align 2 -gSpriteAnim_83A0494:: @ 83A0494 - obj_image_anim_frame 230, 30 - obj_image_anim_end - - .align 2 -gSpriteAnim_83A049C:: @ 83A049C - obj_image_anim_frame 232, 30 - obj_image_anim_end - - .align 2 -gSpriteAnim_83A04A4:: @ 83A04A4 - obj_image_anim_frame 234, 30 - obj_image_anim_end - - .align 2 -gSpriteAnim_83A04AC:: @ 83A04AC - obj_image_anim_frame 236, 30 - obj_image_anim_end - - .align 2 -gSpriteAnim_83A04B4:: @ 83A04B4 - obj_image_anim_frame 238, 30 - obj_image_anim_end - - .align 2 -gSpriteAnim_83A04BC:: @ 83A04BC - obj_image_anim_frame 240, 30 - obj_image_anim_end - - .align 2 -gSpriteAnim_83A04C4:: @ 83A04C4 - obj_image_anim_frame 242, 30 - obj_image_anim_end - - .align 2 -gSpriteAnim_83A04CC:: @ 83A04CC - obj_image_anim_frame 4, 30 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83A04D4:: @ 83A04D4 - .4byte gSpriteAnim_83A0434 - - .align 2 -gSpriteAnimTable_83A04D8:: @ 83A04D8 - .4byte gSpriteAnim_83A043C - - .align 2 -gSpriteAnimTable_83A04DC:: @ 83A04DC - .4byte gSpriteAnim_83A0444 - - .align 2 -gSpriteAnimTable_83A04E0:: @ 83A04E0 - .4byte gSpriteAnim_83A044C - .4byte gSpriteAnim_83A0454 - .4byte gSpriteAnim_83A045C - .4byte gSpriteAnim_83A0464 - - .align 2 -gSpriteAnimTable_83A04F0:: @ 83A04F0 - .4byte gSpriteAnim_83A046C - .4byte gSpriteAnim_83A0474 - - .align 2 -gSpriteAnimTable_83A04F8:: @ 83A04F8 - .4byte gSpriteAnim_83A047C - .4byte gSpriteAnim_83A0484 - .4byte gSpriteAnim_83A048C - .4byte gSpriteAnim_83A0494 - .4byte gSpriteAnim_83A049C - .4byte gSpriteAnim_83A04A4 - .4byte gSpriteAnim_83A04AC - .4byte gSpriteAnim_83A04B4 - .4byte gSpriteAnim_83A04BC - .4byte gSpriteAnim_83A04C4 - - .align 2 -gSpriteAnimTable_83A0520:: @ 83A0520 - .4byte gSpriteAnim_83A04CC - - .align 2 -gSpriteTemplate_83A0524:: @ 83A0524 - spr_template 4096, 4096, gOamData_83A0404, gSpriteAnimTable_83A04D4, NULL, gDummySpriteAffineAnimTable, sub_808EF38 - - .align 2 -gSpriteTemplate_83A053C:: @ 83A053C - spr_template 4096, 4096, gOamData_83A040C, gSpriteAnimTable_83A04D8, NULL, gDummySpriteAffineAnimTable, sub_808EF8C - - .align 2 -gSpriteTemplate_83A0554:: @ 83A0554 - spr_template 4096, 4096, gOamData_83A0414, gSpriteAnimTable_83A04E0, NULL, gDummySpriteAffineAnimTable, sub_808F08C - - .align 2 -gSpriteTemplate_83A056C:: @ 83A056C - spr_template 4096, 4096, gOamData_83A041C, gSpriteAnimTable_83A04DC, NULL, gDummySpriteAffineAnimTable, sub_808F0B4 - - .align 2 -gSpriteTemplate_83A0584:: @ 83A0584 - spr_template 4096, 4096, gOamData_83A0424, gSpriteAnimTable_83A04F0, NULL, gDummySpriteAffineAnimTable, sub_808ED94 - - .align 2 -gSpriteTemplate_83A059C:: @ 83A059C - spr_template 4096, 4096, gOamData_83A042C, gSpriteAnimTable_83A04F8, NULL, gDummySpriteAffineAnimTable, sub_808ED94 - - .align 2 -gSpriteTemplate_83A05B4:: @ 83A05B4 - spr_template 4096, 4096, gOamData_83A042C, gSpriteAnimTable_83A0520, NULL, gDummySpriteAffineAnimTable, sub_808F168 - - .align 2 -gUnknown_083A05CC:: @ 83A05CC - obj_tiles gPokedexMenu2_Gfx, 0x1F00, 0x1000 - null_obj_tiles - - .align 2 -gUnknown_083A05DC:: @ 83A05DC - obj_pal gPokedexMenu_Pal, 0x1000 - null_obj_pal - -gUnknown_083A05EC:: @ 83A05EC - .byte 2, 4, 8, 16, 32 - -gUnknown_083A05F1:: @ 83A05F1 - .byte 16, 8, 4, 2, 1 - - .align 2 -gUnknown_083A05F8:: @ 83A05F8 - .string "$" - -@ 83A05F9 - .include "data/pokedex_entries.inc" - -gUnknown_083B4EC4:: @ 83B4EC4 - .space 32 - -@ 83B4EE4 - .include "data/graphics/pokemon/footprint_table.inc" - -gUnknown_083B5558:: @ 83B5558 - .incbin "baserom.gba", 0x3b5558, 0x24 - - .align 2 -gOamData_83B557C:: @ 83B557C - .2byte 0x0000 - .2byte 0xC000 - .2byte 0x0400 - - .align 2 -gUnknown_083B5584:: @ 83B5584 - .4byte 0x02008000 - .4byte 0x0200c000 - .4byte 0x02010000 - .4byte 0x02014000 - - .align 2 -gSpriteImageTable_83B5594:: @ 83B5594 - obj_frame_tiles 0x02008000, 0x800 - obj_frame_tiles 0x02008800, 0x800 - obj_frame_tiles 0x02009000, 0x800 - obj_frame_tiles 0x02009800, 0x800 - obj_frame_tiles 0x0200A000, 0x800 - obj_frame_tiles 0x0200A800, 0x800 - obj_frame_tiles 0x0200B000, 0x800 - obj_frame_tiles 0x0200B800, 0x800 - obj_frame_tiles 0x0200C000, 0x800 - obj_frame_tiles 0x0200C800, 0x800 - obj_frame_tiles 0x0200D000, 0x800 - obj_frame_tiles 0x0200D800, 0x800 - obj_frame_tiles 0x0200E000, 0x800 - obj_frame_tiles 0x0200E800, 0x800 - obj_frame_tiles 0x0200F000, 0x800 - obj_frame_tiles 0x0200F800, 0x800 - - .align 2 -gSpriteImageTable_83B5614:: @ 83B5614 - obj_frame_tiles 0x0200C000, 0x800 - obj_frame_tiles 0x0200C800, 0x800 - obj_frame_tiles 0x0200D000, 0x800 - obj_frame_tiles 0x0200D800, 0x800 - obj_frame_tiles 0x0200E000, 0x800 - obj_frame_tiles 0x0200E800, 0x800 - obj_frame_tiles 0x0200F000, 0x800 - obj_frame_tiles 0x0200F800, 0x800 - obj_frame_tiles 0x02010000, 0x800 - obj_frame_tiles 0x02010800, 0x800 - obj_frame_tiles 0x02011000, 0x800 - obj_frame_tiles 0x02011800, 0x800 - obj_frame_tiles 0x02012000, 0x800 - obj_frame_tiles 0x02012800, 0x800 - obj_frame_tiles 0x02013000, 0x800 - obj_frame_tiles 0x02013800, 0x800 - - .align 2 -gSpriteImageTable_83B5694:: @ 83B5694 - obj_frame_tiles 0x02010000, 0x800 - obj_frame_tiles 0x02010800, 0x800 - obj_frame_tiles 0x02011000, 0x800 - obj_frame_tiles 0x02011800, 0x800 - obj_frame_tiles 0x02012000, 0x800 - obj_frame_tiles 0x02012800, 0x800 - obj_frame_tiles 0x02013000, 0x800 - obj_frame_tiles 0x02013800, 0x800 - obj_frame_tiles 0x02014000, 0x800 - obj_frame_tiles 0x02014800, 0x800 - obj_frame_tiles 0x02015000, 0x800 - obj_frame_tiles 0x02015800, 0x800 - obj_frame_tiles 0x02016000, 0x800 - obj_frame_tiles 0x02016800, 0x800 - obj_frame_tiles 0x02017000, 0x800 - obj_frame_tiles 0x02017800, 0x800 - - .align 2 -gSpriteImageTable_83B5714:: @ 83B5714 - obj_frame_tiles 0x02014000, 0x800 - obj_frame_tiles 0x02014800, 0x800 - obj_frame_tiles 0x02015000, 0x800 - obj_frame_tiles 0x02015800, 0x800 - obj_frame_tiles 0x02016000, 0x800 - obj_frame_tiles 0x02016800, 0x800 - obj_frame_tiles 0x02017000, 0x800 - obj_frame_tiles 0x02017800, 0x800 - obj_frame_tiles 0x02018000, 0x800 - obj_frame_tiles 0x02018800, 0x800 - obj_frame_tiles 0x02019000, 0x800 - obj_frame_tiles 0x02019800, 0x800 - obj_frame_tiles 0x0201A000, 0x800 - obj_frame_tiles 0x0201A800, 0x800 - obj_frame_tiles 0x0201B000, 0x800 - obj_frame_tiles 0x0201B800, 0x800 - - .align 2 -gUnknown_083B5794:: @ 83B5794 - .4byte gSpriteImageTable_83B5594 - .4byte gSpriteImageTable_83B5614 - .4byte gSpriteImageTable_83B5694 - .4byte gSpriteImageTable_83B5714 - - .align 2 -gUnknown_083B57A4:: @ 83B57A4 - spr_template 0xFFFF, 0, gOamData_83B557C, NULL, gSpriteImageTable_83B5594, gDummySpriteAffineAnimTable, nullsub_59 - -gUnknown_083B57BC:: @ 83B57BC - .incbin "baserom.gba", 0x003b57bc, 0x28 - - .align 2 -gUnknown_083B57E4:: @ 83B57E4 - .4byte DexText_SearchForPoke - .2byte 0, 5 - .4byte DexText_SwitchDex - .2byte 6, 5 - .4byte DexText_ReturnToDex - .2byte 12, 5 - - .align 2 -gUnknown_083B57FC:: @ 83B57FC - .4byte DexText_ListByABC - .byte 0, 2, 5, 5, 2, 12, 0, 0 - .4byte DexText_ListByColor - .byte 0, 4, 5, 5, 4, 12, 0, 0 - .4byte DexText_ListByType - .byte 0, 6, 5, 5, 6, 6, 0, 0 - .4byte DexText_ListByType - .byte 0, 6, 5, 11, 6, 6, 0, 0 - .4byte DexText_SelectDexList - .byte 0, 8, 5, 5, 8, 12, 0, 0 - .4byte DexText_SelectDexMode - .byte 0, 10, 5, 5, 10, 12, 0, 0 - .4byte DexText_ExecuteSearchSwitch - .byte 0, 12, 5, 0, 0, 0, 0, 0 - -gUnknown_083B5850:: @ 83B5850 - .incbin "baserom.gba", 0x003b5850, 0x1c - -gUnknown_083B586C:: @ 83B586C - .incbin "baserom.gba", 0x003b586c, 0x1c - -gUnknown_083B5888:: @ 83B5888 - .incbin "baserom.gba", 0x003b5888, 0x1c - -gUnknown_083B58A4:: @ 83B58A4 - .incbin "baserom.gba", 0x003b58a4, 0x1c - - .align 2 -gUnknown_083B58C0:: @ 83B58C0 - .4byte DexText_HoennDex2, DexText_HoennDex - .4byte DexText_NationalDex2, DexText_NationalDex - .4byte 0x0, 0x0 - - .align 2 -gUnknown_083B58D8:: @ 83B58D8 - .4byte DexText_ListByNumber, DexText_NumericalMode - .4byte DexText_ListByABC2, DexText_ABCMode - .4byte DexText_ListByHeavyToLightest, DexText_HeaviestMode - .4byte DexText_ListByLightToHeaviest, DexText_LightestMode - .4byte DexText_ListByTallToSmallest, DexText_TallestMode - .4byte DexText_ListBySmallToTallest, DexText_SmallestMode - .4byte 0x0, 0x0 - - .align 2 -gUnknown_083B5910:: @ 83B5910 - .4byte DexText_Terminator5, DexText_DontSpecify - .4byte DexText_Terminator5, DexText_ABC - .4byte DexText_Terminator5, DexText_DEF - .4byte DexText_Terminator5, DexText_GHI - .4byte DexText_Terminator5, DexText_JKL - .4byte DexText_Terminator5, DexText_MNO - .4byte DexText_Terminator5, DexText_PQR - .4byte DexText_Terminator5, DexText_STU - .4byte DexText_Terminator5, DexText_VWX - .4byte DexText_Terminator5, DexText_YZ - .4byte 0x0, 0x0 - - .align 2 -gUnknown_083B5968:: @ 83B5968 - .4byte DexText_Terminator5, DexText_DontSpecify - .4byte DexText_Terminator5, DexText_Red - .4byte DexText_Terminator5, DexText_Blue - .4byte DexText_Terminator5, DexText_Yellow - .4byte DexText_Terminator5, DexText_Green - .4byte DexText_Terminator5, DexText_Black - .4byte DexText_Terminator5, DexText_Brown - .4byte DexText_Terminator5, DexText_Purple - .4byte DexText_Terminator5, DexText_Gray - .4byte DexText_Terminator5, DexText_White - .4byte DexText_Terminator5, DexText_Pink - .4byte 0x0, 0x0 - - .align 2 -gUnknown_083B59C8:: @ 83B59C8 - .4byte DexText_Terminator5, DexText_None - .4byte DexText_Terminator5, gTypeNames + TYPE_NORMAL * 7 - .4byte DexText_Terminator5, gTypeNames + TYPE_FIGHTING * 7 - .4byte DexText_Terminator5, gTypeNames + TYPE_FLYING * 7 - .4byte DexText_Terminator5, gTypeNames + TYPE_POISON * 7 - .4byte DexText_Terminator5, gTypeNames + TYPE_GROUND * 7 - .4byte DexText_Terminator5, gTypeNames + TYPE_ROCK * 7 - .4byte DexText_Terminator5, gTypeNames + TYPE_BUG * 7 - .4byte DexText_Terminator5, gTypeNames + TYPE_GHOST * 7 - .4byte DexText_Terminator5, gTypeNames + TYPE_STEEL * 7 - .4byte DexText_Terminator5, gTypeNames + TYPE_FIRE * 7 - .4byte DexText_Terminator5, gTypeNames + TYPE_WATER * 7 - .4byte DexText_Terminator5, gTypeNames + TYPE_GRASS * 7 - .4byte DexText_Terminator5, gTypeNames + TYPE_ELECTRIC * 7 - .4byte DexText_Terminator5, gTypeNames + TYPE_PSYCHIC * 7 - .4byte DexText_Terminator5, gTypeNames + TYPE_ICE * 7 - .4byte DexText_Terminator5, gTypeNames + TYPE_DRAGON * 7 - .4byte DexText_Terminator5, gTypeNames + TYPE_DARK * 7 - .4byte 0x0, 0x0 - -gUnknown_083B5A60:: @ 83B5A60 - .byte 0, 1 - -gUnknown_083B5A62:: @ 83B5A62 - .byte 0, 1, 2, 3, 4, 5 - -gUnknown_083B5A68:: @ 83B5A68 - .byte -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17 - - .align 2 -gUnknown_083B5A7C:: @ 83B5A7C - .4byte gUnknown_083B5910 - .byte 6, 7, 10, 0 - .4byte gUnknown_083B5968 - .byte 8, 9, 11, 0 - .4byte gUnknown_083B59C8 - .byte 10, 11, 18, 0 - .4byte gUnknown_083B59C8 - .byte 12, 13, 18, 0 - .4byte gUnknown_083B58D8 - .byte 4, 5, 6, 0 - .4byte gUnknown_083B58C0 - .byte 2, 3, 2, 0 - -gUnknown_083B5AAC:: @ 83B5AAC - .incbin "baserom.gba", 0x003b5aac, 0x6 - -gUnknown_083B5AB2:: @ 83B5AB2 - .incbin "baserom.gba", 0x003b5ab2, 0x6 - - .align 2 -gBadgesTiles:: @ 83B5AB8 - .incbin "graphics/trainer_card/badges.4bpp" - - .align 2 - .4byte 0x02000000 @ XXX - - .align 2 -gUnknown_083B5EBC:: @ 83B5EBC - .4byte sub_8093864 - .4byte sub_80938A8 - .4byte sub_80938CC - .4byte sub_8093918 - .4byte sub_8093938 - .4byte sub_8093954 - .4byte sub_8093980 - - .align 2 -gUnknown_083B5ED8:: @ 83B5ED8 - .4byte sub_8093AA0 - .4byte sub_8093AF0 - .4byte sub_8093C0C - .4byte sub_8093C38 - .4byte sub_8093D50 - - .align 2 -gUnknown_083B5EEC:: @ 83B5EEC - .4byte gUnknown_08E8CAC0 - .4byte gUnknown_08E8D4C0 - -gUnknown_083B5EF4:: @ 83B5EF4 - .string " : $" - - .align 2 -gUnknown_083B5EF8:: @ 83B5EF8 - .4byte gMenuTrainerCard0Star_Pal - .4byte gMenuTrainerCard1Star_Pal - .4byte gMenuTrainerCard2Star_Pal - .4byte gMenuTrainerCard3Star_Pal - .4byte gMenuTrainerCard4Star_Pal - -gUnknown_083B5F0C:: @ 83B5F0C - .incbin "baserom.gba", 0x003b5f0c, 0x20 - - .align 2 -gBadgesPalette:: @ 83B5F2C - .incbin "graphics/trainer_card/badges.gbapal" - -gUnknown_083B5F4C:: @ 83B5F4C - .incbin "baserom.gba", 0x003b5f4c, 0x20 - -gUnknown_083B5F6C:: @ 83B5F6C - .incbin "baserom.gba", 0x003b5f6c, 0x20 - -gUnknown_083B5F8C:: @ 83B5F8C - .incbin "baserom.gba", 0x003b5f8c, 0x40 - - .align 2 -gUnknown_083B5FCC:: @ 83B5FCC - .4byte OtherText_Summary, sub_8095544 - .4byte gOtherText_CancelNoTerminator, sub_80958C4 - .4byte OtherText_Shift, sub_8095584 - .4byte OtherText_SendOut, sub_8095584 - -Unknown_83B5FEC: @ 83B5FEC - .byte 2, 0, 1 - -Unknown_83B5FEF: @ 83B5FEF - .byte 3, 0, 1 - -Unknown_83B5FF2: @ 83B5FF2 - .byte 0, 1 - - .align 2 -gUnknown_083B5FF4:: @ 83B5FF4 - .byte 3, 9 - .space 2 - .4byte Unknown_83B5FEC - - .byte 3, 9 - .space 2 - .4byte Unknown_83B5FEF - - .byte 2, 9 - .space 2 - .4byte Unknown_83B5FF2 - - .align 2 -gUnknown_083B600C:: @ 83B600C - .4byte PCText_WithdrawPoke, PCText_MovePokeToParty - .4byte PCText_DepositPoke, PCText_StorePokeInBox - .4byte PCText_MovePoke, PCText_OrganizeBoxesParty - .4byte PCText_SeeYa, PCText_ReturnToPrevMenu - - .align 2 -gSpriteAnim_83B602C:: @ 83B602C - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83B6034:: @ 83B6034 - obj_image_anim_frame 4, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83B603C:: @ 83B603C - obj_image_anim_frame 6, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83B6044:: @ 83B6044 - obj_image_anim_frame 10, 5 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83B604C:: @ 83B604C - .4byte gSpriteAnim_83B602C - .4byte gSpriteAnim_83B6034 - .4byte gSpriteAnim_83B603C - .4byte gSpriteAnim_83B6044 - - .align 2 -gSpriteAffineAnim_83B605C:: @ 83B605C - obj_rot_scal_anim_frame 0xE0, 0xE0, 0, 0 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_83B606C:: @ 83B606C - .4byte gSpriteAffineAnim_83B605C - - .align 2 -gBoxSelectionPopupPalette:: @ 83B6070 - .incbin "graphics/pokemon_storage/box_selection_popup.gbapal" - - .align 2 -gBoxSelectionPopupCenterTiles:: @ 83B6090 - .incbin "graphics/pokemon_storage/box_selection_popup_center.4bpp" - - .align 2 -gBoxSelectionPopupSidesTiles:: @ 83B6890 - .incbin "graphics/pokemon_storage/box_selection_popup_sides.4bpp" - - .align 2 -gPokemonStorageScrollingBGPalette:: @ 83B6A10 - .incbin "graphics/pokemon_storage/scrolling_bg.gbapal" - - .align 2 -gPokemonStorageScrollingBGTile:: @ 83B6A30 - .incbin "graphics/pokemon_storage/scrolling_bg.4bpp" - - .align 2 -gPokemonStorageScrollingBGTilemap:: @ 83B6A50 - .incbin "graphics/pokemon_storage/scrolling_bg_map.bin.lz" - - .incbin "baserom.gba", 0x003b6b4c, 0x48 - - .align 2 -WaveformPalette: @ 83B6B94 - .incbin "graphics/pokemon_storage/waveform.gbapal" - - .align 2 -WaveformTiles: @ 83B6BB4 - .incbin "graphics/pokemon_storage/waveform.4bpp" - - .align 2 -gUnknown_083B6D74:: @ 83B6D74 - .incbin "baserom.gba", 0x003b6d74, 0x20 - - .align 2 -gUnknown_083B6D94:: @ 83B6D94 - .incbin "baserom.gba", 0x003b6d94, 0x20 - - .align 2 -gUnknown_083B6DB4:: @ 83B6DB4 - .4byte 0x02000000 - - .align 2 -gUnknown_083B6DB8:: @ 83B6DB8 - .4byte gTileBuffer - - .align 2 -gWaveformSpritePalette:: @ 83B6DBC - obj_pal WaveformPalette, 56013 - - .align 2 -gWaveformSpriteSheet:: @ 83B6DC4 - obj_tiles WaveformTiles, 0x1C0, 5 - - .align 2 -gUnknown_083B6DCC:: @ 83B6DCC - obj_tiles 0x02002784, 0x800, 2 - - .align 2 -gUnknown_083B6DD4:: @ 83B6DD4 - obj_pal 0x02002704, 56007 - - .align 2 -gSpriteTemplate_83B6DDC:: @ 83B6DDC - spr_template 2, 56007, gOamData_83B6EAC, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gUnknown_083B6DF4:: @ 83B6DF4 - .4byte PCText_ExitBox, 0 - .4byte PCText_WhatYouDo, 0 - .4byte PCText_PickATheme, 0 - .4byte PCText_PickAWallpaper, 0 - .4byte PCText_IsSelected, 1 - .4byte PCText_JumpToWhichBox, 0 - .4byte PCText_DepositInWhichBox, 0 - .4byte PCText_WasDeposited, 1 - .4byte PCText_BoxIsFull, 0 - .4byte PCText_ReleasePoke, 0 - .4byte PCText_WasReleased, 4 - .4byte PCText_ByeBye, 6 - .4byte PCText_MarkPoke, 0 - .4byte PCText_LastPoke, 0 - .4byte PCText_PartyFull, 0 - .4byte PCText_HoldingPoke, 0 - .4byte PCText_WhichOneWillTake, 0 - .4byte PCText_CantReleaseEgg, 0 - .4byte PCText_ContinueBox, 0 - .4byte PCText_CameBack, 1 - .4byte PCText_Worried, 0 - .4byte PCText_Surprise, 0 - .4byte PCText_PleaseRemoveMail, 0 - - .align 2 -gOamData_83B6EAC:: @ 83B6EAC - .2byte 0x0000 - .2byte 0xC000 - .2byte 0x0000 - - .align 2 -gOamData_83B6EB4:: @ 83B6EB4 - .2byte 0x4000 - .2byte 0x0000 - .2byte 0x0000 - - .align 2 -gSpriteAnim_83B6EBC:: @ 83B6EBC - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83B6EC4:: @ 83B6EC4 - obj_image_anim_frame 2, 8 - obj_image_anim_frame 4, 8 - obj_image_anim_frame 6, 8 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnim_83B6ED4:: @ 83B6ED4 - obj_image_anim_frame 8, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83B6EDC:: @ 83B6EDC - obj_image_anim_frame 10, 8 - obj_image_anim_frame 4, 8 - obj_image_anim_frame 12, 8 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnimTable_83B6EEC:: @ 83B6EEC - .4byte gSpriteAnim_83B6EBC - .4byte gSpriteAnim_83B6EC4 - .4byte gSpriteAnim_83B6ED4 - .4byte gSpriteAnim_83B6EDC - - .align 2 -gSpriteTemplate_83B6EFC:: @ 83B6EFC - spr_template 5, 56013, gOamData_83B6EB4, gSpriteAnimTable_83B6EEC, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_83B6F14:: @ 83B6F14 - spr_template 15, 56000, gOamData_83B6F2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gOamData_83B6F2C:: @ 83B6F2C - .2byte 0x0000 - .2byte 0x8000 - .2byte 0x0000 - - .align 2 -Unknown_83B6F34: @ 83B6F34 - .incbin "baserom.gba", 0x003b6f34, 0x10 - - .align 2 -Unknown_83B6F44: @ 83B6F44 - .incbin "baserom.gba", 0x003b6f44, 0x18 - - .align 2 -gUnknown_083B6F5C:: @ 83B6F5C - .4byte Unknown_83B6F34 - .4byte Unknown_83B6F44 - - .align 2 -gWallpaperPalettes_Forest: @ 83B6F64 - .incbin "graphics/pokemon_storage/box_bg1.gbapal" - .incbin "graphics/pokemon_storage/forest_frame.gbapal" - .incbin "graphics/pokemon_storage/forest_bg.gbapal" - - .align 2 -gWallpaperTiles_Forest: @ 83B6FC4 - .incbin "graphics/pokemon_storage/forest.4bpp.lz" - - .align 2 -gWallpaperTilemap_Forest: @ 83B7394 - .incbin "graphics/pokemon_storage/forest.bin.lz" - - .align 2 -gWallpaperPalettes_City: @ 83B7470 - .incbin "graphics/pokemon_storage/box_bg1.gbapal" - .incbin "graphics/pokemon_storage/city_frame.gbapal" - .incbin "graphics/pokemon_storage/city_bg.gbapal" - - .align 2 -gWallpaperTiles_City: @ 83B74D0 - .incbin "graphics/pokemon_storage/city.4bpp.lz" - - .align 2 -gWallpaperTilemap_City: @ 83B76D8 - .incbin "graphics/pokemon_storage/city.bin.lz" - - .align 2 -gWallpaperPalettes_Desert: @ 83B7788 - .incbin "graphics/pokemon_storage/box_bg1.gbapal" - .incbin "graphics/pokemon_storage/desert_frame.gbapal" - .incbin "graphics/pokemon_storage/desert_bg.gbapal" - - .align 2 -gWallpaperTiles_Desert: @ 83B77E8 - .incbin "graphics/pokemon_storage/desert.4bpp.lz" - - .align 2 -gWallpaperTilemap_Desert: @ 83B7AD4 - .incbin "graphics/pokemon_storage/desert.bin.lz" - - .align 2 -gWallpaperPalettes_Savanna: @ 83B7BB8 - .incbin "graphics/pokemon_storage/box_bg1.gbapal" - .incbin "graphics/pokemon_storage/savanna_frame.gbapal" - .incbin "graphics/pokemon_storage/savanna_bg.gbapal" - - .align 2 -gWallpaperTiles_Savanna: @ 83B7C18 - .incbin "graphics/pokemon_storage/savanna.4bpp.lz" - - .align 2 -gWallpaperTilemap_Savanna: @ 83B7E38 - .incbin "graphics/pokemon_storage/savanna.bin.lz" - - .align 2 -gWallpaperPalettes_Crag: @ 83B7F04 - .incbin "graphics/pokemon_storage/box_bg1.gbapal" - .incbin "graphics/pokemon_storage/crag_frame.gbapal" - .incbin "graphics/pokemon_storage/crag_bg.gbapal" - - .align 2 -gWallpaperTiles_Crag: @ 83B7F64 - .incbin "graphics/pokemon_storage/crag.4bpp.lz" - - .align 2 -gWallpaperTilemap_Crag: @ 83B82B4 - .incbin "graphics/pokemon_storage/crag.bin.lz" - - .align 2 -gWallpaperPalettes_Volcano: @ 83B838C - .incbin "graphics/pokemon_storage/box_bg1.gbapal" - .incbin "graphics/pokemon_storage/volcano_frame.gbapal" - .incbin "graphics/pokemon_storage/volcano_bg.gbapal" - - .align 2 -gWallpaperTiles_Volcano: @ 83B83EC - .incbin "graphics/pokemon_storage/volcano.4bpp.lz" - - .space 4 - - .align 2 -gWallpaperTilemap_Volcano: @ 83B8720 - .incbin "graphics/pokemon_storage/volcano.bin.lz" - - .align 2 -gWallpaperPalettes_Snow: @ 83B87F8 - .incbin "graphics/pokemon_storage/box_bg1.gbapal" - .incbin "graphics/pokemon_storage/snow_frame.gbapal" - .incbin "graphics/pokemon_storage/snow_bg.gbapal" - - .align 2 -gWallpaperTiles_Snow: @ 83B8858 - .incbin "graphics/pokemon_storage/snow.4bpp.lz" - - .align 2 -gWallpaperTilemap_Snow: @ 83B8B10 - .incbin "graphics/pokemon_storage/snow.bin.lz" - - .align 2 -gWallpaperPalettes_Cave: @ 83B8BDC - .incbin "graphics/pokemon_storage/box_bg1.gbapal" - .incbin "graphics/pokemon_storage/cave_frame.gbapal" - .incbin "graphics/pokemon_storage/cave_bg.gbapal" - - .align 2 -gWallpaperTiles_Cave: @ 83B8C3C - .incbin "graphics/pokemon_storage/cave.4bpp.lz" - - .align 2 -gWallpaperTilemap_Cave: @ 83B8F80 - .incbin "graphics/pokemon_storage/cave.bin.lz" - - .align 2 -gWallpaperPalettes_Beach: @ 83B905C - .incbin "graphics/pokemon_storage/box_bg1.gbapal" - .incbin "graphics/pokemon_storage/beach_frame.gbapal" - .incbin "graphics/pokemon_storage/beach_bg.gbapal" - - .align 2 -gWallpaperTiles_Beach: @ 83B90BC - .incbin "graphics/pokemon_storage/beach.4bpp.lz" - - .align 2 -gWallpaperTilemap_Beach: @ 83B9440 - .incbin "graphics/pokemon_storage/beach.bin.lz" - - .align 2 -gWallpaperPalettes_Seafloor: @ 83B9528 - .incbin "graphics/pokemon_storage/box_bg1.gbapal" - .incbin "graphics/pokemon_storage/seafloor_frame.gbapal" - .incbin "graphics/pokemon_storage/seafloor_bg.gbapal" - - .align 2 -gWallpaperTiles_Seafloor: @ 83B9588 - .incbin "graphics/pokemon_storage/seafloor.4bpp.lz" - - .align 2 -gWallpaperTilemap_Seafloor: @ 83B983C - .incbin "graphics/pokemon_storage/seafloor.bin.lz" - - .align 2 -gWallpaperPalettes_River: @ 83B9918 - .incbin "graphics/pokemon_storage/box_bg1.gbapal" - .incbin "graphics/pokemon_storage/river_frame.gbapal" - .incbin "graphics/pokemon_storage/river_bg.gbapal" - - .align 2 -gWallpaperTiles_River: @ 83B9978 - .incbin "graphics/pokemon_storage/river.4bpp.lz" - - .align 2 -gWallpaperTilemap_River: @ 83B9C0C - .incbin "graphics/pokemon_storage/river.bin.lz" - - .align 2 -gWallpaperPalettes_Sky: @ 83B9CF8 - .incbin "graphics/pokemon_storage/box_bg1.gbapal" - .incbin "graphics/pokemon_storage/sky_frame.gbapal" - .incbin "graphics/pokemon_storage/sky_bg.gbapal" - - .align 2 -gWallpaperTiles_Sky: @ 83B9D58 - .incbin "graphics/pokemon_storage/sky.4bpp.lz" - - .align 2 -gWallpaperTilemap_Sky: @ 83B9FF0 - .incbin "graphics/pokemon_storage/sky.bin.lz" - - .align 2 -gWallpaperPalettes_Polkadot: @ 83BA0D0 - .incbin "graphics/pokemon_storage/box_bg2.gbapal" - .incbin "graphics/pokemon_storage/polkadot_frame.gbapal" - .incbin "graphics/pokemon_storage/polkadot_bg.gbapal" - - .align 2 -gWallpaperTiles_Polkadot: @ 83BA130 - .incbin "graphics/pokemon_storage/polkadot.4bpp.lz" - - .align 2 -gWallpaperTilemap_Polkadot: @ 83BA32C - .incbin "graphics/pokemon_storage/polkadot.bin.lz" - - .align 2 -gWallpaperPalettes_Pokecenter: @ 83BA3E4 - .incbin "graphics/pokemon_storage/box_bg2.gbapal" - .incbin "graphics/pokemon_storage/pokecenter_frame.gbapal" - .incbin "graphics/pokemon_storage/pokecenter_bg.gbapal" - - .align 2 -gWallpaperTiles_Pokecenter: @ 83BA444 - .incbin "graphics/pokemon_storage/pokecenter.4bpp.lz" - - .align 2 -gWallpaperTilemap_Pokecenter: @ 83BA7E8 - .incbin "graphics/pokemon_storage/pokecenter.bin.lz" - - .align 2 -gWallpaperPalettes_Machine: @ 83BA8FC - .incbin "graphics/pokemon_storage/box_bg3.gbapal" - .incbin "graphics/pokemon_storage/machine_frame.gbapal" - .incbin "graphics/pokemon_storage/machine_bg.gbapal" - - .align 2 -gWallpaperTiles_Machine: @ 83BA95C - .incbin "graphics/pokemon_storage/machine.4bpp.lz" - - .align 2 -gWallpaperTilemap_Machine: @ 83BAC4C - .incbin "graphics/pokemon_storage/machine.bin.lz" - - .align 2 -gWallpaperPalettes_Plain: @ 83BAD18 - .incbin "graphics/pokemon_storage/box_bg4.gbapal" - .incbin "graphics/pokemon_storage/plain_frame.gbapal" - .incbin "graphics/pokemon_storage/plain_bg.gbapal" - - .align 2 -gWallpaperTiles_Plain: @ 83BAD78 - .incbin "graphics/pokemon_storage/plain.4bpp.lz" - - .align 2 -gWallpaperTilemap_Plain: @ 83BAE74 - .incbin "graphics/pokemon_storage/plain.bin.lz" - -@ 12×18 tilemap - .incbin "graphics/unused/tilemap_3BAEF8.bin" - -gUnknown_083BB0A8:: @ 83BB0A8 - .incbin "baserom.gba", 0x003bb0a8, 0x40 - - .align 2 -gWallpaperTable:: @ 83BB0E8 - @ Forest - .4byte gWallpaperTiles_Forest - .4byte 0x3D0 - .4byte gWallpaperTilemap_Forest - .4byte gWallpaperPalettes_Forest - - @ City - .4byte gWallpaperTiles_City - .4byte 0x208 - .4byte gWallpaperTilemap_City - .4byte gWallpaperPalettes_City - - @ Desert - .4byte gWallpaperTiles_Desert - .4byte 0x2EC - .4byte gWallpaperTilemap_Desert - .4byte gWallpaperPalettes_Desert - - @ Savanna - .4byte gWallpaperTiles_Savanna - .4byte 0x220 - .4byte gWallpaperTilemap_Savanna - .4byte gWallpaperPalettes_Savanna - - @ Crag - .4byte gWallpaperTiles_Crag - .4byte 0x350 - .4byte gWallpaperTilemap_Crag - .4byte gWallpaperPalettes_Crag - - @ Volcano - .4byte gWallpaperTiles_Volcano - .4byte 0x334 - .4byte gWallpaperTilemap_Volcano - .4byte gWallpaperPalettes_Volcano - - @ Snow - .4byte gWallpaperTiles_Snow - .4byte 0x2B8 - .4byte gWallpaperTilemap_Snow - .4byte gWallpaperPalettes_Snow - - @ Cave - .4byte gWallpaperTiles_Cave - .4byte 0x344 - .4byte gWallpaperTilemap_Cave - .4byte gWallpaperPalettes_Cave - - @ Beach - .4byte gWallpaperTiles_Beach - .4byte 0x384 - .4byte gWallpaperTilemap_Beach - .4byte gWallpaperPalettes_Beach - - @ Seafloor - .4byte gWallpaperTiles_Seafloor - .4byte 0x2B4 - .4byte gWallpaperTilemap_Seafloor - .4byte gWallpaperPalettes_Seafloor - - @ River - .4byte gWallpaperTiles_River - .4byte 0x294 - .4byte gWallpaperTilemap_River - .4byte gWallpaperPalettes_River - - @ Sky - .4byte gWallpaperTiles_Sky - .4byte 0x298 - .4byte gWallpaperTilemap_Sky - .4byte gWallpaperPalettes_Sky - - @ Polkadot - .4byte gWallpaperTiles_Polkadot - .4byte 0x1FC - .4byte gWallpaperTilemap_Polkadot - .4byte gWallpaperPalettes_Polkadot - - @ Pokecenter - .4byte gWallpaperTiles_Pokecenter - .4byte 0x3A4 - .4byte gWallpaperTilemap_Pokecenter - .4byte gWallpaperPalettes_Pokecenter - - @ Machine - .4byte gWallpaperTiles_Machine - .4byte 0x2F0 - .4byte gWallpaperTilemap_Machine - .4byte gWallpaperPalettes_Machine - - @ Plain - .4byte gWallpaperTiles_Plain - .4byte 0xFC - .4byte gWallpaperTilemap_Plain - .4byte gWallpaperPalettes_Plain - -PCPal_Arrow: - .incbin "graphics/pokemon_storage/arrow.gbapal" -PCGfx_Arrow: - .incbin "graphics/pokemon_storage/arrow.4bpp" - - .align 2 -gUnknown_083BB288:: @ 83BB288 - obj_tiles PCGfx_Arrow, 128, 0x0006 - - .align 2 -gUnknown_083BB290:: @ 83BB290 - obj_pal PCPal_Arrow, 0xDACF - - .align 2 -gOamData_83BB298:: @ 83BB298 - .2byte 0x4000 - .2byte 0x8000 - .2byte 0x0800 - - .align 2 -gSpriteAnim_83BB2A0:: @ 83BB2A0 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83BB2A8:: @ 83BB2A8 - obj_image_anim_frame 8, 5 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83BB2B0:: @ 83BB2B0 - .4byte gSpriteAnim_83BB2A0 - .4byte gSpriteAnim_83BB2A8 - - .align 2 -gSpriteTemplate_83BB2B8:: @ 83BB2B8 - spr_template 3, 56008, gOamData_83BB298, gSpriteAnimTable_83BB2B0, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gOamData_83BB2D0:: @ 83BB2D0 - .2byte 0x8000 - .2byte 0x0000 - .2byte 0x0800 - - .align 2 -gSpriteAnim_83BB2D8:: @ 83BB2D8 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83BB2E0:: @ 83BB2E0 - obj_image_anim_frame 2, 5 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83BB2E8:: @ 83BB2E8 - .4byte gSpriteAnim_83BB2D8 - .4byte gSpriteAnim_83BB2E0 - - .align 2 -gSpriteTemplate_83BB2F0:: @ 83BB2F0 - spr_template 6, 56015, gOamData_83BB2D0, gSpriteAnimTable_83BB2E8, NULL, gDummySpriteAffineAnimTable, sub_809A8C8 - - .align 2 -HandCursorPalette: @ 83BB308 - .incbin "graphics/pokemon_storage/hand_cursor_pal.bin" - - .align 2 -HandCursorAltPalette: @ 83BB328 - .incbin "graphics/pokemon_storage/hand_cursor_alt_pal.bin" - - .align 2 -HandCursorTiles: @ 83BB348 - .incbin "graphics/pokemon_storage/hand_cursor.4bpp" - - .align 2 -HandCursorShadowTiles: @ 83BBB48 - .incbin "graphics/pokemon_storage/hand_cursor_shadow.4bpp" - - .align 2 -gUnknown_083BBBC8:: @ 83BBBC8 - .4byte sub_809B150 - .4byte sub_809B1D8 - .4byte sub_809B24C - - .align 2 -gUnknown_083BBBD4:: @ 83BBBD4 - .4byte sub_809C464, 0 - .4byte sub_809C664, 1 - .4byte sub_809C85C, 2 - .4byte sub_809C944, 3 - .4byte NULL, 0 - - .align 2 -gHandCursorSpriteSheets:: @ 83BBBFC - obj_tiles HandCursorTiles, 0x800, 0 - obj_tiles HandCursorShadowTiles, 0x80, 1 - null_obj_tiles - - .align 2 -gHandCursorSpritePalettes:: @ 83BBC14 - obj_pal HandCursorPalette, 56006 - obj_pal HandCursorAltPalette, 56017 - null_obj_pal - - .align 2 -gOamData_83BBC2C:: @ 83BBC2C - .2byte 0x0000 - .2byte 0x8000 - .2byte 0x0400 - - .align 2 -gOamData_83BBC34:: @ 83BBC34 - .2byte 0x0000 - .2byte 0x4000 - .2byte 0x0800 - - .align 2 -gSpriteAnim_83BBC3C:: @ 83BBC3C - obj_image_anim_frame 0, 30 - obj_image_anim_frame 16, 30 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnim_83BBC48:: @ 83BBC48 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83BBC50:: @ 83BBC50 - obj_image_anim_frame 32, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83BBC58:: @ 83BBC58 - obj_image_anim_frame 48, 5 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83BBC60:: @ 83BBC60 - .4byte gSpriteAnim_83BBC3C - .4byte gSpriteAnim_83BBC48 - .4byte gSpriteAnim_83BBC50 - .4byte gSpriteAnim_83BBC58 - - .align 2 -gSpriteTemplate_83BBC70:: @ 83BBC70 - spr_template 0, 56006, gOamData_83BBC2C, gSpriteAnimTable_83BBC60, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_83BBC88:: @ 83BBC88 - spr_template 1, 56006, gOamData_83BBC34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_809CB74 - - .align 2 -gUnknown_083BBCA0:: @ 83BBCA0 - .4byte PCText_Cancel2 - .4byte PCText_Deposit - .4byte PCText_Withdraw - .4byte PCText_Move - .4byte PCText_Switch - .4byte PCText_Place - .4byte PCText_Summary - .4byte PCText_Release - .4byte PCText_Mark - .4byte PCText_Jump - .4byte PCText_Wallpaper - .4byte PCText_Name - .4byte PCText_Scenery1 - .4byte PCText_Scenery2 - .4byte PCText_Scenery3 - .4byte PCText_Etc - .4byte PCText_Forest - .4byte PCText_City - .4byte PCText_Desert - .4byte PCText_Savanna - .4byte PCText_Crag - .4byte PCText_Volcano - .4byte PCText_Snow - .4byte PCText_Cave - .4byte PCText_Beach - .4byte PCText_Seafloor - .4byte PCText_River - .4byte PCText_Sky - .4byte PCText_Polka - .4byte PCText_PokeCenter - .4byte PCText_Machine - .4byte PCText_Plain - -@ 83BBD20 - .include "data/graphics/pokemon/icon_table.inc" - -@ 83BC400 - .include "data/graphics/pokemon/icon_palette_indices.inc" - -@ 83BC5B8 - .include "data/graphics/pokemon/icon_palette_table.inc" - - .align 2 -gOamData_83BC5E8:: @ 83BC5E8 - .2byte 0x0000 - .2byte 0x8000 - .2byte 0x0400 - - .align 2 -gSpriteAnim_83BC5F0:: @ 83BC5F0 - obj_image_anim_frame 0, 6 - obj_image_anim_frame 1, 6 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnim_83BC5FC:: @ 83BC5FC - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 8 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnim_83BC608:: @ 83BC608 - obj_image_anim_frame 0, 14 - obj_image_anim_frame 1, 14 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnim_83BC614:: @ 83BC614 - obj_image_anim_frame 0, 22 - obj_image_anim_frame 1, 22 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnim_83BC620:: @ 83BC620 - obj_image_anim_frame 0, 29 - obj_image_anim_frame 0, 29 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnimTable_83BC62C:: @ 83BC62C - .4byte gSpriteAnim_83BC5F0 - .4byte gSpriteAnim_83BC5FC - .4byte gSpriteAnim_83BC608 - .4byte gSpriteAnim_83BC614 - .4byte gSpriteAnim_83BC620 - - .align 2 -gSpriteAffineAnim_83BC640:: @ 83BC640 - obj_rot_scal_anim_frame 0x0, 0x0, 0, 10 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83BC650:: @ 83BC650 - obj_rot_scal_anim_frame 0xFFFE, 0xFFFE, 0, 122 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_83BC660:: @ 83BC660 - .4byte gSpriteAffineAnim_83BC640 - .4byte gSpriteAffineAnim_83BC650 - - .align 1 -gSpriteImageSizes:: @ 83BC668 - @ square - .2byte 0x20 @ 1×1 - .2byte 0x80 @ 2×2 - .2byte 0x200 @ 4×4 - .2byte 0x800 @ 8×8 - - @ horizontal rectangle - .2byte 0x40 @ 2×1 - .2byte 0x80 @ 4×1 - .2byte 0x100 @ 4×2 - .2byte 0x400 @ 8×4 - - @ vertical rectangle - .2byte 0x40 @ 1×2 - .2byte 0x80 @ 1×4 - .2byte 0x100 @ 2×4 - .2byte 0x400 @ 4×8 - -@ 83BC680 - .include "data/text/move_descriptions.inc" - -@ 83C0F60 - .include "data/text/nature_names.inc" - - .align 2 -gUnknown_083C1068:: @ 83C1068 - .4byte gEmptyString_81E72B0 - .4byte OtherText_PokeInfo - .4byte OtherText_PokeSkills - .4byte OtherText_BattleMoves - .4byte OtherText_ContestMoves - .4byte OtherText_Switch - .4byte OtherText_Info - .4byte gOtherText_CancelNoTerminator - - .align 2 -gSpriteAffineAnim_83C1088:: @ 83C1088 - obj_rot_scal_anim_frame 0xFF00, 0x100, 0, 0 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_83C1098:: @ 83C1098 - .4byte gSpriteAffineAnim_83C1088 - - .align 2 -gOamData_83C109C:: @ 83C109C - .2byte 0x4000 - .2byte 0x8000 - .2byte 0x0400 - - .align 2 -gSpriteAnim_83C10A4:: @ 83C10A4 - obj_image_anim_frame 0, 0 - obj_image_anim_end - - .align 2 -gSpriteAnim_83C10AC:: @ 83C10AC - obj_image_anim_frame 8, 0 - obj_image_anim_end - - .align 2 -gSpriteAnim_83C10B4:: @ 83C10B4 - obj_image_anim_frame 16, 0 - obj_image_anim_end - - .align 2 -gSpriteAnim_83C10BC:: @ 83C10BC - obj_image_anim_frame 24, 0 - obj_image_anim_end - - .align 2 -gSpriteAnim_83C10C4:: @ 83C10C4 - obj_image_anim_frame 32, 0 - obj_image_anim_end - - .align 2 -gSpriteAnim_83C10CC:: @ 83C10CC - obj_image_anim_frame 40, 0 - obj_image_anim_end - - .align 2 -gSpriteAnim_83C10D4:: @ 83C10D4 - obj_image_anim_frame 48, 0 - obj_image_anim_end - - .align 2 -gSpriteAnim_83C10DC:: @ 83C10DC - obj_image_anim_frame 56, 0 - obj_image_anim_end - - .align 2 -gSpriteAnim_83C10E4:: @ 83C10E4 - obj_image_anim_frame 64, 0 - obj_image_anim_end - - .align 2 -gSpriteAnim_83C10EC:: @ 83C10EC - obj_image_anim_frame 72, 0 - obj_image_anim_end - - .align 2 -gSpriteAnim_83C10F4:: @ 83C10F4 - obj_image_anim_frame 80, 0 - obj_image_anim_end - - .align 2 -gSpriteAnim_83C10FC:: @ 83C10FC - obj_image_anim_frame 88, 0 - obj_image_anim_end - - .align 2 -gSpriteAnim_83C1104:: @ 83C1104 - obj_image_anim_frame 96, 0 - obj_image_anim_end - - .align 2 -gSpriteAnim_83C110C:: @ 83C110C - obj_image_anim_frame 104, 0 - obj_image_anim_end - - .align 2 -gSpriteAnim_83C1114:: @ 83C1114 - obj_image_anim_frame 112, 0 - obj_image_anim_end - - .align 2 -gSpriteAnim_83C111C:: @ 83C111C - obj_image_anim_frame 120, 0 - obj_image_anim_end - - .align 2 -gSpriteAnim_83C1124:: @ 83C1124 - obj_image_anim_frame 128, 0 - obj_image_anim_end - - .align 2 -gSpriteAnim_83C112C:: @ 83C112C - obj_image_anim_frame 136, 0 - obj_image_anim_end - - .align 2 -gSpriteAnim_83C1134:: @ 83C1134 - obj_image_anim_frame 144, 0 - obj_image_anim_end - - .align 2 -gSpriteAnim_83C113C:: @ 83C113C - obj_image_anim_frame 152, 0 - obj_image_anim_end - - .align 2 -gSpriteAnim_83C1144:: @ 83C1144 - obj_image_anim_frame 160, 0 - obj_image_anim_end - - .align 2 -gSpriteAnim_83C114C:: @ 83C114C - obj_image_anim_frame 168, 0 - obj_image_anim_end - - .align 2 -gSpriteAnim_83C1154:: @ 83C1154 - obj_image_anim_frame 176, 0 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83C115C:: @ 83C115C - .4byte gSpriteAnim_83C10A4 - .4byte gSpriteAnim_83C10AC - .4byte gSpriteAnim_83C10B4 - .4byte gSpriteAnim_83C10BC - .4byte gSpriteAnim_83C10C4 - .4byte gSpriteAnim_83C10CC - .4byte gSpriteAnim_83C10D4 - .4byte gSpriteAnim_83C10DC - .4byte gSpriteAnim_83C10E4 - .4byte gSpriteAnim_83C10EC - .4byte gSpriteAnim_83C10F4 - .4byte gSpriteAnim_83C10FC - .4byte gSpriteAnim_83C1104 - .4byte gSpriteAnim_83C110C - .4byte gSpriteAnim_83C1114 - .4byte gSpriteAnim_83C111C - .4byte gSpriteAnim_83C1124 - .4byte gSpriteAnim_83C112C - .4byte gSpriteAnim_83C1134 - .4byte gSpriteAnim_83C113C - .4byte gSpriteAnim_83C1144 - .4byte gSpriteAnim_83C114C - .4byte gSpriteAnim_83C1154 - - .align 2 -gUnknown_083C11B8:: @ 83C11B8 - obj_tiles gMoveTypes_Gfx, 5888, 0x7532 - - .align 2 -gSpriteTemplate_83C11C0:: @ 83C11C0 - spr_template 30002, 30002, gOamData_83C109C, gSpriteAnimTable_83C115C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - -gUnknown_083C11D8:: @ 83C11D8 - .incbin "baserom.gba", 0x003c11d8, 0x18 - - .align 2 -gOamData_83C11F0:: @ 83C11F0 - .2byte 0x0000 - .2byte 0x4000 - .2byte 0x0400 - - .align 2 -gSpriteAnim_83C11F8:: @ 83C11F8 - obj_image_anim_frame 0, 0 - obj_image_anim_end - - .align 2 -gSpriteAnim_83C1200:: @ 83C1200 - obj_image_anim_frame 4, 0 - obj_image_anim_end - - .align 2 -gSpriteAnim_83C1208:: @ 83C1208 - obj_image_anim_frame 8, 0 - obj_image_anim_end - - .align 2 -gSpriteAnim_83C1210:: @ 83C1210 - obj_image_anim_frame 12, 0 - obj_image_anim_end - - .align 2 -gSpriteAnim_83C1218:: @ 83C1218 - obj_image_anim_frame 16, 0 - obj_image_anim_end - - .align 2 -gSpriteAnim_83C1220:: @ 83C1220 - obj_image_anim_frame 16, 0, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_end - - .align 2 -gSpriteAnim_83C1228:: @ 83C1228 - obj_image_anim_frame 20, 0 - obj_image_anim_end - - .align 2 -gSpriteAnim_83C1230:: @ 83C1230 - obj_image_anim_frame 24, 0 - obj_image_anim_end - - .align 2 -gSpriteAnim_83C1238:: @ 83C1238 - obj_image_anim_frame 24, 0, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_end - - .align 2 -gSpriteAnim_83C1240:: @ 83C1240 - obj_image_anim_frame 28, 0 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83C1248:: @ 83C1248 - .4byte gSpriteAnim_83C11F8 - .4byte gSpriteAnim_83C1200 - .4byte gSpriteAnim_83C1208 - .4byte gSpriteAnim_83C1210 - .4byte gSpriteAnim_83C1218 - .4byte gSpriteAnim_83C1220 - .4byte gSpriteAnim_83C1228 - .4byte gSpriteAnim_83C1230 - .4byte gSpriteAnim_83C1238 - .4byte gSpriteAnim_83C1240 - - .align 2 -gUnknown_083C1270:: @ 83C1270 - obj_tiles gMenuSummaryGfx, 1024, 0x7530 - - .align 2 -gUnknown_083C1278:: @ 83C1278 - obj_pal gMenuSummaryPal, 0x7530 - - .align 2 -gSpriteTemplate_83C1280:: @ 83C1280 - spr_template 30000, 30000, gOamData_83C11F0, gSpriteAnimTable_83C1248, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gOamData_83C1298:: @ 83C1298 - .2byte 0x4000 - .2byte 0x4000 - .2byte 0x0C00 - - .align 2 -gSpriteAnim_83C12A0:: @ 83C12A0 - obj_image_anim_frame 0, 0 - obj_image_anim_end - - .align 2 -gSpriteAnim_83C12A8:: @ 83C12A8 - obj_image_anim_frame 4, 0 - obj_image_anim_end - - .align 2 -gSpriteAnim_83C12B0:: @ 83C12B0 - obj_image_anim_frame 8, 0 - obj_image_anim_end - - .align 2 -gSpriteAnim_83C12B8:: @ 83C12B8 - obj_image_anim_frame 12, 0 - obj_image_anim_end - - .align 2 -gSpriteAnim_83C12C0:: @ 83C12C0 - obj_image_anim_frame 16, 0 - obj_image_anim_end - - .align 2 -gSpriteAnim_83C12C8:: @ 83C12C8 - obj_image_anim_frame 20, 0 - obj_image_anim_end - - .align 2 -gSpriteAnim_83C12D0:: @ 83C12D0 - obj_image_anim_frame 24, 0 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83C12D8:: @ 83C12D8 - .4byte gSpriteAnim_83C12A0 - .4byte gSpriteAnim_83C12A8 - .4byte gSpriteAnim_83C12B0 - .4byte gSpriteAnim_83C12B8 - .4byte gSpriteAnim_83C12C0 - .4byte gSpriteAnim_83C12C8 - .4byte gSpriteAnim_83C12D0 - - .align 2 -gUnknown_083C12F4:: @ 83C12F4 - obj_tiles gStatusGfx_Icons, 896, 0x7531 - - .align 2 -gUnknown_083C12FC:: @ 83C12FC - obj_pal gStatusPal_Icons, 0x7531 - - .align 2 -gSpriteTemplate_83C1304:: @ 83C1304 - spr_template 30001, 30001, gOamData_83C1298, gSpriteAnimTable_83C12D8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSummaryScreenMonMarkingsPalette:: @ 83C131C - .incbin "graphics/summary_screen/mon_markings.gbapal" - - .align 2 -gSummaryScreenTextTiles:: @ 83C133C - .incbin "graphics/summary_screen/text.4bpp" - - .align 2 -gSummaryScreenButtonTiles:: @ 83C147C - .incbin "graphics/summary_screen/buttons.4bpp" - - .align 1 -gUnknown_083C157C:: @ 83C157C - .2byte 0x5F5A @ palette color - - .align 1 -gUnknown_083C157E:: @ 83C157E - .2byte 0x6FDE @ palette color - - .align 2 -gUnknown_083C1580:: @ 83C1580 - .4byte sub_809FC0C - .4byte sub_809FEB8 - - .align 2 -gUnknown_083C1588:: @ 83C1588 - .4byte sub_809F63C - .4byte sub_809F650 - .4byte sub_809F664 - .4byte sub_809F664 - - .align 2 -gUnknown_083C1598:: @ 83C1598 - .4byte sub_809FE6C - .4byte sub_80A0090 - .4byte sub_80A015C - .4byte sub_80A015C - -gUnknown_083C15A8:: @ 83C15A8 - .byte 0, 2, 3, 1, 4, 5 - -gUnknown_083C15AE:: @ 83C15AE - .string "{STR_VAR_1}{CLEAR_TO 64}$" - -gUnknown_083C15B4:: @ 83C15B4 - .string "{STR_VAR_1}{CLEAR_TO 72}$" - - .align 2 -gUnknown_083C15BC:: @ 83C15BC - .byte 9, 1, 0, 2 - .byte 10, 3, 0, 4 - .byte 8, 5, 0, 6 - .byte 11, 7, 0, 8 - .byte 14, 9, 0, 10 - .byte 12, 11, 0, 12 - .byte 13, 13, 0, 14 - .byte -1, 15, 0, 10 - - .align 2 -gOamData_CutGrass:: @ 83C15DC - .2byte 0 - .2byte 0 - .2byte 0x1401 - - .align 2 -gSpriteAnim_CutGrass:: @ 83C15E4 - obj_image_anim_frame 0, 30 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnimTable_CutGrass:: @ 83C15EC - .4byte gSpriteAnim_CutGrass - - .align 2 -gSpriteImageTable_CutGrass:: @ 83C15F0 - obj_frame_tiles gFieldEffectPic_CutGrass, 0x20 - - .align 2 -gFieldEffectObjectPaletteInfo6:: @ 83C15F8 - obj_pal gFieldEffectObjectPalette6, 0x1000 - - .align 2 -gSpriteTemplate_CutGrass:: @ 83C1600 - spr_template 0xFFFF, 0x1000, gOamData_CutGrass, gSpriteAnimTable_CutGrass, gSpriteImageTable_CutGrass, gDummySpriteAffineAnimTable, sub_80A2A48 - -@ pointer to items, capacity - .align 2 -gBagPockets:: @ 83C1618 - .4byte gSaveBlock1 + 0x560, 20 @ Items - .4byte gSaveBlock1 + 0x600, 16 @ Poké Balls - .4byte gSaveBlock1 + 0x640, 64 @ TMs & HMs - .4byte gSaveBlock1 + 0x740, 46 @ Berries - .4byte gSaveBlock1 + 0x5B0, 20 @ Key Items - - .align 2 -gUnknown_083C1640:: @ 83C1640 - .4byte OtherText_Use, sub_80A5B78 - .4byte OtherText_Toss, sub_80A5F14 - .4byte gOtherText_CancelNoTerminator, sub_80A5F80 - .4byte OtherText_Register, sub_80A5FAC - .4byte OtherText_Use, ItemMenu_UseInBattle - .4byte gOtherText_CancelNoTerminator, sub_80A7124 - .4byte OtherText_Give2, ItemMenu_Give - .4byte OtherText_CheckTag, sub_80A6178 - .4byte gOtherText_CancelWithTerminator, 0x0 - .4byte OtherText_Confirm, sub_80A69E0 - -@ 6-byte entries; format of entry is unknown -gUnknown_083C1690:: @ 83C1690 - .byte 0, 1, 6, 2, 0, 0 - .byte 6, 1, 8, 2, 0, 0 - .byte 0, 8, 6, 2, 0, 0 - .byte 7, 0, 1, 8, 6, 2 - .byte 0, 8, 3, 2, 0, 0 - -gUnknown_083C16AE:: @ 83C16AE - .byte 6, 2 - .byte 6, 2 - .byte 6, 2 - .byte 6, 2 - .byte 2, 0 - -gUnknown_083C16B8:: @ 83C16B8 - .byte 7, 9, 8, 2 - - .align 2 -gUnknown_083C16BC:: @ 83C16BC - .4byte sub_80A59D0 - .4byte sub_80A599C - .4byte sub_80A7024 - .4byte sub_80A70D8 - .4byte sub_80A6214 - .4byte sub_80A61EC - .4byte sub_80A6354 - .4byte sub_80A631C - .4byte sub_80A6918 - .4byte sub_80A68F0 - .4byte sub_80A59D0 - .4byte sub_80A69B8 - .4byte sub_80A6C6C - .4byte sub_80A6A4C - - .align 2 -gUnknown_083C16F4:: @ 83C16F4 - .4byte sub_80A5E60 - .4byte sub_80A5E90 - - .align 2 -gUnknown_083C16FC:: @ 83C16FC - .4byte sub_80A65AC - .4byte sub_80A6618 - -gUnknown_083C1704:: @ 83C1704 - .incbin "baserom.gba", 0x003c1704, 0x4 - -gUnknown_083C1708:: @ 83C1708 - .byte 4, 5 - -gUnknown_083C170A:: @ 83C170A - .byte 5, 0 - - .align 2 -gPalette_83C170C:: @ 83C170C - .incbin "baserom.gba", 0x003c170c, 0x20 - - .align 2 -gSpriteImage_83C172C:: @ 83C172C - .incbin "graphics/unknown_sprites/83C172C.4bpp" - - .align 2 - .incbin "graphics/unused/cherry.4bpp" - - .align 2 - .incbin "graphics/unused/cherry.gbapal" - - .align 2 -gOamData_83C1C4C:: @ 83C1C4C - .2byte 0x0000 - .2byte 0xC000 - .2byte 0x7800 - - .align 2 -gSpriteAnim_83C1C54:: @ 83C1C54 - obj_image_anim_frame 0, 4 - obj_image_anim_end - - .align 2 -gSpriteAnim_83C1C5C:: @ 83C1C5C - obj_image_anim_frame 64, 4 - obj_image_anim_end - - .align 2 -gSpriteAnim_83C1C64:: @ 83C1C64 - obj_image_anim_frame 128, 4 - obj_image_anim_end - - .align 2 -gSpriteAnim_83C1C6C:: @ 83C1C6C - obj_image_anim_frame 192, 4 - obj_image_anim_end - - .align 2 -gSpriteAnim_83C1C74:: @ 83C1C74 - obj_image_anim_frame 256, 4 - obj_image_anim_end - - .align 2 -gSpriteAnim_83C1C7C:: @ 83C1C7C - obj_image_anim_frame 320, 4 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83C1C84:: @ 83C1C84 - .4byte gSpriteAnim_83C1C54 - .4byte gSpriteAnim_83C1C5C - .4byte gSpriteAnim_83C1C6C - .4byte gSpriteAnim_83C1C74 - .4byte gSpriteAnim_83C1C7C - .4byte gSpriteAnim_83C1C64 - - .align 2 -gSpriteAffineAnim_83C1C9C:: @ 83C1C9C - obj_rot_scal_anim_frame 0x0, 0x0, -2, 2 - obj_rot_scal_anim_frame 0x0, 0x0, 2, 4 - obj_rot_scal_anim_frame 0x0, 0x0, -2, 4 - obj_rot_scal_anim_frame 0x0, 0x0, 2, 2 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_83C1CC4:: @ 83C1CC4 - .4byte gSpriteAffineAnim_83C1C9C - - .align 2 -gUnknown_083C1CC8:: @ 83C1CC8 - obj_tiles gBagMaleTiles, 0x3000, 30000 - - .align 2 -gUnknown_083C1CD0:: @ 83C1CD0 - obj_tiles gBagFemaleTiles, 0x3000, 30000 - - .align 2 -gUnknown_083C1CD8:: @ 83C1CD8 - obj_pal gBagPalette, 30000 - - .align 2 -gSpriteTemplate_83C1CE0:: @ 83C1CE0 - spr_template 30000, 30000, gOamData_83C1C4C, gSpriteAnimTable_83C1C84, NULL, gSpriteAffineAnimTable_83C1CC4, sub_80A7998 - - .align 2 -gOamData_83C1CF8:: @ 83C1CF8 - .2byte 0x0000 - .2byte 0x4800 - .2byte 0x8800 - - .align 2 -gSpriteAffineAnim_83C1D00:: @ 83C1D00 - obj_rot_scal_anim_frame 0x0, 0x0, 8, 32 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83C1D10:: @ 83C1D10 - obj_rot_scal_anim_frame 0x0, 0x0, -8, 32 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_83C1D20:: @ 83C1D20 - .4byte gSpriteAffineAnim_83C1D00 - .4byte gSpriteAffineAnim_83C1D10 - - .align 2 -gSpriteImageTable_83C1D28:: @ 83C1D28 - obj_frame_tiles gSpriteImage_83C172C, 0x80 - - .align 2 -gUnknown_083C1D30:: @ 83C1D30 - obj_pal gPalette_83C170C, 8 - - .align 2 -gSpriteTemplate_83C1D38:: @ 83C1D38 - spr_template 0xFFFF, 8, gOamData_83C1CF8, gSpriteAnimTable_83C1C84, gSpriteImageTable_83C1D28, gSpriteAffineAnimTable_83C1D20, sub_80A7B28 - - .align 2 -gOamData_83C1D50:: @ 83C1D50 - .2byte 0x0000 - .2byte 0xC000 - .2byte 0x7400 - - .align 2 -gOamData_83C1D58:: @ 83C1D58 - .2byte 0x0300 - .2byte 0xC000 - .2byte 0x7000 - - .align 2 -gSpriteAnim_83C1D60:: @ 83C1D60 - obj_image_anim_frame 0, 0 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83C1D68:: @ 83C1D68 - .4byte gSpriteAnim_83C1D60 - - .align 2 -gSpriteImageTable_83C1D6C:: @ 83C1D6C - obj_frame_tiles 0x02000000, 0x800 - - .align 2 -gSpriteTemplate_83C1D74:: @ 83C1D74 - spr_template 0xFFFF, 30020, gOamData_83C1D50, gSpriteAnimTable_83C1D68, gSpriteImageTable_83C1D6C, gDummySpriteAffineAnimTable, sub_80A7DC4 - - .align 2 -gSpriteAffineAnim_83C1D8C:: @ 83C1D8C - obj_rot_scal_anim_frame 0xFFFF, 0xFFFF, -3, 96 - obj_rot_scal_anim_frame 0x0, 0x0, 0, 16 - obj_rot_scal_anim_frame 0xFFFE, 0xFFFE, -1, 64 - obj_rot_scal_anim_frame 0xFFF8, 0x0, 0, 16 - obj_rot_scal_anim_frame 0x0, 0xFFF8, 0, 16 - obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 - obj_rot_scal_anim_jump 0 - - .align 2 -gSpriteAffineAnim_83C1DC4:: @ 83C1DC4 - obj_rot_scal_anim_frame 0xFFFF, 0xFFFF, 3, 96 - obj_rot_scal_anim_frame 0x0, 0x0, 0, 16 - obj_rot_scal_anim_frame 0xFFFE, 0xFFFE, 1, 64 - obj_rot_scal_anim_frame 0xFFF8, 0x0, 0, 16 - obj_rot_scal_anim_frame 0x0, 0xFFF8, 0, 16 - obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 - obj_rot_scal_anim_jump 0 - - .align 2 -gSpriteAffineAnimTable_83C1DFC:: @ 83C1DFC - .4byte gSpriteAffineAnim_83C1D8C - .4byte gSpriteAffineAnim_83C1DC4 - - .align 2 -gSpriteTemplate_83C1E04:: @ 83C1E04 - spr_template 0xFFFF, 30020, gOamData_83C1D58, gSpriteAnimTable_83C1D68, gSpriteImageTable_83C1D6C, gSpriteAffineAnimTable_83C1DFC, SpriteCallbackDummy - -@ 83C1E1C - .include "data/graphics/berries/graphics_table.inc" - - .align 2 -gUnknown_083C1F74:: @ 83C1F74 - obj_tiles gBerryCheckCircle_Gfx, 2048, 0x2710 - - .align 2 -gUnknown_083C1F7C:: @ 83C1F7C - obj_pal gBerryCheck_Pal, 0x2710 - - .align 2 -gOamData_83C1F84:: @ 83C1F84 - .2byte 0x0000 - .2byte 0x8000 - .2byte 0x0400 - - .align 2 -gSpriteAnim_83C1F8C:: @ 83C1F8C - obj_image_anim_frame 0, 0 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83C1F94:: @ 83C1F94 - .4byte gSpriteAnim_83C1F8C - - .align 2 -gSpriteTemplate_83C1F98:: @ 83C1F98 - spr_template 10000, 10000, gOamData_83C1F84, gSpriteAnimTable_83C1F94, NULL, gDummySpriteAffineAnimTable, sub_80A7DC4 - - .align 2 -gBattleAnimSpriteTemplate_83C1FB0:: @ 83C1FB0 - spr_template 0, 0, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80A8530 - - .align 2 -gBattleAnimSpriteTemplate_83C1FC8:: @ 83C1FC8 - spr_template 0, 0, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80A85C8 - - .align 2 -gBattleAnimSpriteTemplate_83C1FE0:: @ 83C1FE0 - spr_template 0, 0, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80A8638 - - .align 2 -gBattleAnimSpriteTemplate_83C1FF8:: @ 83C1FF8 - spr_template 0, 0, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80A8764 - - .align 2 -gBattleAnimSpriteTemplate_83C2010:: @ 83C2010 - spr_template 0, 0, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80A8818 - -@ 83C2028 - .include "data/text/item_descriptions.inc" - -@ 83C5564 - .include "data/items.inc" - -@ 83C9150 - .string "テストです$" @ "test" - -gMatsudaDebugMenu_ActionContestText: - .string "Contest$" - -gMatsudaDebugMenu_ActionContestResultsText: - .string "Contest results$" - .string "パラメータへんこう$" @ "Change parameter" - .string "わざ へんこう$" @ "Change move" - -gMatsudaDebugMenu_ActionContestCommText: - .string "Contest (comm.)$" - -gMatsudaDebugMenu_ActionCommTestText: - .string "Init comm. data$" - -gMatsudaDebugMenu_ActionSetHighScoreText: - .string "Set highest score$" - -gMatsudaDebugMenu_ActionResetHighScoreText: - .string "Reset highest score$" - -gMatsudaDebugMenu_ActionSetAllArtMuseumText: - .string "Set all art museum items$" - - .align 2 -gMatsudaDebugMenuActions:: @ 83C91F0 - .4byte gMatsudaDebugMenu_ActionContestText, MatsudaDebugMenu_Contest - .4byte gMatsudaDebugMenu_ActionContestResultsText, MatsudaDebugMenu_ContestResults - .4byte gMatsudaDebugMenu_ActionContestCommText, MatsudaDebugMenu_ContestComm - .4byte gMatsudaDebugMenu_ActionCommTestText, MatsudaDebugMenu_CommTest - .4byte gMatsudaDebugMenu_ActionSetHighScoreText, MatsudaDebugMenu_SetHighScore - .4byte gMatsudaDebugMenu_ActionResetHighScoreText, MatsudaDebugMenu_ResetHighScore - .4byte gMatsudaDebugMenu_ActionSetAllArtMuseumText, MatsudaDebugMenu_SetArtMuseumItems - -gMatsudaDebugMenu_UnknownByteArray:: @ 83C9228 - .byte 0xFC, 0x02, 0x0F, 0x00, 0xFF - -Unknown_083C922D: - .incbin "graphics/unknown/ball.4bpp" - - .align 1 -Unknown_083C924E: - .incbin "graphics/unknown/ball.gbapal" - -gUnknown_083C926E:: @ 83C926E - .incbin "baserom.gba", 0x003c926e, 0x8 - -gMatsudaDebugMenuContestTopLeft:: @ 83C9276 - .byte 0, 6 - .byte 15, 6 - .byte 0, 8 - .byte 15, 8 - .byte 0, 10 - .byte 15, 10 - -gUnknown_083C9282:: @ 83C9282 - .incbin "baserom.gba", 0x003c9282, 0xc - -gUnknown_083C928E:: @ 83C928E - .incbin "baserom.gba", 0x003c928e, 0x8 - -gUnknown_083C9296:: @ 83C9296 - .byte 0x08, 0x80, 0x08, 0x80, 0x10, 0x10, 0x30, 0xA8, 0x30, 0xA8, 0x30, 0xA8, 0x08, 0x80, 0x08, 0x80, 0x10, 0x88 - -gUnknown_083C92A8:: @ 83C92A8 - .byte 0x08, 0x18, 0x28, 0x38, 0x48, 0x58, 0x78, 0x88, 0x98 - - .align 2 -gUnknown_083C92B4:: @ 83C92B4 - obj_tiles Unknown_083C922D, 32, 0x04b0 - - .align 2 -gUnknown_083C92BC:: @ 83C92BC - obj_pal Unknown_083C924E, 0x04B0 - - .align 2 -gOamData_83C92C4:: @ 83C92C4 - .2byte 0x0000 - .2byte 0x0000 - .2byte 0x0000 - - .align 2 -gSpriteTemplate_83C92CC:: @ 83C92CC - spr_template 1200, 1200, gOamData_83C92C4, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80AA754 - - .align 2 -gUnknown_083C92E4:: @ 83C92E4 - .4byte sub_80AA8C8 - .4byte sub_80AA8D8 - .4byte sub_80AA8E8 - .4byte sub_80AA8F8 - .4byte sub_80AAC5C - .4byte sub_80AAC5C - .4byte sub_80AA930 - .4byte sub_80AA974 - .4byte sub_80AA9B8 - .4byte sub_80AA9FC - .4byte sub_80AAA40 - .4byte sub_80AAA84 - .4byte sub_80AAAF0 - .4byte sub_80AAB30 - .4byte sub_80AAB70 - .4byte sub_80AABB0 - .4byte sub_80AABF0 - .4byte sub_80AAD44 - -gMatsudaDebugMenu_StartText:: @ 83C932C - .string "{COLOR CYAN}{HIGHLIGHT RED}$" - .string "かいし$" @ Start - -gMatsudaDebugMenu_GoBackText:: @ 83C9337 - .string "もどる$" @ Go Back - -gMatsudaDebugMenu_BattlePointsText:: @ 83C933B - .string "{COLOR MAGENTA}BP.$" - -MatsudaDebugMenuText_Cool: - .string "かっこよさ$" @ coolness -MatsudaDebugMenuText_Cute: - .string "かわいさ$" @ cuteness -MatsudaDebugMenuText_Beauty: - .string "うつくしさ$" @ beauty -MatsudaDebugMenuText_Smart: - .string "かしこさ$" @ smartness -MatsudaDebugMenuText_Tough: - .string "たくましさ$" @ toughness -MatsudaDebugMenuText_Sheen: - .string "けづや$" @ sheen - - .align 2 -gMatsudaDebugMenuTextList1:: @ 83C9364 - .4byte MatsudaDebugMenuText_Cool - .4byte MatsudaDebugMenuText_Cute - .4byte MatsudaDebugMenuText_Beauty - .4byte MatsudaDebugMenuText_Smart - .4byte MatsudaDebugMenuText_Tough - .4byte MatsudaDebugMenuText_Sheen - -MatsudaDebugMenuText_CoolContest: - .string "かっこよさコンテスト$" @ Cool Contest -MatsudaDebugMenuText_BeautyContest: - .string "うつくしさコンテスト$" @ Beauty Contest -MatsudaDebugMenuText_CuteContest: - .string "かわいさコンテスト $" @ Cute Contest -MatsudaDebugMenuText_SmartContest: - .string "かしこさコンテスト $" @ Smart Contest -MatsudaDebugMenuText_ToughContest: - .string "たくましさコンテスト$" @ Tough Contest - - .align 2 -gMatsudaDebugMenuTextList2:: @ 83C93B4 - .4byte MatsudaDebugMenuText_CoolContest - .4byte MatsudaDebugMenuText_BeautyContest - .4byte MatsudaDebugMenuText_CuteContest - .4byte MatsudaDebugMenuText_SmartContest - .4byte MatsudaDebugMenuText_ToughContest - -MatsudaDebugMenuText_Fallarbor: - .string "ハジツゲ/ノーマル$" @ Fallarbor / Normal -MatsudaDebugMenuText_Verdanturf: - .string "シダケ/スーパー $" @ Verdanturf / Super -MatsudaDebugMenuText_Slateport: - .string "カイナ/ハイパー $" @ Slateport / Hyper -MatsudaDebugMenuText_Lilycove: - .string "ミナモ/マスター $" @ Lilycove / Master - - .align 2 -gMatsudaDebugMenuTextList3:: @ 83C93F0 - .4byte MatsudaDebugMenuText_Fallarbor @ Normal - .4byte MatsudaDebugMenuText_Verdanturf @ Super - .4byte MatsudaDebugMenuText_Slateport @ Hyper - .4byte MatsudaDebugMenuText_Lilycove @ Master - -gUnknown_083C9400:: @ 83C9400 - .incbin "baserom.gba", 0x003c9400, 0x8 - -@ 83C9408 - .include "data/contest_opponents.inc" - -gUnknown_083CA308:: @ 83CA308 - .byte 19, 0 - .byte 19, 5 - .byte 19, 10 - .byte 19, 15 - -gUnknown_083CA310:: @ 83CA310 - .byte 25, 0 - .byte 25, 5 - .byte 25, 10 - .byte 25, 15 - -gUnknown_083CA318:: @ 83CA318 - .byte 20, 2 - .byte 20, 7 - .byte 20, 12 - .byte 20, 17 - .byte 24, 2 - .byte 24, 7 - .byte 24, 12 - .byte 24, 17 - .byte 220, 24 - .byte 220, 64 - .byte 220, 104 - .byte 220, 144 - -gUnknown_083CA330:: @ 83CA330 - .byte 224, 24 - .byte 224, 64 - .byte 224, 104 - .byte 224, 144 - -gUnknown_083CA338:: @ 83CA338 - .byte 36, 76, 116, 156 - -gUnknown_083CA33C:: @ 83CA33C - .byte 36, 76, 116, 156 - -gUnknown_083CA340:: @ 83CA340 - .byte 0, 31, 9, 39 - .byte 0, 33, 9, 39 - .byte 0, 35, 9, 39 - .byte 0, 37, 9, 39 - - .align 2 -gUnknown_083CA350:: @ 83CA350 - obj_tiles gTiles_8D1975C, 0x20, 20004 - - .align 2 -gOamData_83CA358:: @ 83CA358 - .2byte 0x0000 - .2byte 0x0000 - .2byte 0x0000 - - .align 2 -gSpriteAffineAnim_83CA360:: @ 83CA360 - obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83CA370:: @ 83CA370 - obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 - obj_rot_scal_anim_frame 0xFFF6, 0xFFF6, -20, 20 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83CA388:: @ 83CA388 - obj_rot_scal_anim_frame 0x38, 0x38, 0, 0 - obj_rot_scal_anim_frame 0xA, 0xA, 20, 20 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_83CA3A0:: @ 83CA3A0 - .4byte gSpriteAffineAnim_83CA360 - .4byte gSpriteAffineAnim_83CA370 - .4byte gSpriteAffineAnim_83CA388 - - .align 2 -gSpriteTemplate_83CA3AC:: @ 83CA3AC - spr_template 20004, 44000, gOamData_83CA358, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83CA3A0, SpriteCallbackDummy - - .align 2 -gUnknown_083CA3C4:: @ 83CA3C4 - obj_tiles gContestNextTurnGfx, 256, 0x4e26 - obj_tiles gContestNextTurnGfx, 256, 0x4e27 - obj_tiles gContestNextTurnGfx, 256, 0x4e28 - obj_tiles gContestNextTurnGfx, 256, 0x4e29 - - .align 2 -gUnknown_083CA3E4:: @ 83CA3E4 - obj_pal gContestPal, 0x4E26 - - .align 2 -gOamData_83CA3EC:: @ 83CA3EC - .2byte 0x4000 - .2byte 0x4000 - .2byte 0x0000 - - .align 2 -gSpriteTemplate_83CA3F4:: @ 83CA3F4 - spr_template 20006, 20006, gOamData_83CA3EC, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_83CA40C:: @ 83CA40C - spr_template 20007, 20006, gOamData_83CA3EC, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_83CA424:: @ 83CA424 - spr_template 20008, 20006, gOamData_83CA3EC, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_83CA43C:: @ 83CA43C - spr_template 20009, 20006, gOamData_83CA3EC, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -Unknown_3CA454: @ 83CA454 - .incbin "baserom.gba", 0x3ca454, 0x10 - - .align 2 -gUnknown_083CA464:: @ 83CA464 - .4byte 0x2, Unknown_3CA454 - - .align 2 -gUnknown_083CA46C:: @ 83CA46C - obj_tiles gContestApplauseGfx, 1024, 0xabe2 - - .align 2 -gUnknown_083CA474:: @ 83CA474 - obj_pal gContestPal, 0xABE2 - - .align 2 -gOamData_83CA47C:: @ 83CA47C - .2byte 0x4000 - .2byte 0xC000 - .2byte 0x0000 - - .align 2 -gSpriteTemplate_83CA484:: @ 83CA484 - spr_template 44002, 44002, gOamData_83CA47C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gOamData_83CA49C:: @ 83CA49C - .2byte 0x0000 - .2byte 0xC000 - .2byte 0x2C00 - - .align 2 -gSpriteTemplate_83CA4A4:: @ 83CA4A4 - spr_template 20005, 20005, gOamData_83CA49C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gUnknown_083CA4BC:: @ 83CA4BC - obj_tiles gContestJudgeGfx, 2048, 0x4e25 - - .align 2 -gUnknown_083CA4C4:: @ 83CA4C4 - obj_tiles gContestJudgeSymbolsGfx, 896, 0xabe0 - - .align 2 -gUnknown_083CA4CC:: @ 83CA4CC - obj_pal gContest3Pal, 0xabe0 - - .align 2 -gUnknown_083CA4D4:: @ 83CA4D4 - spr_template 0xABE0, 0xABE0, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .include "data/text/contest_strings.inc" - -gUnknownText_MissedTurn:: @ 83CC355 - .string "Missed turn$" - -gUnknownText_LinkStandbyAndWinner:: @ 83CC361 - .string "Link standby...$" - .string "{COLOR WHITE2}$" - .string "The winner is {STR_VAR_1}’s {STR_VAR_2}!\nCongratulations!$" - -@ unknown, unreferenced data - .byte 0x00 - .byte 0x9C - .byte 0x77 - -gUnknownText_UnknownFormatting2:: @ 83CC3A0 - .string "{COLOR GREEN}{SHADOW RED}$" - -gUnknownText_UnknownFormatting3:: @ 83CC3A7 - .string "{COLOR LIGHT_GREY}$" - - .align 2 -gUnknown_083CC3AC:: @ 83CC3AC - obj_tiles gContestNumbers_UnusedGfx, 512, 0x4e20 - - .align 2 -gUnknown_083CC3B4:: @ 83CC3B4 - obj_pal gContestNumbers_UnusedPal, 0x4E20 - obj_pal gContestNumbers_UnusedPal, 0x4E21 - obj_pal gContestNumbers_UnusedPal, 0x4E22 - obj_pal gContestNumbers_UnusedPal, 0x4E23 - - .align 2 -gSpriteAnim_83CC3D4:: @ 83CC3D4 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83CC3DC:: @ 83CC3DC - obj_image_anim_frame 4, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83CC3E4:: @ 83CC3E4 - obj_image_anim_frame 8, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83CC3EC:: @ 83CC3EC - obj_image_anim_frame 12, 1 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83CC3F4:: @ 83CC3F4 - .4byte gSpriteAnim_83CC3D4 - .4byte gSpriteAnim_83CC3DC - .4byte gSpriteAnim_83CC3E4 - .4byte gSpriteAnim_83CC3EC - - .align 2 -gSpriteAffineAnim_83CC404:: @ 83CC404 - obj_rot_scal_anim_frame 0x0, 0x0, 0, 1 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83CC414:: @ 83CC414 - obj_rot_scal_anim_frame 0xFFF1, 0xFFF1, 0, 15 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83CC424:: @ 83CC424 - obj_rot_scal_anim_frame 0x1F, 0x1F, 0, 0 - obj_rot_scal_anim_frame 0xF, 0xF, 0, 15 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_83CC43C:: @ 83CC43C - .4byte gSpriteAffineAnim_83CC404 - .4byte gSpriteAffineAnim_83CC414 - .4byte gSpriteAffineAnim_83CC424 - - .align 2 - .incbin "baserom.gba", 0x003cc448, 0x4 - - .align 2 -gOamData_83CC44C:: @ 83CC44C - .2byte 0x0000 - .2byte 0x4000 - .2byte 0x0000 - - .align 2 -gSpriteTemplate_83CC454:: @ 83CC454 - spr_template 20000, 20000, gOamData_83CC44C, gSpriteAnimTable_83CC3F4, NULL, gSpriteAffineAnimTable_83CC43C, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_83CC46C:: @ 83CC46C - spr_template 20000, 20001, gOamData_83CC44C, gSpriteAnimTable_83CC3F4, NULL, gSpriteAffineAnimTable_83CC43C, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_83CC484:: @ 83CC484 - spr_template 20000, 20002, gOamData_83CC44C, gSpriteAnimTable_83CC3F4, NULL, gSpriteAffineAnimTable_83CC43C, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_83CC49C:: @ 83CC49C - spr_template 20000, 20003, gOamData_83CC44C, gSpriteAnimTable_83CC3F4, NULL, gSpriteAffineAnimTable_83CC43C, SpriteCallbackDummy - - .align 2 -gUnknown_083CC4B4:: @ 83CC4B4 - obj_tiles gBlankGfxCompressed, 4096, 0x80e8 - obj_tiles gBlankGfxCompressed, 4096, 0x80e9 - obj_tiles gBlankGfxCompressed, 4096, 0x80ea - obj_tiles gBlankGfxCompressed, 4096, 0x80eb - -gUnknown_083CC4D4:: @ 83CC4D4 - .incbin "baserom.gba", 0x003cc4d4, 0x20 - - .align 2 -gOamData_83CC4F4:: @ 83CC4F4 - .2byte 0x0700 - .2byte 0xC000 - .2byte 0x0000 - - .align 2 -gSpriteAffineAnim_83CC4FC:: @ 83CC4FC - obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83CC50C:: @ 83CC50C - obj_rot_scal_anim_frame 0x3, 0x3, 0, 15 - obj_rot_scal_anim_frame 0xFFFD, 0xFFFD, 0, 15 - obj_rot_scal_anim_frame 0x3, 0x3, 0, 15 - obj_rot_scal_anim_frame 0xFFFD, 0xFFFD, 0, 15 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_83CC534:: @ 83CC534 - .4byte gSpriteAffineAnim_83CC4FC - .4byte gSpriteAffineAnim_83CC50C - - .align 2 -gSpriteTemplate_83CC53C:: @ 83CC53C - spr_template 33000, 33000, gOamData_83CC4F4, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83CC534, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_83CC554:: @ 83CC554 - spr_template 33001, 33001, gOamData_83CC4F4, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83CC534, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_83CC56C:: @ 83CC56C - spr_template 33002, 33002, gOamData_83CC4F4, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83CC534, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_83CC584:: @ 83CC584 - spr_template 33003, 33003, gOamData_83CC4F4, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83CC534, SpriteCallbackDummy - -gUnknown_083CC59C:: @ 83CC59C - .incbin "baserom.gba", 0x003cc59c, 0x6 - -gUnknown_083CC5A2:: @ 83CC5A2 - .string "/$" - -gUnknown_083CC5A4:: @ 83CC5A4 - .incbin "baserom.gba", 0x003cc5a4, 0x10 - -@ 83CC5B4 - .include "data/contest_excitement_table.inc" - - .align 2 -gUnknown_083CC5D0:: @ 83CC5D0 - .incbin "baserom.gba", 0x003cc5d0, 0x100 - - .align 2 -gUnknown_083CC6D0:: @ 83CC6D0 - .4byte MartText_Buy, sub_80B2EFC - .4byte MartText_Sell, sub_80B2F30 - .4byte MartText_Quit2, HandleShopMenuQuit - -gUnknown_083CC6E8:: @ 83CC6E8 - .byte 0, 1, 2 - -gUnknown_083CC6EB:: @ 83CC6EB - .byte 0, 2 - -@ unknown, unreferenced data - .align 1 - .2byte 0x2 - .2byte 0x3 - .2byte 0x4 - .2byte 0xD - .2byte 0x121 - .2byte 0xE - .2byte 0xE - .2byte 0xE - .2byte 0xE - .2byte 0xE - .2byte 0xE - .2byte 0x0 - .2byte 0x0 - - .align 2 -gUnknown_083CC708:: @ 83CC708 - .4byte sub_80B3BF4 - .4byte sub_80B3D7C - -gUnknown_083CC710:: @ 83CC710 - .incbin "baserom.gba", 0x003cc710, 0x4 - -gUnknown_083CC714:: @ 83CC714 - .incbin "baserom.gba", 0x003cc714, 0x6 - -gUnknown_083CC71A:: @ 83CC71A - .incbin "baserom.gba", 0x003cc71a, 0x6 - -gUnknown_083CC720:: @ 83CC720 - .incbin "baserom.gba", 0x003cc720, 0x6 - -gUnknown_083CC726:: @ 83CC726 - .incbin "baserom.gba", 0x003cc726, 0x6 - -gUnknown_083CC72C:: @ 83CC72C - .incbin "baserom.gba", 0x003cc72c, 0x6 - -gUnknown_083CC732:: @ 83CC732 - .incbin "baserom.gba", 0x003cc732, 0x6 - -gUnknown_083CC738:: @ 83CC738 - .incbin "baserom.gba", 0x003cc738, 0x8 - -@ 83CC740 - .include "data/text/berry_descriptions.inc" - -@ 83CD2CC - .include "data/berries.inc" - - .align 2 -gUnknown_083CD780:: @ 83CD780 - .4byte 0, 0 - -@ 83CD788 - .include "data/multichoice.inc" - - .align 2 -gUnknown_083CE048:: @ 83CE048 - .4byte OtherText_Cool2 - .4byte OtherText_Beauty3 - .4byte OtherText_Cute2 - .4byte OtherText_Smart2 - .4byte OtherText_Tough2 - .4byte OtherText_Normal - .4byte OtherText_Super - .4byte OtherText_Hyper - .4byte OtherText_Master - .4byte OtherText_Cool3 - .4byte OtherText_Beauty4 - .4byte OtherText_Cute3 - .4byte OtherText_Smart3 - .4byte OtherText_Tough3 - .4byte OtherText_Items - .4byte OtherText_KeyItems - .4byte OtherText_Balls - .4byte OtherText_TMsHMs - .4byte OtherText_Berries - - .align 2 -gSpriteImage_83CE094:: @ 83CE094 - .incbin "graphics/naming_screen/pc_icon/0.4bpp" - - .align 2 -gSpriteImage_83CE154:: @ 83CE154 - .incbin "graphics/naming_screen/pc_icon/1.4bpp" - - .align 2 - .incbin "baserom.gba", 0x003ce214, 0x4 - - .align 2 -gUnknown_083CE218:: @ 83CE218 - .4byte sub_80B5EA8 - .4byte sub_80B5ED0 - .4byte sub_80B5F00 - .4byte sub_80B5F10 - .4byte sub_80B5F38 - .4byte sub_80B5F70 - .4byte pokemon_store - .4byte sub_80B604C - .4byte sub_80B606C - .4byte sub_80B6094 - - .align 2 -gUnknown_083CE240:: @ 83CE240 - .4byte sub_80B6108 - .4byte sub_80B6148 - .4byte sub_80B6170 - .4byte sub_80B6194 - - .align 2 -gUnknown_083CE250:: @ 83CE250 - .4byte sub_80B626C - .4byte sub_80B6274 - -gUnknown_083CE258:: @ 83CE258 - .incbin "baserom.gba", 0x003ce258, 0xa - -gUnknown_083CE262:: @ 83CE262 - .incbin "baserom.gba", 0x003ce262, 0xa - -gUnknown_083CE26C:: @ 83CE26C - .incbin "baserom.gba", 0x003ce26c, 0x8 - -gUnknown_083CE274:: @ 83CE274 - .incbin "baserom.gba", 0x003ce274, 0x8 - - .align 2 -gUnknown_083CE27C:: @ 83CE27C - .4byte sub_80B6668 - .4byte sub_80B6680 - .4byte sub_80B66EC - .4byte sub_80B6758 - - .align 2 -gUnknown_083CE28C:: @ 83CE28C - .4byte 0x02000006 - .4byte 0x02000004 - -gUnknown_083CE294:: @ 83CE294 - .incbin "baserom.gba", 0x003ce294, 0x1b - -gUnknown_083CE2AF:: @ 83CE2AF - .incbin "baserom.gba", 0x003ce2af, 0x5 - - .align 2 -gUnknown_083CE2B4:: @ 83CE2B4 - .4byte sub_80B6B5C - .4byte sub_80B6B98 - .4byte sub_80B6B9C - .4byte sub_80B6C08 - -gUnknown_083CE2C4:: @ 83CE2C4 - .incbin "baserom.gba", 0x003ce2c4, 0x6 - -gUnknown_083CE2CA:: @ 83CE2CA - .incbin "baserom.gba", 0x003ce2ca, 0x6 - -gUnknown_083CE2D0:: @ 83CE2D0 - .incbin "baserom.gba", 0x003ce2d0, 0x8 - -gUnknown_083CE2D8:: @ 83CE2D8 - .incbin "baserom.gba", 0x003ce2d8, 0x8 - - .align 2 -gUnknown_083CE2E0:: @ 83CE2E0 - .4byte nullsub_40 - .4byte sub_80B6E68 - .4byte sub_80B6EBC - .4byte sub_80B6EFC - - .align 2 -gUnknown_083CE2F0:: @ 83CE2F0 - .4byte sub_80B7660 - .4byte sub_80B7650 - .4byte sub_80B7650 - .4byte sub_80B7670 - .4byte sub_80B7670 - .4byte sub_80B7660 - -gUnknown_083CE308:: @ 83CE308 - .incbin "baserom.gba", 0x003ce308, 0x8 - - .align 2 -gUnknown_083CE310:: @ 83CE310 - .4byte sub_80B7844 - .4byte sub_80B7838 - .4byte sub_80B7838 - .4byte sub_80B7850 - .4byte sub_80B7850 - .4byte sub_80B7844 - - .align 2 -gUnknown_083CE328:: @ 83CE328 - .4byte gWindowConfig_81E6EDC - .4byte gWindowConfig_81E6EF8 - .4byte gWindowConfig_81E6EA4 - .4byte gWindowConfig_81E6EC0 - .4byte gWindowConfig_81E6EA4 - .4byte gWindowConfig_81E6EC0 - .4byte gWindowConfig_81E6F14 - .4byte gWindowConfig_81E6F30 - .4byte gWindowConfig_81E6F14 - .4byte gWindowConfig_81E6F30 - .4byte gWindowConfig_81E6EDC - .4byte gWindowConfig_81E6EF8 - - .align 2 -gUnknown_083CE358:: @ 83CE358 - .4byte nullsub_61 - .4byte nullsub_61 - .4byte sub_80B78F8 - .4byte sub_80B78F8 - - .align 2 -gUnknown_083CE368:: @ 83CE368 - .4byte nullsub_62 - .4byte sub_80B7924 - - .align 2 -gUnknown_083CE370:: @ 83CE370 - .incbin "baserom.gba", 0x003ce370, 0x4 - - .align 2 -Unknown_83CE374: - .byte 0, 7, 1, 0, 0, 0, 0, 0 - .4byte OtherText_YourName - - .align 2 -Unknown_83CE380: - .byte 0, 8, 2, 0, 0, 0, 0, 0 - .4byte OtherText_BoxName - - .align 2 -Unknown_83CE38C: - .byte 0, 10, 3, 1, 0, 0, 0, 0 - .4byte OtherText_PokeName - - .align 2 -gUnknown_083CE398:: @ 83CE398 - .4byte Unknown_83CE374 - .4byte Unknown_83CE380 - .4byte Unknown_83CE38C - .4byte Unknown_83CE38C - -gUnknown_083CE3A8:: @ 83CE3A8 - .string " A B C D E F . $" - .string " G H I J K L , $" - .string " M N O P Q R S $" - .string " T U V W X Y Z $" - .string " a b c d e f . $" - .string " g h i j k l , $" - .string " m n o p q r s $" - .string " t u v w x y z $" - .string " 0 1 2 3 4 $" - .string " 5 6 7 8 9 $" - .string " ! ? ♂ ♀ / - $" - .string " … “ ” ‘ ’ $" - - .align 2 -gOamData_83CE498:: @ 83CE498 - .2byte 0x0000 - .2byte 0x0000 - .2byte 0x0000 - - .align 2 -gOamData_83CE4A0:: @ 83CE4A0 - .2byte 0x0000 - .2byte 0x4000 - .2byte 0x0000 - - .align 2 -gOamData_83CE4A8:: @ 83CE4A8 - .2byte 0x4000 - .2byte 0x8000 - .2byte 0x0000 - - .align 2 -Unknown_3CE4B0:: @ 83CE4B0 - .incbin "baserom.gba", 0x3ce4b0, 0x50 - - .align 2 -Unknown_3CE500:: @ 83CE500 - .incbin "baserom.gba", 0x3ce500, 0x10 - - .align 2 -Unknown_3CE510:: @ 83CE510 - .incbin "baserom.gba", 0x3ce510, 0x30 - - .align 2 -Unknown_3CE540:: @ 83CE540 - .incbin "baserom.gba", 0x3ce540, 0x18 - - .align 2 -gUnknown_083CE558:: @ 83CE558 - .4byte 0x8, Unknown_3CE4B0 - - .align 2 -gUnknown_083CE560:: @ 83CE560 - .4byte 0x2, Unknown_3CE500 - .4byte 0x2, Unknown_3CE500 - .4byte 0x2, Unknown_3CE500 - - .align 2 -gUnknown_083CE578:: @ 83CE578 - .4byte 0x6, Unknown_3CE510 - - .align 2 -gUnknown_083CE580:: @ 83CE580 - .4byte 0x3, Unknown_3CE540 - - .align 2 -gSpriteImageTable_83CE588:: @ 83CE588 - obj_frame_tiles gSpriteImage_83CE094, 0xc0 - obj_frame_tiles gSpriteImage_83CE154, 0xc0 - - .align 2 -gSpriteAnim_83CE598:: @ 83CE598 - obj_image_anim_frame 0, 1 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnim_83CE5A0:: @ 83CE5A0 - obj_image_anim_frame 4, 8 - obj_image_anim_frame 8, 8 - obj_image_anim_end - - .align 2 -gSpriteAnim_83CE5AC:: @ 83CE5AC - obj_image_anim_frame 0, 2 - obj_image_anim_frame 1, 2 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnimTable_83CE5B8:: @ 83CE5B8 - .4byte gSpriteAnim_83CE598 - - .align 2 -gSpriteAnimTable_83CE5BC:: @ 83CE5BC - .4byte gSpriteAnim_83CE598 - .4byte gSpriteAnim_83CE5A0 - - .align 2 -gSpriteAnimTable_83CE5C4:: @ 83CE5C4 - .4byte gSpriteAnim_83CE5AC - - .align 2 -gSpriteTemplate_83CE5C8:: @ 83CE5C8 - spr_template 2, 4, gOamData_83CE498, gSpriteAnimTable_83CE5B8, NULL, gDummySpriteAffineAnimTable, sub_80B6B34 - - .align 2 -gSpriteTemplate_83CE5E0:: @ 83CE5E0 - spr_template 3, 1, gOamData_83CE4A8, gSpriteAnimTable_83CE5B8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_83CE5F8:: @ 83CE5F8 - spr_template 4, 4, gOamData_83CE498, gSpriteAnimTable_83CE5B8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_83CE610:: @ 83CE610 - spr_template 0, 6, gOamData_83CE498, gSpriteAnimTable_83CE5B8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_83CE628:: @ 83CE628 - spr_template 1, 6, gOamData_83CE498, gSpriteAnimTable_83CE5B8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_83CE640:: @ 83CE640 - spr_template 7, 5, gOamData_83CE4A0, gSpriteAnimTable_83CE5BC, NULL, gDummySpriteAffineAnimTable, sub_80B6998 - - .align 2 -gSpriteTemplate_83CE658:: @ 83CE658 - spr_template 10, 3, gOamData_83CE498, gSpriteAnimTable_83CE5B8, NULL, gDummySpriteAffineAnimTable, sub_80B6D9C - - .align 2 -gSpriteTemplate_83CE670:: @ 83CE670 - spr_template 11, 3, gOamData_83CE498, gSpriteAnimTable_83CE5B8, NULL, gDummySpriteAffineAnimTable, sub_80B6DE8 - - .align 2 -gSpriteTemplate_83CE688:: @ 83CE688 - spr_template 0xFFFF, 0, gOamData_83CE498, gSpriteAnimTable_83CE5C4, gSpriteImageTable_83CE588, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gUnknown_083CE6A0:: @ 83CE6A0 - obj_tiles gNamingScreenBackButtonTiles, 0x1E0, 0 - obj_tiles gNamingScreenOKButtonTiles, 0x1E0, 1 - obj_tiles gNamingScreenChangeKeyboardBoxTiles, 0x280, 2 - obj_tiles gNamingScreenChangeKeyboardButtonTiles, 0x100, 3 - obj_tiles gNamingScreenLowerTextTiles, 0x60, 4 - obj_tiles gNamingScreenUpperTextTiles, 0x60, 5 - obj_tiles gNamingScreenOthersTextTiles, 0x60, 6 - obj_tiles gNamingScreenCursorTiles, 0x80, 7 - obj_tiles gNamingScreenActiveCursorSmallTiles, 0x80, 8 - obj_tiles gNamingScreenActiveCursorBigTiles, 0x80, 9 - obj_tiles gNamingScreenRightPointingTriangleTiles, 0x20, 10 - obj_tiles gNamingScreenUnderscoreTiles, 0x20, 11 - null_obj_tiles - - .align 2 -gUnknown_083CE708:: @ 83CE708 - obj_pal gNamingScreenPalettes + 0x20 * 0, 0 - obj_pal gNamingScreenPalettes + 0x20 * 1, 1 - obj_pal gNamingScreenPalettes + 0x20 * 2, 2 - obj_pal gNamingScreenPalettes + 0x20 * 3, 3 - obj_pal gNamingScreenPalettes + 0x20 * 4, 4 - obj_pal gNamingScreenPalettes + 0x20 * 5, 5 - obj_pal gNamingScreenPalettes + 0x20 * 4, 6 - null_obj_pal - - .align 2 -gUnknown_083CE748:: @ 83CE748 - .incbin "graphics/naming_screen/lower_keyboard_map.bin" - - .align 2 -gUnknown_083CEBF8:: @ 83CEBF8 - .incbin "graphics/naming_screen/upper_keyboard_map.bin" - - .align 2 -gUnknown_083CF0A8:: @ 83CF0A8 - .incbin "graphics/naming_screen/others_keyboard_map.bin" - - .align 2 -gOamData_83CF558:: @ 83CF558 - .2byte 0x4000 - .2byte 0x8000 - .2byte 0x0000 - - .align 2 -gSpriteAnim_83CF560:: @ 83CF560 - obj_image_anim_frame 0, 0 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83CF568:: @ 83CF568 - .4byte gSpriteAnim_83CF560 - - .align 2 -gSpriteTemplate_83CF56C:: @ 83CF56C - spr_template 10018, 10018, gOamData_83CF558, gSpriteAnimTable_83CF568, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gUnknown_083CF584:: @ 83CF584 - obj_tiles gMenuMoneyGfx, 256, 0x2722 - - .align 2 -gUnknown_083CF58C:: @ 83CF58C - obj_pal gMenuMoneyPal, 0x2722 - -@ 83CF594 - .include "data/contest_moves.inc" - -@ 83D00AC - .include "data/contest_effects.inc" - -@ A lookup table with TRUE for each combo starter ID and FALSE for ID 0, -@ which means "not a combo starter move". -gComboStarterLookupTable:: @ 83D016C - .byte FALSE - .rept 62 - .byte TRUE - .endr - -@ 83D01AC - .include "data/contest_effect_funcs.inc" - - .align 2 -recordMixingSecretBases:: @ 83D026C - @ gSaveBlock1.secretBases - .4byte gSaveBlock1 + 0x1A08 - - .align 2 -recordMixingTvShows:: @ 83D0270 - @ gSaveBlock1.tvShows - .4byte gSaveBlock1 + 0x2738 - - .align 2 -gUnknown_083D0274:: @ 83D0274 - .4byte gSaveBlock1 + 0x2ABC - - .align 2 -gUnknown_083D0278:: @ 83D0278 - .4byte gSaveBlock1 + 0x2D94 - - .align 2 -recordMixingEasyChatPairs:: @ 83D027C - @ gSaveBlock1.easyChatPairs - .4byte gSaveBlock1 + 0x2DD4 - - .align 2 -gUnknown_083D0280:: @ 83D0280 - .4byte 0x02038738 - - .align 2 -gUnknown_083D0284:: @ 83D0284 - .4byte 0x02024f4c - -gUnknown_083D0288:: @ 83D0288 - .byte 1, 0 - -gUnknown_083D028A:: @ 83D028A - .byte 1, 2, 0 - .byte 2, 0, 1 - -gUnknown_083D0290:: @ 83D0290 - .byte 1, 0, 3, 2 - .byte 3, 0, 1, 2 - .byte 2, 0, 3, 1 - .byte 1, 3, 0, 2 - .byte 2, 3, 0, 1 - .byte 3, 2, 0, 1 - .byte 1, 2, 3, 0 - .byte 2, 3, 1, 0 - .byte 3, 2, 1, 0 - -gUnknown_083D02B4:: @ 83D02B4 - .byte 0, 1 - .byte 1, 2 - .byte 2, 0 - -gUnknown_083D02BA:: @ 83D02BA - .byte 0, 1 - .byte 2, 3 - - .byte 0, 2 - .byte 1, 3 - - .byte 0, 3 - .byte 2, 1 - - .align 2 @ object file boundary? - -gDebugText_SoundCheckJap:: @ 83D02C8 - .string "サウンドチェック$" @ Sound Check - -gDebugText_BGM:: @ 83D02D1 - .string "BGM$" - -gDebugText_SE:: @ 83D02D5 - .string "SE $" - -gUnknown_083D02D9:: @ 83D02D9 - .incbin "baserom.gba", 0x003d02d9, 0xd - -gDebugText_UpDown:: @ 83D02E6 - .string "L‥UP R‥DOWN$" - -gDebugText_DriverTest:: @ 83D02F2 - .string "R‥DRIVER-TEST$" - -gUnknown_083D0300:: @ 83D0300 - .incbin "baserom.gba", 0x003d0300, 0x12 - -gUnknown_083D0312:: @ 83D0312 - .incbin "baserom.gba", 0x003d0312, 0xa - -gUnknown_083D031C:: @ 83D031C - .incbin "baserom.gba", 0x003d031c, 0xb - -gDebugText_Voice:: @ 83D0327 - .string "VOICE‥‥‥‥$" - -gDebugText_Volume:: @ 83D0331 - .string "VOLUME‥‥‥$" - -gDebugText_Panpot:: @ 83D033B - .string "PANPOT‥‥‥$" - -gDebugText_Pitch:: @ 83D0345 - .string "PITCH‥‥‥‥$" - -gDebugText_Length:: @ 83D034F - .string "LENGTH‥‥‥$" - -gDebugText_Release:: @ 83D0359 - .string "RELEASE‥‥$" - -gDebugText_Progress:: @ 83D0363 - .string "PROGRESS‥$" - -gDebugText_Chorus:: @ 83D036D - .string "CHORUS‥‥‥$" - -gDebugText_Priority:: @ 83D0377 - .string "PRIORITY‥$" - -gUnknown_083D0381:: @ 83D0381 - .string "さいせいちゆう‥$" @ 再生中 (playing) - -gUnknown_083D038A:: @ 83D038A - .string "はんてん‥‥‥‥$" @ 反転 (reverse) - -gUnknown_083D0393:: @ 83D0393 - .string "すてれお‥‥‥‥$" @ stereo - -gUnknown_083D039C:: @ 83D039C - .incbin "baserom.gba", 0x003d039c, 0x40 - -gUnknown_083D03DC:: @ 83D03DC - .string "▶$" - -gUnknown_083D03DE:: @ 83D03DE - .string " $" - -gUnknown_083D03E0:: @ 83D03E0 - .incbin "baserom.gba", 0x003d03e0, 0x18 - -gUnknown_083D03F8:: @ 83D03F8 - .byte 0x3F, 0x00, 0xC0, 0x7F, 0x80 @ stereo panning - -gOtherText_SE:: @ 83D03FD - .string "SE$" - -gOtherText_Pan:: @ 83D0400 - .string "PAN$" - -gOtherText_LR:: @ 83D0404 - .string " LR$" - -gOtherText_RL:: @ 83D0409 - .string " RL$" - -@ 83D040E - .include "data/text/song_names.inc" - -gUnknown_083D1358:: @ 83D1358 - .incbin "baserom.gba", 0x003d1358, 0x1c - -gUnknown_083D1374:: @ 83D1374 - .incbin "baserom.gba", 0x003d1374, 0x60 - - .align 2 -gUnknown_083D13D4:: @ 83D13D4 - .4byte SecretBaseText_DelRegist, sub_80BCA84 - .4byte gUnknownText_Exit, sub_80BCBF8 - - .align 2 -gUnknown_083D13E4:: @ 83D13E4 - .4byte sub_80BCB90 - .4byte sub_80BCBC0 - -gUnknown_083D13EC:: @ 83D13EC - .incbin "baserom.gba", 0x003d13ec, 0xc - -gUnknown_083D13F8:: @ 83D13F8 - .incbin "baserom.gba", 0x003d13f8, 0x3c - - .align 2 -gUnknown_083D1434:: @ 83D1434 - .4byte 0x0 - .4byte UnknownString_81AD135 - .4byte UnknownString_81AD5B0 - .4byte UnknownString_81AD8B4 - - .align 2 -gUnknown_083D1444:: @ 83D1444 - .4byte 0x0 - .4byte UnknownString_81AD2E0 - .4byte UnknownString_81AD6AE - .4byte UnknownString_81AD9D3 - - .align 2 -gUnknown_083D1454:: @ 83D1454 - .4byte 0x0 - .4byte UnknownString_81AD434 - .4byte UnknownString_81AD7A7 - .4byte UnknownString_81ADB01 - - .align 2 -gUnknown_083D1464:: @ 83D1464 - .4byte gStringVar1 - .4byte gStringVar2 - .4byte gStringVar3 - - .align 2 -gUnknown_083D1470:: @ 83D1470 - .4byte UnknownString_81A8EC9 - .4byte UnknownString_81A9048 - .4byte UnknownString_81A9067 - .4byte UnknownString_81A9088 - .4byte UnknownString_81A90B4 - .4byte UnknownString_81A911F - .4byte UnknownString_81A9152 - .4byte UnknownString_81A91C6 - - .align 2 -gUnknown_083D1490:: @ 83D1490 - .4byte UnknownString_81A9581 - .4byte UnknownString_81A9694 - .4byte UnknownString_81A971B - .4byte UnknownString_81A974B - .4byte UnknownString_81A979F - .4byte UnknownString_81A97D0 - - .align 2 -gUnknown_083D14A8:: @ 83D14A8 - .4byte UnknownString_81A8917 - .4byte UnknownString_81A8AE5 - .4byte UnknownString_81A8B9D - .4byte UnknownString_81A8C77 - .4byte UnknownString_81A8D45 - - .align 2 -gUnknown_083D14BC:: @ 83D14BC - .4byte UnknownString_81A986F - - .align 2 -gUnknown_083D14C0:: @ 83D14C0 - .4byte UnknownString_81AAD23 - .4byte UnknownString_81AADD5 - .4byte UnknownString_81AAE31 - .4byte UnknownString_81AAE9D - .4byte UnknownString_81AAF03 - .4byte UnknownString_81AAF8A - .4byte UnknownString_81AB040 - .4byte UnknownString_81AB0C8 - .4byte UnknownString_81AB13D - .4byte UnknownString_81AB1C6 - .4byte UnknownString_81AB266 - .4byte UnknownString_81AB2DB - - .align 2 -gUnknown_083D14F0:: @ 83D14F0 - .4byte UnknownString_81AB381 - .4byte UnknownString_81AB435 - .4byte UnknownString_81AB507 - .4byte UnknownString_81AB5B8 - .4byte UnknownString_81AB61F - .4byte UnknownString_81AB6B0 - .4byte UnknownString_81AB78D - .4byte UnknownString_81AB7FE - .4byte UnknownString_81AB835 - .4byte UnknownString_81AB873 - .4byte UnknownString_81AB92E - .4byte UnknownString_81AB95E - .4byte UnknownString_81ABB75 - - .align 2 -gUnknown_083D1524:: @ 83D1524 - .4byte UnknownString_81A72DE - .4byte UnknownString_81A736B - .4byte UnknownString_81A73CA - .4byte UnknownString_81A744D - .4byte UnknownString_81A7508 - .4byte UnknownString_81A75CE - .4byte UnknownString_81A768D - .4byte UnknownString_81A76C5 - .4byte UnknownString_81A774F - - .align 2 -gUnknown_083D1548:: @ 83D1548 - .4byte UnknownString_81A7B93 - .4byte UnknownString_81A7C26 - .4byte UnknownString_81A7C7D - .4byte UnknownString_81A7D4A - .4byte UnknownString_81A7E0C - .4byte UnknownString_81A7F0E - .4byte UnknownString_81A8004 - .4byte UnknownString_81A8119 - .4byte UnknownString_81A811E - .4byte UnknownString_81A8123 - .4byte UnknownString_81A8128 - .4byte UnknownString_81A812D - .4byte UnknownString_81A8133 - .4byte UnknownString_81A81BC - .4byte UnknownString_81A8267 - - .align 2 -gUnknown_083D1584:: @ 83D1584 - .4byte UnknownString_81A99D9 - .4byte UnknownString_81A9AF0 - .4byte UnknownString_81A9B69 - .4byte UnknownString_81A9BEF - .4byte UnknownString_81A9C6A - .4byte UnknownString_81A9CF8 - .4byte UnknownString_81A9D74 - .4byte UnknownString_81A9DF3 - .4byte UnknownString_81A9E75 - .4byte UnknownString_81A9F06 - .4byte UnknownString_81A9F9F - .4byte UnknownString_81AA01E - .4byte UnknownString_81AA09D - .4byte UnknownString_81AA0D7 - .4byte UnknownString_81AA138 - .4byte UnknownString_81AA166 - .4byte UnknownString_81AA1C0 - .4byte UnknownString_81AA1EA - .4byte UnknownString_81AA28A - - .align 2 -gUnknown_083D15D0:: @ 83D15D0 - .4byte UnknownString_81AA814 - .4byte UnknownString_81AA8C6 - .4byte UnknownString_81AA9B2 - .4byte UnknownString_81AAA5C - .4byte UnknownString_81AAB11 - .4byte UnknownString_81AABB4 - .4byte UnknownString_81AAC47 - - .align 2 -gUnknown_083D15EC:: @ 83D15EC - .4byte UnknownString_81AA344 - .4byte UnknownString_81AA5F3 - - .align 2 -gUnknown_083D15F4:: @ 83D15F4 - .4byte UnknownString_81ABC51 - .4byte UnknownString_81ABD94 - .4byte UnknownString_81ABDF2 - - .align 2 -gUnknown_083D1600:: @ 83D1600 - .4byte UnknownString_81AC90D - .4byte UnknownString_81ACA02 - .4byte UnknownString_81ACAAA - .4byte UnknownString_81ACC07 - .4byte UnknownString_81ACD13 - .4byte UnknownString_81ACDFA - .4byte UnknownString_81ACEE7 - .4byte UnknownString_81ACF49 - .4byte UnknownString_81AD00A - - .align 2 -gUnknown_083D1624:: @ 83D1624 - .incbin "baserom.gba", 0x003d1624, 0x20 - -gUnknown_083D1644:: @ 83D1644 - .incbin "baserom.gba", 0x003d1644, 0xa0 - -gUnknown_083D16E4:: @ 83D16E4 - .incbin "baserom.gba", 0x003d16e4, 0x40 - - .align 2 -gMiscBlank_Pal:: - .incbin "graphics/interface/blank.gbapal" - - .align 2 -gOamData_83D1744:: @ 83D1744 - .2byte 0x4000 - .2byte 0xC000 - .2byte 0x2C00 - - .align 2 -gSpriteTemplate_83D174C:: @ 83D174C - spr_template 3009, 3009, gOamData_83D1744, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gUnknown_083D1764:: @ 83D1764 - obj_tiles gMiscBlank_Gfx, 1024, 0x0bc1 - obj_tiles gMiscBlank_Gfx, 1024, 0x0bc2 - obj_tiles gMiscBlank_Gfx, 1024, 0x0bc3 - obj_tiles gMiscBlank_Gfx, 1024, 0x0bc4 - obj_tiles gMiscBlank_Gfx, 1024, 0x0bc5 - obj_tiles gMiscBlank_Gfx, 1024, 0x0bc6 - obj_tiles gMiscBlank_Gfx, 1024, 0x0bc7 - obj_tiles gMiscBlank_Gfx, 1024, 0x0bc8 - - .align 2 -gUnknown_083D17A4:: @ 83D17A4 - obj_pal gMiscBlank_Pal, 0x0BC1 - - .align 2 -gOamData_83D17AC:: @ 83D17AC - .2byte 0x0000 - .2byte 0x0000 - .2byte 0x0000 - - .align 2 -gSpriteTemplate_83D17B4:: @ 83D17B4 - spr_template 3017, 3017, gOamData_83D17AC, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80C3DF0 - - .align 2 -gUnknown_083D17CC:: @ 83D17CC - obj_tiles gContestConfetti_Gfx, 544, 0x0bc9 - - .align 2 -gUnknown_083D17D4:: @ 83D17D4 - obj_pal gContestConfetti_Pal, 0x0bc9 - -gUnknown_083D17DC:: @ 83D17DC - .string "{COLOR RED}$" - -gUnknown_083D17E0:: @ 83D17E0 - .string "/$" - -gUnknown_083D17E2:: @ 83D17E2 - .string "{SIZE 3}{COLOR_HIGHLIGHT_SHADOW WHITE2 DARK_GREY LIGHT_BLUE}$" - - .align 2 - .incbin "baserom.gba", 0x003d17ec, 0x20 - -gUnknown_083D180C:: @ 83D180C - .incbin "baserom.gba", 0x003d180c, 0x80 - -gOtherText_DecimalPoint:: @ 83D188C - .string ".$" - -gUnknown_083D188E:: @ 83D188E - .byte 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E - - .align 2 -gUnknown_083D1898:: @ 83D1898 - obj_pal gUnknownPal_083D190C, 0x0080 - - .align 2 -gUnknown_083D18A0:: @ 83D18A0 - obj_pal gUnknownPal_083D18EC, 0x0000 - - .align 2 -gSpriteTemplate_83D18A8:: @ 83D18A8 - spr_template 0, 0, gOamData_83D18D8, gSpriteAnimTable_83D18E8, NULL, gDummySpriteAffineAnimTable, sub_80C60CC - - .align 2 -gSpriteTemplate_83D18C0:: @ 83D18C0 - spr_template 0, 0, gOamData_83D18D8, gSpriteAnimTable_83D18E8, NULL, gDummySpriteAffineAnimTable, sub_80C6130 - - .align 2 -gOamData_83D18D8:: @ 83D18D8 - .2byte 0x4000 - .2byte 0x4000 - .2byte 0x0000 - - .align 2 -gSpriteAnim_83D18E0:: @ 83D18E0 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83D18E8:: @ 83D18E8 - .4byte gSpriteAnim_83D18E0 - - .align 2 -gUnknownPal_083D18EC:: - .incbin "baserom.gba", 0x003d18ec, 0x20 - - .align 2 -gUnknownPal_083D190C:: - .incbin "baserom.gba", 0x003d190c, 0x20 - - .incbin "baserom.gba", 0x003d192c, 0x60 - - .align 2 -gSpriteImage_83D198C:: @ 83D198C - .incbin "graphics/unknown_sprites/83D259C/0.4bpp" - - .align 2 -gSpriteImage_83D1A0C:: @ 83D1A0C - .incbin "graphics/unknown_sprites/83D259C/1.4bpp" - - .align 2 -gSpriteImage_83D1A8C:: @ 83D1A8C - .incbin "graphics/unknown_sprites/83D259C/2.4bpp" - - .align 2 -gSpriteImage_83D1B0C:: @ 83D1B0C - .incbin "graphics/unknown_sprites/83D259C/3.4bpp" - - .align 2 -gSpriteImage_83D1B8C:: @ 83D1B8C - .incbin "graphics/unknown_sprites/83D259C/4.4bpp" - - .align 2 - .incbin "baserom.gba", 0x003d1c0c, 0x20 - - .align 2 -gFieldEffectObjectPalette7: @ 83D1C2C - .incbin "graphics/field_effect_objects/palettes/07.gbapal" - - .align 2 -gSpriteImage_83D1C4C:: @ 83D1C4C - .incbin "graphics/unknown_sprites/83D25EC/0.4bpp" - - .align 2 -gSpriteImage_83D1CCC:: @ 83D1CCC - .incbin "graphics/unknown_sprites/83D25EC/1.4bpp" - - .align 2 -gSpriteImage_83D1D4C:: @ 83D1D4C - .incbin "graphics/unknown_sprites/83D25EC/2.4bpp" - - .align 2 -gSpriteImage_83D1DCC:: @ 83D1DCC - .incbin "graphics/unknown_sprites/83D25EC/3.4bpp" - - .align 2 -gSpriteImage_83D1E4C:: @ 83D1E4C - .incbin "graphics/unknown_sprites/83D25EC/4.4bpp" - - .align 2 -gSpriteImage_83D1ECC:: @ 83D1ECC - .incbin "graphics/unknown_sprites/83D25C4/0.4bpp" - - .align 2 -gSpriteImage_83D1F4C:: @ 83D1F4C - .incbin "graphics/unknown_sprites/83D25C4/1.4bpp" - - .align 2 -gSpriteImage_83D1FCC:: @ 83D1FCC - .incbin "graphics/unknown_sprites/83D25C4/2.4bpp" - - .align 2 -gSpriteImage_83D204C:: @ 83D204C - .incbin "graphics/unknown_sprites/83D25C4/3.4bpp" - - .align 2 -gSpriteImage_83D20CC:: @ 83D20CC - .incbin "graphics/unknown_sprites/83D25C4/4.4bpp" - - .align 2 - .incbin "baserom.gba", 0x003d214c, 0x80 - - .align 2 -gFieldEffectObjectPalette8: @ 83D21CC - .incbin "graphics/field_effect_objects/palettes/08.gbapal" - - .align 2 -gSpriteImage_83D21EC:: @ 83D21EC - .incbin "graphics/unknown_sprites/83D2688/0.4bpp" - - .align 2 -gSpriteImage_83D22EC:: @ 83D22EC - .incbin "graphics/unknown_sprites/83D2688/1.4bpp" - - .align 2 -gSpriteImage_83D23EC:: @ 83D23EC - .incbin "graphics/unknown_sprites/83D2688/2.4bpp" - - .align 2 -gOamData_83D24EC:: @ 83D24EC - .2byte 0x0000 - .2byte 0x4000 - .2byte 0x0800 - - .align 2 -gSpriteAnim_83D24F4:: @ 83D24F4 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 2, 8 - obj_image_anim_frame 3, 8 - obj_image_anim_frame 4, 8 - obj_image_anim_end - - .align 2 -gSpriteAnim_83D250C:: @ 83D250C - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 2, 8 - obj_image_anim_frame 3, 8 - obj_image_anim_frame 4, 8 - obj_image_anim_end - - .align 2 -gSpriteAnim_83D2524:: @ 83D2524 - obj_image_anim_frame 4, 8 - obj_image_anim_frame 3, 8 - obj_image_anim_frame 2, 8 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 8 - obj_image_anim_end - - .align 2 -gSpriteAnim_83D253C:: @ 83D253C - obj_image_anim_frame 0, 8, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 1, 8, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 2, 8, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 3, 8, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 4, 8, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_end - - .align 2 -gSpriteAnim_83D2554:: @ 83D2554 - obj_image_anim_frame 4, 8, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 3, 8, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 2, 8, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 1, 8, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 0, 8, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_end - - .align 2 -gSpriteAnim_83D256C:: @ 83D256C - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 2, 8 - obj_image_anim_frame 3, 8 - obj_image_anim_frame 4, 8 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83D2584:: @ 83D2584 - .4byte gSpriteAnim_83D24F4 - - .align 2 -gSpriteAnimTable_83D2588:: @ 83D2588 - .4byte gSpriteAnim_83D250C - .4byte gSpriteAnim_83D2524 - .4byte gSpriteAnim_83D253C - .4byte gSpriteAnim_83D2554 - - .align 2 -gSpriteAnimTable_83D2598:: @ 83D2598 - .4byte gSpriteAnim_83D256C - - .align 2 -gSpriteImageTable_83D259C:: @ 83D259C - obj_frame_tiles gSpriteImage_83D198C, 0x80 - obj_frame_tiles gSpriteImage_83D1A0C, 0x80 - obj_frame_tiles gSpriteImage_83D1A8C, 0x80 - obj_frame_tiles gSpriteImage_83D1B0C, 0x80 - obj_frame_tiles gSpriteImage_83D1B8C, 0x80 - - .align 2 -gSpriteImageTable_83D25C4:: @ 83D25C4 - obj_frame_tiles gSpriteImage_83D1ECC, 0x80 - obj_frame_tiles gSpriteImage_83D1F4C, 0x80 - obj_frame_tiles gSpriteImage_83D1FCC, 0x80 - obj_frame_tiles gSpriteImage_83D204C, 0x80 - obj_frame_tiles gSpriteImage_83D20CC, 0x80 - - .align 2 -gSpriteImageTable_83D25EC:: @ 83D25EC - obj_frame_tiles gSpriteImage_83D1C4C, 0x80 - obj_frame_tiles gSpriteImage_83D1CCC, 0x80 - obj_frame_tiles gSpriteImage_83D1D4C, 0x80 - obj_frame_tiles gSpriteImage_83D1DCC, 0x80 - obj_frame_tiles gSpriteImage_83D1E4C, 0x80 - - .align 2 -gSpriteTemplate_83D2614:: @ 83D2614 - spr_template 0xFFFF, 4099, gOamData_83D24EC, gSpriteAnimTable_83D2584, gSpriteImageTable_83D259C, gDummySpriteAffineAnimTable, sub_80C644C - - .align 2 -gSpriteTemplate_83D262C:: @ 83D262C - spr_template 0xFFFF, 4104, gOamData_83D24EC, gSpriteAnimTable_83D2588, gSpriteImageTable_83D25C4, gDummySpriteAffineAnimTable, sub_80C6598 - - .align 2 -gSpriteTemplate_83D2644:: @ 83D2644 - spr_template 0xFFFF, 4104, gOamData_83D24EC, gSpriteAnimTable_83D2598, gSpriteImageTable_83D25EC, gDummySpriteAffineAnimTable, sub_80C66BC - - .align 2 -gFieldEffectObjectPaletteInfo7:: @ 83D265C - obj_pal gFieldEffectObjectPalette7, 0x1003 - - .align 2 -gFieldEffectObjectPaletteInfo8:: @ 83D2664 - obj_pal gFieldEffectObjectPalette8, 0x1008 - - .align 2 -gOamData_83D266C:: @ 83D266C - .2byte 0x8000 - .2byte 0x8000 - .2byte 0x0800 - - .align 2 -gSpriteAnim_83D2674:: @ 83D2674 - obj_image_anim_frame 0, 6 - obj_image_anim_frame 1, 6 - obj_image_anim_frame 2, 6 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83D2684:: @ 83D2684 - .4byte gSpriteAnim_83D2674 - - .align 2 -gSpriteImageTable_83D2688:: @ 83D2688 - obj_frame_tiles gSpriteImage_83D21EC, 0x100 - obj_frame_tiles gSpriteImage_83D22EC, 0x100 - obj_frame_tiles gSpriteImage_83D23EC, 0x100 - - .align 2 -gSpriteTemplate_83D26A0:: @ 83D26A0 - spr_template 0xFFFF, 4110, gOamData_83D266C, gSpriteAnimTable_83D2684, gSpriteImageTable_83D2688, gDummySpriteAffineAnimTable, SpriteCB_SandPillar_0 - -@ This uses one of the secret base palettes, so there is no "09.pal" file. - .align 2 -gFieldEffectObjectPaletteInfo9:: @ 83D26B8 - obj_pal gTilesetPalettes_SecretBase + 5 * 0x20, 0x100E - - .align 2 -gSpriteImage_83D26C0:: @ 83D26C0 - .incbin "graphics/unknown_sprites/83D2860/0.4bpp" - - .align 2 -gSpriteImage_83D2740:: @ 83D2740 - .incbin "graphics/unknown_sprites/83D2860/1.4bpp" - - .align 2 -gSpriteImage_83D27C0:: @ 83D27C0 - .incbin "graphics/unknown_sprites/83D2860/2.4bpp" - - .align 2 -Palette_3D2840:: @ 83D2840 - .incbin "baserom.gba", 0x3d2840, 0x20 - - .align 2 -gSpriteImageTable_83D2860:: @ 83D2860 - obj_frame_tiles gSpriteImage_83D26C0, 0x80 - obj_frame_tiles gSpriteImage_83D2740, 0x80 - obj_frame_tiles gSpriteImage_83D27C0, 0x80 - - .align 2 -gUnknown_083D2878:: @ 83D2878 - obj_pal Palette_3D2840, 4096 - - .align 2 -gSpriteAnim_83D2880:: @ 83D2880 - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_frame 2, 30 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnimTable_83D2890:: @ 83D2890 - .4byte gSpriteAnim_83D2880 - - .align 2 -gSpriteTemplate_83D2894:: @ 83D2894 - spr_template 0xFFFF, 4096, gFieldOamData_32x8, gSpriteAnimTable_83D2890, gSpriteImageTable_83D2860, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gMapObjectPic_MovingBox: @ 83D28AC - .incbin "graphics/map_objects/pics/misc/moving_box.4bpp" - - .align 2 -gMapObjectPalette19: @ 83D292C - .incbin "graphics/map_objects/palettes/19.gbapal" - -gTruckCamera_HorizontalTable:: @ 83D294C - .byte 0 - .byte 0 - .byte 0 - .byte 0 - .byte 0 - .byte 0 - .byte 0 - .byte 0 - .byte 1 - .byte 2 - .byte 2 - .byte 2 - .byte 2 - .byte 2 - .byte 2 - .byte -1 - .byte -1 - .byte -1 - .byte 0 - -gUnknown_083D295F:: @ 83D295F - step_18 - step_end - -gUnknown_083D2961:: @ 83D2961 - step_17 - step_end - - .align 2 -gUnknown_083D2964:: @ 83D2964 - .byte 12, 0, 5, 0, 3, 0, 0, 0 - .byte 14, 0, 7, 0, 3, 3, 0, 0 - .byte 16, 0, 4, 0, 5, 1, 0, 0 - .byte 15, 0, 14, 0, 1, 0, 0, 0 - .byte 18, 0, 13, 0, 4, 2, 0, 0 - .byte 8, 0, 20, 0, 4, 2, 0, 0 - .byte 16, 0, 20, 0, 7, 1, 0, 0 - - .align 2 -gUnknown_083D299C:: @ 83D299C - .byte 13, 0, 3, 0, 4, 3, 0, 0 - .byte 12, 0, 6, 0, 4, 2, 0, 0 - .byte 3, 0, 6, 0, 4, 2, 0, 0 - .byte 3, 0, 9, 0, 5, 3, 0, 0 - .byte 8, 0, 8, 0, 0, 1, 0, 0 - .byte 2, 0, 12, 0, 6, 2, 0, 0 - .byte 9, 0, 13, 0, 1, 0, 0, 0 - .byte 3, 0, 14, 0, 2, 1, 0, 0 - .byte 9, 0, 15, 0, 3, 2, 0, 0 - .byte 3, 0, 18, 0, 5, 2, 0, 0 - .byte 2, 0, 19, 0, 4, 0, 0, 0 - .byte 5, 0, 21, 0, 0, 0, 0, 0 - .byte 9, 0, 19, 0, 3, 3, 0, 0 - .byte 12, 0, 20, 0, 4, 1, 0, 0 - - .align 2 -RotatingGateTiles_1: @ 83D2A0C - .incbin "graphics/rotating_gates/1.4bpp" - - .align 2 -RotatingGateTiles_2: @ 83D320C - .incbin "graphics/rotating_gates/2.4bpp" - - .align 2 -RotatingGateTiles_3: @ 83D3A0C - .incbin "graphics/rotating_gates/3.4bpp" - - .align 2 -RotatingGateTiles_5: @ 83D420C - .incbin "graphics/rotating_gates/5.4bpp" - - .align 2 -RotatingGateTiles_6: @ 83D4A0C - .incbin "graphics/rotating_gates/6.4bpp" - - .align 2 -RotatingGateTiles_7: @ 83D520C - .incbin "graphics/rotating_gates/7.4bpp" - - .align 2 -RotatingGateTiles_0: @ 83D5A0C - .incbin "graphics/rotating_gates/0.4bpp" - - .align 2 -RotatingGateTiles_4: @ 83D5C0C - .incbin "graphics/rotating_gates/4.4bpp" - - .align 2 -gOamData_83D5E0C:: @ 83D5E0C - .2byte 0x0100 - .2byte 0xC000 - .2byte 0x5800 - - .align 2 -gOamData_83D5E14:: @ 83D5E14 - .2byte 0x0100 - .2byte 0x8000 - .2byte 0x5800 - - .align 2 -gRotatingGatesGraphicsTable:: @ 83D5E1C - obj_tiles RotatingGateTiles_0, 0x200, 0x1300 - obj_tiles RotatingGateTiles_1, 0x800, 0x1301 - obj_tiles RotatingGateTiles_2, 0x800, 0x1302 - obj_tiles RotatingGateTiles_3, 0x800, 0x1303 - obj_tiles RotatingGateTiles_4, 0x200, 0x1304 - obj_tiles RotatingGateTiles_5, 0x800, 0x1305 - obj_tiles RotatingGateTiles_6, 0x800, 0x1306 - obj_tiles RotatingGateTiles_7, 0x800, 0x1307 - null_obj_tiles - - .align 2 -gSpriteAnim_83D5E64:: @ 83D5E64 - obj_image_anim_frame 0, 0 - obj_image_anim_end - - .align 2 -gSpriteAnim_83D5E6C:: @ 83D5E6C - obj_image_anim_frame 0, 0 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83D5E74:: @ 83D5E74 - .4byte gSpriteAnim_83D5E64 - - .align 2 -gSpriteAnimTable_83D5E78:: @ 83D5E78 - .4byte gSpriteAnim_83D5E6C - - .align 2 -gSpriteAffineAnim_83D5E7C:: @ 83D5E7C - obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 - obj_rot_scal_anim_jump 0 - - .align 2 -gSpriteAffineAnim_83D5E8C:: @ 83D5E8C - obj_rot_scal_anim_frame 0x100, 0x100, -64, 0 - obj_rot_scal_anim_jump 0 - - .align 2 -gSpriteAffineAnim_83D5E9C:: @ 83D5E9C - obj_rot_scal_anim_frame 0x100, 0x100, -128, 0 - obj_rot_scal_anim_jump 0 - - .align 2 -gSpriteAffineAnim_83D5EAC:: @ 83D5EAC - obj_rot_scal_anim_frame 0x100, 0x100, 64, 0 - obj_rot_scal_anim_jump 0 - - .align 2 -gSpriteAffineAnim_83D5EBC:: @ 83D5EBC - obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 - obj_rot_scal_anim_frame 0x0, 0x0, -4, 16 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83D5ED4:: @ 83D5ED4 - obj_rot_scal_anim_frame 0x100, 0x100, -64, 0 - obj_rot_scal_anim_frame 0x0, 0x0, -4, 16 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83D5EEC:: @ 83D5EEC - obj_rot_scal_anim_frame 0x100, 0x100, -128, 0 - obj_rot_scal_anim_frame 0x0, 0x0, -4, 16 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83D5F04:: @ 83D5F04 - obj_rot_scal_anim_frame 0x100, 0x100, 64, 0 - obj_rot_scal_anim_frame 0x0, 0x0, -4, 16 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83D5F1C:: @ 83D5F1C - obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 - obj_rot_scal_anim_frame 0x0, 0x0, 4, 16 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83D5F34:: @ 83D5F34 - obj_rot_scal_anim_frame 0x100, 0x100, 64, 0 - obj_rot_scal_anim_frame 0x0, 0x0, 4, 16 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83D5F4C:: @ 83D5F4C - obj_rot_scal_anim_frame 0x100, 0x100, -128, 0 - obj_rot_scal_anim_frame 0x0, 0x0, 4, 16 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83D5F64:: @ 83D5F64 - obj_rot_scal_anim_frame 0x100, 0x100, -64, 0 - obj_rot_scal_anim_frame 0x0, 0x0, 4, 16 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83D5F7C:: @ 83D5F7C - obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 - obj_rot_scal_anim_frame 0x0, 0x0, -8, 8 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83D5F94:: @ 83D5F94 - obj_rot_scal_anim_frame 0x100, 0x100, -64, 0 - obj_rot_scal_anim_frame 0x0, 0x0, -8, 8 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83D5FAC:: @ 83D5FAC - obj_rot_scal_anim_frame 0x100, 0x100, -128, 0 - obj_rot_scal_anim_frame 0x0, 0x0, -8, 8 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83D5FC4:: @ 83D5FC4 - obj_rot_scal_anim_frame 0x100, 0x100, 64, 0 - obj_rot_scal_anim_frame 0x0, 0x0, -8, 8 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83D5FDC:: @ 83D5FDC - obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 - obj_rot_scal_anim_frame 0x0, 0x0, 8, 8 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83D5FF4:: @ 83D5FF4 - obj_rot_scal_anim_frame 0x100, 0x100, 64, 0 - obj_rot_scal_anim_frame 0x0, 0x0, 8, 8 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83D600C:: @ 83D600C - obj_rot_scal_anim_frame 0x100, 0x100, -128, 0 - obj_rot_scal_anim_frame 0x0, 0x0, 8, 8 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83D6024:: @ 83D6024 - obj_rot_scal_anim_frame 0x100, 0x100, -64, 0 - obj_rot_scal_anim_frame 0x0, 0x0, 8, 8 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_83D603C:: @ 83D603C - .4byte gSpriteAffineAnim_83D5E7C - .4byte gSpriteAffineAnim_83D5E8C - .4byte gSpriteAffineAnim_83D5E9C - .4byte gSpriteAffineAnim_83D5EAC - .4byte gSpriteAffineAnim_83D5F1C - .4byte gSpriteAffineAnim_83D5F64 - .4byte gSpriteAffineAnim_83D5F4C - .4byte gSpriteAffineAnim_83D5F34 - .4byte gSpriteAffineAnim_83D5EBC - .4byte gSpriteAffineAnim_83D5ED4 - .4byte gSpriteAffineAnim_83D5EEC - .4byte gSpriteAffineAnim_83D5F04 - .4byte gSpriteAffineAnim_83D5FDC - .4byte gSpriteAffineAnim_83D6024 - .4byte gSpriteAffineAnim_83D600C - .4byte gSpriteAffineAnim_83D5FF4 - .4byte gSpriteAffineAnim_83D5F7C - .4byte gSpriteAffineAnim_83D5F94 - .4byte gSpriteAffineAnim_83D5FAC - .4byte gSpriteAffineAnim_83D5FC4 - - .align 2 -gSpriteTemplate_83D608C:: @ 83D608C - spr_template 4864, 0xFFFF, gOamData_83D5E0C, gSpriteAnimTable_83D5E74, NULL, gSpriteAffineAnimTable_83D603C, sub_80C7C94 - - .align 2 -gSpriteTemplate_83D60A4:: @ 83D60A4 - spr_template 4864, 0xFFFF, gOamData_83D5E14, gSpriteAnimTable_83D5E78, NULL, gSpriteAffineAnimTable_83D603C, sub_80C7C94 - -gUnknown_083D60BC:: @ 83D60BC - .incbin "baserom.gba", 0x003d60bc, 0x10 - -gUnknown_083D60CC:: @ 83D60CC - .incbin "baserom.gba", 0x003d60cc, 0x10 - -gUnknown_083D60DC:: @ 83D60DC - .incbin "baserom.gba", 0x003d60dc, 0x10 - -gUnknown_083D60EC:: @ 83D60EC - .incbin "baserom.gba", 0x003d60ec, 0x10 - -gUnknown_083D60FC:: @ 83D60FC - .incbin "baserom.gba", 0x003d60fc, 0x20 - -gUnknown_083D611C:: @ 83D611C - .incbin "baserom.gba", 0x003d611c, 0x20 - -gUnknown_083D613C:: @ 83D613C -Unknown_83D613C:: - .incbin "baserom.gba", 0x003d613c, 0x60 -Unknown_83D619C:: - .incbin "baserom.gba", 0x003d619c, 0x20 -Unknown_83D61BC:: - .incbin "baserom.gba", 0x003d61bc, 0x20 - - .align 2 -gUnknown_083D61DC:: @ 83D61DC - .4byte Unknown_83D619C - .4byte Unknown_83D61BC - - .align 2 -gUnknown_083D61E4:: @ 83D61E4 - .4byte sub_808B020 - .4byte c2_exit_to_overworld_2_switch - .4byte sub_810B96C - -gUnknown_083D61F0:: @ 83D61F0 - .byte DIR_NORTH, DIR_EAST, DIR_SOUTH, DIR_WEST - - .align 2 -gUnknown_083D61F4:: @ 83D61F4 - .4byte sub_80C9FC0 - .4byte sub_80A5C48 - - .align 2 -gSpriteAnim_83D61FC:: @ 83D61FC - obj_image_anim_frame 0, 5 - obj_image_anim_frame 2, 5 - obj_image_anim_frame 4, 5 - obj_image_anim_frame 6, 5 - obj_image_anim_frame 8, 5 - obj_image_anim_frame 10, 5 - obj_image_anim_frame 12, 5 - obj_image_anim_frame 14, 5 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnimTable_83D6220:: @ 83D6220 - .4byte gSpriteAnim_83D61FC - - .align 2 -gBattleAnimSpriteTemplate_83D6224:: @ 83D6224 - spr_template 10067, 10067, gOamData_837DF64, gSpriteAnimTable_83D6220, NULL, gDummySpriteAffineAnimTable, sub_80CA710 - - .align 2 -gBattleAnimSpriteTemplate_83D623C:: @ 83D623C - spr_template 10068, 10068, gOamData_837DF64, gSpriteAnimTable_83D6220, NULL, gDummySpriteAffineAnimTable, sub_80CA710 - - .align 2 -gBattleAnimSpriteTemplate_83D6254:: @ 83D6254 - spr_template 10065, 10065, gOamData_837DF64, gSpriteAnimTable_83D6220, NULL, gDummySpriteAffineAnimTable, sub_80CA710 - - .align 2 -gSpriteAnim_83D626C:: @ 83D626C - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83D6274:: @ 83D6274 - obj_image_anim_frame 1, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83D627C:: @ 83D627C - obj_image_anim_frame 2, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83D6284:: @ 83D6284 - obj_image_anim_frame 3, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83D628C:: @ 83D628C - obj_image_anim_frame 4, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83D6294:: @ 83D6294 - obj_image_anim_frame 5, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83D629C:: @ 83D629C - obj_image_anim_frame 6, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83D62A4:: @ 83D62A4 - obj_image_anim_frame 7, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83D62AC:: @ 83D62AC - obj_image_anim_frame 8, 1 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83D62B4:: @ 83D62B4 - .4byte gSpriteAnim_83D626C - .4byte gSpriteAnim_83D6274 - .4byte gSpriteAnim_83D627C - .4byte gSpriteAnim_83D6284 - .4byte gSpriteAnim_83D628C - .4byte gSpriteAnim_83D6294 - .4byte gSpriteAnim_83D629C - - .align 2 -gSpriteAnimTable_83D62D0:: @ 83D62D0 - .4byte gSpriteAnim_83D62A4 - - .align 2 -gSpriteAnimTable_83D62D4:: @ 83D62D4 - .4byte gSpriteAnim_83D62AC - - .align 2 -gSpriteAffineAnim_83D62D8:: @ 83D62D8 - obj_rot_scal_anim_frame 0xFFFB, 0xFFFB, 0, 1 - obj_rot_scal_anim_jump 0 - - .align 2 -gSpriteAffineAnimTable_83D62E8:: @ 83D62E8 - .4byte gSpriteAffineAnim_83D62D8 - - .align 2 -gBattleAnimSpriteTemplate_83D62EC:: @ 83D62EC - spr_template 10147, 10147, gOamData_837E0AC, gSpriteAnimTable_83D62D4, NULL, gSpriteAffineAnimTable_83D62E8, sub_80CA7B0 - - .align 2 -gBattleAnimSpriteTemplate_83D6304:: @ 83D6304 - spr_template 10147, 10147, gOamData_837DF24, gSpriteAnimTable_83D62B4, NULL, gDummySpriteAffineAnimTable, sub_80CA800 - - .align 2 -gSpriteTemplate_83D631C:: @ 83D631C - spr_template 10147, 10147, gOamData_837DF24, gSpriteAnimTable_83D62D0, NULL, gDummySpriteAffineAnimTable, sub_80CA858 - - .align 2 -gSpriteAffineAnim_83D6334:: @ 83D6334 - obj_rot_scal_anim_frame 0x140, 0x140, 0, 0 - obj_rot_scal_anim_frame 0xFFF2, 0xFFF2, 0, 1 - obj_rot_scal_anim_jump 1 - - .align 2 -gSpriteAffineAnimTable_83D634C:: @ 83D634C - .4byte gSpriteAffineAnim_83D6334 - - .align 2 -gBattleAnimSpriteTemplate_83D6350:: @ 83D6350 - spr_template 10235, 10235, gOamData_837DFE4, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D634C, sub_80CA7B0 - - .align 2 -gSpriteAffineAnim_83D6368:: @ 83D6368 - obj_rot_scal_anim_frame 0xFFFB, 0xFFFB, 0, 1 - obj_rot_scal_anim_jump 0 - - .align 2 -gSpriteAffineAnimTable_83D6378:: @ 83D6378 - .4byte gSpriteAffineAnim_83D6368 - - .align 2 -gBattleAnimSpriteTemplate_83D637C:: @ 83D637C - spr_template 10147, 10147, gOamData_837E0AC, gSpriteAnimTable_83D62D4, NULL, gSpriteAffineAnimTable_83D6378, sub_80CA9A8 - - .align 2 -gBattleAnimSpriteTemplate_83D6394:: @ 83D6394 - spr_template 10147, 10147, gOamData_837DF24, gSpriteAnimTable_83D62B4, NULL, gDummySpriteAffineAnimTable, sub_80CAA14 - - .align 2 -gSpriteAnim_83D63AC:: @ 83D63AC - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83D63B4:: @ 83D63B4 - obj_image_anim_frame 4, 7 - obj_image_anim_frame 8, 7 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnimTable_83D63C0:: @ 83D63C0 - .4byte gSpriteAnim_83D63AC - .4byte gSpriteAnim_83D63B4 - - .align 2 -gBattleAnimSpriteTemplate_83D63C8:: @ 83D63C8 - spr_template 10006, 10006, gOamData_837DF2C, gSpriteAnimTable_83D63C0, NULL, gDummySpriteAffineAnimTable, sub_80CAB18 - - .align 2 -gSpriteAnim_83D63E0:: @ 83D63E0 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83D63E8:: @ 83D63E8 - obj_image_anim_frame 4, 7 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83D63F0:: @ 83D63F0 - .4byte gSpriteAnim_83D63E0 - .4byte gSpriteAnim_83D63E8 - - .align 2 -gBattleAnimSpriteTemplate_83D63F8:: @ 83D63F8 - spr_template 10158, 10158, gOamData_837DF2C, gSpriteAnimTable_83D63F0, NULL, gDummySpriteAffineAnimTable, sub_80CABF8 - - .align 2 -gSpriteAnim_83D6410:: @ 83D6410 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83D6418:: @ 83D6418 - obj_image_anim_frame 4, 1 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83D6420:: @ 83D6420 - .4byte gSpriteAnim_83D6410 - - .align 2 -gSpriteAnimTable_83D6424:: @ 83D6424 - .4byte gSpriteAnim_83D6418 - - .align 2 -gBattleAnimSpriteTemplate_83D6428:: @ 83D6428 - spr_template 10159, 10159, gOamData_837DF2C, gSpriteAnimTable_83D6420, NULL, gDummySpriteAffineAnimTable, sub_80CAD54 - - .align 2 -gBattleAnimSpriteTemplate_83D6440:: @ 83D6440 - spr_template 10159, 10159, gOamData_837DF24, gSpriteAnimTable_83D6424, NULL, gDummySpriteAffineAnimTable, sub_80CAE20 - - .align 2 -gSpriteAnim_83D6458:: @ 83D6458 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 4, 5 - obj_image_anim_frame 8, 5 - obj_image_anim_frame 12, 5 - obj_image_anim_frame 16, 5 - obj_image_anim_frame 20, 5 - obj_image_anim_frame 16, 5 - obj_image_anim_frame 12, 5 - obj_image_anim_frame 8, 5 - obj_image_anim_frame 4, 5 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnim_83D6484:: @ 83D6484 - obj_image_anim_frame 24, 5 - obj_image_anim_frame 28, 5 - obj_image_anim_frame 32, 5 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83D6494:: @ 83D6494 - .4byte gSpriteAnim_83D6458 - .4byte gSpriteAnim_83D6484 - - .align 2 -gBattleAnimSpriteTemplate_83D649C:: @ 83D649C - spr_template 10063, 10063, gOamData_837DF2C, gSpriteAnimTable_83D6494, NULL, gDummySpriteAffineAnimTable, sub_80CAED8 - - .align 2 -gBattleAnimSpriteTemplate_83D64B4:: @ 83D64B4 - spr_template 10063, 10063, gOamData_837DF2C, gSpriteAnimTable_83D6494, NULL, gDummySpriteAffineAnimTable, sub_80CB144 - - .align 2 -gSpriteAnim_83D64CC:: @ 83D64CC - obj_image_anim_frame 0, 3 - obj_image_anim_frame 0, 3, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 0, 3, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 0, 3, OBJ_IMAGE_ANIM_V_FLIP - obj_image_anim_jump 0 - - .align 2 -gSpriteAnimTable_83D64E0:: @ 83D64E0 - .4byte gSpriteAnim_83D64CC - - .align 2 -gBattleAnimSpriteTemplate_83D64E4:: @ 83D64E4 - spr_template 10160, 10160, gOamData_837DF54, gSpriteAnimTable_83D64E0, NULL, gDummySpriteAffineAnimTable, sub_80CAFD0 - - .align 2 -gSpriteAffineAnim_83D64FC:: @ 83D64FC - obj_rot_scal_anim_frame 0x0, 0x0, 0, 1 - obj_rot_scal_anim_jump 0 - - .align 2 -gSpriteAffineAnimTable_83D650C:: @ 83D650C - .4byte gSpriteAffineAnim_83D64FC - - .align 2 -gBattleAnimSpriteTemplate_83D6510:: @ 83D6510 - spr_template 10174, 10174, gOamData_837DF94, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D650C, sub_80CAFD0 - - .align 2 -gSpriteAnim_83D6528:: @ 83D6528 - obj_image_anim_frame 0, 4 - obj_image_anim_frame 32, 4 - obj_image_anim_frame 64, 4 - obj_image_anim_frame 96, 4 - obj_image_anim_end - - .align 2 -gSpriteAnim_83D653C:: @ 83D653C - obj_image_anim_frame 0, 4, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 32, 4, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 64, 4, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 96, 4, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83D6550:: @ 83D6550 - .4byte gSpriteAnim_83D6528 - .4byte gSpriteAnim_83D653C - - .align 2 -gSpriteAffineAnim_83D6558:: @ 83D6558 - obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 - obj_rot_scal_anim_frame 0xFFF5, 0x0, 0, 6 - obj_rot_scal_anim_frame 0xB, 0x0, 0, 6 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83D6578:: @ 83D6578 - obj_rot_scal_anim_frame 0xFF00, 0x100, 0, 0 - obj_rot_scal_anim_frame 0xB, 0x0, 0, 6 - obj_rot_scal_anim_frame 0xFFF5, 0x0, 0, 6 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_83D6598:: @ 83D6598 - .4byte gSpriteAffineAnim_83D6558 - .4byte gSpriteAffineAnim_83D6578 - - .align 2 -gBattleAnimSpriteTemplate_83D65A0:: @ 83D65A0 - spr_template 10186, 10186, gOamData_837DFBC, gSpriteAnimTable_83D6550, NULL, gSpriteAffineAnimTable_83D6598, sub_80CB25C - - .align 2 -gSpriteAffineAnim_83D65B8:: @ 83D65B8 - obj_rot_scal_anim_frame 0x0, 0x0, 0, 0 - obj_rot_scal_anim_frame 0x30, 0x30, 0, 14 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83D65D0:: @ 83D65D0 - obj_rot_scal_anim_frame 0xFFF0, 0xFFF0, 0, 1 - obj_rot_scal_anim_jump 0 - - .align 2 -gSpriteAffineAnimTable_83D65E0:: @ 83D65E0 - .4byte gSpriteAffineAnim_83D65B8 - .4byte gSpriteAffineAnim_83D65D0 - - .align 2 -gBattleAnimSpriteTemplate_83D65E8:: @ 83D65E8 - spr_template 10147, 10147, gOamData_837DFEC, gSpriteAnimTable_83D62D4, NULL, gSpriteAffineAnimTable_83D65E0, sub_80CB4CC - - .align 2 -gSpriteAnim_83D6600:: @ 83D6600 - obj_image_anim_frame 0, 7 - obj_image_anim_frame 16, 7 - obj_image_anim_frame 32, 7 - obj_image_anim_frame 48, 7 - obj_image_anim_end - - .align 2 -gSpriteAnim_83D6614:: @ 83D6614 - obj_image_anim_frame 0, 7, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 16, 7, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 32, 7, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 48, 7, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_end - - .align 2 -gSpriteAnim_83D6628:: @ 83D6628 - obj_image_anim_frame 0, 7 - obj_image_anim_frame 16, 7 - obj_image_anim_frame 32, 7 - obj_image_anim_end - - .align 2 -gSpriteAnim_83D6638:: @ 83D6638 - obj_image_anim_frame 0, 7, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 16, 7, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 32, 7, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83D6648:: @ 83D6648 - .4byte gSpriteAnim_83D6600 - .4byte gSpriteAnim_83D6614 - .4byte gSpriteAnim_83D6628 - .4byte gSpriteAnim_83D6638 - - .align 2 -gBattleAnimSpriteTemplate_83D6658:: @ 83D6658 - spr_template 10223, 10223, gOamData_837DF34, gSpriteAnimTable_83D6648, NULL, gDummySpriteAffineAnimTable, sub_80CB59C - - .align 2 -gBattleAnimSpriteTemplate_83D6670:: @ 83D6670 - spr_template 10223, 10223, gOamData_837DF34, gSpriteAnimTable_83D6648, NULL, gDummySpriteAffineAnimTable, sub_80CB620 - - .align 2 -gSpriteAnim_83D6688:: @ 83D6688 - obj_image_anim_frame 3, 3 - obj_image_anim_frame 0, 5 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnimTable_83D6694:: @ 83D6694 - .4byte gSpriteAnim_83D6688 - - .align 2 -gBattleAnimSpriteTemplate_83D6698:: @ 83D6698 - spr_template 10147, 10147, gOamData_837DF24, gSpriteAnimTable_83D6694, NULL, gDummySpriteAffineAnimTable, sub_80CB768 - - .align 2 -gSpriteAnim_83D66B0:: @ 83D66B0 - obj_image_anim_frame 0, 30 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83D66B8:: @ 83D66B8 - .4byte gSpriteAnim_83D66B0 - - .align 2 -gSpriteAffineAnim_83D66BC:: @ 83D66BC - obj_rot_scal_anim_frame 0x0, 0x0, -4, 10 - obj_rot_scal_anim_frame 0x0, 0x0, 4, 20 - obj_rot_scal_anim_frame 0x0, 0x0, -4, 10 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83D66DC:: @ 83D66DC - obj_rot_scal_anim_frame 0x0, 0x0, -1, 2 - obj_rot_scal_anim_frame 0x0, 0x0, 1, 4 - obj_rot_scal_anim_frame 0x0, 0x0, -1, 4 - obj_rot_scal_anim_frame 0x0, 0x0, 1, 4 - obj_rot_scal_anim_frame 0x0, 0x0, -1, 4 - obj_rot_scal_anim_frame 0x0, 0x0, 1, 2 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_83D6714:: @ 83D6714 - .4byte gSpriteAffineAnim_83D66BC - .4byte gSpriteAffineAnim_83D66DC - - .align 2 -gBattleAnimSpriteTemplate_83D671C:: @ 83D671C - spr_template 10224, 10224, gOamData_837DF94, gSpriteAnimTable_83D66B8, NULL, gSpriteAffineAnimTable_83D6714, sub_80CB94C - - .align 2 -gBattleAnimSpriteTemplate_83D6734:: @ 83D6734 - spr_template 10224, 10224, gOamData_837DF94, gSpriteAnimTable_83D66B8, NULL, gSpriteAffineAnimTable_83D6714, sub_80CBA28 - - .align 2 -gSpriteAnim_83D674C:: @ 83D674C - obj_image_anim_frame 0, 4 - obj_image_anim_frame 4, 4 - obj_image_anim_frame 8, 4 - obj_image_anim_frame 12, 4 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83D6760:: @ 83D6760 - .4byte gSpriteAnim_83D674C - - .align 2 -gBattleAnimSpriteTemplate_83D6764:: @ 83D6764 - spr_template 10195, 10195, gOamData_837DF2C, gSpriteAnimTable_83D6760, NULL, gDummySpriteAffineAnimTable, sub_80CBAA4 - - .align 2 -gBattleAnimSpriteTemplate_83D677C:: @ 83D677C - spr_template 10224, 10224, gOamData_837DF94, gSpriteAnimTable_83D66B8, NULL, gSpriteAffineAnimTable_83D6714, sub_80CBAE8 - - .align 2 -gSpriteAffineAnim_83D6794:: @ 83D6794 - obj_rot_scal_anim_frame 0x0, 0x0, 0, 3 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83D67A4:: @ 83D67A4 - obj_rot_scal_anim_frame 0x0, 0xFFF6, 0, 3 - obj_rot_scal_anim_frame 0x0, 0xFFFA, 0, 3 - obj_rot_scal_anim_frame 0x0, 0xFFFE, 0, 3 - obj_rot_scal_anim_frame 0x0, 0x0, 0, 3 - obj_rot_scal_anim_frame 0x0, 0x2, 0, 3 - obj_rot_scal_anim_frame 0x0, 0x6, 0, 3 - obj_rot_scal_anim_frame 0x0, 0xA, 0, 3 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_83D67E4:: @ 83D67E4 - .4byte gSpriteAffineAnim_83D6794 - .4byte gSpriteAffineAnim_83D67A4 - .4byte gSpriteAffineAnim_83D66BC - .4byte gSpriteAffineAnim_83D66DC - - .align 2 -gBattleAnimSpriteTemplate_83D67F4:: @ 83D67F4 - spr_template 10224, 10224, gOamData_837DF94, gSpriteAnimTable_83D66B8, NULL, gSpriteAffineAnimTable_83D67E4, sub_80CBBF0 - - .align 2 -gUnknown_083D680C:: @ 83D680C - .incbin "baserom.gba", 0x003d680c, 0x24 - - .align 2 -gSpriteAnim_83D6830:: @ 83D6830 - obj_image_anim_frame 28, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83D6838:: @ 83D6838 - obj_image_anim_frame 32, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83D6840:: @ 83D6840 - obj_image_anim_frame 20, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83D6848:: @ 83D6848 - obj_image_anim_frame 28, 1, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_end - - .align 2 -gSpriteAnim_83D6850:: @ 83D6850 - obj_image_anim_frame 16, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83D6858:: @ 83D6858 - obj_image_anim_frame 16, 1, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_end - - .align 2 -gSpriteAnim_83D6860:: @ 83D6860 - obj_image_anim_frame 28, 1 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83D6868:: @ 83D6868 - .4byte gSpriteAnim_83D6830 - .4byte gSpriteAnim_83D6838 - .4byte gSpriteAnim_83D6840 - .4byte gSpriteAnim_83D6848 - .4byte gSpriteAnim_83D6850 - .4byte gSpriteAnim_83D6858 - .4byte gSpriteAnim_83D6860 - - .align 2 -gSpriteTemplate_83D6884:: @ 83D6884 - spr_template 10063, 10063, gOamData_837DF2C, gSpriteAnimTable_83D6868, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteAffineAnim_83D689C:: @ 83D689C - obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 - obj_rot_scal_anim_frame 0x0, 0x0, 4, 1 - obj_rot_scal_anim_jump 1 - - .align 2 -gSpriteAffineAnimTable_83D68B4:: @ 83D68B4 - .4byte gSpriteAffineAnim_83D689C - - .align 2 -gBattleAnimSpriteTemplate_83D68B8:: @ 83D68B8 - spr_template 10159, 10159, gOamData_837DF24, gSpriteAnimTable_83D6424, NULL, gDummySpriteAffineAnimTable, sub_80CC474 - - .align 2 -gBattleAnimSpriteTemplate_83D68D0:: @ 83D68D0 - spr_template 10159, 10159, gOamData_837DF8C, gSpriteAnimTable_83D6420, NULL, gSpriteAffineAnimTable_83D68B4, sub_80CC474 - - .align 2 -gSpriteAffineAnim_83D68E8:: @ 83D68E8 - obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 - obj_rot_scal_anim_frame 0x0, 0x0, -10, 1 - obj_rot_scal_anim_jump 1 - - .align 2 -gSpriteAffineAnim_83D6900:: @ 83D6900 - obj_rot_scal_anim_frame 0xC0, 0xC0, 0, 0 - obj_rot_scal_anim_frame 0x0, 0x0, -12, 1 - obj_rot_scal_anim_jump 1 - - .align 2 -gSpriteAffineAnim_83D6918:: @ 83D6918 - obj_rot_scal_anim_frame 0x8F, 0x8F, 0, 0 - obj_rot_scal_anim_frame 0x0, 0x0, -15, 1 - obj_rot_scal_anim_jump 1 - - .align 2 -gSpriteAffineAnimTable_83D6930:: @ 83D6930 - .4byte gSpriteAffineAnim_83D68E8 - - .align 2 -gSpriteAffineAnimTable_83D6934:: @ 83D6934 - .4byte gSpriteAffineAnim_83D6900 - - .align 2 -gSpriteAffineAnimTable_83D6938:: @ 83D6938 - .4byte gSpriteAffineAnim_83D6918 - - .align 2 -gBattleAnimSpriteTemplate_83D693C:: @ 83D693C - spr_template 10271, 10271, gOamData_837DF8C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D6930, sub_80CC474 - - .align 2 -gBattleAnimSpriteTemplate_83D6954:: @ 83D6954 - spr_template 10271, 10271, gOamData_837DF8C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D6934, sub_80CC474 - - .align 2 -gBattleAnimSpriteTemplate_83D696C:: @ 83D696C - spr_template 10271, 10271, gOamData_837DF8C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D6938, sub_80CC474 - - .align 2 -gUnknown_083D6984:: @ 83D6984 - .incbin "baserom.gba", 0x003d6984, 0x10 - - .align 2 -gBattleAnimSpriteTemplate_83D6994:: @ 83D6994 - spr_template 10266, 10266, gOamData_837DF8C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80CC6CC - - .align 2 -gSpriteAnim_83D69AC:: @ 83D69AC - obj_image_anim_frame 64, 3 - obj_image_anim_frame 80, 3 - obj_image_anim_frame 96, 3 - obj_image_anim_frame 112, 6 - obj_image_anim_end - - .align 2 -gSpriteAnim_83D69C0:: @ 83D69C0 - obj_image_anim_frame 64, 3, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 80, 3, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 96, 3, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 112, 6, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83D69D4:: @ 83D69D4 - .4byte gSpriteAnim_83D69AC - .4byte gSpriteAnim_83D69C0 - - .align 2 -gBattleAnimSpriteTemplate_83D69DC:: @ 83D69DC - spr_template 10056, 10056, gOamData_837DF34, gSpriteAnimTable_83D69D4, NULL, gDummySpriteAffineAnimTable, sub_80CC884 - - .align 2 -gBattleAnimSpriteTemplate_83D69F4:: @ 83D69F4 - spr_template 10287, 10287, gOamData_837DF34, gSpriteAnimTable_83D69D4, NULL, gDummySpriteAffineAnimTable, sub_80CC884 - - .align 2 -gSpriteAnim_83D6A0C:: @ 83D6A0C - obj_image_anim_frame 0, 4 - obj_image_anim_frame 16, 4 - obj_image_anim_frame 32, 4 - obj_image_anim_frame 48, 4 - obj_image_anim_frame 64, 5 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83D6A24:: @ 83D6A24 - .4byte gSpriteAnim_83D6A0C - - .align 2 -gSpriteTemplate_83D6A28:: @ 83D6A28 - spr_template 10021, 10021, gOamData_837DF34, gSpriteAnimTable_83D6A24, NULL, gDummySpriteAffineAnimTable, sub_80CC82C - - .align 2 -gSpriteTemplate_83D6A40:: @ 83D6A40 - spr_template 10022, 10022, gOamData_837DF34, gSpriteAnimTable_83D6A24, NULL, gDummySpriteAffineAnimTable, sub_80CC82C - - .align 2 -gSpriteAffineAnim_83D6A58:: @ 83D6A58 - obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83D6A68:: @ 83D6A68 - obj_rot_scal_anim_frame 0x100, 0x100, 32, 0 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83D6A78:: @ 83D6A78 - obj_rot_scal_anim_frame 0x100, 0x100, 64, 0 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83D6A88:: @ 83D6A88 - obj_rot_scal_anim_frame 0x100, 0x100, 96, 0 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83D6A98:: @ 83D6A98 - obj_rot_scal_anim_frame 0x100, 0x100, -128, 0 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83D6AA8:: @ 83D6AA8 - obj_rot_scal_anim_frame 0x100, 0x100, -96, 0 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83D6AB8:: @ 83D6AB8 - obj_rot_scal_anim_frame 0x100, 0x100, -64, 0 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83D6AC8:: @ 83D6AC8 - obj_rot_scal_anim_frame 0x100, 0x100, -32, 0 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_83D6AD8:: @ 83D6AD8 - .4byte gSpriteAffineAnim_83D6A58 - .4byte gSpriteAffineAnim_83D6A68 - .4byte gSpriteAffineAnim_83D6A78 - .4byte gSpriteAffineAnim_83D6A88 - .4byte gSpriteAffineAnim_83D6A98 - .4byte gSpriteAffineAnim_83D6AA8 - .4byte gSpriteAffineAnim_83D6AB8 - .4byte gSpriteAffineAnim_83D6AC8 - - .align 2 -gSpriteTemplate_83D6AF8:: @ 83D6AF8 - spr_template 10143, 10143, gOamData_837DF94, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D6AD8, sub_80CC8C8 - - .align 2 -gSpriteAnim_83D6B10:: @ 83D6B10 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 16, 5 - obj_image_anim_frame 32, 5 - obj_image_anim_frame 48, 5 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83D6B24:: @ 83D6B24 - .4byte gSpriteAnim_83D6B10 - - .align 2 -gBattleAnimSpriteTemplate_83D6B28:: @ 83D6B28 - spr_template 10138, 10138, gOamData_837E054, gSpriteAnimTable_83D6B24, NULL, gDummySpriteAffineAnimTable, sub_80CC914 - - .align 2 -gBattleAnimSpriteTemplate_83D6B40:: @ 83D6B40 - spr_template 10138, 10138, gOamData_837E054, gSpriteAnimTable_83D6B24, NULL, gDummySpriteAffineAnimTable, sub_80CC9BC - - .align 2 -gSpriteAnim_83D6B58:: @ 83D6B58 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83D6B60:: @ 83D6B60 - obj_image_anim_frame 4, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83D6B68:: @ 83D6B68 - obj_image_anim_frame 8, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83D6B70:: @ 83D6B70 - obj_image_anim_frame 12, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83D6B78:: @ 83D6B78 - obj_image_anim_frame 16, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83D6B80:: @ 83D6B80 - obj_image_anim_frame 20, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83D6B88:: @ 83D6B88 - obj_image_anim_frame 0, 1, OBJ_IMAGE_ANIM_V_FLIP - obj_image_anim_end - - .align 2 -gSpriteAnim_83D6B90:: @ 83D6B90 - obj_image_anim_frame 4, 1, OBJ_IMAGE_ANIM_V_FLIP - obj_image_anim_end - - .align 2 -gSpriteAnim_83D6B98:: @ 83D6B98 - obj_image_anim_frame 8, 1, OBJ_IMAGE_ANIM_V_FLIP - obj_image_anim_end - - .align 2 -gSpriteAnim_83D6BA0:: @ 83D6BA0 - obj_image_anim_frame 12, 1, OBJ_IMAGE_ANIM_V_FLIP - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83D6BA8:: @ 83D6BA8 - .4byte gSpriteAnim_83D6B58 - .4byte gSpriteAnim_83D6B60 - .4byte gSpriteAnim_83D6B68 - .4byte gSpriteAnim_83D6B70 - .4byte gSpriteAnim_83D6B78 - .4byte gSpriteAnim_83D6B80 - .4byte gSpriteAnim_83D6B88 - .4byte gSpriteAnim_83D6B90 - .4byte gSpriteAnim_83D6B98 - .4byte gSpriteAnim_83D6BA0 - - .align 2 -gSpriteTemplate_83D6BD0:: @ 83D6BD0 - spr_template 10072, 10072, gOamData_837DF2C, gSpriteAnimTable_83D6BA8, NULL, gDummySpriteAffineAnimTable, sub_80CCC50 - - .align 2 -gBattleAnimSpriteTemplate_83D6BE8:: @ 83D6BE8 - spr_template 10280, 10280, gOamData_837E05C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80CCD24 - - .align 2 -gSpriteAffineAnim_83D6C00:: @ 83D6C00 - obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83D6C10:: @ 83D6C10 - obj_rot_scal_anim_frame 0x0, 0x0, 2, 12 - obj_rot_scal_anim_frame 0x0, 0x0, 0, 6 - obj_rot_scal_anim_frame 0x0, 0x0, -2, 24 - obj_rot_scal_anim_frame 0x0, 0x0, 0, 6 - obj_rot_scal_anim_frame 0x0, 0x0, 2, 12 - obj_rot_scal_anim_jump 0 - - .align 2 -gSpriteAffineAnimTable_83D6C40:: @ 83D6C40 - .4byte gSpriteAffineAnim_83D6C00 - .4byte gSpriteAffineAnim_83D6C10 - - .align 2 -gBattleAnimSpriteTemplate_83D6C48:: @ 83D6C48 - spr_template 10099, 10099, gOamData_837E0B4, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D6C40, sub_80CCF04 - - .align 2 -gSpriteAnim_83D6C60:: @ 83D6C60 - obj_image_anim_frame 0, 7 - obj_image_anim_frame 16, 7 - obj_image_anim_frame 32, 7 - obj_image_anim_frame 48, 7 - obj_image_anim_frame 64, 7 - obj_image_anim_frame 80, 7 - obj_image_anim_frame 96, 7 - obj_image_anim_frame 112, 7 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnimTable_83D6C84:: @ 83D6C84 - .4byte gSpriteAnim_83D6C60 - - .align 2 -gBattleAnimSpriteTemplate_83D6C88:: @ 83D6C88 - spr_template 10049, 10049, gOamData_837DF34, gSpriteAnimTable_83D6C84, NULL, gDummySpriteAffineAnimTable, sub_80CD140 - - .align 2 -gBattleAnimSpriteTemplate_83D6CA0:: @ 83D6CA0 - spr_template 10049, 10049, gOamData_837DF34, gSpriteAnimTable_83D6C84, NULL, gDummySpriteAffineAnimTable, sub_80CD190 - - .align 2 -gSpriteAnim_83D6CB8:: @ 83D6CB8 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 4, 10 - obj_image_anim_frame 8, 10 - obj_image_anim_frame 12, 10 - obj_image_anim_frame 16, 26 - obj_image_anim_frame 16, 5 - obj_image_anim_frame 20, 5 - obj_image_anim_frame 24, 15 - obj_image_anim_end - - .align 2 -gSpriteAnim_83D6CDC:: @ 83D6CDC - obj_image_anim_frame 0, 10, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 4, 10, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 8, 10, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 12, 10, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 16, 26, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 16, 5, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 20, 5, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 24, 15, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83D6D00:: @ 83D6D00 - .4byte gSpriteAnim_83D6CB8 - .4byte gSpriteAnim_83D6CDC - - .align 2 -gSpriteTemplate_83D6D08:: @ 83D6D08 - spr_template 10032, 10032, gOamData_837DF2C, gSpriteAnimTable_83D6D00, NULL, gDummySpriteAffineAnimTable, sub_80CD274 - - .align 2 -gSpriteAnim_83D6D20:: @ 83D6D20 - obj_image_anim_frame 0, 40 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83D6D28:: @ 83D6D28 - .4byte gSpriteAnim_83D6D20 - - .align 2 -gSpriteAffineAnim_83D6D2C:: @ 83D6D2C - obj_rot_scal_anim_frame 0x14, 0x14, -30, 0 - obj_rot_scal_anim_frame 0x8, 0x8, 1, 24 - obj_rot_scal_anim_end - - .align 2 - .incbin "baserom.gba", 0x003d6d44, 0x18 - - .align 2 -gSpriteAffineAnim_83D6D5C:: @ 83D6D5C - obj_rot_scal_anim_frame 0x14, 0x14, 30, 0 - obj_rot_scal_anim_frame 0x8, 0x8, -1, 24 - obj_rot_scal_anim_end - - .align 2 - .incbin "baserom.gba", 0x003d6d74, 0x18 - - .align 2 -gSpriteAffineAnimTable_83D6D8C:: @ 83D6D8C - .4byte gSpriteAffineAnim_83D6D2C - .4byte gSpriteAffineAnim_83D6D5C - - .align 2 -gBattleAnimSpriteTemplate_83D6D94:: @ 83D6D94 - spr_template 10228, 10228, gOamData_837DF94, gSpriteAnimTable_83D6D28, NULL, gSpriteAffineAnimTable_83D6D8C, sub_80CD328 - - .align 2 -gBattleAnimSpriteTemplate_83D6DAC:: @ 83D6DAC - spr_template 10014, 10014, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80CD3E0 - - .align 2 -gBattleAnimSpriteTemplate_83D6DC4:: @ 83D6DC4 - spr_template 10014, 10014, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80CD6CC - - .align 2 -gUnknown_083D6DDC:: @ 83D6DDC - .incbin "baserom.gba", 0x003d6ddc, 0x8 - - .align 2 -gBattleAnimSpriteTemplate_83D6DE4:: @ 83D6DE4 - spr_template 0, 0, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80CD774 - - .align 2 -gSpriteTemplate_83D6DFC:: @ 83D6DFC - spr_template 0, 0, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80CD9C4 - - .align 2 -gSpriteAnim_83D6E14:: @ 83D6E14 - obj_image_anim_frame 0, 4 - obj_image_anim_frame 16, 4 - obj_image_anim_frame 32, 4 - obj_image_anim_frame 48, 4 - obj_image_anim_end - - .align 2 -gSpriteAnim_83D6E28:: @ 83D6E28 - obj_image_anim_frame 48, 4 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83D6E30:: @ 83D6E30 - .4byte gSpriteAnim_83D6E14 - .4byte gSpriteAnim_83D6E28 - - .align 2 -gBattleAnimSpriteTemplate_83D6E38:: @ 83D6E38 - spr_template 10183, 10183, gOamData_837DF34, gSpriteAnimTable_83D6E30, NULL, gDummySpriteAffineAnimTable, sub_80CDD74 - - .align 2 -gBattleAnimSpriteTemplate_83D6E50:: @ 83D6E50 - spr_template 10286, 10286, gOamData_837DF34, gSpriteAnimTable_83D6E30, NULL, gDummySpriteAffineAnimTable, sub_80CDDDC - - .align 2 -gBattleAnimSpriteTemplate_83D6E68:: @ 83D6E68 - spr_template 10286, 10286, gOamData_837DF34, gSpriteAnimTable_83D6E30, NULL, gDummySpriteAffineAnimTable, sub_80CDE24 - - .align 2 -gSpriteAnim_83D6E80:: @ 83D6E80 - obj_image_anim_frame 0, 4 - obj_image_anim_frame 8, 12 - obj_image_anim_frame 16, 4 - obj_image_anim_frame 24, 4 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83D6E94:: @ 83D6E94 - .4byte gSpriteAnim_83D6E80 - - .align 2 -gBattleAnimSpriteTemplate_83D6E98:: @ 83D6E98 - spr_template 10184, 10184, gOamData_837DF74, gSpriteAnimTable_83D6E94, NULL, gDummySpriteAffineAnimTable, sub_80CDF0C - - .align 2 -gSpriteAnim_83D6EB0:: @ 83D6EB0 - obj_image_anim_frame 0, 18 - obj_image_anim_frame 0, 6 - obj_image_anim_frame 16, 18 - obj_image_anim_frame 0, 6 - obj_image_anim_frame 16, 6 - obj_image_anim_frame 32, 18 - obj_image_anim_frame 16, 6 - obj_image_anim_frame 32, 6 - obj_image_anim_frame 48, 18 - obj_image_anim_frame 32, 6 - obj_image_anim_frame 48, 6 - obj_image_anim_frame 64, 18 - obj_image_anim_frame 48, 6 - obj_image_anim_frame 64, 54 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83D6EEC:: @ 83D6EEC - .4byte gSpriteAnim_83D6EB0 - - .align 2 -gBattleAnimSpriteTemplate_83D6EF0:: @ 83D6EF0 - spr_template 10185, 10185, gOamData_837DF34, gSpriteAnimTable_83D6EEC, NULL, gDummySpriteAffineAnimTable, sub_80CDFB0 - - .align 2 -gBattleAnimSpriteTemplate_83D6F08:: @ 83D6F08 - spr_template 10017, 10017, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_807941C - - .align 2 -gSpriteAnim_83D6F20:: @ 83D6F20 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 16, 3 - obj_image_anim_frame 32, 3 - obj_image_anim_frame 48, 3 - obj_image_anim_frame 64, 3 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83D6F38:: @ 83D6F38 - .4byte gSpriteAnim_83D6F20 - - .align 2 -gBattleAnimSpriteTemplate_83D6F3C:: @ 83D6F3C - spr_template 10030, 10030, gOamData_837DF34, gSpriteAnimTable_83D6F38, NULL, gDummySpriteAffineAnimTable, sub_80793C4 - - .align 2 -gSpriteAnim_83D6F54:: @ 83D6F54 - obj_image_anim_frame 3, 5 - obj_image_anim_frame 2, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83D6F68:: @ 83D6F68 - .4byte gSpriteAnim_83D6F54 - - .align 2 -gSpriteAffineAnim_83D6F6C:: @ 83D6F6C - obj_rot_scal_anim_frame 0x200, 0x200, 0, 0 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_83D6F7C:: @ 83D6F7C - .4byte gSpriteAffineAnim_83D6F6C - - .align 2 -gBattleAnimSpriteTemplate_83D6F80:: @ 83D6F80 - spr_template 10018, 10018, gOamData_837E104, gSpriteAnimTable_83D6F68, NULL, gSpriteAffineAnimTable_83D6F7C, sub_80CE09C - - .align 2 -gSpriteAnim_83D6F98:: @ 83D6F98 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 2, 5 - obj_image_anim_frame 3, 5 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83D6FAC:: @ 83D6FAC - .4byte gSpriteAnim_83D6F98 - - .align 2 -gBattleAnimSpriteTemplate_83D6FB0:: @ 83D6FB0 - spr_template 10018, 10018, gOamData_837E104, gSpriteAnimTable_83D6FAC, NULL, gSpriteAffineAnimTable_83D6F7C, sub_80CE17C - - .align 2 -gBattleAnimSpriteTemplate_83D6FC8:: @ 83D6FC8 - spr_template 10194, 10194, gOamData_837E05C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80CE30C - - .align 2 -gSpriteAnim_83D6FE0:: @ 83D6FE0 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 4, 8 - obj_image_anim_frame 8, 8 - obj_image_anim_frame 12, 8 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnimTable_83D6FF4:: @ 83D6FF4 - .4byte gSpriteAnim_83D6FE0 - - .align 2 -gBattleAnimSpriteTemplate_83D6FF8:: @ 83D6FF8 - spr_template 10195, 10195, gOamData_837DF2C, gSpriteAnimTable_83D6FF4, NULL, gDummySpriteAffineAnimTable, sub_80CE36C - - .align 2 -gSpriteAnim_83D7010:: @ 83D7010 - obj_image_anim_frame 0, 2 - obj_image_anim_frame 16, 2 - obj_image_anim_frame 32, 2 - obj_image_anim_frame 48, 3 - obj_image_anim_frame 64, 5 - obj_image_anim_frame 80, 3 - obj_image_anim_frame 96, 2 - obj_image_anim_frame 0, 2 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83D7034:: @ 83D7034 - .4byte gSpriteAnim_83D7010 - - .align 2 -gBattleAnimSpriteTemplate_83D7038:: @ 83D7038 - spr_template 10031, 10031, gOamData_837DF34, gSpriteAnimTable_83D7034, NULL, gDummySpriteAffineAnimTable, sub_80793C4 - - .align 2 -gBattleAnimSpriteTemplate_83D7050:: @ 83D7050 - spr_template 10020, 10020, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80CE670 - - .align 2 -gSpriteAnim_83D7068:: @ 83D7068 - obj_image_anim_frame 0, 2 - obj_image_anim_frame 16, 2 - obj_image_anim_frame 32, 2 - obj_image_anim_frame 48, 2 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83D707C:: @ 83D707C - .4byte gSpriteAnim_83D7068 - - .align 2 -gBattleAnimSpriteTemplate_83D7080:: @ 83D7080 - spr_template 10192, 10192, gOamData_837DF34, gSpriteAnimTable_83D707C, NULL, gDummySpriteAffineAnimTable, sub_80CEA04 - - .align 2 -gSpriteAnim_83D7098:: @ 83D7098 - obj_image_anim_frame 0, 10 - obj_image_anim_end - - .align 2 -gSpriteAnim_83D70A0:: @ 83D70A0 - obj_image_anim_frame 4, 10 - obj_image_anim_end - - .align 2 -gSpriteAnim_83D70A8:: @ 83D70A8 - obj_image_anim_frame 8, 41 - obj_image_anim_end - - .align 2 -gSpriteAnim_83D70B0:: @ 83D70B0 - obj_image_anim_frame 12, 10 - obj_image_anim_end - - .align 2 -gSpriteAnim_83D70B8:: @ 83D70B8 - obj_image_anim_frame 16, 10 - obj_image_anim_end - - .align 2 -gSpriteAnim_83D70C0:: @ 83D70C0 - obj_image_anim_frame 20, 10 - obj_image_anim_end - - .align 2 -gSpriteAnim_83D70C8:: @ 83D70C8 - obj_image_anim_frame 0, 10, OBJ_IMAGE_ANIM_V_FLIP - obj_image_anim_end - - .align 2 -gSpriteAnim_83D70D0:: @ 83D70D0 - obj_image_anim_frame 4, 10, OBJ_IMAGE_ANIM_V_FLIP - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83D70D8:: @ 83D70D8 - .4byte gSpriteAnim_83D7098 - .4byte gSpriteAnim_83D70A0 - .4byte gSpriteAnim_83D70A8 - .4byte gSpriteAnim_83D70B0 - .4byte gSpriteAnim_83D70B8 - .4byte gSpriteAnim_83D70C0 - .4byte gSpriteAnim_83D70C8 - .4byte gSpriteAnim_83D70D0 - - .align 2 -gSpriteAffineAnim_83D70F8:: @ 83D70F8 - obj_rot_scal_anim_frame 0xC, 0xC, 0, 16 - obj_rot_scal_anim_frame 0xFFF4, 0xFFF4, 0, 16 - obj_rot_scal_anim_jump 0 - - .align 2 -gSpriteAffineAnimTable_83D7110:: @ 83D7110 - .4byte gSpriteAffineAnim_83D70F8 - - .align 2 -gBattleAnimSpriteTemplate_83D7114:: @ 83D7114 - spr_template 10072, 10072, gOamData_837DFEC, gSpriteAnimTable_83D70D8, NULL, gSpriteAffineAnimTable_83D7110, sub_80CEB0C - - .align 2 -gUnknown_083D712C:: @ 83D712C - .incbin "baserom.gba", 0x003d712c, 0x30 - - .align 2 -gBattleAnimSpriteTemplate_83D715C:: @ 83D715C - spr_template 10072, 10072, gOamData_837DFEC, gSpriteAnimTable_83D70D8, NULL, gSpriteAffineAnimTable_83D7110, sub_80CECE8 - - .align 2 -gBattleAnimSpriteTemplate_83D7174:: @ 83D7174 - spr_template 10193, 10193, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80CEDF0 - - .align 2 -gSpriteAffineAnim_83D718C:: @ 83D718C - obj_rot_scal_anim_frame 0xA0, 0xA0, 0, 0 - obj_rot_scal_anim_frame 0x4, 0x4, 0, 1 - obj_rot_scal_anim_jump 1 - - .align 2 -gSpriteAffineAnimTable_83D71A4:: @ 83D71A4 - .4byte gSpriteAffineAnim_83D718C - - .align 2 -gBattleAnimSpriteTemplate_83D71A8:: @ 83D71A8 - spr_template 10072, 10072, gOamData_837DFEC, gSpriteAnimTable_83D70D8, NULL, gSpriteAffineAnimTable_83D71A4, sub_80CEE60 - - .align 2 -gSpriteAnim_83D71C0:: @ 83D71C0 - obj_image_anim_frame 0, 2, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 16, 2, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 32, 2, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 48, 2, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_end - - .align 2 -gSpriteAnim_83D71D4:: @ 83D71D4 - obj_image_anim_frame 48, 2, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 32, 2, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 16, 2, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 0, 2, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_end - - .align 2 -gSpriteAnim_83D71E8:: @ 83D71E8 - obj_image_anim_frame 0, 2 - obj_image_anim_frame 16, 2 - obj_image_anim_frame 32, 2 - obj_image_anim_frame 48, 2 - obj_image_anim_end - - .align 2 -gSpriteAnim_83D71FC:: @ 83D71FC - obj_image_anim_frame 48, 2 - obj_image_anim_frame 32, 2 - obj_image_anim_frame 16, 2 - obj_image_anim_frame 0, 2 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83D7210:: @ 83D7210 - .4byte gSpriteAnim_83D71C0 - .4byte gSpriteAnim_83D71E8 - .4byte gSpriteAnim_83D71D4 - .4byte gSpriteAnim_83D71FC - - .align 2 -gBattleAnimSpriteTemplate_83D7220:: @ 83D7220 - spr_template 10209, 10209, gOamData_837DF34, gSpriteAnimTable_83D7210, NULL, gDummySpriteAffineAnimTable, sub_80CEF9C - - .align 2 -gSpriteAffineAnim_83D7238:: @ 83D7238 - obj_rot_scal_anim_frame 0x10, 0x10, 0, 0 - obj_rot_scal_anim_frame 0x1E, 0x1E, 0, 8 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83D7250:: @ 83D7250 - obj_rot_scal_anim_frame 0x0, 0x0, 4, 11 - obj_rot_scal_anim_frame 0x0, 0x0, -4, 11 - obj_rot_scal_anim_loop 2 - obj_rot_scal_anim_frame 0xFFE2, 0xFFE2, 0, 8 - obj_rot_scal_anim_end - - .align 2 - .incbin "baserom.gba", 0x003d7278, 0x48 - - .align 2 -gSpriteAffineAnimTable_83D72C0:: @ 83D72C0 - .4byte gSpriteAffineAnim_83D7238 - .4byte gSpriteAffineAnim_83D7250 - - .align 2 -gBattleAnimSpriteTemplate_83D72C8:: @ 83D72C8 - spr_template 10064, 10064, gOamData_837DFF4, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D72C0, sub_80CF040 - - .align 2 -gBattleAnimSpriteTemplate_83D72E0:: @ 83D72E0 - spr_template 10064, 10064, gOamData_837DF94, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D72C0, sub_80CF0BC - - .align 2 -gSpriteAnim_83D72F8:: @ 83D72F8 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83D7300:: @ 83D7300 - obj_image_anim_frame 0, 1, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_end - - .align 2 -gSpriteAnim_83D7308:: @ 83D7308 - obj_image_anim_frame 0, 4 - obj_image_anim_frame 16, 4 - obj_image_anim_frame 32, 4 - obj_image_anim_frame 16, 4 - obj_image_anim_frame 0, 4 - obj_image_anim_frame 16, 4 - obj_image_anim_frame 32, 4 - obj_image_anim_end - - .align 2 -gSpriteAnim_83D7328:: @ 83D7328 - obj_image_anim_frame 0, 4, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 16, 4, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 32, 4, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 16, 4, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 0, 4, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 16, 4, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 32, 4, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83D7348:: @ 83D7348 - .4byte gSpriteAnim_83D72F8 - .4byte gSpriteAnim_83D7300 - .4byte gSpriteAnim_83D7308 - .4byte gSpriteAnim_83D7328 - - .align 2 -gBattleAnimSpriteTemplate_83D7358:: @ 83D7358 - spr_template 10214, 10214, gOamData_837DF34, gSpriteAnimTable_83D7348, NULL, gDummySpriteAffineAnimTable, sub_80CF1C8 - - .align 2 -gSpriteTemplate_83D7370:: @ 83D7370 - spr_template 10064, 10064, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80CF280 - - .align 2 -gSpriteAnim_83D7388:: @ 83D7388 - obj_image_anim_frame 4, 1 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83D7390:: @ 83D7390 - .4byte gSpriteAnim_83D7388 - - .align 2 -gSpriteTemplate_83D7394:: @ 83D7394 - spr_template 10072, 10072, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80CF2D0 - - .align 2 -gSpriteTemplate_83D73AC:: @ 83D73AC - spr_template 0, 0, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80CF3C4 - - .align 2 -gSpriteTemplate_83D73C4:: @ 83D73C4 - spr_template 10145, 10145, gOamData_837E0BC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DB1B0, sub_80CF458 - - .align 2 -gSpriteAnim_83D73DC:: @ 83D73DC - obj_image_anim_frame 0, 9 - obj_image_anim_frame 16, 3 - obj_image_anim_frame 32, 3 - obj_image_anim_frame 48, 3 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83D73F0:: @ 83D73F0 - .4byte gSpriteAnim_83D73DC - - .align 2 -gSpriteAffineAnim_83D73F4:: @ 83D73F4 - obj_rot_scal_anim_frame 0x50, 0x50, 0, 0 - obj_rot_scal_anim_frame 0x9, 0x9, 0, 18 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_83D740C:: @ 83D740C - .4byte gSpriteAffineAnim_83D73F4 - - .align 2 -gSpriteTemplate_83D7410:: @ 83D7410 - spr_template 10007, 10007, gOamData_837DF94, gSpriteAnimTable_83D73F0, NULL, gSpriteAffineAnimTable_83D740C, sub_80793C4 - - .align 2 -gSpriteAnim_83D7428:: @ 83D7428 - obj_image_anim_frame 0, 3, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 8, 3, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 16, 3, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 24, 3, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 32, 3, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 40, 3, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 48, 3, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_loop 1 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83D744C:: @ 83D744C - .4byte gSpriteAnim_83D7428 - - .align 2 -gBattleAnimSpriteTemplate_83D7450:: @ 83D7450 - spr_template 10075, 10075, gOamData_837DF54, gSpriteAnimTable_83D744C, NULL, gDummySpriteAffineAnimTable, sub_80CF610 - - .align 2 -gSpriteAffineAnim_83D7468:: @ 83D7468 - obj_rot_scal_anim_frame 0x10, 0x100, 0, 0 - obj_rot_scal_anim_frame 0x14, 0x0, 0, 12 - obj_rot_scal_anim_frame 0x0, 0x0, 0, 32 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_83D7488:: @ 83D7488 - .4byte gSpriteAffineAnim_83D7468 - - .align 2 -gBattleAnimSpriteTemplate_83D748C:: @ 83D748C - spr_template 10005, 10005, gOamData_837E0FC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D7488, sub_80CF690 - - .align 2 -gBattleAnimSpriteTemplate_83D74A4:: @ 83D74A4 - spr_template 10003, 10003, gOamData_837E134, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80CF6DC - - .align 2 -gSpriteTemplate_83D74BC:: @ 83D74BC - spr_template 10003, 10003, gOamData_837E074, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80CF8B8 - - .align 2 -gSpriteAffineAnim_83D74D4:: @ 83D74D4 - obj_rot_scal_anim_frame 0x20, 0x20, 0, 0 - obj_rot_scal_anim_frame 0x7, 0x7, 0, -56 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83D74EC:: @ 83D74EC - obj_rot_scal_anim_frame 0x5, 0x5, 0, 10 - obj_rot_scal_anim_frame 0xFFF6, 0xFFF6, 0, 10 - obj_rot_scal_anim_frame 0xA, 0xA, 0, 10 - obj_rot_scal_anim_frame 0xFFF6, 0xFFF6, 0, 10 - obj_rot_scal_anim_frame 0xA, 0xA, 0, 10 - obj_rot_scal_anim_frame 0xFFF6, 0xFFF6, 0, 10 - obj_rot_scal_anim_frame 0xA, 0xA, 0, 10 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_83D752C:: @ 83D752C - .4byte gSpriteAffineAnim_83D74D4 - - .align 2 -gSpriteAffineAnimTable_83D7530:: @ 83D7530 - .4byte gSpriteAffineAnim_83D74EC - - .align 2 -gBattleAnimSpriteTemplate_83D7534:: @ 83D7534 - spr_template 10163, 10163, gOamData_837E034, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D752C, sub_807941C - - .align 2 -gBattleAnimSpriteTemplate_83D754C:: @ 83D754C - spr_template 10164, 10164, gOamData_837E034, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D752C, sub_807941C - - .align 2 -gBattleAnimSpriteTemplate_83D7564:: @ 83D7564 - spr_template 10260, 10260, gOamData_837E03C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D752C, sub_807941C - - .align 2 -gBattleAnimSpriteTemplate_83D757C:: @ 83D757C - spr_template 10288, 10288, gOamData_837E034, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D7530, sub_80D4CA4 - - .align 2 -gBattleAnimSpriteTemplate_83D7594:: @ 83D7594 - spr_template 10175, 10175, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80794A8 - - .align 2 -gSpriteTemplate_83D75AC:: @ 83D75AC - spr_template 10178, 10178, gOamData_837E05C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80CFDFC - - .align 2 -gSpriteAnim_83D75C4:: @ 83D75C4 - obj_image_anim_frame 8, 1 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83D75CC:: @ 83D75CC - .4byte gSpriteAnim_83D75C4 - - .align 2 -gSpriteAffineAnim_83D75D0:: @ 83D75D0 - obj_rot_scal_anim_frame 0x0, 0x0, 10, 1 - obj_rot_scal_anim_jump 0 - - .align 2 -gSpriteAffineAnimTable_83D75E0:: @ 83D75E0 - .4byte gSpriteAffineAnim_83D75D0 - - .align 2 -gBattleAnimSpriteTemplate_83D75E4:: @ 83D75E4 - spr_template 10100, 10100, gOamData_837DF8C, gSpriteAnimTable_83D75CC, NULL, gDummySpriteAffineAnimTable, sub_80CFE9C - - .align 2 -gBattleAnimSpriteTemplate_83D75FC:: @ 83D75FC - spr_template 10100, 10100, gOamData_837DF8C, gSpriteAnimTable_83D75CC, NULL, gSpriteAffineAnimTable_83D75E0, sub_80CFF50 - - .align 2 -gSpriteAffineAnim_83D7614:: @ 83D7614 - obj_rot_scal_anim_frame 0x0, 0x0, 20, 1 - obj_rot_scal_anim_jump 0 - - .align 2 -gSpriteAffineAnimTable_83D7624:: @ 83D7624 - .4byte gSpriteAffineAnim_83D7614 - - .align 2 -gBattleAnimSpriteTemplate_83D7628:: @ 83D7628 - spr_template 10006, 10006, gOamData_837DF8C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D7624, sub_80CFFD8 - - .align 2 -gSpriteAffineAnim_83D7640:: @ 83D7640 - obj_rot_scal_anim_frame 0x10, 0x100, 0, 0 - obj_rot_scal_anim_frame 0x4, 0x0, 0, 40 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_83D7658:: @ 83D7658 - .4byte gSpriteAffineAnim_83D7640 - - .align 2 -gBattleAnimSpriteTemplate_83D765C:: @ 83D765C - spr_template 10009, 10009, gOamData_837DFDC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D7658, sub_80D0118 - - .align 2 -gSpriteAnim_83D7674:: @ 83D7674 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 16, 3 - obj_image_anim_frame 32, 20 - obj_image_anim_end - - .align 2 -gSpriteAnim_83D7684:: @ 83D7684 - obj_image_anim_frame 0, 3, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 16, 3, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 32, 20, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83D7694:: @ 83D7694 - .4byte gSpriteAnim_83D7674 - .4byte gSpriteAnim_83D7684 - - .align 2 -gBattleAnimSpriteTemplate_83D769C:: @ 83D769C - spr_template 10138, 10138, gOamData_837E054, gSpriteAnimTable_83D7694, NULL, gDummySpriteAffineAnimTable, sub_80D0178 - - .align 2 -gSpriteAnim_83D76B4:: @ 83D76B4 - obj_image_anim_frame 0, 2 - obj_image_anim_frame 16, 2 - obj_image_anim_frame 32, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83D76C4:: @ 83D76C4 - obj_image_anim_frame 0, 2, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 16, 2, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 32, 1, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83D76D4:: @ 83D76D4 - .4byte gSpriteAnim_83D76B4 - .4byte gSpriteAnim_83D76C4 - - .align 2 -gBattleAnimSpriteTemplate_83D76DC:: @ 83D76DC - spr_template 10138, 10138, gOamData_837E054, gSpriteAnimTable_83D76D4, NULL, gDummySpriteAffineAnimTable, sub_80D0228 - - .align 2 -gUnknown_083D76F4:: @ 83D76F4 - .incbin "baserom.gba", 0x003d76f4, 0x20 - -gUnknown_083D7714:: @ 83D7714 - .incbin "baserom.gba", 0x003d7714, 0x20 - - .align 2 -gSpriteAnim_83D7734:: @ 83D7734 - obj_image_anim_frame 0, 4, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 4, 40, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 8, 4, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 12, 4, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_end - - .align 2 -gSpriteAnim_83D7748:: @ 83D7748 - obj_image_anim_frame 0, 4 - obj_image_anim_frame 4, 40 - obj_image_anim_frame 8, 4 - obj_image_anim_frame 12, 4 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83D775C:: @ 83D775C - .4byte gSpriteAnim_83D7734 - .4byte gSpriteAnim_83D7748 - - .align 2 -gBattleAnimSpriteTemplate_83D7764:: @ 83D7764 - spr_template 10086, 10086, gOamData_837DF2C, gSpriteAnimTable_83D775C, NULL, gDummySpriteAffineAnimTable, sub_80D0930 - - .align 2 -gSpriteAffineAnim_83D777C:: @ 83D777C - obj_rot_scal_anim_frame 0xB, 0xB, 0, 8 - obj_rot_scal_anim_frame 0xFFF5, 0xFFF5, 0, 8 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_83D7794:: @ 83D7794 - .4byte gSpriteAffineAnim_83D777C - - .align 2 -gBattleAnimSpriteTemplate_83D7798:: @ 83D7798 - spr_template 10087, 10087, gOamData_837DF8C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D7794, sub_80D09C0 - - .align 2 -gUnknown_083D77B0:: @ 83D77B0 - .incbin "baserom.gba", 0x003d77b0, 0x30 - - .align 2 -gBattleAnimSpriteTemplate_83D77E0:: @ 83D77E0 - spr_template 10002, 10002, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D0E30 - - .align 2 -gBattleAnimSpriteTemplate_83D77F8:: @ 83D77F8 - spr_template 10197, 10197, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8079534 - - .align 2 -gSpriteAnim_83D7810:: @ 83D7810 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 16, 5 - obj_image_anim_frame 32, 5 - obj_image_anim_frame 48, 5 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83D7824:: @ 83D7824 - .4byte gSpriteAnim_83D7810 - - .align 2 -gBattleAnimSpriteTemplate_83D7828:: @ 83D7828 - spr_template 10198, 10198, gOamData_837DF34, gSpriteAnimTable_83D7824, NULL, gDummySpriteAffineAnimTable, sub_80793C4 - - .align 2 -gSpriteAffineAnim_83D7840:: @ 83D7840 - obj_rot_scal_anim_frame 0x0, 0x0, -8, 2 - obj_rot_scal_anim_frame 0x0, 0x0, 8, 4 - obj_rot_scal_anim_frame 0x0, 0x0, -8, 2 - obj_rot_scal_anim_jump 0 - - .align 2 -gSpriteAffineAnim_83D7860:: @ 83D7860 - obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83D7870:: @ 83D7870 - obj_rot_scal_anim_frame 0xFFF8, 0x4, 0, 8 - obj_rot_scal_anim_loop 0 - obj_rot_scal_anim_frame 0x10, 0xFFF8, 0, 8 - obj_rot_scal_anim_frame 0xFFF0, 0x8, 0, 8 - obj_rot_scal_anim_loop 1 - obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 - obj_rot_scal_anim_frame 0x0, 0x0, 0, 15 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_83D78B0:: @ 83D78B0 - .4byte gSpriteAffineAnim_83D7840 - .4byte gSpriteAffineAnim_83D7860 - .4byte gSpriteAffineAnim_83D7870 - - .align 2 -gBattleAnimSpriteTemplate_83D78BC:: @ 83D78BC - spr_template 10202, 10202, gOamData_837E114, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D78B0, sub_80D1368 - - .align 2 -gSpriteAffineAnim_83D78D4:: @ 83D78D4 - obj_rot_scal_anim_frame 0x10, 0x10, 0, 0 - obj_rot_scal_anim_frame 0x10, 0x10, 0, 30 - obj_rot_scal_anim_end 1 - - .align 2 -gSpriteAffineAnim_83D78EC:: @ 83D78EC - obj_rot_scal_anim_frame 0x10, 0x10, 0, 0 - obj_rot_scal_anim_frame 0x20, 0x20, 0, 15 - obj_rot_scal_anim_end 1 - - .align 2 -gSpriteAffineAnim_83D7904:: @ 83D7904 - obj_rot_scal_anim_frame 0x10, 0x10, 0, 0 - obj_rot_scal_anim_frame 0xB, 0xB, 0, 45 - obj_rot_scal_anim_end 1 - - .align 2 -gSpriteAffineAnimTable_83D791C:: @ 83D791C - .4byte gSpriteAffineAnim_83D78D4 - .4byte gSpriteAffineAnim_83D78EC - - .align 2 -gSpriteAffineAnimTable_83D7924:: @ 83D7924 - .4byte gSpriteAffineAnim_83D7904 - - .align 2 -gBattleAnimSpriteTemplate_83D7928:: @ 83D7928 - spr_template 10203, 10203, gOamData_837DFFC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D791C, sub_80793C4 - - .align 2 -gSpriteAffineAnim_83D7940:: @ 83D7940 - obj_rot_scal_anim_frame 0x200, 0x200, 0, 0 - obj_rot_scal_anim_frame 0xFFF0, 0xFFF0, 0, 30 - obj_rot_scal_anim_end 1 - - .align 2 -gSpriteAffineAnimTable_83D7958:: @ 83D7958 - .4byte gSpriteAffineAnim_83D7940 - - .align 2 -gBattleAnimSpriteTemplate_83D795C:: @ 83D795C - spr_template 10203, 10203, gOamData_837E11C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D7958, sub_80793C4 - - .align 2 -gBattleAnimSpriteTemplate_83D7974:: @ 83D7974 - spr_template 10203, 10203, gOamData_837E11C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D791C, sub_80D0FD8 - - .align 2 -gBattleAnimSpriteTemplate_83D798C:: @ 83D798C - spr_template 10203, 10203, gOamData_837E11C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D7924, sub_80D10B8 - - .align 2 -gBattleAnimSpriteTemplate_83D79A4:: @ 83D79A4 - spr_template 10203, 10203, gOamData_837E11C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D791C, sub_80D1318 - - .align 2 -gUnknown_083D79BC:: @ 83D79BC - .incbin "baserom.gba", 0x003d79bc, 0x10 - - .align 2 -gSpriteAnim_83D79CC:: @ 83D79CC - obj_image_anim_frame 0, 3 - obj_image_anim_frame 4, 3 - obj_image_anim_frame 8, 3 - obj_image_anim_frame 4, 3 - obj_image_anim_frame 0, 3 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83D79E4:: @ 83D79E4 - .4byte gSpriteAnim_83D79CC - - .align 2 -gSpriteTemplate_83D79E8:: @ 83D79E8 - spr_template 10207, 10207, gOamData_837DF2C, gSpriteAnimTable_83D79E4, NULL, gDummySpriteAffineAnimTable, sub_80D1A70 - -gUnknown_083D7A00:: @ 83D7A00 - .incbin "baserom.gba", 0x003d7a00, 0x8 - - .align 2 -gSpriteAnim_83D7A08:: @ 83D7A08 - obj_image_anim_frame 0, 6 - obj_image_anim_frame 16, 6 - obj_image_anim_frame 32, 15 - obj_image_anim_frame 16, 6 - obj_image_anim_frame 0, 6 - obj_image_anim_frame 16, 6, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 32, 15, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 16, 6, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 0, 6 - obj_image_anim_frame 16, 6 - obj_image_anim_frame 32, 15 - obj_image_anim_frame 16, 6 - obj_image_anim_frame 0, 6 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83D7A40:: @ 83D7A40 - .4byte gSpriteAnim_83D7A08 - - .align 2 -gBattleAnimSpriteTemplate_83D7A44:: @ 83D7A44 - spr_template 10205, 10205, gOamData_837DF34, gSpriteAnimTable_83D7A40, NULL, gDummySpriteAffineAnimTable, sub_80793C4 - - .align 2 -gUnknown_083D7A5C:: @ 83D7A5C - .incbin "baserom.gba", 0x003d7a5c, 0xc - - .align 2 -gBattleAnimSpriteTemplate_83D7A68:: @ 83D7A68 - spr_template 10206, 10206, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D1C08 - - .align 2 -gBattleAnimSpriteTemplate_83D7A80:: @ 83D7A80 - spr_template 10210, 10210, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D1C80 - - .align 2 -gUnknown_083D7A98:: @ 83D7A98 - .incbin "baserom.gba", 0x003d7a98, 0x18 - - .align 2 -gBattleAnimSpriteTemplate_83D7AB0:: @ 83D7AB0 - spr_template 10216, 10216, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D1F58 - - .align 2 -gBattleAnimSpriteTemplate_83D7AC8:: @ 83D7AC8 - spr_template 10216, 10216, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D1FDC - - .align 2 -gBattleAnimSpriteTemplate_83D7AE0:: @ 83D7AE0 - spr_template 10216, 10216, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D2064 - - .align 2 -gSpriteAffineAnim_83D7AF8:: @ 83D7AF8 - obj_rot_scal_anim_frame 0x80, 0x80, 0, 0 - obj_rot_scal_anim_frame 0x8, 0x8, 0, 1 - obj_rot_scal_anim_jump 1 - - .align 2 -gSpriteAffineAnimTable_83D7B10:: @ 83D7B10 - .4byte gSpriteAffineAnim_83D7AF8 - - .align 2 -gBattleAnimSpriteTemplate_83D7B14:: @ 83D7B14 - spr_template 10217, 10217, gOamData_837DF8C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D7B10, sub_80D26A4 - - .align 2 -gBattleAnimSpriteTemplate_83D7B2C:: @ 83D7B2C - spr_template 10217, 10217, gOamData_837DFEC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D7B10, sub_80D27E0 - - .align 2 -gSpriteAffineAnim_83D7B44:: @ 83D7B44 - obj_rot_scal_anim_frame 0x80, 0x80, 0, 0 - obj_rot_scal_anim_frame 0x8, 0x8, 0, 1 - obj_rot_scal_anim_jump 1 - - .align 2 -gSpriteAffineAnimTable_83D7B5C:: @ 83D7B5C - .4byte gSpriteAffineAnim_83D7B44 - - .align 2 -gBattleAnimSpriteTemplate_83D7B60:: @ 83D7B60 - spr_template 10237, 10237, gOamData_837DFE4, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D7B5C, sub_80D28AC - - .align 2 -gSpriteAnim_83D7B78:: @ 83D7B78 - obj_image_anim_frame 0, 4 - obj_image_anim_frame 4, 4 - obj_image_anim_frame 8, 4 - obj_image_anim_frame 4, 4 - obj_image_anim_frame 0, 4 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83D7B90:: @ 83D7B90 - .4byte gSpriteAnim_83D7B78 - - .align 2 -gBattleAnimSpriteTemplate_83D7B94:: @ 83D7B94 - spr_template 10218, 10218, gOamData_837DF2C, gSpriteAnimTable_83D7B90, NULL, gDummySpriteAffineAnimTable, sub_80D2920 - - .align 2 -gSpriteAnim_83D7BAC:: @ 83D7BAC - obj_image_anim_frame 0, 24 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83D7BB4:: @ 83D7BB4 - .4byte gSpriteAnim_83D7BAC - - .align 2 -gBattleAnimSpriteTemplate_83D7BB8:: @ 83D7BB8 - spr_template 10220, 10220, gOamData_837DF34, gSpriteAnimTable_83D7BB4, NULL, gDummySpriteAffineAnimTable, sub_80D2938 - - .align 2 -gBattleAnimSpriteTemplate_83D7BD0:: @ 83D7BD0 - spr_template 10219, 10219, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D2A38 - - .align 2 -gSpriteAnim_83D7BE8:: @ 83D7BE8 - obj_image_anim_frame 0, 3 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnim_83D7BF0:: @ 83D7BF0 - obj_image_anim_frame 16, 3 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnimTable_83D7BF8:: @ 83D7BF8 - .4byte gSpriteAnim_83D7BE8 - .4byte gSpriteAnim_83D7BF0 - - .align 2 -gBattleAnimSpriteTemplate_83D7C00:: @ 83D7C00 - spr_template 10221, 10221, gOamData_837DF34, gSpriteAnimTable_83D7BF8, NULL, gDummySpriteAffineAnimTable, sub_80D2ABC - - .align 2 -gSpriteAnim_83D7C18:: @ 83D7C18 - obj_image_anim_frame 0, 4 - obj_image_anim_frame 16, 4 - obj_image_anim_frame 32, 4 - obj_image_anim_frame 48, 4 - obj_image_anim_end - - .align 2 -gSpriteAnim_83D7C2C:: @ 83D7C2C - obj_image_anim_frame 0, 4, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 16, 4, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 32, 4, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 48, 4, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83D7C40:: @ 83D7C40 - .4byte gSpriteAnim_83D7C18 - .4byte gSpriteAnim_83D7C2C - - .align 2 -gBattleAnimSpriteTemplate_83D7C48:: @ 83D7C48 - spr_template 10222, 10222, gOamData_837DF34, gSpriteAnimTable_83D7C40, NULL, gDummySpriteAffineAnimTable, sub_80D2BE8 - - .align 2 -gSpriteAnim_83D7C60:: @ 83D7C60 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 16, 8 - obj_image_anim_frame 32, 8 - obj_image_anim_frame 16, 8 - obj_image_anim_end - - .align 2 -gSpriteAnim_83D7C74:: @ 83D7C74 - obj_image_anim_frame 16, 8, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 32, 8, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 16, 8, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 0, 8, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83D7C88:: @ 83D7C88 - .4byte gSpriteAnim_83D7C60 - .4byte gSpriteAnim_83D7C74 - - .align 2 -gBattleAnimSpriteTemplate_83D7C90:: @ 83D7C90 - spr_template 10215, 10215, gOamData_837DF34, gSpriteAnimTable_83D7C88, NULL, gDummySpriteAffineAnimTable, sub_80D2C38 - - .align 2 -gUnknown_083D7CA8:: @ 83D7CA8 - .incbin "baserom.gba", 0x003d7ca8, 0x20 - - .align 2 -gBattleAnimSpriteTemplate_83D7CC8:: @ 83D7CC8 - spr_template 10225, 10225, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D2D68 - - .align 2 -gSpriteAffineAnim_83D7CE0:: @ 83D7CE0 - obj_rot_scal_anim_frame 0x0, 0x0, 0, 5 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83D7CF0:: @ 83D7CF0 - obj_rot_scal_anim_frame 0x0, 0x0, -8, 16 - obj_rot_scal_anim_end 1 - - .align 2 -gSpriteAffineAnim_83D7D00:: @ 83D7D00 - obj_rot_scal_anim_frame 0x0, 0x0, 8, 16 - obj_rot_scal_anim_end 1 - - .align 2 -gSpriteAffineAnimTable_83D7D10:: @ 83D7D10 - .4byte gSpriteAffineAnim_83D7CE0 - .4byte gSpriteAffineAnim_83D7CF0 - .4byte gSpriteAffineAnim_83D7D00 - - .align 2 -gBattleAnimSpriteTemplate_83D7D1C:: @ 83D7D1C - spr_template 10206, 10206, gOamData_837DF8C, gSpriteAnimTable_83D70D8, NULL, gSpriteAffineAnimTable_83D7D10, sub_80D2EC8 - - .align 2 -gBattleAnimSpriteTemplate_83D7D34:: @ 83D7D34 - spr_template 10206, 10206, gOamData_837DF8C, gSpriteAnimTable_83D70D8, NULL, gSpriteAffineAnimTable_83D7D10, sub_80D2E68 - - .align 2 -gSpriteAffineAnim_83D7D4C:: @ 83D7D4C - obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83D7D5C:: @ 83D7D5C - obj_rot_scal_anim_frame 0x200, 0x100, 0, 0 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_83D7D6C:: @ 83D7D6C - .4byte gSpriteAffineAnim_83D7D4C - .4byte gSpriteAffineAnim_83D7D5C - - .align 2 -gBattleAnimSpriteTemplate_83D7D74:: @ 83D7D74 - spr_template 10244, 10244, gOamData_837E13C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D7D6C, sub_80D3014 - - .align 2 - .incbin "graphics/unknown/unknown_3D7D8C.4bpp" - .incbin "graphics/unknown/unknown_3D810C.bin" - - .align 2 -gSpriteAnim_83D910C:: @ 83D910C - obj_image_anim_frame 0, 2 - obj_image_anim_frame 8, 2 - obj_image_anim_frame 16, 2 - obj_image_anim_frame 24, 6 - obj_image_anim_frame 32, 2 - obj_image_anim_frame 40, 2 - obj_image_anim_frame 48, 2 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83D912C:: @ 83D912C - .4byte gSpriteAnim_83D910C - - .align 2 -gSpriteTemplate_83D9130:: @ 83D9130 - spr_template 10115, 10115, gOamData_837DF74, gSpriteAnimTable_83D912C, NULL, gDummySpriteAffineAnimTable, sub_80D3184 - - .align 2 -gSpriteAffineAnim_83D9148:: @ 83D9148 - obj_rot_scal_anim_frame 0xFFFB, 0xFFFB, 0, 10 - obj_rot_scal_anim_frame 0x5, 0x5, 0, 10 - obj_rot_scal_anim_jump 0 - - .align 2 -gSpriteAffineAnimTable_83D9160:: @ 83D9160 - .4byte gSpriteAffineAnim_83D9148 - - .align 2 -gSpriteAnim_83D9164:: @ 83D9164 - obj_image_anim_frame 0, 1 - obj_image_anim_frame 4, 5 - obj_image_anim_frame 8, 5 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83D9174:: @ 83D9174 - .4byte gSpriteAnim_83D9164 - - .align 2 -gBattleAnimSpriteTemplate_83D9178:: @ 83D9178 - spr_template 10146, 10146, gOamData_837E0AC, gSpriteAnimTable_83D9174, NULL, gSpriteAffineAnimTable_83D9160, sub_80D31C8 - - .align 2 -gSpriteAnim_83D9190:: @ 83D9190 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83D9198:: @ 83D9198 - obj_image_anim_frame 4, 1 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83D91A0:: @ 83D91A0 - .4byte gSpriteAnim_83D9190 - .4byte gSpriteAnim_83D9198 - - .align 2 -gSpriteAffineAnim_83D91A8:: @ 83D91A8 - obj_rot_scal_anim_frame 0x0, 0x0, 0, 1 - obj_rot_scal_anim_frame 0x60, 0x60, 0, 1 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_83D91C0:: @ 83D91C0 - .4byte gSpriteAffineAnim_83D91A8 - - .align 2 -gBattleAnimSpriteTemplate_83D91C4:: @ 83D91C4 - spr_template 10140, 10140, gOamData_837E024, gSpriteAnimTable_83D91A0, NULL, gSpriteAffineAnimTable_83D91C0, sub_80D33B4 - - .align 2 -gSpriteAnim_83D91DC:: @ 83D91DC - obj_image_anim_frame 0, 1 - obj_image_anim_frame 4, 1 - obj_image_anim_frame 8, 1 - obj_image_anim_frame 12, 1 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnimTable_83D91F0:: @ 83D91F0 - .4byte gSpriteAnim_83D91DC - - .align 2 -gBattleAnimSpriteTemplate_83D91F4:: @ 83D91F4 - spr_template 10149, 10149, gOamData_837E04C, gSpriteAnimTable_83D91F0, NULL, gDummySpriteAffineAnimTable, sub_80D3554 - - .align 2 -gBattleAnimSpriteTemplate_83D920C:: @ 83D920C - spr_template 10259, 10259, gOamData_837E04C, gSpriteAnimTable_83D91F0, NULL, gDummySpriteAffineAnimTable, sub_80D3554 - - .align 2 -gBattleAnimSpriteTemplate_83D9224:: @ 83D9224 - spr_template 10264, 10264, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D3554 - - .align 2 -gBattleAnimSpriteTemplate_83D923C:: @ 83D923C - spr_template 10265, 10265, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D3554 - - .align 2 -gSpriteAnim_83D9254:: @ 83D9254 - obj_image_anim_frame 16, 2 - obj_image_anim_frame 32, 2 - obj_image_anim_frame 48, 2 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnimTable_83D9264:: @ 83D9264 - .4byte gSpriteAnim_83D9254 - - .align 2 -gBattleAnimSpriteTemplate_83D9268:: @ 83D9268 - spr_template 10029, 10029, gOamData_837DF34, gSpriteAnimTable_83D9264, NULL, gDummySpriteAffineAnimTable, sub_80D3554 - - .align 2 -gBattleAnimSpriteTemplate_83D9280:: @ 83D9280 - spr_template 10165, 10165, gOamData_837E034, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D752C, sub_80D3554 - - .align 2 -gSpriteAffineAnim_83D9298:: @ 83D9298 - obj_rot_scal_anim_frame 0x3, 0x3, 10, 50 - obj_rot_scal_anim_frame 0x0, 0x0, 0, 10 - obj_rot_scal_anim_frame 0xFFEC, 0xFFEC, -10, 20 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83D92B8:: @ 83D92B8 - obj_rot_scal_anim_frame 0x150, 0x150, 0, 0 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_83D92C8:: @ 83D92C8 - .4byte gSpriteAffineAnim_83D9298 - - .align 2 -gSpriteAffineAnimTable_83D92CC:: @ 83D92CC - .4byte gSpriteAffineAnim_83D92B8 - - .align 2 -gBattleAnimSpriteTemplate_83D92D0:: @ 83D92D0 - spr_template 10149, 10149, gOamData_837E10C, gSpriteAnimTable_83D91F0, NULL, gSpriteAffineAnimTable_83D92C8, sub_80D3698 - - .align 2 -gBattleAnimSpriteTemplate_83D92E8:: @ 83D92E8 - spr_template 10149, 10149, gOamData_837E10C, gSpriteAnimTable_83D91F0, NULL, gSpriteAffineAnimTable_83D92CC, sub_80D3728 - - .align 2 -gSpriteAnim_83D9300:: @ 83D9300 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83D9308:: @ 83D9308 - obj_image_anim_frame 4, 1 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83D9310:: @ 83D9310 - .4byte gSpriteAnim_83D9300 - - .align 2 -gSpriteAnimTable_83D9314:: @ 83D9314 - .4byte gSpriteAnim_83D9308 - - .align 2 -gBattleAnimSpriteTemplate_83D9318:: @ 83D9318 - spr_template 10155, 10155, gOamData_837E04C, gSpriteAnimTable_83D9310, NULL, gDummySpriteAffineAnimTable, sub_80794A8 - - .align 2 -gBattleAnimSpriteTemplate_83D9330:: @ 83D9330 - spr_template 10155, 10155, gOamData_837E10C, gSpriteAnimTable_83D9314, NULL, gSpriteAffineAnimTable_83DA318, sub_80D37FC - - .align 2 -gBattleAnimSpriteTemplate_83D9348:: @ 83D9348 - spr_template 10141, 10141, gOamData_837DF24, gSpriteAnimTable_83D9BC8, NULL, gDummySpriteAffineAnimTable, sub_80D3838 - - .align 2 -gBattleAnimSpriteTemplate_83D9360:: @ 83D9360 - spr_template 10155, 10155, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D4044 - - .align 2 -gSpriteTemplate_83D9378:: @ 83D9378 - spr_template 10268, 10268, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D452C - - .align 2 -gSpriteAnim_83D9390:: @ 83D9390 - obj_image_anim_frame 8, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83D9398:: @ 83D9398 - obj_image_anim_frame 9, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83D93A0:: @ 83D93A0 - obj_image_anim_frame 4, 1 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83D93A8:: @ 83D93A8 - .4byte gSpriteAnim_83D9390 - .4byte gSpriteAnim_83D9398 - - .align 2 -gSpriteAnimTable_83D93B0:: @ 83D93B0 - .4byte gSpriteAnim_83D93A0 - - .align 2 -gSpriteAffineAnim_83D93B4:: @ 83D93B4 - obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 - obj_rot_scal_anim_frame 0xFFF6, 0xFFF6, 0, 15 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83D93CC:: @ 83D93CC - obj_rot_scal_anim_frame 0xE0, 0xE0, 0, 0 - obj_rot_scal_anim_frame 0xFFF8, 0xFFF8, 0, 15 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83D93E4:: @ 83D93E4 - obj_rot_scal_anim_frame 0x150, 0x150, 0, 0 - obj_rot_scal_anim_frame 0x0, 0x0, 0, 15 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_83D93FC:: @ 83D93FC - .4byte gSpriteAffineAnim_83D93B4 - .4byte gSpriteAffineAnim_83D93CC - - .align 2 -gSpriteAffineAnimTable_83D9404:: @ 83D9404 - .4byte gSpriteAffineAnim_83D93E4 - - .align 2 -gBattleAnimSpriteTemplate_83D9408:: @ 83D9408 - spr_template 10155, 10155, gOamData_837DF24, gSpriteAnimTable_83D93A8, NULL, gDummySpriteAffineAnimTable, sub_80D4BF0 - - .align 2 -gSpriteTemplate_83D9420:: @ 83D9420 - spr_template 10155, 10155, gOamData_837DF84, gSpriteAnimTable_83D93A8, NULL, gSpriteAffineAnimTable_83D93FC, sub_80D4C64 - - .align 2 -gBattleAnimSpriteTemplate_83D9438:: @ 83D9438 - spr_template 10155, 10155, gOamData_837DF8C, gSpriteAnimTable_83D93B0, NULL, gSpriteAffineAnimTable_83D9404, sub_807A9BC - - .align 2 -gSpriteAnim_83D9450:: @ 83D9450 - obj_image_anim_frame 16, 4 - obj_image_anim_frame 32, 4 - obj_image_anim_frame 48, 4 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnim_83D9460:: @ 83D9460 - obj_image_anim_frame 16, 4, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 32, 4, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 48, 4, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_jump 0 - - .align 2 -gSpriteAnimTable_83D9470:: @ 83D9470 - .4byte gSpriteAnim_83D9450 - .4byte gSpriteAnim_83D9460 - - .align 2 -gBattleAnimSpriteTemplate_83D9478:: @ 83D9478 - spr_template 10029, 10029, gOamData_837DF34, gSpriteAnimTable_83D9470, NULL, gDummySpriteAffineAnimTable, sub_80D4ED8 - - .align 2 -gBattleAnimSpriteTemplate_83D9490:: @ 83D9490 - spr_template 10029, 10029, gOamData_837DF34, gSpriteAnimTable_83D9470, NULL, gDummySpriteAffineAnimTable, sub_80D4F18 - - .align 2 -gSpriteAnim_83D94A8:: @ 83D94A8 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 16, 3 - obj_image_anim_frame 32, 3 - obj_image_anim_frame 48, 3 - obj_image_anim_frame 64, 3 - obj_image_anim_frame 80, 3 - obj_image_anim_frame 96, 3 - obj_image_anim_frame 112, 3 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnimTable_83D94CC:: @ 83D94CC - .4byte gSpriteAnim_83D94A8 - - .align 2 -gSpriteAnim_83D94D0:: @ 83D94D0 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 16, 5 - obj_image_anim_frame 32, 5 - obj_image_anim_frame 48, 5 - obj_image_anim_frame 64, 5 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnimTable_83D94E8:: @ 83D94E8 - .4byte gSpriteAnim_83D94D0 - - .align 2 -gSpriteAffineAnim_83D94EC:: @ 83D94EC - obj_rot_scal_anim_frame 0x32, 0x100, 0, 0 - obj_rot_scal_anim_frame 0x20, 0x0, 0, 7 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_83D9504:: @ 83D9504 - .4byte gSpriteAffineAnim_83D94EC - - .align 2 -gBattleAnimSpriteTemplate_83D9508:: @ 83D9508 - spr_template 10033, 10033, gOamData_837DF94, gSpriteAnimTable_83D94CC, NULL, gSpriteAffineAnimTable_83D9504, sub_80D4FCC - - .align 2 -gBattleAnimSpriteTemplate_83D9520:: @ 83D9520 - spr_template 10033, 10033, gOamData_837DF34, gSpriteAnimTable_83D94CC, NULL, gDummySpriteAffineAnimTable, sub_80D4FCC - - .align 2 -gBattleAnimSpriteTemplate_83D9538:: @ 83D9538 - spr_template 10035, 10035, gOamData_837DF34, gSpriteAnimTable_83D94E8, NULL, gDummySpriteAffineAnimTable, sub_80D4F5C - - .align 2 -gSpriteTemplate_83D9550:: @ 83D9550 - spr_template 10029, 10029, gOamData_837DF34, gSpriteAnimTable_83D94E8, NULL, gDummySpriteAffineAnimTable, sub_80D4F5C - - .align 2 -gSpriteAnim_83D9568:: @ 83D9568 - obj_image_anim_frame 16, 6 - obj_image_anim_frame 32, 6 - obj_image_anim_frame 48, 6 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnimTable_83D9578:: @ 83D9578 - .4byte gSpriteAnim_83D9568 - - .align 2 -gSpriteTemplate_83D957C:: @ 83D957C - spr_template 10029, 10029, gOamData_837DF34, gSpriteAnimTable_83D9578, NULL, gDummySpriteAffineAnimTable, sub_80D5074 - - .align 2 -gSpriteAffineAnim_83D9594:: @ 83D9594 - obj_rot_scal_anim_frame 0x50, 0x50, 0, 0 - obj_rot_scal_anim_frame 0x2, 0x2, 10, 1 - obj_rot_scal_anim_jump 1 - - .align 2 -gSpriteAffineAnimTable_83D95AC:: @ 83D95AC - .4byte gSpriteAffineAnim_83D9594 - - .align 2 -gBattleAnimSpriteTemplate_83D95B0:: @ 83D95B0 - spr_template 10157, 10157, gOamData_837E0B4, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D95AC, sub_80D517C - - .align 2 -gSpriteAnim_83D95C8:: @ 83D95C8 - obj_image_anim_frame 0, 4 - obj_image_anim_frame 16, 4 - obj_image_anim_frame 32, 4 - obj_image_anim_frame 48, 4 - obj_image_anim_frame 64, 4 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnimTable_83D95E0:: @ 83D95E0 - .4byte gSpriteAnim_83D95C8 - - .align 2 -gBattleAnimSpriteTemplate_83D95E4:: @ 83D95E4 - spr_template 10029, 10029, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_807941C - - .align 2 -gBattleAnimSpriteTemplate_83D95FC:: @ 83D95FC - spr_template 10029, 10029, gOamData_837DF34, gSpriteAnimTable_83D95E0, NULL, gDummySpriteAffineAnimTable, sub_80D51A8 - - .align 2 -gBattleAnimSpriteTemplate_83D9614:: @ 83D9614 - spr_template 10029, 10029, gOamData_837DF34, gSpriteAnimTable_83D95E0, NULL, gDummySpriteAffineAnimTable, sub_80D5210 - - .align 2 -gBattleAnimSpriteTemplate_83D962C:: @ 83D962C - spr_template 10029, 10029, gOamData_837DF34, gSpriteAnimTable_83D95E0, NULL, gDummySpriteAffineAnimTable, sub_80D522C - - .align 2 -gSpriteAnim_83D9644:: @ 83D9644 - obj_image_anim_frame 32, 6 - obj_image_anim_frame 48, 6 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnimTable_83D9650:: @ 83D9650 - .4byte gSpriteAnim_83D9644 - - .align 2 -gSpriteAffineAnim_83D9654:: @ 83D9654 - obj_rot_scal_anim_frame 0x0, 0x0, 0, 1 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83D9664:: @ 83D9664 - obj_rot_scal_anim_frame 0xA0, 0xA0, 0, 0 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_83D9674:: @ 83D9674 - .4byte gSpriteAffineAnim_83D9654 - .4byte gSpriteAffineAnim_83D9664 - - .align 2 -gBattleAnimSpriteTemplate_83D967C:: @ 83D967C - spr_template 10029, 10029, gOamData_837DF34, gSpriteAnimTable_83D9650, NULL, gDummySpriteAffineAnimTable, sub_80D5374 - - .align 2 -gBattleAnimSpriteTemplate_83D9694:: @ 83D9694 - spr_template 10029, 10029, gOamData_837DF34, gSpriteAnimTable_83D95E0, NULL, gDummySpriteAffineAnimTable, sub_80D53B4 - - .align 2 -gBattleAnimSpriteTemplate_83D96AC:: @ 83D96AC - spr_template 10029, 10029, gOamData_837DF34, gSpriteAnimTable_83D95E0, NULL, gDummySpriteAffineAnimTable, sub_807A9BC - - .align 2 -gSpriteTemplate_83D96C4:: @ 83D96C4 - spr_template 10201, 10201, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D58FC - - .align 1 -gUnknown_083D96DC:: @ 83D96DC - .2byte -2, -5 - .2byte -1, -1 - .2byte 3, -6 - .2byte 4, -2 - .2byte 2, -8 - .2byte -5, -5 - .2byte 4, -7 - - .align 2 -gBattleAnimSpriteTemplate_83D96F8:: @ 83D96F8 - spr_template 10201, 10201, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D5A20 - - .align 2 -gSpriteAnim_83D9710:: @ 83D9710 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 4, 5 - obj_image_anim_frame 8, 5 - obj_image_anim_frame 12, 5 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnim_83D9724:: @ 83D9724 - obj_image_anim_frame 16, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83D972C:: @ 83D972C - obj_image_anim_frame 20, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83D9734:: @ 83D9734 - obj_image_anim_frame 20, 5 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83D973C:: @ 83D973C - .4byte gSpriteAnim_83D9710 - .4byte gSpriteAnim_83D9724 - .4byte gSpriteAnim_83D972C - .4byte gSpriteAnim_83D9734 - - .align 2 -gBattleAnimSpriteTemplate_83D974C:: @ 83D974C - spr_template 10231, 10231, gOamData_837DF2C, gSpriteAnimTable_83D973C, NULL, gDummySpriteAffineAnimTable, sub_80D5B0C - - .align 2 -gSpriteAnim_83D9764:: @ 83D9764 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 16, 5 - obj_image_anim_frame 32, 5 - obj_image_anim_frame 48, 5 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnimTable_83D9778:: @ 83D9778 - .4byte gSpriteAnim_83D9764 - - .align 2 -gBattleAnimSpriteTemplate_83D977C:: @ 83D977C - spr_template 10232, 10232, gOamData_837DF34, gSpriteAnimTable_83D9778, NULL, gDummySpriteAffineAnimTable, sub_80D5CC0 - - .align 2 -gUnknown_083D9794:: @ 83D9794 - .incbin "baserom.gba", 0x003d9794, 0x10 - -gUnknown_083D97A4:: @ 83D97A4 - .incbin "baserom.gba", 0x003d97a4, 0x10 - - .align 2 -gSpriteAnim_83D97B4:: @ 83D97B4 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 16, 5 - obj_image_anim_frame 32, 8 - obj_image_anim_frame 48, 5 - obj_image_anim_frame 64, 5 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83D97CC:: @ 83D97CC - .4byte gSpriteAnim_83D97B4 - - .align 2 -gBattleAnimSpriteTemplate_83D97D0:: @ 83D97D0 - spr_template 10037, 10037, gOamData_837DF34, gSpriteAnimTable_83D97CC, NULL, gDummySpriteAffineAnimTable, sub_80D61C8 - - .align 2 -gSpriteAffineAnim_83D97E8:: @ 83D97E8 - obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 - obj_rot_scal_anim_frame 0x0, 0x0, 0, 20 - obj_rot_scal_anim_frame 0x0, 0x0, -16, 60 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_83D9808:: @ 83D9808 - .4byte gSpriteAffineAnim_83D97E8 - - .align 2 -gSpriteTemplate_83D980C:: @ 83D980C - spr_template 10143, 10143, gOamData_837DF94, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D9808, sub_80D6234 - - .align 2 -gSpriteAnim_83D9824:: @ 83D9824 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 16, 5 - obj_image_anim_frame 32, 5 - obj_image_anim_frame 48, 5 - obj_image_anim_frame 64, 5 - obj_image_anim_frame 80, 5 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnimTable_83D9840:: @ 83D9840 - .4byte gSpriteAnim_83D9824 - - .align 2 -gSpriteTemplate_83D9844:: @ 83D9844 - spr_template 10079, 10079, gOamData_837DF34, gSpriteAnimTable_83D9840, NULL, gDummySpriteAffineAnimTable, sub_80D6294 - - .align 2 -gBattleAnimSpriteTemplate_83D985C:: @ 83D985C - spr_template 10011, 10011, gOamData_837DF8C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D6328 - - .align 2 -gBattleAnimSpriteTemplate_83D9874:: @ 83D9874 - spr_template 10171, 10171, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_807941C - - .align 2 -gSpriteAffineAnim_83D988C:: @ 83D988C - obj_rot_scal_anim_frame 0x0, 0x0, 20, 1 - obj_rot_scal_anim_jump 0 - - .align 2 -gSpriteAffineAnimTable_83D989C:: @ 83D989C - .4byte gSpriteAffineAnim_83D988C - - .align 2 -gBattleAnimSpriteTemplate_83D98A0:: @ 83D98A0 - spr_template 10011, 10011, gOamData_837DF8C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D989C, sub_80D648C - - .align 2 -gSpriteAnim_83D98B8:: @ 83D98B8 - obj_image_anim_frame 0, 6 - obj_image_anim_frame 16, 6 - obj_image_anim_frame 32, 6 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnimTable_83D98C8:: @ 83D98C8 - .4byte gSpriteAnim_83D98B8 - - .align 2 -gSpriteAffineAnim_83D98CC:: @ 83D98CC - obj_rot_scal_anim_frame 0xE8, 0xE8, 0, 0 - obj_rot_scal_anim_frame 0xFFF8, 0xFFF8, 0, 10 - obj_rot_scal_anim_frame 0x8, 0x8, 0, 10 - obj_rot_scal_anim_jump 1 - - .align 2 -gSpriteAffineAnimTable_83D98EC:: @ 83D98EC - .4byte gSpriteAffineAnim_83D98CC - - .align 2 -gBattleAnimSpriteTemplate_83D98F0:: @ 83D98F0 - spr_template 10282, 10282, gOamData_837DF94, gSpriteAnimTable_83D98C8, NULL, gSpriteAffineAnimTable_83D98EC, sub_80D65DC - - .align 2 -gBattleAnimSpriteTemplate_83D9908:: @ 83D9908 - spr_template 10011, 10011, gOamData_837DF8C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D989C, sub_80D6658 - - .align 2 -gBattleAnimSpriteTemplate_83D9920:: @ 83D9920 - spr_template 10011, 10011, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D679C - - .align 2 -gSpriteTemplate_83D9938:: @ 83D9938 - spr_template 10001, 10001, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D6A1C - - .align 2 -gBattleAnimSpriteTemplate_83D9950:: @ 83D9950 - spr_template 10173, 10173, gOamData_837DF54, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D6A6C - - .align 2 -gUnknown_083D9968:: @ 83D9968 - .incbin "baserom.gba", 0x003d9968, 0x20 - - .align 2 -gSpriteAnim_83D9988:: @ 83D9988 - obj_image_anim_frame 3, 1 - obj_image_anim_frame 2, 1 - obj_image_anim_frame 1, 1 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83D999C:: @ 83D999C - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 2, 5 - obj_image_anim_frame 3, 5 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83D99B0:: @ 83D99B0 - .4byte gSpriteAnim_83D9988 - .4byte gSpriteAnim_83D999C - - .align 2 -gSpriteTemplate_83D99B8:: @ 83D99B8 - spr_template 10211, 10211, gOamData_837DF24, gSpriteAnimTable_83D99B0, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteAffineAnim_83D99D0:: @ 83D99D0 - obj_rot_scal_anim_frame 0x10, 0x10, 0, 0 - obj_rot_scal_anim_frame 0x4, 0x4, 0, 60 - obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 - obj_rot_scal_anim_loop 0 - obj_rot_scal_anim_frame 0xFFFC, 0xFFFC, 0, 5 - obj_rot_scal_anim_frame 0x4, 0x4, 0, 5 - obj_rot_scal_anim_loop 10 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83D9A10:: @ 83D9A10 - obj_rot_scal_anim_frame 0x10, 0x10, 0, 0 - obj_rot_scal_anim_frame 0x8, 0x8, 0, 30 - obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 - obj_rot_scal_anim_frame 0xFFFC, 0xFFFC, 0, 5 - obj_rot_scal_anim_frame 0x4, 0x4, 0, 5 - obj_rot_scal_anim_jump 3 - - .align 2 -gSpriteAffineAnim_83D9A40:: @ 83D9A40 - obj_rot_scal_anim_frame 0x10, 0x10, 0, 0 - obj_rot_scal_anim_frame 0x8, 0x8, 0, 30 - obj_rot_scal_anim_frame 0xFFF8, 0xFFF8, 0, 30 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_83D9A60:: @ 83D9A60 - .4byte gSpriteAffineAnim_83D99D0 - .4byte gSpriteAffineAnim_83D9A10 - .4byte gSpriteAffineAnim_83D9A40 - - .align 2 -gBattleAnimSpriteTemplate_83D9A6C:: @ 83D9A6C - spr_template 10212, 10212, gOamData_837E0BC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D9A60, sub_80D6D18 - - .align 2 -gSpriteAnim_83D9A84:: @ 83D9A84 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 16, 3 - obj_image_anim_frame 32, 3 - obj_image_anim_frame 48, 3 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83D9A98:: @ 83D9A98 - .4byte gSpriteAnim_83D9A84 - - .align 2 -gBattleAnimSpriteTemplate_83D9A9C:: @ 83D9A9C - spr_template 10213, 10213, gOamData_837DF34, gSpriteAnimTable_83D9A98, NULL, gDummySpriteAffineAnimTable, sub_80D6D70 - - .align 2 -gBattleAnimSpriteTemplate_83D9AB4:: @ 83D9AB4 - spr_template 10212, 10212, gOamData_837E0BC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D9A60, sub_80D6DD8 - - .align 2 -gSpriteAnim_83D9ACC:: @ 83D9ACC - obj_image_anim_frame 0, 3 - obj_image_anim_end - - .align 2 -gSpriteAnim_83D9AD4:: @ 83D9AD4 - obj_image_anim_frame 2, 3 - obj_image_anim_end - - .align 2 -gSpriteAnim_83D9ADC:: @ 83D9ADC - obj_image_anim_frame 4, 3 - obj_image_anim_end - - .align 2 -gSpriteAnim_83D9AE4:: @ 83D9AE4 - obj_image_anim_frame 6, 3 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83D9AEC:: @ 83D9AEC - .4byte gSpriteAnim_83D9ACC - .4byte gSpriteAnim_83D9AD4 - .4byte gSpriteAnim_83D9ADC - .4byte gSpriteAnim_83D9AE4 - - .align 2 -gSpriteAffineAnim_83D9AFC:: @ 83D9AFC - obj_rot_scal_anim_frame 0x100, 0x100, 64, 0 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_83D9B0C:: @ 83D9B0C - .4byte gSpriteAffineAnim_83D9AFC - - .align 2 -gSpriteTemplate_83D9B10:: @ 83D9B10 - spr_template 10001, 10001, gOamData_837E024, gSpriteAnimTable_83D9AEC, NULL, gSpriteAffineAnimTable_83D9B0C, sub_80D7230 - - .align 2 -gBattleAnimSpriteTemplate_83D9B28:: @ 83D9B28 - spr_template 10212, 10212, gOamData_837E0BC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D9A60, sub_80D727C - - .align 2 -gSpriteTemplate_83D9B40:: @ 83D9B40 - spr_template 10001, 10001, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D755C - - .align 2 -gSpriteAnim_83D9B58:: @ 83D9B58 - obj_image_anim_frame 0, 5, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 1, 5, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_jump 0 - - .align 2 -gSpriteAnimTable_83D9B64:: @ 83D9B64 - .4byte gSpriteAnim_83D9B58 - - .align 2 -gSpriteTemplate_83D9B68:: @ 83D9B68 - spr_template 10141, 10141, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D7704 - - .align 2 -gSpriteAnim_83D9B80:: @ 83D9B80 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83D9B88:: @ 83D9B88 - obj_image_anim_frame 4, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83D9B90:: @ 83D9B90 - obj_image_anim_frame 6, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83D9B98:: @ 83D9B98 - obj_image_anim_frame 7, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83D9BA0:: @ 83D9BA0 - obj_image_anim_frame 8, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83D9BA8:: @ 83D9BA8 - obj_image_anim_frame 12, 6 - obj_image_anim_frame 13, 6 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnimTable_83D9BB4:: @ 83D9BB4 - .4byte gSpriteAnim_83D9B80 - - .align 2 -gSpriteAnimTable_83D9BB8:: @ 83D9BB8 - .4byte gSpriteAnim_83D9B88 - - .align 2 -gSpriteAnimTable_83D9BBC:: @ 83D9BBC - .4byte gSpriteAnim_83D9B90 - - .align 2 -gSpriteAnimTable_83D9BC0:: @ 83D9BC0 - .4byte gSpriteAnim_83D9B98 - - .align 2 -gSpriteAnimTable_83D9BC4:: @ 83D9BC4 - .4byte gSpriteAnim_83D9BA0 - - .align 2 -gSpriteAnimTable_83D9BC8:: @ 83D9BC8 - .4byte gSpriteAnim_83D9BA8 - - .align 2 -gSpriteAffineAnim_83D9BCC:: @ 83D9BCC - obj_rot_scal_anim_frame 0x0, 0x0, 40, 1 - obj_rot_scal_anim_jump 0 - - .align 2 -gSpriteAffineAnimTable_83D9BDC:: @ 83D9BDC - .4byte gSpriteAffineAnim_83D9BCC - - .align 2 -gBattleAnimSpriteTemplate_83D9BE0:: @ 83D9BE0 - spr_template 10141, 10141, gOamData_837E144, gSpriteAnimTable_83D9BB8, NULL, gSpriteAffineAnimTable_83D9BDC, sub_80D78EC - - .align 2 -gBattleAnimSpriteTemplate_83D9BF8:: @ 83D9BF8 - spr_template 10141, 10141, gOamData_837E044, gSpriteAnimTable_83D9BBC, NULL, gDummySpriteAffineAnimTable, sub_80D78EC - - .align 2 -gSpriteAffineAnim_83D9C10:: @ 83D9C10 - obj_rot_scal_anim_frame 0x0, 0x0, 10, 1 - obj_rot_scal_anim_jump 0 - - .align 2 -gSpriteAffineAnimTable_83D9C20:: @ 83D9C20 - .4byte gSpriteAffineAnim_83D9C10 - - .align 2 -gBattleAnimSpriteTemplate_83D9C24:: @ 83D9C24 - spr_template 10141, 10141, gOamData_837E0E4, gSpriteAnimTable_83D9BB8, NULL, gSpriteAffineAnimTable_83D9C20, sub_80D792C - - .align 2 -gBattleAnimSpriteTemplate_83D9C3C:: @ 83D9C3C - spr_template 10141, 10141, gOamData_837E044, gSpriteAnimTable_83D9BBC, NULL, gDummySpriteAffineAnimTable, sub_80D792C - - .align 2 -gSpriteAffineAnim_83D9C54:: @ 83D9C54 - obj_rot_scal_anim_frame 0xCE, 0xCE, 0, 0 - obj_rot_scal_anim_frame 0x5, 0x5, 0, 10 - obj_rot_scal_anim_frame 0x0, 0x0, 0, 6 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_83D9C74:: @ 83D9C74 - .4byte gSpriteAffineAnim_83D9C54 - - .align 2 -gBattleAnimSpriteTemplate_83D9C78:: @ 83D9C78 - spr_template 10141, 10141, gOamData_837E0E4, gSpriteAnimTable_83D9BB8, NULL, gSpriteAffineAnimTable_83D9C74, sub_80D79B4 - - .align 2 -gBattleAnimSpriteTemplate_83D9C90:: @ 83D9C90 - spr_template 10141, 10141, gOamData_837E0A4, gSpriteAnimTable_83D9BBC, NULL, gSpriteAffineAnimTable_83D9C74, sub_80D79B4 - - .align 2 -gBattleAnimSpriteTemplate_83D9CA8:: @ 83D9CA8 - spr_template 10141, 10141, gOamData_837DF24, gSpriteAnimTable_83D9BC0, NULL, gDummySpriteAffineAnimTable, sub_80D7A64 - - .align 2 -gBattleAnimSpriteTemplate_83D9CC0:: @ 83D9CC0 - spr_template 10141, 10141, gOamData_837DF2C, gSpriteAnimTable_83D9BC4, NULL, gDummySpriteAffineAnimTable, sub_80D7CD4 - - .align 2 -gBattleAnimSpriteTemplate_83D9CD8:: @ 83D9CD8 - spr_template 10141, 10141, gOamData_837DF24, gSpriteAnimTable_83D9BC0, NULL, gDummySpriteAffineAnimTable, sub_80D7CD4 - - .align 2 -gSpriteAnim_83D9CF0:: @ 83D9CF0 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 2, 5 - obj_image_anim_frame 4, 5 - obj_image_anim_frame 6, 5 - obj_image_anim_frame 4, 5 - obj_image_anim_frame 2, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83D9D10:: @ 83D9D10 - .4byte gSpriteAnim_83D9CF0 - - .align 2 -gBattleAnimSpriteTemplate_83D9D14:: @ 83D9D14 - spr_template 10142, 10142, gOamData_837E084, gSpriteAnimTable_83D9D10, NULL, gDummySpriteAffineAnimTable, sub_80D7E88 - - .align 2 -gSpriteAnim_83D9D2C:: @ 83D9D2C - obj_image_anim_frame 0, 8 - obj_image_anim_frame 8, 8 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnimTable_83D9D38:: @ 83D9D38 - .4byte gSpriteAnim_83D9D2C - - .align 2 -gBattleAnimSpriteTemplate_83D9D3C:: @ 83D9D3C - spr_template 10144, 10144, gOamData_837E074, gSpriteAnimTable_83D9D38, NULL, gDummySpriteAffineAnimTable, sub_80D7F10 - - .align 2 -gBattleAnimSpriteTemplate_83D9D54:: @ 83D9D54 - spr_template 10172, 10172, gOamData_837E074, gSpriteAnimTable_83D9D38, NULL, gDummySpriteAffineAnimTable, sub_80D7F10 - - .align 2 -gUnknown_083D9D6C:: @ 83D9D6C - .incbin "baserom.gba", 0x003d9d6c, 0x14 - - .align 2 -gBattleAnimSpriteTemplate_83D9D80:: @ 83D9D80 - spr_template 10155, 10155, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D83E0 - - .align 2 -gUnknown_083D9D98:: @ 83D9D98 - .incbin "baserom.gba", 0x003d9d98, 0x14 - - .align 2 -gBattleAnimSpriteTemplate_83D9DAC:: @ 83D9DAC - spr_template 10172, 10172, gOamData_837E074, gSpriteAnimTable_83D9D38, NULL, gDummySpriteAffineAnimTable, sub_80D8700 - - .align 2 -gUnknown_083D9DC4:: @ 83D9DC4 - .incbin "baserom.gba", 0x003d9dc4, 0x28 - - .align 2 -gSpriteAffineAnim_83D9DEC:: @ 83D9DEC - obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83D9DFC:: @ 83D9DFC - obj_rot_scal_anim_frame 0xF0, 0xF0, 0, 0 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83D9E0C:: @ 83D9E0C - obj_rot_scal_anim_frame 0xE0, 0xE0, 0, 0 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83D9E1C:: @ 83D9E1C - obj_rot_scal_anim_frame 0x150, 0x150, 0, 0 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_83D9E2C:: @ 83D9E2C - .4byte gSpriteAffineAnim_83D9DEC - .4byte gSpriteAffineAnim_83D9DFC - .4byte gSpriteAffineAnim_83D9E0C - - .align 2 -gSpriteAffineAnimTable_83D9E38:: @ 83D9E38 - .4byte gSpriteAffineAnim_83D9E1C - - .align 2 -gSpriteTemplate_83D9E3C:: @ 83D9E3C - spr_template 10263, 10263, gOamData_837DF8C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D9E2C, sub_80D8D1C - - .align 2 -gBattleAnimSpriteTemplate_83D9E54:: @ 83D9E54 - spr_template 10263, 10263, gOamData_837DF8C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D9E38, sub_807A9BC - - .align 2 -gSpriteAnim_83D9E6C:: @ 83D9E6C - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83D9E74:: @ 83D9E74 - obj_image_anim_frame 16, 4 - obj_image_anim_frame 32, 4 - obj_image_anim_frame 48, 4 - obj_image_anim_frame 64, 4 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83D9E88:: @ 83D9E88 - .4byte gSpriteAnim_83D9E6C - .4byte gSpriteAnim_83D9E74 - - .align 2 -gSpriteAffineAnim_83D9E90:: @ 83D9E90 - obj_rot_scal_anim_frame 0xE0, 0xE0, 0, 0 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83D9EA0:: @ 83D9EA0 - obj_rot_scal_anim_frame 0x118, 0x118, 0, 0 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83D9EB0:: @ 83D9EB0 - obj_rot_scal_anim_frame 0x150, 0x150, 0, 0 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83D9EC0:: @ 83D9EC0 - obj_rot_scal_anim_frame 0x180, 0x180, 0, 0 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83D9ED0:: @ 83D9ED0 - obj_rot_scal_anim_frame 0x1C0, 0x1C0, 0, 0 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_83D9EE0:: @ 83D9EE0 - .4byte gSpriteAffineAnim_83D9E90 - .4byte gSpriteAffineAnim_83D9EA0 - .4byte gSpriteAffineAnim_83D9EB0 - .4byte gSpriteAffineAnim_83D9EC0 - .4byte gSpriteAffineAnim_83D9ED0 - - .align 2 -gBattleAnimSpriteTemplate_83D9EF4:: @ 83D9EF4 - spr_template 10043, 10043, gOamData_837DFF4, gSpriteAnimTable_83D9E88, NULL, gSpriteAffineAnimTable_83D9EE0, unc_080B06FC - - .align 2 -gBattleAnimSpriteTemplate_83D9F0C:: @ 83D9F0C - spr_template 10141, 10141, gOamData_837DF24, gSpriteAnimTable_83D9BBC, NULL, gDummySpriteAffineAnimTable, sub_80D8F10 - - .align 2 -gSpriteTemplate_83D9F24:: @ 83D9F24 - spr_template 10050, 10050, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, unc_080B08A0 - - .align 2 -gSpriteAnim_83D9F3C:: @ 83D9F3C - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83D9F44:: @ 83D9F44 - obj_image_anim_frame 16, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83D9F4C:: @ 83D9F4C - obj_image_anim_frame 32, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83D9F54:: @ 83D9F54 - obj_image_anim_frame 48, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83D9F5C:: @ 83D9F5C - obj_image_anim_frame 48, 1, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83D9F64:: @ 83D9F64 - .4byte gSpriteAnim_83D9F3C - - .align 2 -gSpriteAnimTable_83D9F68:: @ 83D9F68 - .4byte gSpriteAnim_83D9F44 - .4byte gSpriteAnim_83D9F4C - - .align 2 -gSpriteAnimTable_83D9F70:: @ 83D9F70 - .4byte gSpriteAnim_83D9F54 - .4byte gSpriteAnim_83D9F5C - - .align 2 -gBattleAnimSpriteTemplate_83D9F78:: @ 83D9F78 - spr_template 10143, 10143, gOamData_837DF34, gSpriteAnimTable_83D9F64, NULL, gDummySpriteAffineAnimTable, sub_80D902C - - .align 2 -gBattleAnimSpriteTemplate_83D9F90:: @ 83D9F90 - spr_template 10143, 10143, gOamData_837DF34, gSpriteAnimTable_83D9F64, NULL, gDummySpriteAffineAnimTable, sub_80D9078 - - .align 2 -gBattleAnimSpriteTemplate_83D9FA8:: @ 83D9FA8 - spr_template 10143, 10143, gOamData_837DF34, gSpriteAnimTable_83D9F64, NULL, gDummySpriteAffineAnimTable, sub_80D90A4 - - .align 2 -gBattleAnimSpriteTemplate_83D9FC0:: @ 83D9FC0 - spr_template 10143, 10143, gOamData_837DF34, gSpriteAnimTable_83D9F64, NULL, gDummySpriteAffineAnimTable, sub_80D90F4 - - .align 2 -gBattleAnimSpriteTemplate_83D9FD8:: @ 83D9FD8 - spr_template 10143, 10143, gOamData_837DF34, gSpriteAnimTable_83D9F70, NULL, gDummySpriteAffineAnimTable, sub_80D92D0 - - .align 2 -gBattleAnimSpriteTemplate_83D9FF0:: @ 83D9FF0 - spr_template 10143, 10143, gOamData_837DF34, gSpriteAnimTable_83D9F68, NULL, gDummySpriteAffineAnimTable, sub_80D9378 - - .align 2 -gSpriteAffineAnim_83DA008:: @ 83DA008 - obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 - obj_rot_scal_anim_frame 0xFFF8, 0xFFF8, 20, 1 - obj_rot_scal_anim_jump 1 - - .align 2 -gSpriteAffineAnimTable_83DA020:: @ 83DA020 - .4byte gSpriteAffineAnim_83DA008 - - .align 2 -gBattleAnimSpriteTemplate_83DA024:: @ 83DA024 - spr_template 10143, 10143, gOamData_837DFF4, gSpriteAnimTable_83D9F64, NULL, gSpriteAffineAnimTable_83DA020, sub_80D943C - - .align 2 -gSpriteAffineAnim_83DA03C:: @ 83DA03C - obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 - obj_rot_scal_anim_frame 0xFFFC, 0xFFFC, 20, 1 - obj_rot_scal_anim_jump 1 - - .align 2 -gSpriteAffineAnimTable_83DA054:: @ 83DA054 - .4byte gSpriteAffineAnim_83DA03C - - .align 2 -gBattleAnimSpriteTemplate_83DA058:: @ 83DA058 - spr_template 10143, 10143, gOamData_837DFF4, gSpriteAnimTable_83D9F64, NULL, gSpriteAffineAnimTable_83DA054, sub_80D943C - - .align 2 -gBattleAnimSpriteTemplate_83DA070:: @ 83DA070 - spr_template 10143, 10143, gOamData_837DF34, gSpriteAnimTable_83D9F68, NULL, gDummySpriteAffineAnimTable, sub_80D94A8 - - .align 2 -gBattleAnimSpriteTemplate_83DA088:: @ 83DA088 - spr_template 10073, 10073, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D9540 - - .align 2 -gBattleAnimSpriteTemplate_83DA0A0:: @ 83DA0A0 - spr_template 10167, 10167, gOamData_837E05C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D95D0 - - .align 2 -gBattleAnimSpriteTemplate_83DA0B8:: @ 83DA0B8 - spr_template 10208, 10208, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D96B8 - - .align 2 -gSpriteAffineAnim_83DA0D0:: @ 83DA0D0 - obj_rot_scal_anim_frame 0x20, 0x20, 0, 0 - obj_rot_scal_anim_frame 0x4, 0x4, 0, 64 - obj_rot_scal_anim_frame 0xFFFA, 0xFFFA, 0, 8 - obj_rot_scal_anim_frame 0x6, 0x6, 0, 8 - obj_rot_scal_anim_jump 2 - - .align 2 -gSpriteAffineAnimTable_83DA0F8:: @ 83DA0F8 - .4byte gSpriteAffineAnim_83DA0D0 - - .align 2 -gBattleAnimSpriteTemplate_83DA0FC:: @ 83DA0FC - spr_template 10212, 10212, gOamData_837E11C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DA0F8, sub_80D97CC - - .align 2 -gBattleAnimSpriteTemplate_83DA114:: @ 83DA114 - spr_template 10257, 10257, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D98D8 - - .align 2 -gBattleAnimSpriteTemplate_83DA12C:: @ 83DA12C - spr_template 10256, 10256, gOamData_837DF3C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D9A38 - - .align 2 -gBattleAnimSpriteTemplate_83DA144:: @ 83DA144 - spr_template 10143, 10143, gOamData_837DF34, gSpriteAnimTable_83D9F64, NULL, gDummySpriteAffineAnimTable, sub_80D9B48 - - .align 2 -gSpriteAnim_83DA15C:: @ 83DA15C - obj_image_anim_frame 0, 4 - obj_image_anim_frame 16, 4 - obj_image_anim_frame 32, 4 - obj_image_anim_end - - .align 2 -gSpriteAnim_83DA16C:: @ 83DA16C - obj_image_anim_frame 0, 4, OBJ_IMAGE_ANIM_V_FLIP - obj_image_anim_frame 16, 4, OBJ_IMAGE_ANIM_V_FLIP - obj_image_anim_frame 32, 4, OBJ_IMAGE_ANIM_V_FLIP - obj_image_anim_end - - .align 2 -gSpriteAnim_83DA17C:: @ 83DA17C - obj_image_anim_frame 0, 4, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 16, 4, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 32, 4, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83DA18C:: @ 83DA18C - .4byte gSpriteAnim_83DA15C - .4byte gSpriteAnim_83DA16C - .4byte gSpriteAnim_83DA17C - - .align 2 -gBattleAnimSpriteTemplate_83DA198:: @ 83DA198 - spr_template 10245, 10245, gOamData_837DF34, gSpriteAnimTable_83DA18C, NULL, gDummySpriteAffineAnimTable, sub_80D9BD4 - - .align 2 -gSpriteAnim_83DA1B0:: @ 83DA1B0 - obj_image_anim_frame 0, 6 - obj_image_anim_frame 64, 6 - obj_image_anim_end - - .align 2 -gSpriteAnim_83DA1BC:: @ 83DA1BC - obj_image_anim_frame 0, 6, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 64, 6, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_end - - .align 2 -gSpriteAnim_83DA1C8:: @ 83DA1C8 - obj_image_anim_frame 0, 6, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 64, 6, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83DA1D4:: @ 83DA1D4 - .4byte gSpriteAnim_83DA1B0 - .4byte gSpriteAnim_83DA1BC - .4byte gSpriteAnim_83DA1C8 - - .align 2 -gBattleAnimSpriteTemplate_83DA1E0:: @ 83DA1E0 - spr_template 10246, 10246, gOamData_837DF3C, gSpriteAnimTable_83DA1D4, NULL, gDummySpriteAffineAnimTable, sub_80D9BD4 - - .align 2 -gSpriteAffineAnim_83DA1F8:: @ 83DA1F8 - obj_rot_scal_anim_frame 0x200, 0x200, 0, 0 - obj_rot_scal_anim_frame 0xFFE0, 0xFFE0, 0, 8 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_83DA210:: @ 83DA210 - .4byte gSpriteAffineAnim_83DA1F8 - - .align 2 -gBattleAnimSpriteTemplate_83DA214:: @ 83DA214 - spr_template 10143, 10143, gOamData_837DFF4, gSpriteAnimTable_83D9F64, NULL, gSpriteAffineAnimTable_83DA210, sub_80D9C40 - - .align 2 -gSpriteAnim_83DA22C:: @ 83DA22C - obj_image_anim_frame 0, 5 - obj_image_anim_frame 8, 5 - obj_image_anim_frame 16, 5 - obj_image_anim_frame 24, 5 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83DA240:: @ 83DA240 - .4byte gSpriteAnim_83DA22C - - .align 2 -gBattleAnimSpriteTemplate_83DA244:: @ 83DA244 - spr_template 10151, 10151, gOamData_837DF74, gSpriteAnimTable_83DA240, NULL, gDummySpriteAffineAnimTable, sub_80793C4 - - .align 2 -gSpriteAnim_83DA25C:: @ 83DA25C - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83DA264:: @ 83DA264 - obj_image_anim_frame 4, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83DA26C:: @ 83DA26C - obj_image_anim_frame 8, 1 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83DA274:: @ 83DA274 - .4byte gSpriteAnim_83DA25C - - .align 2 -gSpriteAnimTable_83DA278:: @ 83DA278 - .4byte gSpriteAnim_83DA264 - - .align 2 -gSpriteAnimTable_83DA27C:: @ 83DA27C - .4byte gSpriteAnim_83DA26C - - .align 2 -gSpriteAffineAnim_83DA280:: @ 83DA280 - obj_rot_scal_anim_frame 0x160, 0x160, 0, 0 - obj_rot_scal_anim_frame 0xFFF6, 0xFFF6, 0, 10 - obj_rot_scal_anim_frame 0xA, 0xA, 0, 10 - obj_rot_scal_anim_jump 0 - - .align 2 -gSpriteAffineAnim_83DA2A0:: @ 83DA2A0 - obj_rot_scal_anim_frame 0xEC, 0xEC, 0, 0 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_83DA2B0:: @ 83DA2B0 - .4byte gSpriteAffineAnim_83DA280 - - .align 2 -gSpriteAffineAnimTable_83DA2B4:: @ 83DA2B4 - .4byte gSpriteAffineAnim_83DA2A0 - - .align 2 -gBattleAnimSpriteTemplate_83DA2B8:: @ 83DA2B8 - spr_template 10150, 10150, gOamData_837DFEC, gSpriteAnimTable_83DA274, NULL, gSpriteAffineAnimTable_83DA2B0, sub_80D9D70 - - .align 2 -gBattleAnimSpriteTemplate_83DA2D0:: @ 83DA2D0 - spr_template 10150, 10150, gOamData_837DFEC, gSpriteAnimTable_83DA274, NULL, gSpriteAffineAnimTable_83DA2B0, sub_80D9DF0 - - .align 2 -gBattleAnimSpriteTemplate_83DA2E8:: @ 83DA2E8 - spr_template 10150, 10150, gOamData_837DF8C, gSpriteAnimTable_83DA27C, NULL, gSpriteAffineAnimTable_83DA2B4, sub_80D9E94 - - .align 2 -gSpriteAffineAnim_83DA300:: @ 83DA300 - obj_rot_scal_anim_frame 0xFFF0, 0x10, 0, 6 - obj_rot_scal_anim_frame 0x10, 0xFFF0, 0, 6 - obj_rot_scal_anim_jump 0 - - .align 2 -gSpriteAffineAnimTable_83DA318:: @ 83DA318 - .4byte gSpriteAffineAnim_83DA300 - - .align 2 -gBattleAnimSpriteTemplate_83DA31C:: @ 83DA31C - spr_template 10150, 10150, gOamData_837DFEC, gSpriteAnimTable_83DA278, NULL, gSpriteAffineAnimTable_83DA318, sub_80D9F14 - - .align 2 -gSpriteAffineAnim_83DA334:: @ 83DA334 - obj_rot_scal_anim_frame 0x9C, 0x9C, 0, 0 - obj_rot_scal_anim_frame 0x5, 0x5, 0, 20 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_83DA34C:: @ 83DA34C - .4byte gSpriteAffineAnim_83DA334 - - .align 2 -gBattleAnimSpriteTemplate_83DA350:: @ 83DA350 - spr_template 10150, 10150, gOamData_837DF8C, gSpriteAnimTable_83DA274, NULL, gSpriteAffineAnimTable_83DA34C, sub_80D9F88 - - .align 2 -gBattleAnimSpriteTemplate_83DA368:: @ 83DA368 - spr_template 10155, 10155, gOamData_837E0AC, gSpriteAnimTable_83D9310, NULL, gSpriteAffineAnimTable_83DA34C, sub_80D9F88 - - .align 2 -gBattleAnimSpriteTemplate_83DA380:: @ 83DA380 - spr_template 10009, 10009, gOamData_837DF7C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DA034 - - .align 2 -gSpriteAffineAnim_83DA398:: @ 83DA398 - obj_rot_scal_anim_frame 0x10, 0x100, 0, 0 - obj_rot_scal_anim_frame 0xA, 0x0, 0, 24 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_83DA3B0:: @ 83DA3B0 - .4byte gSpriteAffineAnim_83DA398 - - .align 2 -gBattleAnimSpriteTemplate_83DA3B4:: @ 83DA3B4 - spr_template 10009, 10009, gOamData_837DFDC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DA3B0, sub_80DA16C - - .align 2 -gSpriteAnim_83DA3CC:: @ 83DA3CC - obj_image_anim_frame 0, 3 - obj_image_anim_frame 0, 3, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 0, 3, OBJ_IMAGE_ANIM_V_FLIP - obj_image_anim_frame 0, 3, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_jump 0 - - .align 2 -gSpriteAnimTable_83DA3E0:: @ 83DA3E0 - .4byte gSpriteAnim_83DA3CC - - .align 2 -gBattleAnimSpriteTemplate_83DA3E4:: @ 83DA3E4 - spr_template 10154, 10154, gOamData_837DF54, gSpriteAnimTable_83DA3E0, NULL, gDummySpriteAffineAnimTable, sub_80DA208 - - .align 2 -gSpriteAffineAnim_83DA3FC:: @ 83DA3FC - obj_rot_scal_anim_frame 0x10, 0x100, 0, 0 - obj_rot_scal_anim_frame 0x28, 0x0, 0, 6 - obj_rot_scal_anim_frame 0x0, 0xFFE0, 0, 5 - obj_rot_scal_anim_frame 0xFFF0, 0x20, 0, 10 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_83DA424:: @ 83DA424 - .4byte gSpriteAffineAnim_83DA3FC - - .align 2 -gSpriteAffineAnim_83DA428:: @ 83DA428 - obj_rot_scal_anim_frame 0x0, 0x0, 50, 1 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83DA438:: @ 83DA438 - obj_rot_scal_anim_frame 0x0, 0x0, -40, 1 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_83DA448:: @ 83DA448 - .4byte gSpriteAffineAnim_83DA428 - .4byte gSpriteAffineAnim_83DA438 - - .align 2 -gBattleAnimSpriteTemplate_83DA450:: @ 83DA450 - spr_template 10156, 10156, gOamData_837DFFC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DA424, sub_80DA300 - - .align 2 -gBattleAnimSpriteTemplate_83DA468:: @ 83DA468 - spr_template 10156, 10156, gOamData_837DF9C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DA448, sub_80DA38C - - .align 2 -gSpriteAnim_83DA480:: @ 83DA480 - obj_image_anim_frame 0, 0 - obj_image_anim_end - - .align 2 -gSpriteAnim_83DA488:: @ 83DA488 - obj_image_anim_frame 16, 0, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83DA490:: @ 83DA490 - .4byte gSpriteAnim_83DA480 - .4byte gSpriteAnim_83DA488 - - .align 2 -gBattleAnimSpriteTemplate_83DA498:: @ 83DA498 - spr_template 10270, 10270, gOamData_837DF94, gSpriteAnimTable_83DA490, NULL, gDummySpriteAffineAnimTable, sub_80DA4D8 - - .align 2 - .incbin "baserom.gba", 0x003da4b0, 0x20 - - .align 2 -gSpriteTemplate_83DA4D0:: @ 83DA4D0 - spr_template 10155, 10155, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DAD30 - - .align 2 -gSpriteTemplate_83DA4E8:: @ 83DA4E8 - spr_template 10270, 10270, gOamData_837DF94, gSpriteAnimTable_83DA490, NULL, gDummySpriteAffineAnimTable, sub_80DAD84 - - .align 2 -gSpriteAnim_83DA500:: @ 83DA500 - obj_image_anim_frame 0, 1 - obj_image_anim_frame 8, 1 - obj_image_anim_frame 16, 1 - obj_image_anim_frame 8, 1, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 0, 1, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83DA518:: @ 83DA518 - .4byte gSpriteAnim_83DA500 - - .align 2 -gBattleAnimSpriteTemplate_83DA51C:: @ 83DA51C - spr_template 10162, 10162, gOamData_837DF54, gSpriteAnimTable_83DA518, NULL, gDummySpriteAffineAnimTable, sub_80DB000 - - .align 2 -gSpriteAffineAnim_83DA534:: @ 83DA534 - obj_rot_scal_anim_frame 0x10, 0x100, 0, 0 - obj_rot_scal_anim_frame 0x28, 0x0, 0, 6 - obj_rot_scal_anim_frame 0x0, 0xFFE0, 0, 5 - obj_rot_scal_anim_frame 0xFFEC, 0x0, 0, 7 - obj_rot_scal_anim_frame 0xFFEC, 0xFFEC, 0, 5 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_83DA564:: @ 83DA564 - .4byte gSpriteAffineAnim_83DA534 - - .align 2 -gBattleAnimSpriteTemplate_83DA568:: @ 83DA568 - spr_template 10156, 10156, gOamData_837DFFC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DA564, sub_80DB194 - - .align 2 -gSpriteAffineAnim_83DA580:: @ 83DA580 - obj_rot_scal_anim_frame 0xA0, 0x100, 0, 0 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_83DA590:: @ 83DA590 - .4byte gSpriteAffineAnim_83DA580 - - .align 2 -gBattleAnimSpriteTemplate_83DA594:: @ 83DA594 - spr_template 10156, 10156, gOamData_837DFFC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DA590, sub_80DB1F4 - - .align 2 -gSpriteAffineAnim_83DA5AC:: @ 83DA5AC - obj_rot_scal_anim_frame 0x10, 0x100, 0, 0 - obj_rot_scal_anim_frame 0x28, 0x0, 0, 6 - obj_rot_scal_anim_frame 0x0, 0xFFE0, 0, 5 - obj_rot_scal_anim_frame 0xFFF0, 0x20, 0, 10 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_83DA5D4:: @ 83DA5D4 - .4byte gSpriteAffineAnim_83DA5AC - - .align 2 -gBattleAnimSpriteTemplate_83DA5D8:: @ 83DA5D8 - spr_template 10156, 10156, gOamData_837DFFC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DA5D4, sub_80DB288 - - .align 2 -gSpriteAffineAnim_83DA5F0:: @ 83DA5F0 - obj_rot_scal_anim_frame 0x100, 0x0, 0, 0 - obj_rot_scal_anim_frame 0x0, 0x20, 0, 12 - obj_rot_scal_anim_frame 0x0, 0xFFE0, 0, 11 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_83DA610:: @ 83DA610 - .4byte gSpriteAffineAnim_83DA5F0 - - .align 2 -gBattleAnimSpriteTemplate_83DA614:: @ 83DA614 - spr_template 10272, 10272, gOamData_837DFFC, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DB374 - - .align 2 -gBattleAnimSpriteTemplate_83DA62C:: @ 83DA62C - spr_template 10273, 10273, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DB458 - - .align 2 -gSpriteTemplate_83DA644:: @ 83DA644 - spr_template 10212, 10212, gOamData_837E05C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DB564 - - .align 2 -gBattleAnimSpriteTemplate_83DA65C:: @ 83DA65C - spr_template 10284, 10284, gOamData_837DFFC, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DB5E4 - - .align 2 -gSpriteAffineAnim_83DA674:: @ 83DA674 - obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 - obj_rot_scal_anim_frame 0xFFFE, 0xFFFE, -10, 120 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_83DA68C:: @ 83DA68C - .4byte gSpriteAffineAnim_83DA674 - - .align 2 -gBattleAnimSpriteTemplate_83DA690:: @ 83DA690 - spr_template 10196, 10196, gOamData_837E0BC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DA68C, sub_80793C4 - - .align 2 -gBattleAnimSpriteTemplate_83DA6A8:: @ 83DA6A8 - spr_template 10166, 10166, gOamData_837E05C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DB74C - - .align 2 -gBattleAnimSpriteTemplate_83DA6C0:: @ 83DA6C0 - spr_template 10167, 10167, gOamData_837E05C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DB74C - - .align 2 -gBattleAnimSpriteTemplate_83DA6D8:: @ 83DA6D8 - spr_template 10168, 10168, gOamData_837E05C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DB74C - - .align 2 -gBattleAnimSpriteTemplate_83DA6F0:: @ 83DA6F0 - spr_template 10169, 10169, gOamData_837E05C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DB74C - - .align 2 -gBattleAnimSpriteTemplate_83DA708:: @ 83DA708 - spr_template 10170, 10170, gOamData_837E05C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DB74C - - .align 2 -gSpriteAnim_83DA720:: @ 83DA720 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 16, 3 - obj_image_anim_frame 32, 3 - obj_image_anim_frame 48, 3 - obj_image_anim_frame 64, 3 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83DA738:: @ 83DA738 - .4byte gSpriteAnim_83DA720 - - .align 2 -gBattleAnimSpriteTemplate_83DA73C:: @ 83DA73C - spr_template 10071, 10071, gOamData_837DF34, gSpriteAnimTable_83DA738, NULL, gDummySpriteAffineAnimTable, sub_80DBA4C - - .align 2 -gSpriteAnim_83DA754:: @ 83DA754 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 4, 5 - obj_image_anim_frame 8, 5 - obj_image_anim_frame 12, 5 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83DA768:: @ 83DA768 - .4byte gSpriteAnim_83DA754 - - .align 2 -gBattleAnimSpriteTemplate_83DA76C:: @ 83DA76C - spr_template 10070, 10070, gOamData_837DF2C, gSpriteAnimTable_83DA768, NULL, gDummySpriteAffineAnimTable, sub_80DBA4C - - .align 2 -gBattleAnimSpriteTemplate_83DA784:: @ 83DA784 - spr_template 10163, 10163, gOamData_837DF74, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_807941C - - .align 2 -gSpriteAnim_83DA79C:: @ 83DA79C - obj_image_anim_frame 8, 60, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 16, 5, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 8, 5, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 0, 5, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 8, 22, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_loop 0 - obj_image_anim_frame 16, 5, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 8, 5, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 0, 5, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 8, 5, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_loop 1 - obj_image_anim_frame 8, 22, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 24, 3, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 32, 3, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 40, 22, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_end - - .align 2 -gSpriteAnim_83DA7DC:: @ 83DA7DC - obj_image_anim_frame 8, 60 - obj_image_anim_frame 16, 5 - obj_image_anim_frame 8, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 8, 22 - obj_image_anim_loop 0 - obj_image_anim_frame 16, 5 - obj_image_anim_frame 8, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 8, 5 - obj_image_anim_loop 1 - obj_image_anim_frame 8, 22 - obj_image_anim_frame 24, 3 - obj_image_anim_frame 32, 3 - obj_image_anim_frame 40, 22 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83DA81C:: @ 83DA81C - .4byte gSpriteAnim_83DA79C - .4byte gSpriteAnim_83DA7DC - - .align 2 -gBattleAnimSpriteTemplate_83DA824:: @ 83DA824 - spr_template 10097, 10097, gOamData_837DF74, gSpriteAnimTable_83DA81C, NULL, gDummySpriteAffineAnimTable, sub_80DBAF4 - - .align 2 -gSpriteAnim_83DA83C:: @ 83DA83C - obj_image_anim_frame 0, 6 - obj_image_anim_frame 16, 6 - obj_image_anim_frame 32, 6 - obj_image_anim_frame 48, 6 - obj_image_anim_frame 64, 6 - obj_image_anim_frame 80, 6 - obj_image_anim_frame 96, 18 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83DA85C:: @ 83DA85C - .4byte gSpriteAnim_83DA83C - - .align 2 -Unknown_3DA860:: @ 83DA860 - .incbin "baserom.gba", 0x3da860, 0x28 - - .align 2 -gUnknown_083DA888:: @ 83DA888 - .4byte Unknown_3DA860 - - .align 2 -gBattleAnimSpriteTemplate_83DA88C:: @ 83DA88C - spr_template 10093, 10093, gOamData_837DF34, gSpriteAnimTable_83DA85C, NULL, gDummySpriteAffineAnimTable, sub_80DBB70 - - .align 2 -gUnknown_083DA8A4:: @ 83DA8A4 - .incbin "baserom.gba", 0x003da8a4, 0x20 - -gUnknown_083DA8C4:: @ 83DA8C4 - .incbin "baserom.gba", 0x003da8c4, 0x18 - - .align 2 -gSpriteTemplate_83DA8DC:: @ 83DA8DC - spr_template 10249, 10249, gOamData_837E04C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gBattleAnimSpriteTemplate_83DA8F4:: @ 83DA8F4 - spr_template 10250, 10250, gOamData_837DF3C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DC068 - - .align 2 -gSpriteAffineAnim_83DA90C:: @ 83DA90C - obj_rot_scal_anim_frame 0xFFF8, 0xFFF8, 0, 8 - obj_rot_scal_anim_frame 0x8, 0x8, 0, 8 - obj_rot_scal_anim_jump 0 - - .align 2 -gSpriteAffineAnim_83DA924:: @ 83DA924 - obj_rot_scal_anim_frame 0xF0, 0xF0, 0, 0 - obj_rot_scal_anim_frame 0xFFF8, 0xFFF8, 0, 6 - obj_rot_scal_anim_frame 0x8, 0x8, 0, 8 - obj_rot_scal_anim_frame 0xFFF8, 0xFFF8, 0, 2 - obj_rot_scal_anim_jump 1 - - .align 2 -gSpriteAffineAnim_83DA94C:: @ 83DA94C - obj_rot_scal_anim_frame 0xD0, 0xD0, 0, 0 - obj_rot_scal_anim_frame 0xFFF8, 0xFFF8, 0, 4 - obj_rot_scal_anim_frame 0x8, 0x8, 0, 8 - obj_rot_scal_anim_frame 0xFFF8, 0xFFF8, 0, 4 - obj_rot_scal_anim_jump 1 - - .align 2 -gSpriteAffineAnim_83DA974:: @ 83DA974 - obj_rot_scal_anim_frame 0xB0, 0xB0, 0, 0 - obj_rot_scal_anim_frame 0xFFF8, 0xFFF8, 0, 2 - obj_rot_scal_anim_frame 0x8, 0x8, 0, 8 - obj_rot_scal_anim_frame 0xFFF8, 0xFFF8, 0, 6 - obj_rot_scal_anim_jump 1 - - .align 2 -gSpriteAffineAnimTable_83DA99C:: @ 83DA99C - .4byte gSpriteAffineAnim_83DA90C - .4byte gSpriteAffineAnim_83DA924 - .4byte gSpriteAffineAnim_83DA94C - .4byte gSpriteAffineAnim_83DA974 - - .align 2 -gSpriteTemplate_83DA9AC:: @ 83DA9AC - spr_template 10251, 10251, gOamData_837DF8C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DA99C, sub_80DC2B0 - - .align 2 -gSpriteAffineAnim_83DA9C4:: @ 83DA9C4 - obj_rot_scal_anim_frame 0x20, 0x20, 0, 0 - obj_rot_scal_anim_frame 0x4, 0x4, 0, 120 - obj_rot_scal_anim_end 1 - - .align 2 -gSpriteAffineAnimTable_83DA9DC:: @ 83DA9DC - .4byte gSpriteAffineAnim_83DA9C4 - - .align 2 -gBattleAnimSpriteTemplate_83DA9E0:: @ 83DA9E0 - spr_template 10267, 10267, gOamData_837E11C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DA9DC, sub_80793C4 - - .align 2 -gSpriteAffineAnim_83DA9F8:: @ 83DA9F8 - obj_rot_scal_anim_frame 0x20, 0x20, 0, 0 - obj_rot_scal_anim_frame 0x10, 0x10, 0, 17 - obj_rot_scal_anim_loop 0 - obj_rot_scal_anim_frame 0xFFF8, 0xFFF8, 0, 10 - obj_rot_scal_anim_frame 0x8, 0x8, 0, 10 - obj_rot_scal_anim_loop 4 - obj_rot_scal_anim_loop 0 - obj_rot_scal_anim_frame 0xFFF0, 0xFFF0, 0, 5 - obj_rot_scal_anim_frame 0x10, 0x10, 0, 5 - obj_rot_scal_anim_loop 7 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83DAA50:: @ 83DAA50 - obj_rot_scal_anim_frame 0xFFEC, 0x18, 0, 15 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_83DAA60:: @ 83DAA60 - .4byte gSpriteAffineAnim_83DA9F8 - .4byte gSpriteAffineAnim_83DAA50 - - .align 2 -gBattleAnimSpriteTemplate_83DAA68:: @ 83DAA68 - spr_template 10212, 10212, gOamData_837E11C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DAA60, sub_80DC700 - - .align 2 -gSpriteAffineAnim_83DAA80:: @ 83DAA80 - obj_rot_scal_anim_frame 0x100, 0x100, 30, 0 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83DAA90:: @ 83DAA90 - obj_rot_scal_anim_frame 0x100, 0x100, -99, 0 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83DAAA0:: @ 83DAAA0 - obj_rot_scal_anim_frame 0x100, 0x100, 94, 0 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_83DAAB0:: @ 83DAAB0 - .4byte gSpriteAffineAnim_83DAA80 - .4byte gSpriteAffineAnim_83DAA90 - .4byte gSpriteAffineAnim_83DAAA0 - - .align 2 -gBattleAnimSpriteTemplate_83DAABC:: @ 83DAABC - spr_template 10153, 10153, gOamData_837E014, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DAAB0, sub_80DC824 - - .align 2 -gSpriteAffineAnim_83DAAD4:: @ 83DAAD4 - obj_rot_scal_anim_frame 0x0, 0x0, -33, 1 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83DAAE4:: @ 83DAAE4 - obj_rot_scal_anim_frame 0x0, 0x0, 96, 1 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83DAAF4:: @ 83DAAF4 - obj_rot_scal_anim_frame 0x0, 0x0, -96, 1 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_83DAB04:: @ 83DAB04 - .4byte gSpriteAffineAnim_83DAAD4 - .4byte gSpriteAffineAnim_83DAAE4 - .4byte gSpriteAffineAnim_83DAAF4 - - .align 2 -gBattleAnimSpriteTemplate_83DAB10:: @ 83DAB10 - spr_template 10161, 10161, gOamData_837DF8C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DAB04, sub_80DC8F4 - - .align 2 -gBattleAnimSpriteTemplate_83DAB28:: @ 83DAB28 - spr_template 10180, 10180, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DC9A0 - - .align 2 -gBattleAnimSpriteTemplate_83DAB40:: @ 83DAB40 - spr_template 10179, 10179, gOamData_837DF5C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DCA70 - - .align 2 -gSpriteAffineAnim_83DAB58:: @ 83DAB58 - obj_rot_scal_anim_frame 0x10, 0x10, 0, 0 - obj_rot_scal_anim_frame 0x6, 0x6, 0, 1 - obj_rot_scal_anim_jump 1 - - .align 2 -gSpriteAffineAnimTable_83DAB70:: @ 83DAB70 - .4byte gSpriteAffineAnim_83DAB58 - - .align 2 -gBattleAnimSpriteTemplate_83DAB74:: @ 83DAB74 - spr_template 10181, 10181, gOamData_837E11C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DAB70, sub_80DCB38 - - .align 2 -gBattleAnimSpriteTemplate_83DAB8C:: @ 83DAB8C - spr_template 10161, 10161, gOamData_837DF8C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DCBCC - - .align 2 -gBattleAnimSpriteTemplate_83DABA4:: @ 83DABA4 - spr_template 10161, 10161, gOamData_837DF8C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DCCFC - - .align 2 -gBattleAnimSpriteTemplate_83DABBC:: @ 83DABBC - spr_template 10262, 10262, gOamData_837DF94, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DCCFC - - .align 2 -gSpriteAffineAnim_83DABD4:: @ 83DABD4 - obj_rot_scal_anim_frame 0x10, 0x10, 0, 0 - obj_rot_scal_anim_frame 0x8, 0x8, 0, 18 - obj_rot_scal_anim_loop 0 - obj_rot_scal_anim_frame 0xFFFB, 0xFFFB, 0, 8 - obj_rot_scal_anim_frame 0x5, 0x5, 0, 8 - obj_rot_scal_anim_loop 5 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_83DAC0C:: @ 83DAC0C - .4byte gSpriteAffineAnim_83DABD4 - - .align 2 -gBattleAnimSpriteTemplate_83DAC10:: @ 83DAC10 - spr_template 10212, 10212, gOamData_837E0BC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DAC0C, sub_80DCE40 - - .align 2 -gSpriteAnim_83DAC28:: @ 83DAC28 - obj_image_anim_frame 32, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83DAC30:: @ 83DAC30 - obj_image_anim_frame 48, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83DAC38:: @ 83DAC38 - obj_image_anim_frame 64, 1 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83DAC40:: @ 83DAC40 - .4byte gSpriteAnim_83DAC28 - .4byte gSpriteAnim_83DAC30 - .4byte gSpriteAnim_83DAC38 - - .align 2 -gBattleAnimSpriteTemplate_83DAC4C:: @ 83DAC4C - spr_template 10058, 10058, gOamData_837DF34, gSpriteAnimTable_83DAC40, NULL, gDummySpriteAffineAnimTable, sub_80DCE9C - - .align 2 -gBattleAnimSpriteTemplate_83DAC64:: @ 83DAC64 - spr_template 10058, 10058, gOamData_837DF34, gSpriteAnimTable_83DAC40, NULL, gDummySpriteAffineAnimTable, sub_80DCF60 - - .align 2 -gBattleAnimSpriteTemplate_83DAC7C:: @ 83DAC7C - spr_template 10074, 10074, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DCFE4 - - .align 2 -gSpriteAffineAnim_83DAC94:: @ 83DAC94 - obj_rot_scal_anim_frame 0xC0, 0xC0, 0, 0 - obj_rot_scal_anim_frame 0x2, 0xFFFD, 0, 5 - obj_rot_scal_anim_frame 0xFFFE, 0x3, 0, 5 - obj_rot_scal_anim_jump 1 - - .align 2 -gSpriteAffineAnimTable_83DACB4:: @ 83DACB4 - .4byte gSpriteAffineAnim_83DAC94 - - .align 2 -gBattleAnimSpriteTemplate_83DACB8:: @ 83DACB8 - spr_template 10149, 10149, gOamData_837E0AC, gSpriteAnimTable_83D91F0, NULL, gSpriteAffineAnimTable_83DACB4, sub_80DCFE4 - - .align 2 -gBattleAnimSpriteTemplate_83DACD0:: @ 83DACD0 - spr_template 10029, 10029, gOamData_837DF34, gSpriteAnimTable_83D95E0, NULL, gDummySpriteAffineAnimTable, sub_80DCFE4 - - .align 2 -gBattleAnimSpriteTemplate_83DACE8:: @ 83DACE8 - spr_template 10261, 10261, gOamData_837DF54, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DD3AC - - .align 2 -Unknown_3DAD00:: @ 83DAD00 - .incbin "baserom.gba", 0x3dad00, 0x10 - - .align 2 -gUnknown_083DAD10:: @ 83DAD10 - .4byte 0x2, Unknown_3DAD00 - - .align 2 -gSpriteAnim_83DAD18:: @ 83DAD18 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83DAD20:: @ 83DAD20 - obj_image_anim_frame 16, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83DAD28:: @ 83DAD28 - obj_image_anim_frame 32, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83DAD30:: @ 83DAD30 - obj_image_anim_frame 48, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83DAD38:: @ 83DAD38 - obj_image_anim_frame 64, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83DAD40:: @ 83DAD40 - obj_image_anim_frame 80, 1 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83DAD48:: @ 83DAD48 - .4byte gSpriteAnim_83DAD18 - .4byte gSpriteAnim_83DAD20 - - .align 2 -gSpriteAnimTable_83DAD50:: @ 83DAD50 - .4byte gSpriteAnim_83DAD28 - .4byte gSpriteAnim_83DAD30 - - .align 2 -gSpriteAnimTable_83DAD58:: @ 83DAD58 - .4byte gSpriteAnim_83DAD38 - .4byte gSpriteAnim_83DAD40 - - .align 2 -gBattleAnimSpriteTemplate_83DAD60:: @ 83DAD60 - spr_template 10058, 10058, gOamData_837DF34, gSpriteAnimTable_83DAD48, NULL, gDummySpriteAffineAnimTable, sub_80DD490 - - .align 2 -gSpriteTemplate_83DAD78:: @ 83DAD78 - spr_template 10074, 10074, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DD87C - - .align 2 -gSpriteTemplate_83DAD90:: @ 83DAD90 - spr_template 10058, 10058, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DD87C - - .align 2 -gBattleAnimSpriteTemplate_83DADA8:: @ 83DADA8 - spr_template 10058, 10058, gOamData_837DF34, gSpriteAnimTable_83DAD48, NULL, gDummySpriteAffineAnimTable, sub_80DD8E8 - - .align 2 -gSpriteAffineAnim_83DADC0:: @ 83DADC0 - obj_rot_scal_anim_frame 0x0, 0x0, -5, 5 - obj_rot_scal_anim_jump 0 - - .align 2 -gSpriteAffineAnim_83DADD0:: @ 83DADD0 - obj_rot_scal_anim_frame 0x0, 0x0, 5, 5 - obj_rot_scal_anim_jump 0 - - .align 2 -gSpriteAffineAnimTable_83DADE0:: @ 83DADE0 - .4byte gSpriteAffineAnim_83DADC0 - .4byte gSpriteAffineAnim_83DADD0 - - .align 2 -gBattleAnimSpriteTemplate_83DADE8:: @ 83DADE8 - spr_template 10058, 10058, gOamData_837DF94, gSpriteAnimTable_83DAD48, NULL, gSpriteAffineAnimTable_83DADE0, sub_80DD978 - - .align 2 -gBattleAnimSpriteTemplate_83DAE00:: @ 83DAE00 - spr_template 10058, 10058, gOamData_837DF94, gSpriteAnimTable_83DAD48, NULL, gSpriteAffineAnimTable_83DADE0, sub_80DD9A4 - - .align 2 -gBattleAnimSpriteTemplate_83DAE18:: @ 83DAE18 - spr_template 10058, 10058, gOamData_837DF34, gSpriteAnimTable_83DAD58, NULL, gSpriteAffineAnimTable_83DADE0, sub_80CB144 - - .align 2 -gBattleAnimSpriteTemplate_83DAE30:: @ 83DAE30 - spr_template 10058, 10058, gOamData_837DF94, gSpriteAnimTable_83DAD50, NULL, gSpriteAffineAnimTable_83DADE0, sub_807A9BC - - .align 2 -gSpriteAffineAnim_83DAE48:: @ 83DAE48 - obj_rot_scal_anim_frame 0x1E, 0x1E, 10, 5 - obj_rot_scal_anim_frame 0xFFE2, 0xFFE2, 10, 5 - obj_rot_scal_anim_jump 0 - - .align 2 -gSpriteAffineAnimTable_83DAE60:: @ 83DAE60 - .4byte gSpriteAffineAnim_83DAE48 - - .align 2 -gBattleAnimSpriteTemplate_83DAE64:: @ 83DAE64 - spr_template 10013, 10013, gOamData_837DFEC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DAE60, sub_80DDB6C - - .align 2 -gBattleAnimSpriteTemplate_83DAE7C:: @ 83DAE7C - spr_template 10013, 10013, gOamData_837E04C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DDD58 - - .align 2 -gSpriteAffineAnim_83DAE94:: @ 83DAE94 - obj_rot_scal_anim_frame 0x0, 0x0, 10, 1 - obj_rot_scal_anim_jump 0 - - .align 2 -gSpriteAffineAnimTable_83DAEA4:: @ 83DAEA4 - .4byte gSpriteAffineAnim_83DAE94 - - .align 2 -gBattleAnimSpriteTemplate_83DAEA8:: @ 83DAEA8 - spr_template 10176, 10176, gOamData_837DF94, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DAEA4, sub_80DDF40 - - .align 2 -gSpriteAnim_83DAEC0:: @ 83DAEC0 - obj_image_anim_frame 0, 2 - obj_image_anim_frame 8, 2 - obj_image_anim_frame 16, 2 - obj_image_anim_frame 24, 2 - obj_image_anim_frame 32, 2 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83DAED8:: @ 83DAED8 - .4byte gSpriteAnim_83DAEC0 - - .align 2 -gBattleAnimSpriteTemplate_83DAEDC:: @ 83DAEDC - spr_template 10177, 10177, gOamData_837DF74, gSpriteAnimTable_83DAED8, NULL, gDummySpriteAffineAnimTable, sub_80DE0FC - - .align 2 -gSpriteAffineAnim_83DAEF4:: @ 83DAEF4 - obj_rot_scal_anim_frame 0x200, 0x200, 0, 0 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_83DAF04:: @ 83DAF04 - .4byte gSpriteAffineAnim_83DAEF4 - - .align 2 -gSpriteTemplate_83DAF08:: @ 83DAF08 - spr_template 10188, 10188, gOamData_837E07C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DE7B8 - - .align 2 -gBattleAnimSpriteTemplate_83DAF20:: @ 83DAF20 - spr_template 10199, 10199, gOamData_837E074, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DEF3C - - .align 2 -gBattleAnimSpriteTemplate_83DAF38:: @ 83DAF38 - spr_template 10200, 10200, gOamData_837E054, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DF0B8 - - .align 2 -gBattleAnimSpriteTemplate_83DAF50:: @ 83DAF50 - spr_template 10221, 10221, gOamData_837E054, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DF0B8 - - .align 2 -gSpriteAnim_83DAF68:: @ 83DAF68 - obj_image_anim_frame 0, 4 - obj_image_anim_frame 8, 4 - obj_image_anim_frame 16, 4 - obj_image_anim_frame 24, 4 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnimTable_83DAF7C:: @ 83DAF7C - .4byte gSpriteAnim_83DAF68 - - .align 2 -gSpriteTemplate_83DAF80:: @ 83DAF80 - spr_template 10253, 10253, gOamData_837E094, gSpriteAnimTable_83DAF7C, NULL, gDummySpriteAffineAnimTable, sub_80DF3D8 - - .align 2 -gSpriteTemplate_83DAF98:: @ 83DAF98 - spr_template 0, 0, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DF49C - - .align 2 -gSpriteAnim_83DAFB0:: @ 83DAFB0 - obj_image_anim_frame 0, 4 - obj_image_anim_frame 16, 4 - obj_image_anim_frame 32, 4 - obj_image_anim_frame 48, 4 - obj_image_anim_frame 64, 4 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnimTable_83DAFC8:: @ 83DAFC8 - .4byte gSpriteAnim_83DAFB0 - - .align 2 -gBattleAnimSpriteTemplate_83DAFCC:: @ 83DAFCC - spr_template 10029, 10029, gOamData_837DF34, gSpriteAnimTable_83DAFC8, NULL, gDummySpriteAffineAnimTable, sub_80DF5A0 - - .align 2 -gSpriteAnim_83DAFE4:: @ 83DAFE4 - obj_image_anim_frame 16, 3 - obj_image_anim_frame 32, 3 - obj_image_anim_frame 48, 3 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnim_83DAFF4:: @ 83DAFF4 - obj_image_anim_frame 16, 3, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 32, 3, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 48, 3, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_jump 0 - - .align 2 -gSpriteAnimTable_83DB004:: @ 83DB004 - .4byte gSpriteAnim_83DAFE4 - .4byte gSpriteAnim_83DAFF4 - - .align 2 -gSpriteAffineAnim_83DB00C:: @ 83DB00C - obj_rot_scal_anim_frame 0x50, 0x50, 127, 0 - obj_rot_scal_anim_frame 0xD, 0xD, 0, 100 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83DB024:: @ 83DB024 - obj_rot_scal_anim_frame 0x50, 0x50, 0, 0 - obj_rot_scal_anim_frame 0xD, 0xD, 0, 100 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_83DB03C:: @ 83DB03C - .4byte gSpriteAffineAnim_83DB00C - .4byte gSpriteAffineAnim_83DB024 - - .align 2 -gBattleAnimSpriteTemplate_83DB044:: @ 83DB044 - spr_template 10029, 10029, gOamData_837DFF4, gSpriteAnimTable_83DB004, NULL, gSpriteAffineAnimTable_83DB03C, sub_80DF760 - - .align 2 -gSpriteAnim_83DB05C:: @ 83DB05C - obj_image_anim_frame 0, 5 - obj_image_anim_frame 16, 5 - obj_image_anim_frame 32, 5 - obj_image_anim_frame 48, 5 - obj_image_anim_frame 64, 5 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83DB074:: @ 83DB074 - .4byte gSpriteAnim_83DB05C - - .align 2 -gBattleAnimSpriteTemplate_83DB078:: @ 83DB078 - spr_template 10035, 10035, gOamData_837DF34, gSpriteAnimTable_83DB074, NULL, gDummySpriteAffineAnimTable, sub_80DF6F0 - - .align 2 -gSpriteAnim_83DB090:: @ 83DB090 - obj_image_anim_frame 16, 3 - obj_image_anim_frame 32, 3 - obj_image_anim_frame 48, 3 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnimTable_83DB0A0:: @ 83DB0A0 - .4byte gSpriteAnim_83DB090 - .4byte gSpriteAnim_83DB090 - - .align 2 -gSpriteAffineAnim_83DB0A8:: @ 83DB0A8 - obj_rot_scal_anim_frame 0x64, 0x64, 127, 1 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83DB0B8:: @ 83DB0B8 - obj_rot_scal_anim_frame 0x64, 0x64, 0, 1 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_83DB0C8:: @ 83DB0C8 - .4byte gSpriteAffineAnim_83DB0A8 - .4byte gSpriteAffineAnim_83DB0B8 - - .align 2 -gBattleAnimSpriteTemplate_83DB0D0:: @ 83DB0D0 - spr_template 10029, 10029, gOamData_837DFF4, gSpriteAnimTable_83DB0A0, NULL, gSpriteAffineAnimTable_83DB0C8, sub_80DF760 - - .align 2 -gBattleAnimSpriteTemplate_83DB0E8:: @ 83DB0E8 - spr_template 10249, 10249, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DF78C - - .align 2 -gBattleAnimSpriteTemplate_83DB100:: @ 83DB100 - spr_template 10029, 10029, gOamData_837DF34, gSpriteAnimTable_83DAFC8, NULL, gDummySpriteAffineAnimTable, sub_80DFB28 - - .align 2 -gSpriteTemplate_83DB118:: @ 83DB118 - spr_template 10015, 10015, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DFE14 - - .align 2 -gSpriteAffineAnim_83DB130:: @ 83DB130 - obj_rot_scal_anim_frame 0x0, 0x0, 0, 1 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83DB140:: @ 83DB140 - obj_rot_scal_anim_frame 0x0, 0x0, 32, 1 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83DB150:: @ 83DB150 - obj_rot_scal_anim_frame 0x0, 0x0, 64, 1 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83DB160:: @ 83DB160 - obj_rot_scal_anim_frame 0x0, 0x0, 96, 1 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83DB170:: @ 83DB170 - obj_rot_scal_anim_frame 0x0, 0x0, -128, 1 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83DB180:: @ 83DB180 - obj_rot_scal_anim_frame 0x0, 0x0, -96, 1 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83DB190:: @ 83DB190 - obj_rot_scal_anim_frame 0x0, 0x0, -64, 1 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83DB1A0:: @ 83DB1A0 - obj_rot_scal_anim_frame 0x0, 0x0, -32, 1 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_83DB1B0:: @ 83DB1B0 - .4byte gSpriteAffineAnim_83DB130 - .4byte gSpriteAffineAnim_83DB140 - .4byte gSpriteAffineAnim_83DB150 - .4byte gSpriteAffineAnim_83DB160 - .4byte gSpriteAffineAnim_83DB170 - .4byte gSpriteAffineAnim_83DB180 - .4byte gSpriteAffineAnim_83DB190 - .4byte gSpriteAffineAnim_83DB1A0 - - .align 2 -gBattleAnimSpriteTemplate_83DB1D0:: @ 83DB1D0 - spr_template 10139, 10139, gOamData_837E0BC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DB1B0, sub_80DFF1C - - .align 2 -gBattleAnimSpriteTemplate_83DB1E8:: @ 83DB1E8 - spr_template 10145, 10145, gOamData_837E0BC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DB1B0, sub_80DFF1C - - .align 2 -gSpriteAffineAnim_83DB200:: @ 83DB200 - obj_rot_scal_anim_frame 0xC0, 0xC0, 80, 0 - obj_rot_scal_anim_frame 0x0, 0x0, -2, 8 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83DB218:: @ 83DB218 - obj_rot_scal_anim_frame 0xC0, 0xC0, -80, 0 - obj_rot_scal_anim_frame 0x0, 0x0, 2, 8 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_83DB230:: @ 83DB230 - .4byte gSpriteAffineAnim_83DB200 - .4byte gSpriteAffineAnim_83DB218 - - .align 2 -gBattleAnimSpriteTemplate_83DB238:: @ 83DB238 - spr_template 10155, 10155, gOamData_837DF8C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DB230, sub_80DFFD0 - - .align 2 -gSpriteAnim_83DB250:: @ 83DB250 - obj_image_anim_frame 0, 4 - obj_image_anim_frame 16, 4 - obj_image_anim_frame 32, 4 - obj_image_anim_frame 48, 4 - obj_image_anim_frame 64, 4 - obj_image_anim_end - - .align 2 -gSpriteAnim_83DB268:: @ 83DB268 - obj_image_anim_frame 0, 4, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 16, 4, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 32, 4, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 48, 4, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 64, 4, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83DB280:: @ 83DB280 - .4byte gSpriteAnim_83DB250 - .4byte gSpriteAnim_83DB268 - - .align 2 -gBattleAnimSpriteTemplate_83DB288:: @ 83DB288 - spr_template 10039, 10039, gOamData_837DF34, gSpriteAnimTable_83DB280, NULL, gDummySpriteAffineAnimTable, sub_80E0A10 - - .align 2 -gSpriteAffineAnim_83DB2A0:: @ 83DB2A0 - obj_rot_scal_anim_frame 0x0, 0x0, 15, 1 - obj_rot_scal_anim_jump 0 - - .align 2 -gSpriteAffineAnim_83DB2B0:: @ 83DB2B0 - obj_rot_scal_anim_frame 0x0, 0x0, 20, 1 - obj_rot_scal_anim_jump 0 - - .align 2 -gSpriteAffineAnimTable_83DB2C0:: @ 83DB2C0 - .4byte gSpriteAffineAnim_83DB2A0 - - .align 2 -gSpriteAffineAnimTable_83DB2C4:: @ 83DB2C4 - .4byte gSpriteAffineAnim_83DB2B0 - - .align 2 -gBattleAnimSpriteTemplate_83DB2C8:: @ 83DB2C8 - spr_template 10000, 10000, gOamData_837DF94, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DB2C0, sub_80E0F1C - - .align 2 -gBattleAnimSpriteTemplate_83DB2E0:: @ 83DB2E0 - spr_template 10000, 10000, gOamData_837DF94, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DB2C4, sub_80E1004 - - .align 2 -gBattleAnimSpriteTemplate_83DB2F8:: @ 83DB2F8 - spr_template 10074, 10074, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80E1078 - - .align 2 -gSpriteAnim_83DB310:: @ 83DB310 - obj_image_anim_frame 1, 1 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83DB318:: @ 83DB318 - .4byte gSpriteAnim_83DB310 - - .align 2 -gBattleAnimSpriteTemplate_83DB31C:: @ 83DB31C - spr_template 10074, 10074, gOamData_837DF2C, gSpriteAnimTable_83DB318, NULL, gDummySpriteAffineAnimTable, sub_80E1078 - - .align 2 -gBattleAnimSpriteTemplate_83DB334:: @ 83DB334 - spr_template 10074, 10074, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80E1108 - - .align 2 -gBattleAnimSpriteTemplate_83DB34C:: @ 83DB34C - spr_template 10074, 10074, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80E1728 - - .align 2 -gBattleAnimSpriteTemplate_83DB364:: @ 83DB364 - spr_template 10281, 10281, gOamData_837DF54, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80E17CC - - .align 2 -gSpriteAnim_83DB37C:: @ 83DB37C - obj_image_anim_frame 0, 8 - obj_image_anim_frame 4, 8 - obj_image_anim_frame 0, 8, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 8, 8 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnim_83DB390:: @ 83DB390 - obj_image_anim_frame 0, 8, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 4, 8 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 8, 8 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnimTable_83DB3A4:: @ 83DB3A4 - .4byte gSpriteAnim_83DB37C - .4byte gSpriteAnim_83DB390 - - .align 2 -gBattleAnimSpriteTemplate_83DB3AC:: @ 83DB3AC - spr_template 10073, 10073, gOamData_837DF2C, gSpriteAnimTable_83DB3A4, NULL, gDummySpriteAffineAnimTable, sub_80E1CB4 - - .align 2 -gBattleAnimSpriteTemplate_83DB3C4:: @ 83DB3C4 - spr_template 0, 0, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80E1D84 - - .align 2 -gBattleAnimSpriteTemplate_83DB3DC:: @ 83DB3DC - spr_template 0, 0, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80E1E2C - - .align 2 -gSpriteAnim_83DB3F4:: @ 83DB3F4 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 16, 3 - obj_image_anim_frame 32, 3 - obj_image_anim_frame 48, 3 - obj_image_anim_frame 64, 3 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnimTable_83DB40C:: @ 83DB40C - .4byte gSpriteAnim_83DB3F4 - - .align 2 -gSpriteTemplate_83DB410:: @ 83DB410 - spr_template 10071, 10071, gOamData_837DF34, gSpriteAnimTable_83DB40C, NULL, gDummySpriteAffineAnimTable, sub_80E1F3C - - .align 2 -gBattleAnimSpriteTemplate_83DB428:: @ 83DB428 - spr_template 0, 0, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80E24B8 - - .align 2 -gSpriteAffineAnim_83DB440:: @ 83DB440 - obj_rot_scal_anim_frame 0x0, 0x0, 0, 8 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83DB450:: @ 83DB450 - obj_rot_scal_anim_frame 0xD8, 0xD8, 0, 0 - obj_rot_scal_anim_frame 0x0, 0x0, 0, 8 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83DB468:: @ 83DB468 - obj_rot_scal_anim_frame 0xB0, 0xB0, 0, 0 - obj_rot_scal_anim_frame 0x0, 0x0, 0, 8 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83DB480:: @ 83DB480 - obj_rot_scal_anim_frame 0x80, 0x80, 0, 0 - obj_rot_scal_anim_frame 0x0, 0x0, 0, 8 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_83DB498:: @ 83DB498 - .4byte gSpriteAffineAnim_83DB440 - .4byte gSpriteAffineAnim_83DB450 - .4byte gSpriteAffineAnim_83DB468 - .4byte gSpriteAffineAnim_83DB480 - - .align 2 -gBattleAnimSpriteTemplate_83DB4A8:: @ 83DB4A8 - spr_template 10135, 10135, gOamData_837E0B4, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DB498, sub_80E27A0 - - .align 2 -gBattleAnimSpriteTemplate_83DB4C0:: @ 83DB4C0 - spr_template 10135, 10135, gOamData_837E0B4, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DB498, sub_80E2838 - - .align 2 -gBattleAnimSpriteTemplate_83DB4D8:: @ 83DB4D8 - spr_template 10148, 10148, gOamData_837E0B4, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DB498, sub_80E27A0 - - .align 2 -gBattleAnimSpriteTemplate_83DB4F0:: @ 83DB4F0 - spr_template 10135, 10135, gOamData_837E0B4, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DB498, sub_80E2870 - - .align 2 -gBattleAnimSpriteTemplate_83DB508:: @ 83DB508 - spr_template 10135, 10135, gOamData_837E0B4, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DB498, sub_80E2908 - - .align 2 -gBattleAnimSpriteTemplate_83DB520:: @ 83DB520 - spr_template 10285, 10285, gOamData_837E054, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80E2978 - - .align 2 -gBattleAnimSpriteTemplate_83DB538:: @ 83DB538 - spr_template 10135, 10135, gOamData_837DF94, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DB498, sub_80E29C0 - - .align 2 -gBattleAnimSpriteTemplate_83DB550:: @ 83DB550 - spr_template 10135, 10135, gOamData_837E0B4, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DB498, sub_80E27E8 - - .align 2 -gUnknown_083DB568:: @ 83DB568 - .incbin "baserom.gba", 0x003db568, 0x4 - - .align 2 -gUnknown_083DB56C:: @ 83DB56C - .4byte task_battle_intro_80BC47C - .4byte task_battle_intro_80BC47C - .4byte task00_battle_intro_80BC6C8 - .4byte task00_battle_intro_80BC6C8 - .4byte task00_battle_intro_80BC6C8 - .4byte task_battle_intro_80BC47C - .4byte task_battle_intro_80BC47C - .4byte task_battle_intro_80BC47C - .4byte task_battle_intro_anim - .4byte task_battle_intro_anim - - .align 2 -gUnknown_083DB594:: @ 83DB594 - .4byte sub_80E5168 - .4byte sub_80E517C - .4byte sub_80E51C4 - .4byte sub_80E5270 - - .align 2 -gUnknown_083DB5A4:: @ 83DB5A4 - .4byte PlayerGoSpeed0 - .4byte sub_80593C4 - .4byte sub_80593F4 - - .align 2 -gUnknown_083DB5B0:: @ 83DB5B0 - .4byte sub_80E56F8 - .4byte sub_80E5708 - .4byte sub_80E5744 - .4byte sub_80E57BC - .4byte sub_80E57F8 - .4byte sub_80E5834 - .4byte sub_80E5870 - .4byte sub_80E58AC - .4byte sub_80E5920 - .4byte sub_80E5990 - .4byte sub_80E59A0 - .4byte sub_80E5A30 - .4byte sub_80E5AC0 - - .align 2 -gUnknown_083DB5E4:: @ 83DB5E4 - .4byte CheckMovementInputAcroBikeNormal - .4byte CheckMovementInputAcroBikeChangingDirection - .4byte CheckMovementInputAcroBikeStandingWheelie - .4byte CheckMovementInputAcroBikeBunnyHop - .4byte CheckMovementInputAcroBikeMovingWheelie - .4byte CheckMovementInputAcroBikeUnknownMode5 - .4byte CheckMovementInputAcroBikeUnknownMode6 - - .align 1 -gUnknown_083DB600:: @ 83DB600 - .2byte 1, 2, 4 - -Unknown_3DB606:: @ 83DB606 - .byte 4, 0 - - .align 2 -gUnknown_083DB608:: @ 83DB608 - .4byte 0x1, 0x2, 0xf, 0xf, Unknown_3DB606, Unknown_3DB606, 0x1 - .4byte 0x2, 0x2, 0xf, 0xf, Unknown_3DB606, Unknown_3DB606, 0x2 - .4byte 0x3, 0x2, 0xf, 0xf, Unknown_3DB606, Unknown_3DB606, 0x3 - .4byte 0x4, 0x2, 0xf, 0xf, Unknown_3DB606, Unknown_3DB606, 0x4 - - .align 1 -gMysteryEventPhrase:: @ 83DB678 - ec_word MYSTERY - ec_word EVENT - ec_word IS - ec_word EXCITING - - .align 1 -gBerryMasterWifePhrases:: @ 83DB680 - ec_word GREAT - ec_word BATTLE - - ec_word CHALLENGE - ec_word CONTEST - - ec_word OVERWHELMING - ec_pokemon1 LATIAS - - ec_word COOL - ec_pokemon1 LATIOS - - ec_word SUPER - ec_word HUSTLE - -gUnknown_083DB694:: @ 83DB694 - .4byte 0x02001000 - -gUnknown_083DB698:: @ 83DB698 - .incbin "baserom.gba", 0x003db698, 0xc - -gUnknown_083DB6A4:: @ 83DB6A4 - .incbin "baserom.gba", 0x003db6a4, 0xe - -gUnknown_083DB6B2:: @ 83DB6B2 - .incbin "baserom.gba", 0x003db6b2, 0x42 - - .align 2 -gUnknown_083DB6F4:: @ 83DB6F4 - .4byte OtherText_MakeProfilePage1, OtherText_MakeProfilePage2, 0x1 - .4byte OtherText_MakeMessagePage1, OtherText_MakeMessagePage2, 0x1 - .4byte OtherText_CombineNinePhrasesPage1, OtherText_CombineNinePhrasesPage2, 0x1 - .4byte OtherText_DescribeFeelingsPage1, OtherText_DescribeFeelingsPage2, 0x1 - .4byte OtherText_ImproveBardSongPage1, OtherText_ImproveBardSongPage2, 0x1 - .4byte OtherText_CombineTwoPhrasesPage1, OtherText_CombineTwoPhrasesPage2, 0x1 - .4byte OtherText_YourProfile, OtherText_ConfirmTrendyPage2, 0x0 - .4byte OtherText_YourFeelingBattle, OtherText_ConfirmTrendyPage2, 0x1 - .4byte OtherText_SetWinMessage, OtherText_ConfirmTrendyPage2, 0x1 - .4byte OtherText_SetLossMessage, OtherText_ConfirmTrendyPage2, 0x1 - .4byte OtherText_MailMessage, OtherText_ConfirmTrendyPage2, 0x1 - .4byte OtherText_MailSalutation, OtherText_ConfirmTrendyPage2, 0x1 - .4byte OtherText_NewSong, OtherText_ConfirmTrendyPage2, 0x0 - .4byte OtherText_TheAnswer, OtherText_ConfirmTrendyPage2, 0x0 - .4byte OtherText_ConfirmTrendyPage1, OtherText_ConfirmTrendyPage2, 0x1 - .4byte OtherText_HipsterPage1, OtherText_HipsterPage2, 0x1 - .4byte OtherText_WithFourPhrases, OtherText_CombineNinePhrasesPage2, 0x1 - -gUnknown_083DB7C0:: @ 83DB7C0 - .incbin "baserom.gba", 0x003db7c0, 0x1c - - .align 2 -gUnknown_083DB7DC:: @ 83DB7DC - .4byte 0x0200ac80 - .4byte 0x0200acc9 - .4byte 0x0200ad12 - .4byte 0x0200ad5b - -gUnknown_083DB7EC:: @ 83DB7EC - .incbin "baserom.gba", 0x003db7ec, 0x8 - -gUnknown_083DB7F4:: @ 83DB7F4 - .incbin "baserom.gba", 0x3db7f4, 0xc - - .align 2 -InterviewPalette_0:: @ 83DB800 - .incbin "graphics/misc/interview_pal0.gbapal" - - .align 2 -InterviewPalette_1:: @ 83DB820 - .incbin "graphics/misc/interview_pal1.gbapal" - - .align 2 -InterviewArrowTiles: @ 83DB840 - .incbin "graphics/misc/interview_arrow.4bpp" - - .align 2 -InterviewButtonTiles: @ 83DB940 - .incbin "graphics/misc/interview_buttons.4bpp" - - .align 2 -gMenuInterviewFrame_Pal:: - .incbin "graphics/misc/interview_frame.gbapal" - - .align 2 -gMenuInterviewFrame_Gfx:: - .incbin "graphics/misc/interview_frame.4bpp.lz" - - .align 2 -InterviewTriangleCursorTiles: @ 83DBB94 - .incbin "graphics/misc/interview_triangle_cursor.4bpp" - - .align 2 -gSpriteSheets_Interview:: @ 83DBBB4 - obj_tiles InterviewTriangleCursorTiles, 0x20, 0 - obj_tiles gInterviewOutlineCursorTiles, 0x700, 1 - obj_tiles InterviewArrowTiles, 0x100, 2 - obj_tiles InterviewButtonTiles, 0x100, 3 - null_obj_tiles - - .align 2 -gSpritePalettes_Interview:: @ 83DBBDC - obj_pal InterviewPalette_0, 0 - obj_pal InterviewPalette_1, 1 - null_obj_pal - - .align 2 -gOamData_83DBBF4:: @ 83DBBF4 - .2byte 0x0000 - .2byte 0x0000 - .2byte 0x0000 - - .align 2 -gSpriteTemplate_83DBBFC:: @ 83DBBFC - spr_template 0, 0, gOamData_83DBBF4, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80E82BC - - .align 2 -gOamData_83DBC14:: @ 83DBC14 - .2byte 0x4400 - .2byte 0x8000 - .2byte 0x0400 - - .align 2 -gSpriteAnim_83DBC1C:: @ 83DBC1C - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83DBC24:: @ 83DBC24 - obj_image_anim_frame 8, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83DBC2C:: @ 83DBC2C - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83DBC34:: @ 83DBC34 - obj_image_anim_frame 24, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83DBC3C:: @ 83DBC3C - obj_image_anim_frame 32, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83DBC44:: @ 83DBC44 - obj_image_anim_frame 40, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83DBC4C:: @ 83DBC4C - obj_image_anim_frame 40, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83DBC54:: @ 83DBC54 - obj_image_anim_frame 40, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83DBC5C:: @ 83DBC5C - obj_image_anim_frame 48, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83DBC64:: @ 83DBC64 - obj_image_anim_frame 40, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83DBC6C:: @ 83DBC6C - obj_image_anim_frame 48, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83DBC74:: @ 83DBC74 - obj_image_anim_frame 40, 5 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83DBC7C:: @ 83DBC7C - .4byte gSpriteAnim_83DBC1C - .4byte gSpriteAnim_83DBC24 - .4byte gSpriteAnim_83DBC2C - .4byte gSpriteAnim_83DBC34 - - .align 2 -gSpriteAnimTable_83DBC8C:: @ 83DBC8C - .4byte gSpriteAnim_83DBC3C - .4byte gSpriteAnim_83DBC44 - .4byte gSpriteAnim_83DBC4C - .4byte gSpriteAnim_83DBC54 - - .align 2 -gSpriteAnimTable_83DBC9C:: @ 83DBC9C - .4byte gSpriteAnim_83DBC5C - .4byte gSpriteAnim_83DBC64 - .4byte gSpriteAnim_83DBC6C - .4byte gSpriteAnim_83DBC74 - - .align 2 -gSpriteTemplate_83DBCAC:: @ 83DBCAC - spr_template 1, 1, gOamData_83DBC14, gSpriteAnimTable_83DBC7C, NULL, gDummySpriteAffineAnimTable, sub_80E85F8 - - .align 2 -gUnknown_083DBCC4:: @ 83DBCC4 - .incbin "baserom.gba", 0x003dbcc4, 0x1c - - .align 2 -gOamData_83DBCE0:: @ 83DBCE0 - .2byte 0x0000 - .2byte 0x4000 - .2byte 0x0400 - - .align 2 -gSpriteAnim_83DBCE8:: @ 83DBCE8 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83DBCF0:: @ 83DBCF0 - obj_image_anim_frame 4, 5 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83DBCF8:: @ 83DBCF8 - .4byte gSpriteAnim_83DBCE8 - .4byte gSpriteAnim_83DBCF0 - -Unknown_83DBD00: - .incbin "baserom.gba", 0x003dbd00, 0x8 -Unknown_83DBD08: - .incbin "baserom.gba", 0x003dbd08, 0x8 - -gUnknown_083DBD10:: @ 83DBD10 - .4byte Unknown_83DBD00 - .4byte Unknown_83DBD08 - - .align 2 -gSpriteTemplate_83DBD18:: @ 83DBD18 - spr_template 2, 0, gOamData_83DBCE0, gSpriteAnimTable_83DBCF8, NULL, gDummySpriteAffineAnimTable, sub_80E8B78 - - .align 2 -gUnknown_083DBD30:: @ 83DBD30 - obj_tiles gMenuInterviewFrame_Gfx, 2048, 0x0006 - - .align 2 -gUnknown_083DBD38:: @ 83DBD38 - obj_pal gMenuInterviewFrame_Pal, 0x0004 - - .align 2 -gOamData_83DBD40:: @ 83DBD40 - .2byte 0x0000 - .2byte 0xC000 - .2byte 0x0000 - - .align 2 -gSpriteTemplate_83DBD48:: @ 83DBD48 - spr_template 6, 4, gOamData_83DBD40, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gUnknown_083DBD60:: @ 83DBD60 - obj_tiles gMenuWordGroupIndicator_Gfx, 4096, 0x0007 - - .align 2 -gUnknown_083DBD68:: @ 83DBD68 - obj_pal gMenuWordGroupIndicator_Pal, 0x0005 - - .align 2 -gOamData_83DBD70:: @ 83DBD70 - .2byte 0x4000 - .2byte 0xC000 - .2byte 0x0000 - - .align 2 -gSpriteAnim_83DBD78:: @ 83DBD78 - obj_image_anim_frame 96, 3 - obj_image_anim_end - - .align 2 -gSpriteAnim_83DBD80:: @ 83DBD80 - obj_image_anim_frame 64, 4 - obj_image_anim_frame 96, 4 - obj_image_anim_frame 64, 4 - obj_image_anim_frame 0, 4 - obj_image_anim_end - - .align 2 -gSpriteAnim_83DBD94:: @ 83DBD94 - obj_image_anim_frame 64, 4 - obj_image_anim_frame 96, 4 - obj_image_anim_frame 64, 4 - obj_image_anim_frame 32, 4 - obj_image_anim_end - - .align 2 -gSpriteAnim_83DBDA8:: @ 83DBDA8 - obj_image_anim_frame 64, 2 - obj_image_anim_frame 32, 2 - obj_image_anim_end - - .align 2 -gSpriteAnim_83DBDB4:: @ 83DBDB4 - obj_image_anim_frame 64, 2 - obj_image_anim_frame 0, 2 - obj_image_anim_end - - .align 2 -gSpriteAnim_83DBDC0:: @ 83DBDC0 - obj_image_anim_frame 64, 2 - obj_image_anim_frame 96, 2 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83DBDCC:: @ 83DBDCC - .4byte gSpriteAnim_83DBD78 - .4byte gSpriteAnim_83DBD80 - .4byte gSpriteAnim_83DBD94 - .4byte gSpriteAnim_83DBDA8 - .4byte gSpriteAnim_83DBDB4 - .4byte gSpriteAnim_83DBDC0 - - .align 2 -gSpriteTemplate_83DBDE4:: @ 83DBDE4 - spr_template 7, 5, gOamData_83DBD70, gSpriteAnimTable_83DBDCC, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - -gUnknown_083DBDFC:: @ 83DBDFC - .incbin "baserom.gba", 0x003dbdfc, 0x20 - -gUnknown_083DBE1C:: @ 83DBE1C - .incbin "baserom.gba", 0x003dbe1c, 0x24 - -gUnknown_083DBE40:: @ 83DBE40 - .incbin "baserom.gba", 0x003dbe40, 0x68 - -gUnknown_083DBEA8:: @ 83DBEA8 - .incbin "baserom.gba", 0x003dbea8, 0x4 - -gUnknown_083DBEAC:: @ 83DBEAC - .incbin "baserom.gba", 0x003dbeac, 0x80 - -@ 83DBF2C - .include "data/text/easy_chat/group_words.inc" - -@ 83DE138 - .include "data/text/easy_chat/words_by_letter.inc" - -@ 83DEFFA - .include "data/text/easy_chat/group_sizes.inc" - -@ 83DF010 - .include "data/text/easy_chat/group_orders.inc" - -@ 83DFE6C - .include "data/text/easy_chat/group_name_table.inc" - -gUnknown_083DFEC4:: @ 83DFEC4 - .incbin "baserom.gba", 0x003dfec4, 0x4 - -gUnknown_083DFEC8:: @ 83DFEC8 - .4byte 0x02039360 - -gUnknown_083DFECC:: @ 83DFECC - .incbin "baserom.gba", 0x003dfecc, 0x20 - -gUnknown_083DFEEC:: @ 83DFEEC - .incbin "baserom.gba", 0x003dfeec, 0xa0 - -gUnknown_083DFF8C:: @ 83DFF8C - .incbin "baserom.gba", 0x003dff8c, 0xb0 - -gUnknown_083E003C:: @ 83E003C - .incbin "baserom.gba", 0x003e003c, 0x20 - -gUnknown_083E005C:: @ 83E005C - .incbin "baserom.gba", 0x003e005c, 0x20 - -gUnknown_083E007C:: @ 83E007C - .incbin "baserom.gba", 0x003e007c, 0xa8 - -gUnknown_083E0124:: @ 83E0124 - .incbin "baserom.gba", 0x003e0124, 0x20 - -gUnknown_083E0144:: @ 83E0144 - .incbin "baserom.gba", 0x003e0144, 0x68 - -gUnknown_083E01AC:: @ 83E01AC - .incbin "baserom.gba", 0x003e01ac, 0x48 - -gUnknown_083E01F4:: @ 83E01F4 - .incbin "baserom.gba", 0x003e01f4, 0x60 - -gUnknown_083E0254:: @ 83E0254 - .incbin "baserom.gba", 0x003e0254, 0x20 - -gUnknown_083E0274:: @ 83E0274 - .incbin "baserom.gba", 0x003e0274, 0x20 - - .align 2 -gPokenavConditionSearch2_Pal:: @ 83E0294 - .incbin "graphics/pokenav/condition_search2.gbapal" - -gUnknown_083E02B4:: @ 83E02B4 - .incbin "baserom.gba", 0x003e02b4, 0x60 - -gUnknown_083E0314:: @ 83E0314 - .incbin "baserom.gba", 0x003e0314, 0x20 - - .align 2 -gUnknown_083E0334:: @ 83E0334 - .incbin "graphics/pokenav/trainereyes_misc_pal.bin" @ the original bytes have an "FF FF" instance which is incompatible with gbagfx to produce the bytes needed to match the original ROM, so I am forced to include it as a .bin until the lowest bit is properly handled or a better workaround is produced - - .align 2 -gUnknown_083E0354:: @ 83E0354 - .incbin "graphics/pokenav/trainereyes_misc.4bpp.lz" - -gUnknown_083E039C:: @ 83E039C - .incbin "baserom.gba", 0x003e039c, 0x4 - -gUnknown_083E03A0:: @ 83E03A0 - .incbin "baserom.gba", 0x003e03a0, 0x8 - -gUnknown_083E03A8:: @ 83E03A8 - .incbin "baserom.gba", 0x003e03a8, 0x64 - -gUnknown_083E040C:: @ 83E040C - .incbin "graphics/misc/ribbons_half.4bpp.lz" - - .align 2 -gPokenavOutlinePalette:: @ 83E05D4 - .incbin "graphics/pokenav/outline.gbapal" - - .align 2 -gPokenavOutlineTiles:: @ 83E05F4 - .incbin "graphics/pokenav/outline.4bpp.lz" - - .align 2 -gPokenavOutlineTilemap:: @ 83E0804 - .incbin "graphics/pokenav/outline_map.bin.lz" - - .align 2 -gPokenavCityMap_Lavaridge_0:: @ 83E096C - .incbin "graphics/pokenav/city_maps/lavaridge_0.bin.lz" - - .align 2 -gPokenavCityMap_Fallarbor_0:: @ 83E09B0 - .incbin "graphics/pokenav/city_maps/fallarbor_0.bin.lz" - - .align 2 -gPokenavCityMap_Fortree_0:: @ 83E09F8 - .incbin "graphics/pokenav/city_maps/fortree_0.bin.lz" - - .align 2 -gPokenavCityMap_Slateport_0:: @ 83E0A48 - .incbin "graphics/pokenav/city_maps/slateport_0.bin.lz" - - .align 2 -gPokenavCityMap_Slateport_1:: @ 83E0AA8 - .incbin "graphics/pokenav/city_maps/slateport_1.bin.lz" - - .align 2 -gPokenavCityMap_Rustboro_0:: @ 83E0AF4 - .incbin "graphics/pokenav/city_maps/rustboro_0.bin.lz" - - .align 2 -gPokenavCityMap_Rustboro_1:: @ 83E0B48 - .incbin "graphics/pokenav/city_maps/rustboro_1.bin.lz" - - .align 2 -gPokenavCityMap_Pacifidlog_0:: @ 83E0B9C - .incbin "graphics/pokenav/city_maps/pacifidlog_0.bin.lz" - - .align 2 -gPokenavCityMap_Mauville_1:: @ 83E0BDC - .incbin "graphics/pokenav/city_maps/mauville_1.bin.lz" - - .align 2 -gPokenavCityMap_Mauville_0:: @ 83E0C34 - .incbin "graphics/pokenav/city_maps/mauville_0.bin.lz" - - .align 2 -gPokenavCityMap_Oldale_0:: @ 83E0C88 - .incbin "graphics/pokenav/city_maps/oldale_0.bin.lz" - - .align 2 -gPokenavCityMap_Lilycove_1:: @ 83E0CB8 - .incbin "graphics/pokenav/city_maps/lilycove_1.bin.lz" - - .align 2 -gPokenavCityMap_Lilycove_0:: @ 83E0D04 - .incbin "graphics/pokenav/city_maps/lilycove_0.bin.lz" - - .align 2 -gPokenavCityMap_Littleroot_0:: @ 83E0D5C - .incbin "graphics/pokenav/city_maps/littleroot_0.bin.lz" - - .align 2 -gPokenavCityMap_Dewford_0:: @ 83E0D8C - .incbin "graphics/pokenav/city_maps/dewford_0.bin.lz" - - .align 2 -gPokenavCityMap_Sootopolis_0:: @ 83E0DC4 - .incbin "graphics/pokenav/city_maps/sootopolis_0.bin.lz" - - .align 2 -gPokenavCityMap_EverGrande_0:: @ 83E0E04 - .incbin "graphics/pokenav/city_maps/ever_grande_0.bin.lz" - - .align 2 -gPokenavCityMap_EverGrande_1:: @ 83E0E4C - .incbin "graphics/pokenav/city_maps/ever_grande_1.bin.lz" - - .align 2 -gPokenavCityMap_Verdanturf_0:: @ 83E0E90 - .incbin "graphics/pokenav/city_maps/verdanturf_0.bin.lz" - - .align 2 -gPokenavCityMap_Mossdeep_1:: @ 83E0EC8 - .incbin "graphics/pokenav/city_maps/mossdeep_1.bin.lz" - - .align 2 -gPokenavCityMap_Mossdeep_0:: @ 83E0F10 - .incbin "graphics/pokenav/city_maps/mossdeep_0.bin.lz" - - .align 2 -gPokenavCityMap_Petalburg_0:: @ 83E0F6C - .incbin "graphics/pokenav/city_maps/petalburg_0.bin.lz" - -@ 83E0FC8 - .include "data/text/ribbon_descriptions.inc" - -@ 83E1204 - .include "data/text/gift_ribbon_descriptions.inc" - -@ 83E178C - .include "data/text/trainer_eye_descriptions.inc" - - .align 2 -gUnknown_083E31B0:: @ 83E31B0 - .4byte PCText_CheckMap - .4byte PCText_CheckPoke - .4byte PCText_CheckTrainer - .4byte PCText_CheckRibbons - .4byte PCText_PutAwayNav - .4byte PCText_NoRibbonWin - .4byte PCText_NoTrainers - - .align 2 -gUnknown_083E31CC:: @ 83E31CC - .4byte PCText_CheckParty - .4byte PCText_CheckPokeAll - .4byte PCText_ReturnToNav - - .align 2 -gUnknown_083E31D8:: @ 83E31D8 - .4byte PCText_FindCool - .4byte PCText_FindBeauty - .4byte PCText_FindCute - .4byte PCText_FindSmart - .4byte PCText_FindTough - .4byte PCText_ReturnToCondition - - .align 2 -gPokenavCityMaps:: @ 83E31F0 - .4byte gPokenavCityMap_Littleroot_0, NULL - .4byte gPokenavCityMap_Oldale_0, NULL - .4byte gPokenavCityMap_Dewford_0, NULL - .4byte gPokenavCityMap_Lavaridge_0, NULL - .4byte gPokenavCityMap_Fallarbor_0, NULL - .4byte gPokenavCityMap_Verdanturf_0, NULL - .4byte gPokenavCityMap_Pacifidlog_0, NULL - .4byte gPokenavCityMap_Petalburg_0, NULL - .4byte gPokenavCityMap_Slateport_0, gPokenavCityMap_Slateport_1 - .4byte gPokenavCityMap_Mauville_0, gPokenavCityMap_Mauville_1 - .4byte gPokenavCityMap_Rustboro_0, gPokenavCityMap_Rustboro_1 - .4byte gPokenavCityMap_Fortree_0, NULL - .4byte gPokenavCityMap_Lilycove_0, gPokenavCityMap_Lilycove_1 - .4byte gPokenavCityMap_Mossdeep_0, gPokenavCityMap_Mossdeep_1 - .4byte gPokenavCityMap_Sootopolis_0, NULL - .4byte gPokenavCityMap_EverGrande_0, gPokenavCityMap_EverGrande_1 - - .align 2 -gUnknown_083E3270:: @ 83E3270 - .4byte sub_80F0A24 - .4byte sub_80F0A24 - .4byte sub_80F0A74 - - .align 2 -gPokenavIconPalette:: - .incbin "graphics/pokenav/icon.gbapal" - - .align 2 -gUnknown_083E329C:: @ 83E329C - .incbin "graphics/pokenav/icon.4bpp.lz" - - .align 2 -gPokenavPokeballTiles:: - .incbin "graphics/pokenav/pokeball.4bpp" - - .align 2 -gUnknown_083E3780: @ 83E3780 - .incbin "baserom.gba", 0x3e3780, 0x20 - - .align 2 -gPokenavSparkle_Pal:: - .incbin "graphics/pokenav/sparkle.gbapal" - - .align 2 -gPokenavSparkle_Gfx:: - .incbin "graphics/pokenav/sparkle.4bpp" - - .align 2 -gPokenavUpDownArrows_Gfx:: - .incbin "graphics/pokenav/arrows.4bpp" - -gUnknown_083E3BC0:: - .incbin "baserom.gba", 0x003E3BC0, 0x20 - - .align 2 -gTiles_083E3BE0:: - .incbin "graphics/unknown/unknown_3E3BE0.4bpp" - - .align 2 -gUnknown_083E3C60:: @ 83E3C60 - .incbin "graphics/misc/ribbons_cool.gbapal" - .incbin "graphics/misc/ribbons_beauty.gbapal" - .incbin "graphics/misc/ribbons_cute.gbapal" - .incbin "graphics/misc/ribbons_smart.gbapal" - .incbin "graphics/misc/ribbons_tough.gbapal" - - .align 2 -gUnknown_083E3D00:: @ 83E3D00 - .incbin "graphics/misc/ribbons_full.4bpp.lz" - - .align 2 -PokenavBlueLightPalette: - .incbin "graphics/pokenav/blue_light.gbapal" - - .align 2 -PokenavBlueLightTiles: - .incbin "graphics/pokenav/blue_light.4bpp" - -Palette_3E42D8: @ 83E42D8 - .incbin "baserom.gba", 0x3e42d8, 0x20 - -gUnknown_083E42F8:: @ 83E42F8 - .incbin "baserom.gba", 0x003e42f8, 0x20 - - .align 2 -gOamData_83E4318:: @ 83E4318 - .2byte 0x4000 - .2byte 0x8000 - .2byte 0x0400 - - .align 2 -gSpriteAnim_83E4320:: @ 83E4320 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83E4328:: @ 83E4328 - obj_image_anim_frame 8, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83E4330:: @ 83E4330 - obj_image_anim_frame 16, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83E4338:: @ 83E4338 - obj_image_anim_frame 24, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83E4340:: @ 83E4340 - obj_image_anim_frame 32, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83E4348:: @ 83E4348 - obj_image_anim_frame 40, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83E4350:: @ 83E4350 - obj_image_anim_frame 48, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83E4358:: @ 83E4358 - obj_image_anim_frame 56, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83E4360:: @ 83E4360 - obj_image_anim_frame 64, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83E4368:: @ 83E4368 - obj_image_anim_frame 72, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83E4370:: @ 83E4370 - obj_image_anim_frame 80, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83E4378:: @ 83E4378 - obj_image_anim_frame 88, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83E4380:: @ 83E4380 - obj_image_anim_frame 96, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83E4388:: @ 83E4388 - obj_image_anim_frame 104, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83E4390:: @ 83E4390 - obj_image_anim_frame 112, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83E4398:: @ 83E4398 - obj_image_anim_frame 120, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83E43A0:: @ 83E43A0 - obj_image_anim_frame 128, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83E43A8:: @ 83E43A8 - obj_image_anim_frame 136, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83E43B0:: @ 83E43B0 - obj_image_anim_frame 144, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83E43B8:: @ 83E43B8 - obj_image_anim_frame 152, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83E43C0:: @ 83E43C0 - obj_image_anim_frame 160, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83E43C8:: @ 83E43C8 - obj_image_anim_frame 168, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83E43D0:: @ 83E43D0 - obj_image_anim_frame 176, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83E43D8:: @ 83E43D8 - obj_image_anim_frame 184, 5 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83E43E0:: @ 83E43E0 - .4byte gSpriteAnim_83E4320 - .4byte gSpriteAnim_83E4328 - .4byte gSpriteAnim_83E4330 - .4byte gSpriteAnim_83E4338 - .4byte gSpriteAnim_83E4340 - .4byte gSpriteAnim_83E4348 - .4byte gSpriteAnim_83E4350 - .4byte gSpriteAnim_83E4358 - .4byte gSpriteAnim_83E4360 - .4byte gSpriteAnim_83E4368 - .4byte gSpriteAnim_83E4370 - .4byte gSpriteAnim_83E4378 - .4byte gSpriteAnim_83E4380 - .4byte gSpriteAnim_83E4388 - .4byte gSpriteAnim_83E4390 - .4byte gSpriteAnim_83E4398 - .4byte gSpriteAnim_83E43A0 - .4byte gSpriteAnim_83E43A8 - .4byte gSpriteAnim_83E43B0 - .4byte gSpriteAnim_83E43B8 - .4byte gSpriteAnim_83E43C0 - .4byte gSpriteAnim_83E43C8 - .4byte gSpriteAnim_83E43D0 - .4byte gSpriteAnim_83E43D8 - -Unknown_83E4440: - .incbin "baserom.gba", 0x003e4440, 0x10 - -gUnknown_083E4450:: @ 83E4450 - .4byte Unknown_83E4440 - - .align 2 -gSpriteTemplate_83E4454:: @ 83E4454 - spr_template 0, 0, gOamData_83E4318, gSpriteAnimTable_83E43E0, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteSheet_PokenavBlueLight:: @ 83E446C - obj_tiles PokenavBlueLightTiles, 0x100, 25 - - .align 2 -gSpritePalette_PokenavBlueLight:: @ 83E4474 - obj_pal PokenavBlueLightPalette, 17 - - .align 2 -gOamData_83E447C:: @ 83E447C - .2byte 0x4000 - .2byte 0x8000 - .2byte 0x0400 - - .align 2 -gSpriteTemplate_83E4484:: @ 83E4484 - spr_template 25, 17, gOamData_83E447C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80F2654 - -gUnknown_083E449C:: @ 83E449C - obj_pal gPokenavMenuOptions3_Pal, 2 - obj_pal gPokenavCondition5_Pal, 3 - obj_pal 0x0, 0 - - .align 2 -gOamData_83E44B4:: @ 83E44B4 - .2byte 0x4000 - .2byte 0xC000 - .2byte 0x0400 - - .align 2 -gSpriteAnim_83E44BC:: @ 83E44BC - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83E44C4:: @ 83E44C4 - obj_image_anim_frame 32, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83E44CC:: @ 83E44CC - obj_image_anim_frame 64, 5 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83E44D4:: @ 83E44D4 - .4byte gSpriteAnim_83E44BC - .4byte gSpriteAnim_83E44C4 - .4byte gSpriteAnim_83E44CC - - .align 2 -gSpriteTemplate_83E44E0:: @ 83E44E0 - spr_template 1, 2, gOamData_83E44B4, gSpriteAnimTable_83E44D4, NULL, gDummySpriteAffineAnimTable, sub_80F2BBC - - .align 2 -gSpriteTemplate_83E44F8:: @ 83E44F8 - spr_template 1, 3, gOamData_83E44B4, gSpriteAnimTable_83E44D4, NULL, gDummySpriteAffineAnimTable, sub_80F2BBC - - .align 2 -gOamData_83E4510:: @ 83E4510 - .2byte 0x4000 - .2byte 0x8000 - .2byte 0x0400 - - .align 2 -gSpriteAnim_83E4518:: @ 83E4518 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83E4520:: @ 83E4520 - obj_image_anim_frame 8, 5 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83E4528:: @ 83E4528 - .4byte gSpriteAnim_83E4518 - .4byte gSpriteAnim_83E4520 - - .align 2 -gSpriteTemplate_83E4530:: @ 83E4530 - spr_template 2, 2, gOamData_83E4510, gSpriteAnimTable_83E4528, NULL, gDummySpriteAffineAnimTable, sub_80F2BBC - - .align 2 -gSpriteTemplate_83E4548:: @ 83E4548 - spr_template 2, 3, gOamData_83E4510, gSpriteAnimTable_83E4528, NULL, gDummySpriteAffineAnimTable, sub_80F2BBC - - .align 2 -gOamData_83E4560:: @ 83E4560 - .2byte 0x0000 - .2byte 0xC000 - .2byte 0x0400 - - .align 2 -gUnknown_083E4568:: @ 83E4568 - .incbin "baserom.gba", 0x003e4568, 0x8 - - .align 2 -gSpriteTemplate_83E4570:: @ 83E4570 - spr_template 6, 6, gOamData_83E4560, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80F2E00 - -gUnknown_083E4588:: @ 83E4588 - .incbin "baserom.gba", 0x003e4588, 0x8 - - .align 2 -gUnknown_083E4590:: @ 83E4590 - obj_tiles gPokenavArrow_Gfx, 0x40, 9 - obj_tiles gPokenavUpDownArrows_Gfx, 0x80, 10 - null_obj_tiles - - .align 2 -gUnknown_083E45A8:: @ 83E45A8 - obj_pal gPokenavArrowsPalette, 9 - - .align 2 -gOamData_83E45B0:: @ 83E45B0 - .2byte 0x8000 - .2byte 0x0000 - .2byte 0x0800 - - .align 2 -gSpriteTemplate_83E45B8:: @ 83E45B8 - spr_template 9, 9, gOamData_83E45B0, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80F3190 - - .align 2 -gSpriteAnim_83E45D0:: @ 83E45D0 - obj_image_anim_frame 0, 3 - obj_image_anim_end - - .align 2 -gSpriteAnim_83E45D8:: @ 83E45D8 - obj_image_anim_frame 2, 3 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83E45E0:: @ 83E45E0 - .4byte gSpriteAnim_83E45D0 - .4byte gSpriteAnim_83E45D8 - - .align 2 -gOamData_83E45E8:: @ 83E45E8 - .2byte 0x4000 - .2byte 0x0000 - .2byte 0x0800 - - .align 2 -gSpriteTemplate_83E45F0:: @ 83E45F0 - spr_template 10, 9, gOamData_83E45E8, gSpriteAnimTable_83E45E0, NULL, gDummySpriteAffineAnimTable, sub_80F31AC - - .align 2 -gOamData_83E4608:: @ 83E4608 - .2byte 0x0000 - .2byte 0x4000 - .2byte 0x0800 - - .align 2 -gSpriteAnim_83E4610:: @ 83E4610 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83E4618:: @ 83E4618 - obj_image_anim_frame 4, 5 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83E4620:: @ 83E4620 - .4byte gSpriteAnim_83E4610 - .4byte gSpriteAnim_83E4618 - - .align 2 -gUnknown_083E4628:: @ 83E4628 - obj_tiles gPokenavPokeballTiles, 0x100, 3 - obj_tiles gUnknown_083E3780, 0x20, 4 - obj_tiles gPokenavConditionMenuCancel_Gfx, 0x100, 5 - null_obj_tiles - - .align 2 -gUnknown_083E4648:: @ 83E4648 - obj_pal gPokenavConditionPokeball_Pal, 4 - obj_pal gPokenavCondition4_Pal, 5 - .space 8 - - .align 2 -gSpriteTemplate_83E4660:: @ 83E4660 - spr_template 3, 4, gOamData_83E4608, gSpriteAnimTable_83E4620, NULL, gDummySpriteAffineAnimTable, sub_80F3328 - -gUnknown_083E4678:: @ 83E4678 - .incbin "baserom.gba", 0x003e4678, 0x20 - -gUnknown_083E4698:: @ 83E4698 - .incbin "baserom.gba", 0x003e4698, 0x80 - - .align 2 -gOamData_83E4718:: @ 83E4718 - .2byte 0x0100 - .2byte 0x8000 - .2byte 0x0000 - - .align 2 -gSpriteAffineAnim_83E4720:: @ 83E4720 - obj_rot_scal_anim_frame 0x80, 0x80, 0, 0 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83E4730:: @ 83E4730 - obj_rot_scal_anim_frame 0x80, 0x80, 0, 0 - obj_rot_scal_anim_frame 0x20, 0x20, 0, 4 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_83E4748:: @ 83E4748 - obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 - obj_rot_scal_anim_frame 0xFFE0, 0xFFE0, 0, 4 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_83E4760:: @ 83E4760 - .4byte gSpriteAffineAnim_83E4720 - .4byte gSpriteAffineAnim_83E4730 - .4byte gSpriteAffineAnim_83E4748 - - .align 2 -gSpriteTemplate_83E476C:: @ 83E476C - spr_template 11, 10, gOamData_83E4718, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83E4760, SpriteCallbackDummy - - .align 2 -gUnknown_083E4784:: @ 83E4784 - obj_tiles gPokenavSparkle_Gfx, 896, 0x0017 - - .align 2 -gUnknown_083E478C:: @ 83E478C - obj_pal gPokenavSparkle_Pal, 0x000f - -gUnknown_083E4794:: @ 83E4794 - .incbin "baserom.gba", 0x003e4794, 0x28 - - .align 2 -gOamData_83E47BC:: @ 83E47BC - .2byte 0x0000 - .2byte 0x4000 - .2byte 0x0000 - - .align 2 -gSpriteAnim_83E47C4:: @ 83E47C4 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 4, 5 - obj_image_anim_frame 8, 5 - obj_image_anim_frame 12, 5 - obj_image_anim_frame 16, 5 - obj_image_anim_frame 20, 5 - obj_image_anim_frame 24, 5 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83E47E4:: @ 83E47E4 - .4byte gSpriteAnim_83E47C4 - .4byte gSpriteAnim_83E47C4 + 0x8 - .4byte gSpriteAnim_83E47C4 + 0x10 - .4byte gSpriteAnim_83E47C4 + 0x18 - - @ unused? - .4byte gSpriteAnim_83E47C4 + 0x20 - .4byte gSpriteAnim_83E47C4 + 0x28 - .4byte gSpriteAnim_83E47C4 + 0x30 - - .align 2 -gSpriteTemplate_83E4800:: @ 83E4800 - spr_template 23, 15, gOamData_83E47BC, gSpriteAnimTable_83E47E4, NULL, gDummySpriteAffineAnimTable, sub_80F3E9C - - .align 2 -gUnknown_083E4818:: @ 83E4818 - obj_pal gPokenavIconPalette, 16 - - .align 2 -gSpriteAnim_83E4820:: @ 83E4820 - obj_image_anim_frame 0, 12 - obj_image_anim_frame 16, 12 - obj_image_anim_frame 32, 12 - obj_image_anim_frame 48, 12 - obj_image_anim_frame 64, 12 - obj_image_anim_frame 80, 12 - obj_image_anim_frame 96, 12 - obj_image_anim_frame 112, 12 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnimTable_83E4844:: @ 83E4844 - .4byte gSpriteAnim_83E4820 - - .align 2 -gOamData_83E4848:: @ 83E4848 - .2byte 0x0000 - .2byte 0x8000 - .2byte 0x0000 - - .align 2 -gSpriteTemplate_83E4850:: @ 83E4850 - spr_template 24, 16, gOamData_83E4848, gSpriteAnimTable_83E4844, NULL, gDummySpriteAffineAnimTable, sub_80F4138 - - .align 2 -gUnknown_083E4868:: @ 83E4868 - obj_pal Palette_3E42D8, 18 - - .align 2 -gOamData_83E4870:: @ 83E4870 - .2byte 0x4000 - .2byte 0x8000 - .2byte 0x0C00 - - .align 2 -gSpriteTemplate_83E4878:: @ 83E4878 - spr_template 26, 18, gOamData_83E4870, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - -gUnknown_083E4890:: @ 83E4890 - .incbin "baserom.gba", 0x003e4890, 0x100 - -gUnknown_083E4990:: @ 83E4990 - .incbin "baserom.gba", 0x003e4990, 0xc - -gUnknown_083E499C:: @ 83E499C - .incbin "baserom.gba", 0x003e499c, 0x24 - -gUnknown_083E49C0:: @ 83E49C0 - .incbin "baserom.gba", 0x003e49c0, 0x34 - - .align 2 -gUnknown_083E49F4:: @ 83E49F4 - .incbin "graphics/misc/mon_markings.gbapal" - - .align 2 -gUnknown_083E4A14:: @ 83E4A14 - .incbin "graphics/misc/mon_markings.4bpp" - -gUnknown_083E5214:: @ 83E5214 - .incbin "baserom.gba", 0x003e5214, 0x8 - -gUnknown_083E521C:: @ 83E521C - .space 8 - - .align 2 -gSpriteAnim_83E5224:: @ 83E5224 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83E522C:: @ 83E522C - obj_image_anim_frame 1, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83E5234:: @ 83E5234 - obj_image_anim_frame 2, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83E523C:: @ 83E523C - obj_image_anim_frame 3, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83E5244:: @ 83E5244 - obj_image_anim_frame 4, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83E524C:: @ 83E524C - obj_image_anim_frame 5, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83E5254:: @ 83E5254 - obj_image_anim_frame 6, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83E525C:: @ 83E525C - obj_image_anim_frame 7, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83E5264:: @ 83E5264 - obj_image_anim_frame 8, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83E526C:: @ 83E526C - obj_image_anim_frame 9, 5 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83E5274:: @ 83E5274 - .4byte gSpriteAnim_83E5224 - .4byte gSpriteAnim_83E522C - .4byte gSpriteAnim_83E5234 - .4byte gSpriteAnim_83E523C - .4byte gSpriteAnim_83E5244 - .4byte gSpriteAnim_83E524C - .4byte gSpriteAnim_83E5254 - .4byte gSpriteAnim_83E525C - .4byte gSpriteAnim_83E5264 - .4byte gSpriteAnim_83E526C - - .align 2 -gSpriteAnim_83E529C:: @ 83E529C - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83E52A4:: @ 83E52A4 - obj_image_anim_frame 64, 5 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83E52AC:: @ 83E52AC - .4byte gSpriteAnim_83E529C - .4byte gSpriteAnim_83E52A4 - -gUnknown_083E52B4:: @ 83E52B4 - .incbin "baserom.gba", 0x003E52B4, 0x8 - - .align 2 -gSpriteAnim_83E52BC:: @ 83E52BC - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83E52C4:: @ 83E52C4 - obj_image_anim_frame 4, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83E52CC:: @ 83E52CC - obj_image_anim_frame 8, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83E52D4:: @ 83E52D4 - obj_image_anim_frame 12, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83E52DC:: @ 83E52DC - obj_image_anim_frame 16, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83E52E4:: @ 83E52E4 - obj_image_anim_frame 20, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83E52EC:: @ 83E52EC - obj_image_anim_frame 24, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83E52F4:: @ 83E52F4 - obj_image_anim_frame 28, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83E52FC:: @ 83E52FC - obj_image_anim_frame 32, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83E5304:: @ 83E5304 - obj_image_anim_frame 36, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83E530C:: @ 83E530C - obj_image_anim_frame 40, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83E5314:: @ 83E5314 - obj_image_anim_frame 44, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83E531C:: @ 83E531C - obj_image_anim_frame 48, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83E5324:: @ 83E5324 - obj_image_anim_frame 52, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83E532C:: @ 83E532C - obj_image_anim_frame 56, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83E5334:: @ 83E5334 - obj_image_anim_frame 60, 5 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83E533C:: @ 83E533C - .4byte gSpriteAnim_83E52BC - .4byte gSpriteAnim_83E52C4 - .4byte gSpriteAnim_83E52CC - .4byte gSpriteAnim_83E52D4 - .4byte gSpriteAnim_83E52DC - .4byte gSpriteAnim_83E52E4 - .4byte gSpriteAnim_83E52EC - .4byte gSpriteAnim_83E52F4 - .4byte gSpriteAnim_83E52FC - .4byte gSpriteAnim_83E5304 - .4byte gSpriteAnim_83E530C - .4byte gSpriteAnim_83E5314 - .4byte gSpriteAnim_83E531C - .4byte gSpriteAnim_83E5324 - .4byte gSpriteAnim_83E532C - .4byte gSpriteAnim_83E5334 - -gUnknown_083E537C:: @ 83E537C - .incbin "baserom.gba", 0x003e537c, 0xc - - .align 2 -gUnknown_083E5388:: @ 83E5388 - .4byte OtherText_SoPretty - .4byte OtherText_SoDarling - .4byte OtherText_SoRelaxed - .4byte OtherText_SoSunny - .4byte OtherText_SoDesirable - .4byte OtherText_SoExciting - .4byte OtherText_SoAmusing - .4byte OtherText_SoMagical - - .align 2 -gUnknown_083E53A8:: @ 83E53A8 - .4byte OtherText_WantVacationNicePlace - .4byte OtherText_BoughtCrayonsIsNice - .4byte OtherText_IfWeCouldFloat - .4byte OtherText_SandWashesAwayMakeSad - .4byte OtherText_WhatsBottomSeaLike - .4byte OtherText_SeeSettingSun - .4byte OtherText_LyingInGreenGrass - .4byte OtherText_SecretBasesWonderful - -gUnknown_083E53C8:: @ 83E53C8 - .incbin "baserom.gba", 0x003e53c8, 0x18 - - .align 2 -gUnknown_083E53E0:: @ 83E53E0 - .4byte 0x132, UnknownString_81AEFFC, UnknownString_81AF013, UnknownString_81AF022 - .4byte 0x102, UnknownString_81AF0A3, UnknownString_81AF0BB, UnknownString_81AF0CA - .4byte 0x103, UnknownString_81AF149, UnknownString_81AF164, UnknownString_81AF174 - .4byte 0x104, UnknownString_81AF1E5, UnknownString_81AF1FD, UnknownString_81AF20A - .4byte 0x106, UnknownString_81AF281, UnknownString_81AF299, UnknownString_81AF2A9 - .4byte 0x109, UnknownString_81AF32C, UnknownString_81AF345, UnknownString_81AF34D - .4byte 0x10b, UnknownString_81AF3D0, UnknownString_81AF3ED, UnknownString_81AF3FC - .4byte 0x10c, UnknownString_81AF46D, UnknownString_81AF481, UnknownString_81AF49B - .4byte 0x10d, UnknownString_81AF511, UnknownString_81AF529, UnknownString_81AF536 - .4byte 0x10e, UnknownString_81AF5A9, UnknownString_81AF5BD, UnknownString_81AF5CD - .4byte 0x10f, UnknownString_81AF63F, UnknownString_81AF661, UnknownString_81AF676 - .4byte 0x110, UnknownString_81AF711, UnknownString_81AF726, UnknownString_81AF73D - .4byte 0x111, UnknownString_81AF7BF, UnknownString_81AF7D9, UnknownString_81AF7F1 - .4byte 0x112, UnknownString_81AF88A, UnknownString_81AF8A1, UnknownString_81AF8AA - .4byte 0x113, UnknownString_81AF91B, UnknownString_81AF935, UnknownString_81AF943 - .4byte 0x114, UnknownString_81AF9C8, UnknownString_81AF9E0, UnknownString_81AF9F6 - .4byte 0x11a, UnknownString_81AFA79, UnknownString_81AFA92, UnknownString_81AFA9E - .4byte 0x11b, UnknownString_81AFB17, UnknownString_81AFB2D, UnknownString_81AFB48 - .4byte 0x11c, UnknownString_81AFBD8, UnknownString_81AFBE7, UnknownString_81AFC04 - .4byte 0x21d, UnknownString_81AFC8A, UnknownString_81AFC9D, UnknownString_81AFCBE - .4byte 0x11e, UnknownString_81AFD44, UnknownString_81AFD60, UnknownString_81AFD80 - .4byte 0x121, UnknownString_81AFE1D, UnknownString_81AFE36, UnknownString_81AFE42 - .4byte 0x124, UnknownString_81AFEC2, UnknownString_81AFEDD, UnknownString_81AFEEE - .4byte 0x125, UnknownString_81AFF68, UnknownString_81AFF7B, UnknownString_81AFF88 - .4byte 0x126, UnknownString_81AFFFB, UnknownString_81B000D, UnknownString_81B0015 - .4byte 0x127, UnknownString_81B009D, UnknownString_81B00B6, UnknownString_81B00C9 - .4byte 0x128, UnknownString_81B014D, UnknownString_81B0165, UnknownString_81B0173 - .4byte 0x129, UnknownString_81B01E9, UnknownString_81B0201, UnknownString_81B0213 - .4byte 0x12a, UnknownString_81B0290, UnknownString_81B02A5, UnknownString_81B02B6 - .4byte 0x12b, UnknownString_81B0337, UnknownString_81B0351, UnknownString_81B0364 - .4byte 0x12c, UnknownString_81B03E9, UnknownString_81B0401, UnknownString_81B040C - .4byte 0x12d, UnknownString_81B046E, UnknownString_81B0489, UnknownString_81B049A - .4byte 0x12e, UnknownString_81B0523, UnknownString_81B053E, UnknownString_81B0554 - .4byte 0x12f, UnknownString_81B05D8, UnknownString_81B05F3, UnknownString_81B0610 - .4byte 0x130, UnknownString_81B06A9, UnknownString_81B06C6, UnknownString_81B06D9 - -gUnknown_083E5610:: @ 83E5610 - .4byte 0x131, UnknownString_81B0763, UnknownString_81B0781, UnknownString_81B0797 - -gUnknown_083E5620:: @ 83E5620 - .incbin "baserom.gba", 0x003e5620, 0xc - -gUnknown_083E562C:: @ 83E562C - .incbin "baserom.gba", 0x003e562c, 0x8 - - .align 2 -gMailGraphicsTable:: @ 83E5634 - .4byte gMailPalette_Orange - .4byte gMailTiles_Orange - .4byte gMailTilemap_Orange - .2byte 0x2C0 - .2byte 0 - .2byte 0x294A - .2byte 0x6739 - - .4byte gMailPalette_Harbor - .4byte gMailTiles_Harbor - .4byte gMailTilemap_Harbor - .2byte 0x2E0 - .2byte 0 - .2byte 0x7FFF - .2byte 0x4631 - - .4byte gMailPalette_Glitter - .4byte gMailTiles_Glitter - .4byte gMailTilemap_Glitter - .2byte 0x400 - .2byte 0 - .2byte 0x294A - .2byte 0x6739 - - .4byte gMailPalette_Mech - .4byte gMailTiles_Mech - .4byte gMailTilemap_Mech - .2byte 0x1E0 - .2byte 0 - .2byte 0x7FFF - .2byte 0x4631 - - .4byte gMailPalette_Wood - .4byte gMailTiles_Wood - .4byte gMailTilemap_Wood - .2byte 0x2E0 - .2byte 0 - .2byte 0x7FFF - .2byte 0x4631 - - .4byte gMailPalette_Wave - .4byte gMailTiles_Wave - .4byte gMailTilemap_Wave - .2byte 0x300 - .2byte 0 - .2byte 0x294A - .2byte 0x6739 - - .4byte gMailPalette_Bead - .4byte gMailTiles_Bead - .4byte gMailTilemap_Bead - .2byte 0x140 - .2byte 0 - .2byte 0x7FFF - .2byte 0x4631 - - .4byte gMailPalette_Shadow - .4byte gMailTiles_Shadow - .4byte gMailTilemap_Shadow - .2byte 0x300 - .2byte 0 - .2byte 0x7FFF - .2byte 0x4631 - - .4byte gMailPalette_Tropic - .4byte gMailTiles_Tropic - .4byte gMailTilemap_Tropic - .2byte 0x220 - .2byte 0 - .2byte 0x294A - .2byte 0x6739 - - .4byte gMailPalette_Dream - .4byte gMailTiles_Dream - .4byte gMailTilemap_Dream - .2byte 0x340 - .2byte 0 - .2byte 0x294A - .2byte 0x6739 - - .4byte gMailPalette_Fab - .4byte gMailTiles_Fab - .4byte gMailTilemap_Fab - .2byte 0x2A0 - .2byte 0 - .2byte 0x294A - .2byte 0x6739 - - .4byte gMailPalette_Retro - .4byte gMailTiles_Retro - .4byte gMailTilemap_Retro - .2byte 0x520 - .2byte 0 - .2byte 0x294A - .2byte 0x6739 - - .align 2 -Unknown_3E5724: @ 83E5724 - .incbin "baserom.gba", 0x3e5724, 0xc - -gUnknown_083E5730:: @ 83E5730 - .byte 3, 15, 27, 52 - .4byte Unknown_3E5724 - .byte 3, 15, 27, 52 - .4byte Unknown_3E5724 - .byte 3, 15, 27, 52 - .4byte Unknown_3E5724 - .byte 3, 15, 27, 52 - .4byte Unknown_3E5724 - .byte 3, 15, 27, 52 - .4byte Unknown_3E5724 - .byte 3, 15, 27, 52 - .4byte Unknown_3E5724 - .byte 3, 15, 27, 52 - .4byte Unknown_3E5724 - .byte 3, 15, 27, 52 - .4byte Unknown_3E5724 - .byte 3, 15, 27, 52 - .4byte Unknown_3E5724 - .byte 3, 15, 27, 52 - .4byte Unknown_3E5724 - .byte 3, 16, 27, 52 - .4byte Unknown_3E5724 - .byte 3, 15, 27, 52 - .4byte Unknown_3E5724 - - .align 2 -Unknown_3E5790: @ 83E5790 - .incbin "baserom.gba", 0x3e5790, 0x14 - - .align 2 -gUnknown_083E57A4:: @ 83E57A4 - .byte 5, 15, 15, 52 - .4byte Unknown_3E5790 - .byte 5, 15, 15, 52 - .4byte Unknown_3E5790 - .byte 5, 15, 16, 52 - .4byte Unknown_3E5790 - .byte 5, 15, 15, 52 - .4byte Unknown_3E5790 - .byte 5, 15, 15, 52 - .4byte Unknown_3E5790 - .byte 5, 15, 16, 52 - .4byte Unknown_3E5790 - .byte 5, 15, 16, 52 - .4byte Unknown_3E5790 - .byte 5, 15, 15, 52 - .4byte Unknown_3E5790 - .byte 5, 15, 15, 52 - .4byte Unknown_3E5790 - .byte 5, 15, 15, 52 - .4byte Unknown_3E5790 - .byte 5, 16, 15, 52 - .4byte Unknown_3E5790 - .byte 5, 15, 15, 52 - .4byte Unknown_3E5790 - - .align 2 - .incbin "baserom.gba", 0x3e5804, 0x4 - - .align 2 -gSpriteImage_83E5808:: @ 83E5808 - .incbin "graphics/unknown_sprites/83E59A0/0.4bpp" - - .align 2 -gSpriteImage_83E5848:: @ 83E5848 - .incbin "graphics/unknown_sprites/83E59A0/1.4bpp" - - .align 2 -gSpriteImage_83E5888:: @ 83E5888 - .incbin "graphics/unknown_sprites/83E59B0/0.4bpp" - - .align 2 -gSpriteImage_83E58C8:: @ 83E58C8 - .incbin "graphics/unknown_sprites/83E59B0/1.4bpp" - - .align 2 -gSpriteImage_83E5908:: @ 83E5908 - .incbin "graphics/unknown_sprites/83E59C0/0.4bpp" - - .align 2 -gSpriteImage_83E5928:: @ 83E5928 - .incbin "graphics/unknown_sprites/83E59C0/1.4bpp" - - .align 2 -Palette_3E5948: @ 83E5948 - .incbin "baserom.gba", 0x3e5948, 0x20 - - .align 2 -gUnknown_083E5968:: @ 83E5968 - obj_pal Palette_3E5948, 6 - - .align 2 -gOamData_83E5970:: @ 83E5970 - .2byte 0x0000 - .2byte 0x0000 - .2byte 0x0001 - - .align 2 -gOamData_83E5978:: @ 83E5978 - .2byte 0x4000 - .2byte 0x0000 - .2byte 0x0001 - - .align 2 -gOamData_83E5980:: @ 83E5980 - .2byte 0x8000 - .2byte 0x0000 - .2byte 0x0001 - - .align 2 -gSpriteAnim_83E5988:: @ 83E5988 - obj_image_anim_frame 0, 0 - obj_image_anim_end - - .align 2 -gSpriteAnim_83E5990:: @ 83E5990 - obj_image_anim_frame 1, 0 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83E5998:: @ 83E5998 - .4byte gSpriteAnim_83E5988 - .4byte gSpriteAnim_83E5990 - - .align 2 -gSpriteImageTable_83E59A0:: @ 83E59A0 - obj_frame_tiles gSpriteImage_83E5808, 0x40 - obj_frame_tiles gSpriteImage_83E5848, 0x40 - - .align 2 -gSpriteImageTable_83E59B0:: @ 83E59B0 - obj_frame_tiles gSpriteImage_83E5888, 0x40 - obj_frame_tiles gSpriteImage_83E58C8, 0x40 - - .align 2 -gSpriteImageTable_83E59C0:: @ 83E59C0 - obj_frame_tiles gSpriteImage_83E5908, 0x20 - obj_frame_tiles gSpriteImage_83E5928, 0x20 - - .align 2 -gSpriteTemplate_83E59D0:: @ 83E59D0 - spr_template 0xFFFF, 6, gOamData_83E5978, gSpriteAnimTable_83E5998, gSpriteImageTable_83E59A0, gDummySpriteAffineAnimTable, sub_80F9834 - - .align 2 -gSpriteTemplate_83E59E8:: @ 83E59E8 - spr_template 0xFFFF, 6, gOamData_83E5980, gSpriteAnimTable_83E5998, gSpriteImageTable_83E59B0, gDummySpriteAffineAnimTable, sub_80F9834 - - .align 2 -gSpriteTemplate_83E5A00:: @ 83E5A00 - spr_template 0xFFFF, 6, gOamData_83E5970, gSpriteAnimTable_83E5998, gSpriteImageTable_83E59C0, gDummySpriteAffineAnimTable, SpriteCallbackDummy - -gUnknown_083E5A18:: @ 83E5A18 - .string "{PALETTE 0}$" - -gUnknown_083E5A1C:: @ 83E5A1C - .string "▶$" - - .align 2 -gHealLocations:: @ 83E5A20 - heal_location LittlerootTown_BrendansHouse_2F, 4, 2 - heal_location LittlerootTown_MaysHouse_2F, 4, 2 - heal_location PetalburgCity, 20, 17 - heal_location SlateportCity, 19, 20 - heal_location MauvilleCity, 22, 6 - heal_location RustboroCity, 16, 39 - heal_location FortreeCity, 5, 7 - heal_location LilycoveCity, 24, 15 - heal_location MossdeepCity, 28, 17 - heal_location SootopolisCity, 43, 32 - heal_location EverGrandeCity, 27, 49 - heal_location LittlerootTown, 5, 9 - heal_location LittlerootTown, 14, 9 - heal_location OldaleTown, 6, 17 - heal_location DewfordTown, 2, 11 - heal_location LavaridgeTown, 9, 7 - heal_location FallarborTown, 14, 8 - heal_location VerdanturfTown, 16, 4 - heal_location PacifidlogTown, 8, 16 - heal_location EverGrandeCity, 18, 6 - heal_location BattleTower_Outside, 14, 9 - heal_location SouthernIsland_Exterior, 15, 20 - - .align 2 -gPokenavCursor_Pal:: - .incbin "graphics/pokenav/cursor.gbapal" - - .align 2 -gUnknown_083E5AF0:: @ 83E5AF0 - .incbin "graphics/pokenav/cursor_small.4bpp.lz" - - .align 2 -gUnknown_083E5B34:: @ 83E5B34 - .incbin "graphics/pokenav/cursor_large.4bpp.lz" - - .align 2 -gRegionMapBrendanIconPalette:: @ 83E5C20 - .incbin "graphics/pokenav/brendan_icon.gbapal" - - .align 2 -gRegionMapBrendanIconTiles:: @ 83E5C40 - .incbin "graphics/pokenav/brendan_icon.4bpp" - - .align 2 -gRegionMapMayIconPalette:: @ 83E5CC0 - .incbin "graphics/pokenav/may_icon.gbapal" - - .align 2 -gRegionMapMayIconTiles:: @ 83E5CE0 - .incbin "graphics/pokenav/may_icon.4bpp" - - .align 2 -gUnknown_083E5D60:: @ 83E5D60 - .incbin "graphics/pokenav/region_map.gbapal", 0xE0, 0x40 - - .align 2 -gUnknown_083E5DA0:: @ 83E5DA0 - .incbin "graphics/pokenav/region_map.8bpp.lz" - - .align 2 -gUnknown_083E6B04:: @ 83E6B04 - .incbin "graphics/pokenav/region_map_map.bin.lz" - -@ 83E6E50 - .include "data/region_map_sections.inc" - -@ 83E6FF4 - .include "data/region_map_locations.inc" - -gUnknown_083E7684:: @ 83E7684 - .incbin "baserom.gba", 0x003e7684, 0x34 - - .align 2 -gOamData_83E76B8:: @ 83E76B8 - .2byte 0x0000 - .2byte 0x4000 - .2byte 0x0400 - - .align 2 -gSpriteAnim_83E76C0:: @ 83E76C0 - obj_image_anim_frame 0, 20 - obj_image_anim_frame 4, 20 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnim_83E76CC:: @ 83E76CC - obj_image_anim_frame 0, 10 - obj_image_anim_frame 16, 10 - obj_image_anim_frame 32, 10 - obj_image_anim_frame 16, 10 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnimTable_83E76E0:: @ 83E76E0 - .4byte gSpriteAnim_83E76C0 - .4byte gSpriteAnim_83E76CC - - .align 2 -gUnknown_083E76E8:: @ 83E76E8 - obj_pal gPokenavCursor_Pal, 0x0000 - - .align 2 -gSpriteTemplate_83E76F0:: @ 83E76F0 - spr_template 0, 0, gOamData_83E76B8, gSpriteAnimTable_83E76E0, NULL, gDummySpriteAffineAnimTable, sub_80FBAF0 - -gUnknown_083E7708:: @ 83E7708 - .incbin "baserom.gba", 0x003e7708, 0x8 - -Unknown_83E7710: - .incbin "baserom.gba", 0x003e7710, 0x8 - -gUnknown_083E7718:: @ 83E7718 - .4byte Unknown_83E7710 - -gUnknown_083E771C:: @ 83E771C - .incbin "graphics/pokenav/map_frame.gbapal" - -gUnknown_083E773C:: @ 83E773C - .incbin "graphics/pokenav/map_frame.4bpp.lz" - -gUnknown_083E7774:: @ 83E7774 - .incbin "baserom.gba", 0x003e7774, 0xb8 - - .align 2 -gPokenavMapMisc_Pal:: - .incbin "graphics/pokenav/map_misc.gbapal" - -gUnknown_083E784C:: @ 83E784C - .incbin "graphics/pokenav/map_misc.4bpp.lz" - -gUnknown_083E7920:: @ 83E7920 - .incbin "baserom.gba", 0x3e7920, 0x98 - - .align 2 -Unknown_3E79B8: @ 83E79B8 - .4byte OtherText_PokeLeague - .4byte OtherText_PokeCenter - - .align 2 -gUnknown_083E79C0:: @ 83E79C0 - .4byte Unknown_3E79B8 - .incbin "baserom.gba", 0x3e79c4, 0x8 - - .align 2 -gUnknown_083E79CC:: @ 83E79CC - obj_pal gPokenavMapMisc_Pal, 0x0002 - - .align 2 -gUnknown_083E79D4:: @ 83E79D4 - .incbin "baserom.gba", 0x003e79d4, 0x8 - - .align 2 -gOamData_83E79DC:: @ 83E79DC - .2byte 0x0000 - .2byte 0x0000 - .2byte 0x0800 - - .align 2 -gSpriteAnim_83E79E4:: @ 83E79E4 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83E79EC:: @ 83E79EC - obj_image_anim_frame 1, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83E79F4:: @ 83E79F4 - obj_image_anim_frame 3, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83E79FC:: @ 83E79FC - obj_image_anim_frame 5, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83E7A04:: @ 83E7A04 - obj_image_anim_frame 6, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83E7A0C:: @ 83E7A0C - obj_image_anim_frame 8, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_83E7A14:: @ 83E7A14 - obj_image_anim_frame 10, 5 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83E7A1C:: @ 83E7A1C - .4byte gSpriteAnim_83E79E4 - .4byte gSpriteAnim_83E79EC - .4byte gSpriteAnim_83E79F4 - .4byte gSpriteAnim_83E79FC - .4byte gSpriteAnim_83E7A04 - .4byte gSpriteAnim_83E7A0C - .4byte gSpriteAnim_83E7A14 - - .align 2 -gSpriteTemplate_83E7A38:: @ 83E7A38 - spr_template 2, 2, gOamData_83E79DC, gSpriteAnimTable_83E7A1C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - -@ 83E7A50 - .include "data/cute_sketch.inc" - -@ 83E9FD0 - .include "data/decorations.inc" - - .align 2 -gUnknown_083EC5E4:: @ 83EC5E4 - .4byte SecretBaseText_Desk - .4byte SecretBaseText_Chair - .4byte SecretBaseText_Plant - .4byte SecretBaseText_Ornament - .4byte SecretBaseText_Mat - .4byte SecretBaseText_Poster - .4byte SecretBaseText_Doll - .4byte SecretBaseText_Cushion - - .align 2 -gUnknown_083EC604:: @ 83EC604 - .4byte SecretBaseText_Decorate, sub_80FF160 - .4byte SecretBaseText_PutAway, sub_8100A0C - .4byte SecretBaseText_Toss, sub_8101700 - .4byte gUnknownText_Exit, gpu_pal_decompress_alloc_tag_and_upload - - .align 2 -gUnknown_083EC624:: @ 83EC624 - .4byte SecretBaseText_PutOutDecor - .4byte SecretBaseText_StoreChosenDecor - .4byte SecretBaseText_ThrowAwayDecor - .4byte gMenuText_GoBackToPrev - - .align 2 -gUnknown_083EC634:: @ 83EC634 - .4byte sub_80FF5BC - .4byte sub_80FF058 - .4byte sub_81017A0 - .4byte sub_80FF058 - .4byte sub_81017A0 - .4byte sub_80FF058 - .4byte sub_8109D04 - .4byte sub_80FF058 - -gUnknown_083EC654:: @ 83EC654 - .incbin "baserom.gba", 0x003ec654, 0x6 - -gUnknown_083EC65A:: @ 83EC65A - .incbin "baserom.gba", 0x3ec65a, 0x6 - -Unknown_3EC660: @ 83EC660 - .incbin "baserom.gba", 0x3ec660, 0x4 - -Unknown_3EC664: @ 83EC664 - .incbin "baserom.gba", 0x3ec664, 0xc - -Unknown_3EC670: @ 83EC670 - .incbin "baserom.gba", 0x3ec670, 0x10 - -Unknown_3EC680: @ 83EC680 - .incbin "baserom.gba", 0x3ec680, 0xc - -Unknown_3EC68C: @ 83EC68C - .incbin "baserom.gba", 0x3ec68c, 0x8 - -Unknown_3EC694: @ 83EC694 - .incbin "baserom.gba", 0x3ec694, 0x20 - -Unknown_3EC6B4: @ 83EC6B4 - .incbin "baserom.gba", 0x3ec6b4, 0x24 - -Unknown_3EC6D8: @ 83EC6D8 - .incbin "baserom.gba", 0x3ec6d8, 0x18 - -Unknown_3EC6F0: @ 83EC6F0 - .incbin "baserom.gba", 0x3ec6f0, 0x4 - -Unknown_3EC6F4: @ 83EC6F4 - .incbin "baserom.gba", 0x3ec6f4, 0x8 - -Unknown_3EC6FC: @ 83EC6FC - .incbin "baserom.gba", 0x3ec6fc, 0xc - -Unknown_3EC708: @ 83EC708 - .incbin "baserom.gba", 0x3ec708, 0x20 - -Unknown_3EC728: @ 83EC728 - .incbin "baserom.gba", 0x3ec728, 0x10 - -Unknown_3EC738: @ 83EC738 - .incbin "baserom.gba", 0x3ec738, 0x8 - -Unknown_3EC740: @ 83EC740 - .incbin "baserom.gba", 0x3ec740, 0xc - -Unknown_3EC74C: @ 83EC74C - .incbin "baserom.gba", 0x3ec74c, 0x20 - -Unknown_3EC76C: @ 83EC76C - .incbin "baserom.gba", 0x3ec76c, 0x24 - -Unknown_3EC790: @ 83EC790 - .incbin "baserom.gba", 0x3ec790, 0x18 - -Unknown_3EC7A8: @ 83EC7A8 - .incbin "baserom.gba", 0x3ec7a8, 0x4 - -Unknown_3EC7AC: @ 83EC7AC - .incbin "baserom.gba", 0x3ec7ac, 0x8 - -Unknown_3EC7B4: @ 83EC7B4 - .incbin "baserom.gba", 0x3ec7b4, 0xc - -Unknown_3EC7C0: @ 83EC7C0 - .incbin "baserom.gba", 0x3ec7c0, 0x20 - -Unknown_3EC7E0: @ 83EC7E0 - .incbin "baserom.gba", 0x3ec7e0, 0x10 - -Unknown_3EC7F0: @ 83EC7F0 - .incbin "baserom.gba", 0x3ec7f0, 0x8 - -Unknown_3EC7F8: @ 83EC7F8 - .incbin "baserom.gba", 0x3ec7f8, 0xc - -Unknown_3EC804: @ 83EC804 - .incbin "baserom.gba", 0x3ec804, 0x20 - -Unknown_3EC824: @ 83EC824 - .incbin "baserom.gba", 0x3ec824, 0x24 - -Unknown_3EC848: @ 83EC848 - .incbin "baserom.gba", 0x3ec848, 0x18 - - .align 2 -gUnknown_083EC860:: @ 83EC860 - .4byte Unknown_3EC660, Unknown_3EC6F0, Unknown_3EC7A8, 0x4 - .4byte Unknown_3EC68C, Unknown_3EC6F4, Unknown_3EC7AC, 0x8 - .4byte Unknown_3EC664, Unknown_3EC6FC, Unknown_3EC7B4, 0xc - .4byte Unknown_3EC694, Unknown_3EC708, Unknown_3EC7C0, 0x20 - .4byte Unknown_3EC670, Unknown_3EC728, Unknown_3EC7E0, 0x10 - .4byte Unknown_3EC68C, Unknown_3EC738, Unknown_3EC7F0, 0x8 - .4byte Unknown_3EC680, Unknown_3EC740, Unknown_3EC7F8, 0xc - .4byte Unknown_3EC694, Unknown_3EC74C, Unknown_3EC804, 0x20 - .4byte Unknown_3EC6B4, Unknown_3EC76C, Unknown_3EC824, 0x24 - .4byte Unknown_3EC6D8, Unknown_3EC790, Unknown_3EC848, 0x18 - -gUnknown_083EC900:: @ 83EC900 - .incbin "baserom.gba", 0x3ec900, 0x28 - - .align 2 -gSpriteAnim_83EC928:: @ 83EC928 - obj_image_anim_frame 0, 0 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83EC930:: @ 83EC930 - .4byte gSpriteAnim_83EC928 - - .align 2 -gSpriteImageTable_83EC934: @ 83EC934 - obj_frame_tiles 0x02038984, 0x800 - - .align 2 -gSpriteTemplate_83EC93C:: @ 83EC93C - spr_template 0xFFFF, 3000, 0x20391AC, gSpriteAnimTable_83EC930, gSpriteImageTable_83EC934, gDummySpriteAffineAnimTable, sub_81009A8 - - .align 2 -gUnknown_083EC954:: @ 83EC954 - obj_pal 0x02039184, 3000 - - .align 2 -gUnknown_083EC95C:: @ 83EC95C - .4byte sub_81000C4 - .4byte sub_810065C - - .align 2 -gUnknown_083EC964:: @ 83EC964 - .4byte sub_810026C - .4byte sub_810065C - - .align 2 -gUnknown_083EC96C:: @ 83EC96C - .4byte sub_80FFAB0 - .4byte sub_80FFB08 - .4byte sub_8100F88 - .4byte sub_8100FB4 - -gUnknown_083EC97C:: @ 83EC97C - .incbin "baserom.gba", 0x003ec97c, 0x8 - -gUnknown_083EC984:: @ 83EC984 - .incbin "baserom.gba", 0x003ec984, 0x8 - - .align 2 -gUnknown_083EC98C:: - .incbin "baserom.gba", 0x003ec98c, 0x20 - - .align 2 -Unknown_3EC9AC: @ 83EC9AC - .incbin "baserom.gba", 0x3ec9ac, 0x20 - - .align 2 -gUnknown_083EC9CC:: @ 83EC9CC - .4byte sub_810153C - .4byte sub_8100EEC - - .align 2 -gUnknown_083EC9D4:: @ 83EC9D4 - .4byte sub_8101590 - .4byte sub_8100EEC - - .align 2 -gSpriteImage_83EC9DC:: @ 83EC9DC - .incbin "graphics/unknown_sprites/83EC9DC.4bpp" - - .align 2 -gUnknown_083ECA5C:: @ 83ECA5C - obj_pal gUnknown_083EC98C, 0x0008 - - .align 2 -gUnknown_083ECA64:: @ 83ECA64 - obj_pal Unknown_3EC9AC, 0x0008 - - .align 2 -gOamData_83ECA6C:: @ 83ECA6C - .2byte 0x0000 - .2byte 0x4000 - .2byte 0x0400 - - .align 2 -gSpriteAnim_83ECA74:: @ 83ECA74 - obj_image_anim_frame 0, 0 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83ECA7C:: @ 83ECA7C - .4byte gSpriteAnim_83ECA74 - - .align 2 -gSpriteImageTable_83ECA80:: @ 83ECA80 - obj_frame_tiles gSpriteImage_83EC9DC, 0x80 - - .align 2 -gSpriteTemplate_83ECA88:: @ 83ECA88 - spr_template 0xFFFF, 8, gOamData_83ECA6C, gSpriteAnimTable_83ECA7C, gSpriteImageTable_83ECA80, gDummySpriteAffineAnimTable, sub_8101698 - - .align 2 -gUnknown_083ECAA0:: @ 83ECAA0 - .4byte sub_8101848 - .4byte sub_80FED3C - - .incbin "baserom.gba", 0x003ecaa8, 0x4 - - .align 2 -gUnknown_083ECAAC:: @ 83ECAAC - .4byte sub_8101D5C - .4byte sub_8101D8C - .4byte sub_8101DB0 - .4byte sub_8101DF4 - .4byte sub_8101E10 - .4byte sub_8101E3C - .4byte sub_8101F44 - .4byte sub_8101F60 - .4byte sub_8101F88 - .4byte sub_8101FA4 - .4byte sub_8102008 - .4byte sub_8102034 - .4byte sub_8102058 - .4byte sub_8102090 - .4byte sub_81020C8 - .4byte sub_81021E0 - .4byte sub_81021FC - .4byte sub_8102264 - .4byte sub_81022A0 - .4byte sub_81022CC - .4byte sub_81022F0 - .4byte sub_8102318 - .4byte sub_8102344 - .4byte sub_810239C - .4byte sub_81023B8 - .4byte sub_81023E0 - .4byte sub_81023FC - .4byte sub_8102424 - .4byte sub_8102460 - - .align 2 -gUnknown_083ECB20:: @ 83ECB20 - .4byte sub_8102A9C - .4byte sub_8102AD0 - .4byte sub_8102B80 - - .align 2 -gUnknown_083ECB2C:: @ 83ECB2C - .4byte sub_8102EA0 - .4byte sub_8102EA4 - .4byte sub_8102EC0 - .4byte sub_8102F4C - .4byte sub_8103008 - - .align 2 -gUnknown_083ECB40:: @ 83ECB40 - .4byte sub_810305C - .4byte sub_81032C0 - .4byte sub_81033DC - - .align 2 -gUnknown_083ECB4C:: @ 83ECB4C - .4byte sub_81034F4 - .4byte sub_8103540 - .4byte sub_810380C - -gUnknown_083ECB58:: @ 83ECB58 - .incbin "baserom.gba", 0x003ecb58, 0xc - - .align 2 -gUnknown_083ECB64:: @ 83ECB64 - .4byte sub_8103154 - .4byte sub_81031B4 - .4byte sub_81031B4 - - .align 2 -gUnknown_083ECB70:: @ 83ECB70 - .4byte sub_81032E8 - .4byte sub_81032E8 - .4byte sub_810333C - - .align 2 -gUnknown_083ECB7C:: @ 83ECB7C - .4byte sub_810341C - .4byte sub_810341C - .4byte sub_810347C - - .align 2 -gUnknown_083ECB88:: @ 83ECB88 - .4byte sub_8103564 - .4byte j5_08111E84 - .4byte sub_8103668 - - .align 2 -gUnknown_083ECB94:: @ 83ECB94 - .4byte sub_8103830 - .4byte sub_8103910 - .4byte sub_8103A78 - - .align 2 -gUnknown_083ECBA0:: @ 83ECBA0 - .4byte sub_8103C78 - .4byte sub_8103CAC - .4byte sub_8103CC8 - -gUnknown_083ECBAC:: @ 83ECBAC - .incbin "baserom.gba", 0x003ecbac, 0x8 - - .align 2 -gUnknown_083ECBB4:: @ 83ECBB4 - .4byte nullsub_68 - .4byte sub_810411C - .4byte sub_8104144 - .4byte sub_81041AC - - .align 1 -gUnknown_083ECBC4:: @ 83ECBC4 - .2byte 0x9E, 0x6E, 0x9F, 0x6F, 0xAF, 0x7F - - .align 2 -gUnknown_083ECBD0:: @ 83ECBD0 - .4byte sub_810437C - .4byte sub_81043EC - .4byte sub_8104468 - .4byte sub_8104498 - .4byte sub_8104548 - .4byte sub_8104598 - .4byte sub_81045CC - .4byte sub_810463C - .4byte sub_81046C0 - .4byte sub_8104764 - .4byte sub_8104794 - .4byte sub_81047EC - .4byte sub_8104860 - .4byte sub_81048A8 - .4byte sub_81048CC - .4byte sub_8104940 - .4byte sub_81049C8 - .4byte sub_8104794 - .4byte sub_81049F8 - - .align 2 -gUnknown_083ECC1C:: @ 83ECC1C - .4byte 0x02020101 - -gUnknown_083ECC20:: @ 83ECC20 - .incbin "baserom.gba", 0x003ecc20, 0x8 - -gUnknown_083ECC28:: @ 83ECC28 - .incbin "baserom.gba", 0x003ecc28, 0x8 - - .align 2 -gUnknown_083ECC30:: @ 83ECC30 - .4byte sub_8104B3C - .4byte sub_8104B60 - .4byte sub_8104B80 - .4byte sub_8104B60 - .4byte sub_8104BC8 - .4byte sub_8104B60 - .4byte sub_8104BFC - .4byte sub_8104B60 - .4byte sub_8104C44 - -gUnknown_083ECC54:: @ 83ECC54 - .4byte nullsub_69 - -gUnknown_083ECC58:: @ 83ECC58 - .byte 16, 0 - - .align 1 -gUnknown_083ECC5A:: @ 83ECC5A - .2byte 0x0, 0x40, 0x80, 0xC0 - -gUnknown_083ECC62:: @ 83ECC62 - .incbin "baserom.gba", 0x003ecc62, 0x8 - -gUnknown_083ECC6A:: @ 83ECC6A - .incbin "baserom.gba", 0x003ecc6a, 0x8 - -gUnknown_083ECC72:: @ 83ECC72 - .incbin "baserom.gba", 0x003ecc72, 0x10 - -gUnknown_083ECC82:: @ 83ECC82 - .incbin "baserom.gba", 0x003ecc82, 0x10 - -gUnknown_083ECC92:: @ 83ECC92 - .incbin "baserom.gba", 0x003ecc92, 0x10 - -gUnknown_083ECCA2:: @ 83ECCA2 - .incbin "baserom.gba", 0x003ecca2, 0x10 - -gUnknown_083ECCB2:: @ 83ECCB2 - .incbin "baserom.gba", 0x003eccb2, 0x3f - -gUnknown_083ECCF1:: @ 83ECCF1 - .incbin "baserom.gba", 0x003eccf1, 0x7 - -gUnknown_083ECCF8:: @ 83ECCF8 - .incbin "baserom.gba", 0x003eccf8, 0xc - -gUnknown_083ECD04:: @ 83ECD04 - .incbin "baserom.gba", 0x003ecd04, 0x12 - -gUnknown_083ECD16:: @ 83ECD16 - .incbin "baserom.gba", 0x003ecd16, 0x12 - -gUnknown_083ECD28:: @ 83ECD28 - .incbin "baserom.gba", 0x003ecd28, 0x1e - -gUnknown_083ECD46:: @ 83ECD46 - .incbin "baserom.gba", 0x003ecd46, 0x66 - -gUnknown_083ECDAC:: @ 83ECDAC - .incbin "baserom.gba", 0x003ecdac, 0x66 - -gUnknown_083ECE12:: @ 83ECE12 - .incbin "baserom.gba", 0x003ece12, 0xa - -gUnknown_083ECE1C:: @ 83ECE1C - .incbin "baserom.gba", 0x003ece1c, 0x14 - -gUnknown_083ECE30:: @ 83ECE30 - .incbin "baserom.gba", 0x003ece30, 0xa - -gUnknown_083ECE3A:: @ 83ECE3A - .incbin "baserom.gba", 0x003ece3a, 0x8 - -gUnknown_083ECE42:: @ 83ECE42 - .incbin "baserom.gba", 0x003ece42, 0x6 - -gUnknown_083ECE48:: @ 83ECE48 - .incbin "baserom.gba", 0x003ece48, 0xa - -gUnknown_083ECE52:: @ 83ECE52 - .incbin "baserom.gba", 0x003ece52, 0x8 - -gUnknown_083ECE5A:: @ 83ECE5A - .incbin "baserom.gba", 0x003ece5a, 0x12 - -gUnknown_083ECE6C:: @ 83ECE6C - .incbin "baserom.gba", 0x003ece6c, 0x12 - -gUnknown_083ECE7E:: @ 83ECE7E - .incbin "baserom.gba", 0x003ece7e, 0x8e - - .align 2 -gUnknown_083ECF0C:: @ 83ECF0C - .4byte sub_8105C64 - .4byte sub_8105F54 - .4byte sub_8105F54 - .4byte sub_8105F54 - .4byte sub_8105F54 - .4byte sub_8105F9C - .4byte sub_8105EB4 - .4byte sub_8105C64 - .4byte sub_8105C64 - .4byte sub_8105C6C - .4byte sub_8105CF0 - .4byte sub_8105D08 - .4byte sub_8105D20 - .4byte sub_8105D3C - .4byte sub_8105DA4 - .4byte sub_8105E08 - .4byte sub_8105C64 - .4byte sub_8106058 - .4byte sub_81060FC - .4byte sub_81060FC - .4byte sub_81060FC - .4byte sub_81060FC - .4byte sub_81060FC - .4byte sub_81060FC - .4byte sub_81060FC - .4byte sub_81060FC - .4byte sub_81061C8 - .4byte sub_81061C8 - .4byte sub_81061C8 - .4byte sub_81061C8 - .4byte sub_81061C8 - .4byte sub_81061C8 - .4byte sub_81061C8 - .4byte sub_81061C8 - .4byte sub_8106230 - -Unknown_83ECF98: - .incbin "baserom.gba", 0x003ECF98, 0x10 -Unknown_83ECFA8: - .incbin "baserom.gba", 0x003ECFA8, 0x1C -Unknown_83ECFC4: - .incbin "baserom.gba", 0x003ECFC4, 0xC -Unknown_83ECFD0: - .incbin "baserom.gba", 0x003ECFD0, 0x18 -Unknown_83ECFE8: - .incbin "baserom.gba", 0x003ECFE8, 0x10 -Unknown_83ECFF8: - .incbin "baserom.gba", 0x003ECFF8, 0x28 -Unknown_83ED020: - .incbin "baserom.gba", 0x003ED020, 0x28 - - .align 2 -gUnknown_083ED048:: @ 83ED048 - .4byte Unknown_83ECF98 - .4byte Unknown_83ECFA8 - .4byte Unknown_83ECFC4 - .4byte Unknown_83ECFD0 - .4byte Unknown_83ECFE8 - .4byte Unknown_83ED020 - .4byte Unknown_83ECFF8 - - .align 2 -gUnknown_083ED064:: @ 83ED064 - .4byte sub_810639C - .4byte sub_8106364 - .4byte sub_8106370 - .4byte nullsub_70 - .4byte nullsub_70 - .4byte sub_8106370 - .4byte sub_8106370 - - .align 2 -gOamData_83ED080:: @ 83ED080 - .2byte 0x0000 - .2byte 0x0000 - .2byte 0x0000 - - .align 2 -gOamData_83ED088:: @ 83ED088 - .2byte 0x8000 - .2byte 0x0000 - .2byte 0x0000 - - .align 2 -gOamData_83ED090:: @ 83ED090 - .2byte 0x0000 - .2byte 0x4000 - .2byte 0x0000 - - .align 2 -gOamData_83ED098:: @ 83ED098 - .2byte 0x8000 - .2byte 0x8000 - .2byte 0x0000 - - .align 2 -gOamData_83ED0A0:: @ 83ED0A0 - .2byte 0x0000 - .2byte 0x8000 - .2byte 0x0000 - - .align 2 -gOamData_83ED0A8:: @ 83ED0A8 - .2byte 0x8000 - .2byte 0xC000 - .2byte 0x0000 - - .align 2 -gOamData_83ED0B0:: @ 83ED0B0 - .2byte 0x4000 - .2byte 0xC000 - .2byte 0x0000 - - .align 2 -gOamData_83ED0B8:: @ 83ED0B8 - .2byte 0x0000 - .2byte 0xC000 - .2byte 0x0000 - - .align 2 -gSpriteImageTable_83ED0C0:: @ 83ED0C0 - obj_frame_tiles 0x02013200, 0x800 - obj_frame_tiles 0x02013A00, 0x800 - obj_frame_tiles 0x02014200, 0x800 - obj_frame_tiles 0x02014A00, 0x800 - obj_frame_tiles 0x02015200, 0x800 - - .align 2 -gSpriteImageTable_83ED0E8:: @ 83ED0E8 - obj_frame_tiles 0x02015A00, 0x300 - - .align 2 -gSpriteImageTable_83ED0F0:: @ 83ED0F0 - obj_frame_tiles 0x02015D00, 0x500 - - .align 2 -gSpriteImageTable_83ED0F8:: @ 83ED0F8 - obj_frame_tiles 0x02016200, 0x600 - - .align 2 -gSpriteImageTable_83ED100:: @ 83ED100 - obj_frame_tiles gSpriteImage_8E988E8, 0x80 - obj_frame_tiles gSpriteImage_8E98968, 0x80 - obj_frame_tiles gSpriteImage_8E989E8, 0x80 - obj_frame_tiles gSpriteImage_8E98A68, 0x80 - obj_frame_tiles gSpriteImage_8E98AE8, 0x80 - obj_frame_tiles gSpriteImage_8E98B68, 0x80 - - .align 2 -gSpriteImageTable_83ED130:: @ 83ED130 - obj_frame_tiles gSpriteImage_8E991E8, 0x200 - - .align 2 -gSpriteImageTable_83ED138:: @ 83ED138 - obj_frame_tiles gSpriteImage_8E99808, 0x40 - - .align 2 -gSpriteImageTable_83ED140:: @ 83ED140 - obj_frame_tiles gSpriteImage_8E98BE8, 0x100 - obj_frame_tiles gSpriteImage_8E98CE8, 0x100 - - .align 2 -gSpriteImageTable_83ED150:: @ 83ED150 - obj_frame_tiles gSpriteImage_8E993E8, 0x400 - - .align 2 -gSpriteImageTable_83ED158:: @ 83ED158 - obj_frame_tiles gSpriteImage_8E98DE8, 0x200 - obj_frame_tiles gSpriteImage_8E98FE8, 0x200 - - .align 2 -gSpriteImageTable_83ED168:: @ 83ED168 - obj_frame_tiles gSpriteImage_8E98848, 0x20 - - .align 2 -gSpriteImageTable_83ED170:: @ 83ED170 - obj_frame_tiles gSpriteImage_8E98868, 0x80 - - .align 2 -gSpriteImageTable_83ED178:: @ 83ED178 - obj_frame_tiles 0x02010000, 0x600 - - .align 2 -gSpriteImageTable_83ED180:: @ 83ED180 - obj_frame_tiles 0x02010600, 0x200 - - .align 2 -gSpriteImageTable_83ED188:: @ 83ED188 - obj_frame_tiles 0x02010800, 0x200 - - .align 2 -gSpriteImageTable_83ED190:: @ 83ED190 - obj_frame_tiles 0x02010A00, 0x200 - - .align 2 -gSpriteImageTable_83ED198:: @ 83ED198 - obj_frame_tiles 0x02010C00, 0x300 - - .align 2 -gSpriteImageTable_83ED1A0:: @ 83ED1A0 - obj_frame_tiles 0x02011000, 0x400 - - .align 2 -gSpriteImageTable_83ED1A8:: @ 83ED1A8 - obj_frame_tiles 0x02011400, 0x200 - - .align 2 -gSpriteImageTable_83ED1B0:: @ 83ED1B0 - obj_frame_tiles 0x02011600, 0x300 - - .align 2 -gSpriteImageTable_83ED1B8:: @ 83ED1B8 - obj_frame_tiles 0x02011900, 0x300 - - .align 2 -gSpriteImageTable_83ED1C0:: @ 83ED1C0 - obj_frame_tiles 0x02011C00, 0x200 - obj_frame_tiles 0x02011E00, 0x200 - obj_frame_tiles 0x02011E00, 0x200 - - .align 2 -gSpriteImageTable_83ED1D8:: @ 83ED1D8 - obj_frame_tiles 0x02012000, 0x280 - - .align 2 -gSpriteImageTable_83ED1E0:: @ 83ED1E0 - obj_frame_tiles 0x02012280, 0x80 - obj_frame_tiles 0x02012300, 0x80 - obj_frame_tiles 0x02012380, 0x80 - obj_frame_tiles 0x02012400, 0x80 - obj_frame_tiles 0x02012480, 0x80 - - .align 2 -gSpriteImageTable_83ED208:: @ 83ED208 - obj_frame_tiles 0x02012600, 0x480 - obj_frame_tiles 0x02012A80, 0x480 - - .align 2 -gSpriteImageTable_83ED218:: @ 83ED218 - obj_frame_tiles 0x02012F00, 0x180 - obj_frame_tiles 0x02013080, 0x180 - - .align 2 -gSpriteImageTable_83ED228:: @ 83ED228 - obj_frame_tiles gSpriteImage_8E98828, 0x20 - - .align 2 -gSpriteAnim_83ED230:: @ 83ED230 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83ED238:: @ 83ED238 - obj_image_anim_frame 0, 1 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnim_83ED240:: @ 83ED240 - obj_image_anim_frame 0, 16 - obj_image_anim_end - - .align 2 -gSpriteAnim_83ED248:: @ 83ED248 - obj_image_anim_frame 1, 16 - obj_image_anim_frame 0, 16 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnim_83ED254:: @ 83ED254 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 0, 8 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnim_83ED260:: @ 83ED260 - obj_image_anim_frame 1, 4 - obj_image_anim_frame 0, 4 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnim_83ED26C:: @ 83ED26C - obj_image_anim_frame 2, 32 - obj_image_anim_frame 3, 32 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnim_83ED278:: @ 83ED278 - obj_image_anim_frame 4, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83ED280:: @ 83ED280 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83ED288:: @ 83ED288 - obj_image_anim_frame 1, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83ED290:: @ 83ED290 - obj_image_anim_frame 2, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83ED298:: @ 83ED298 - obj_image_anim_frame 3, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83ED2A0:: @ 83ED2A0 - obj_image_anim_frame 4, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83ED2A8:: @ 83ED2A8 - obj_image_anim_frame 5, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83ED2B0:: @ 83ED2B0 - obj_image_anim_frame 0, 4 - obj_image_anim_frame 1, 4 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnim_83ED2BC:: @ 83ED2BC - obj_image_anim_frame 0, 16 - obj_image_anim_frame 1, 16 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnim_83ED2C8:: @ 83ED2C8 - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnim_83ED2D4:: @ 83ED2D4 - obj_image_anim_frame 1, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83ED2DC:: @ 83ED2DC - obj_image_anim_frame 0, 30 - obj_image_anim_frame 1, 30 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnim_83ED2E8:: @ 83ED2E8 - obj_image_anim_frame 0, 16 - obj_image_anim_frame 1, 16 - obj_image_anim_frame 0, 16 - obj_image_anim_frame 1, 16, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_jump 0 - - .align 2 -gSpriteAnim_83ED2FC:: @ 83ED2FC - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83ED304:: @ 83ED304 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83ED30C:: @ 83ED30C - obj_image_anim_frame 1, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83ED314:: @ 83ED314 - obj_image_anim_frame 2, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83ED31C:: @ 83ED31C - obj_image_anim_frame 3, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_83ED324:: @ 83ED324 - obj_image_anim_frame 4, 1 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83ED32C:: @ 83ED32C - .4byte gSpriteAnim_83ED230 - - .align 2 -gSpriteAnimTable_83ED330:: @ 83ED330 - .4byte gSpriteAnim_83ED238 - - .align 2 -gSpriteAnimTable_83ED334:: @ 83ED334 - .4byte gSpriteAnim_83ED240 - .4byte gSpriteAnim_83ED248 - .4byte gSpriteAnim_83ED254 - .4byte gSpriteAnim_83ED260 - .4byte gSpriteAnim_83ED26C - .4byte gSpriteAnim_83ED278 - - .align 2 -gSpriteAnimTable_83ED34C:: @ 83ED34C - .4byte gSpriteAnim_83ED280 - .4byte gSpriteAnim_83ED288 - .4byte gSpriteAnim_83ED290 - .4byte gSpriteAnim_83ED298 - .4byte gSpriteAnim_83ED2A0 - .4byte gSpriteAnim_83ED2A8 - - .align 2 -gSpriteAnimTable_83ED364:: @ 83ED364 - .4byte gSpriteAnim_83ED2B0 - - .align 2 -gSpriteAnimTable_83ED368:: @ 83ED368 - .4byte gSpriteAnim_83ED2BC - - .align 2 -gSpriteAnimTable_83ED36C:: @ 83ED36C - .4byte gSpriteAnim_83ED2C8 - .4byte gSpriteAnim_83ED2D4 - - .align 2 -gSpriteAnimTable_83ED374:: @ 83ED374 - .4byte gSpriteAnim_83ED2DC - - .align 2 -gSpriteAnimTable_83ED378:: @ 83ED378 - .4byte gSpriteAnim_83ED2E8 - .4byte gSpriteAnim_83ED2FC - - .align 2 -gSpriteAnimTable_83ED380:: @ 83ED380 - .4byte gSpriteAnim_83ED304 - .4byte gSpriteAnim_83ED30C - .4byte gSpriteAnim_83ED314 - .4byte gSpriteAnim_83ED31C - .4byte gSpriteAnim_83ED324 - - .align 2 -gSpriteAffineAnim_83ED394:: @ 83ED394 - obj_rot_scal_anim_frame 0x10, 0x10, 0, 0 - obj_rot_scal_anim_loop 0 - obj_rot_scal_anim_frame 0x1, 0x1, 0, 1 - obj_rot_scal_anim_loop 255 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_83ED3BC:: @ 83ED3BC - .4byte gSpriteAffineAnim_83ED394 - - .align 2 -gSpriteAffineAnim_83ED3C0:: @ 83ED3C0 - obj_rot_scal_anim_frame 0x0, 0x0, 8, 32 - obj_rot_scal_anim_frame 0x0, 0x0, 6, 32 - obj_rot_scal_anim_frame 0x0, 0x0, 4, 16 - obj_rot_scal_anim_frame 0x0, 0x0, 12, 2 - obj_rot_scal_anim_frame 0x0, 0x0, -12, 4 - obj_rot_scal_anim_frame 0x0, 0x0, 12, 2 - obj_rot_scal_anim_frame 0x0, 0x0, 12, 2 - obj_rot_scal_anim_frame 0x0, 0x0, -12, 4 - obj_rot_scal_anim_frame 0x0, 0x0, 12, 2 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_83ED410:: @ 83ED410 - .4byte gSpriteAffineAnim_83ED3C0 - - .align 2 -gSpriteTemplate_83ED414:: @ 83ED414 - spr_template 0, 0, gOamData_83ED0A0, gSpriteAnimTable_83ED32C, NULL, gDummySpriteAffineAnimTable, sub_8104F18 - - .align 2 -gSpriteTemplate_83ED42C:: @ 83ED42C - spr_template 7, 4, gOamData_83ED088, gSpriteAnimTable_83ED32C, NULL, gDummySpriteAffineAnimTable, sub_810506C - - .align 2 -gSpriteTemplate_83ED444:: @ 83ED444 - spr_template 17, 0, gOamData_83ED0B8, gSpriteAnimTable_83ED32C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_83ED45C:: @ 83ED45C - spr_template 0xFFFF, 1, gOamData_83ED0B8, gSpriteAnimTable_83ED334, gSpriteImageTable_83ED0C0, gDummySpriteAffineAnimTable, sub_8105170 - - .align 2 -gSpriteTemplate_83ED474:: @ 83ED474 - spr_template 0xFFFF, 2, gOamData_83ED088, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED0E8, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_83ED48C:: @ 83ED48C - spr_template 0xFFFF, 3, gOamData_83ED088, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED0F0, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_83ED4A4:: @ 83ED4A4 - spr_template 0xFFFF, 3, gOamData_83ED088, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED0F8, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_83ED4BC:: @ 83ED4BC - spr_template 0xFFFF, 4, gOamData_83ED090, gSpriteAnimTable_83ED34C, gSpriteImageTable_83ED100, gDummySpriteAffineAnimTable, sub_810535C - - .align 2 -gSpriteTemplate_83ED4D4:: @ 83ED4D4 - spr_template 0xFFFF, 4, gOamData_83ED090, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED130, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_83ED4EC:: @ 83ED4EC - spr_template 0xFFFF, 4, gOamData_83ED090, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED138, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_83ED504:: @ 83ED504 - spr_template 0xFFFF, 4, gOamData_83ED098, gSpriteAnimTable_83ED364, gSpriteImageTable_83ED140, gDummySpriteAffineAnimTable, sub_810562C - - .align 2 -gSpriteTemplate_83ED51C:: @ 83ED51C - spr_template 0xFFFF, 7, gOamData_83ED0A8, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED150, gDummySpriteAffineAnimTable, sub_8105784 - - .align 2 -gSpriteTemplate_83ED534:: @ 83ED534 - spr_template 0xFFFF, 5, gOamData_83ED0A0, gSpriteAnimTable_83ED368, gSpriteImageTable_83ED158, gDummySpriteAffineAnimTable, sub_8105894 - - .align 2 -gSpriteTemplate_83ED54C:: @ 83ED54C - spr_template 0xFFFF, 4, gOamData_83ED080, gSpriteAnimTable_83ED330, gSpriteImageTable_83ED168, gDummySpriteAffineAnimTable, sub_810594C - - .align 2 -gSpriteTemplate_83ED564:: @ 83ED564 - spr_template 0xFFFF, 4, gOamData_83ED090, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED170, gSpriteAffineAnimTable_83ED3BC, sub_8105A38 - - .align 2 -gSpriteTemplate_83ED57C:: @ 83ED57C - spr_template 0xFFFF, 6, gOamData_83ED080, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED178, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_83ED594:: @ 83ED594 - spr_template 0xFFFF, 6, gOamData_83ED080, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED180, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_83ED5AC:: @ 83ED5AC - spr_template 0xFFFF, 6, gOamData_83ED080, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED188, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_83ED5C4:: @ 83ED5C4 - spr_template 18, 6, gOamData_83ED080, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED190, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_83ED5DC:: @ 83ED5DC - spr_template 0xFFFF, 6, gOamData_83ED0B0, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED198, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_83ED5F4:: @ 83ED5F4 - spr_template 0xFFFF, 6, gOamData_83ED0B0, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED1A0, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_83ED60C:: @ 83ED60C - spr_template 19, 6, gOamData_83ED080, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED1A8, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_83ED624:: @ 83ED624 - spr_template 20, 6, gOamData_83ED080, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED1B0, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_83ED63C:: @ 83ED63C - spr_template 21, 6, gOamData_83ED080, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED1B8, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_83ED654:: @ 83ED654 - spr_template 0xFFFF, 6, gOamData_83ED0A0, gSpriteAnimTable_83ED36C, gSpriteImageTable_83ED1C0, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_83ED66C:: @ 83ED66C - spr_template 0xFFFF, 6, gOamData_83ED080, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED1D8, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_83ED684:: @ 83ED684 - spr_template 0xFFFF, 6, gOamData_83ED090, gSpriteAnimTable_83ED380, gSpriteImageTable_83ED1E0, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_83ED69C:: @ 83ED69C - spr_template 0xFFFF, 6, gOamData_83ED080, gSpriteAnimTable_83ED378, gSpriteImageTable_83ED208, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_83ED6B4:: @ 83ED6B4 - spr_template 0xFFFF, 6, gOamData_83ED080, gSpriteAnimTable_83ED374, gSpriteImageTable_83ED218, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_83ED6CC:: @ 83ED6CC - spr_template 0xFFFF, 4, gOamData_83ED080, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED228, gSpriteAffineAnimTable_83ED410, sub_8105B70 - - .align 2 -Unknown_083ED6E4: - .incbin "baserom.gba", 0x003ed6e4, 0x20 - -gUnknown_083ED704:: @ 83ED704 - .4byte 4, Unknown_083ED6E4 -Unknown_083ED70C: - .incbin "baserom.gba", 0x003ed70c, 0x30 - -gUnknown_083ED73C:: @ 83ED73C - .4byte 6, Unknown_083ED70C -Unknown_083ED744: - .incbin "baserom.gba", 0x003ed744, 0x18 - -gUnknown_083ED75C:: @ 83ED75C - .4byte 3, Unknown_083ED744 -Unknown_083ED764: - .incbin "baserom.gba", 0x003ed764, 0x28 - -gUnknown_083ED78C:: @ 83ED78C - .4byte 5, Unknown_083ED764 -Unknown_083ED794: - .incbin "baserom.gba", 0x003ed794, 0x20 - -gUnknown_083ED7B4:: @ 83ED7B4 - .4byte 4, Unknown_083ED794 -Unknown_083ED7BC: - .incbin "baserom.gba", 0x003ed7bc, 0x18 - -gUnknown_083ED7D4:: @ 83ED7D4 - .4byte 3, Unknown_083ED7BC -Unknown_083ED7DC: - .incbin "baserom.gba", 0x003ed7dc, 0x28 -Unknown_083ED804: - .4byte 5, Unknown_083ED7DC -Unknown_083ED80C: - .incbin "baserom.gba", 0x003ed80c, 0x20 -Unknown_083ED82C: - .4byte 4, Unknown_083ED80C -Unknown_083ED834: - .incbin "baserom.gba", 0x003ed834, 0x20 -Unknown_083ED854: - .4byte 4, Unknown_083ED834 -Unknown_083ED85C: - .incbin "baserom.gba", 0x003ed85c, 0x20 -Unknown_083ED87C: - .4byte 4, Unknown_083ED85C -Unknown_083ED884: - .incbin "baserom.gba", 0x003ed884, 0x30 -Unknown_083ED8B4: - .4byte 6, Unknown_083ED884 -Unknown_083ED8BC: - .incbin "baserom.gba", 0x003ed8bc, 0x8 -Unknown_083ED8C4: - .incbin "baserom.gba", 0x003ed8c4, 0x8 -Unknown_083ED8CC: - .4byte 1, Unknown_083ED8BC - .4byte 1, Unknown_083ED8C4 -Unknown_083ED8DC: - .incbin "baserom.gba", 0x003ed8dc, 0x60 -Unknown_083ED93C: - .4byte 12, Unknown_083ED8DC -Unknown_083ED944: - .incbin "baserom.gba", 0x003ed944, 0x18 -Unknown_083ED95C: - .4byte 3, Unknown_083ED944 -Unknown_083ED964: - .incbin "baserom.gba", 0x003ed964, 0x10 -Unknown_083ED974: - .4byte 2, Unknown_083ED964 -Unknown_083ED97C: - .incbin "baserom.gba", 0x003ed97c, 0x10 -Unknown_083ED98C: - .4byte 2, Unknown_083ED97C -Unknown_083ED994: - .incbin "baserom.gba", 0x003ed994, 0x10 -Unknown_083ED9A4: - .4byte 2, Unknown_083ED994 -Unknown_083ED9AC: - .incbin "baserom.gba", 0x003ed9ac, 0x10 -Unknown_083ED9BC: - .4byte 2, Unknown_083ED9AC -Unknown_083ED9C4: - .incbin "baserom.gba", 0x003ed9c4, 0x10 -Unknown_083ED9D4: - .4byte 2, Unknown_083ED9C4 -Unknown_083ED9DC: - .incbin "baserom.gba", 0x003ed9dc, 0x10 -Unknown_083ED9EC: - .4byte 2, Unknown_083ED9DC -Unknown_083ED9F4: - .incbin "baserom.gba", 0x003ed9f4, 0x10 -Unknown_083EDA04: - .4byte 2, Unknown_083ED9F4 -Unknown_083EDA0C: - .incbin "baserom.gba", 0x003eda0C, 0x10 -Unknown_083EDA1C: - .4byte 2, Unknown_083EDA0C -Unknown_083EDA24: - .incbin "baserom.gba", 0x003eda24, 0x10 -Unknown_083EDA34: - .4byte 2, Unknown_083EDA24 -Unknown_083EDA3C: - .incbin "baserom.gba", 0x003eda3c, 0x30 -Unknown_083EDA6C: - .4byte 6, Unknown_083EDA3C -Unknown_083EDA74: - .incbin "baserom.gba", 0x003eda74, 0x18 -Unknown_083EDA8C: - .4byte 3, Unknown_083EDA74 -Unknown_083EDA94: - .incbin "baserom.gba", 0x003eda94, 0x30 -Unknown_083EDAC4: - .4byte 6, Unknown_083EDA94 -Unknown_083EDACC: - .incbin "baserom.gba", 0x003edacc, 0x30 -Unknown_083EDAFC: - .4byte 6, Unknown_083EDACC -Unknown_083EDB04: - .incbin "baserom.gba", 0x003edb04, 0x18 -Unknown_083EDB1C: - .4byte 3, Unknown_083EDB04 -Unknown_083EDB24: - .incbin "baserom.gba", 0x003edb24, 0x30 -Unknown_083EDB54: - .4byte 6, Unknown_083EDB24 - - .align 2 -gUnknown_083EDB5C:: @ 83EDB5C - .4byte gSpriteTemplate_83ED57C - .4byte gSpriteTemplate_83ED594 - .4byte gSpriteTemplate_83ED5AC - .4byte gSpriteTemplate_83ED5DC - .4byte gSpriteTemplate_83ED5F4 - .4byte gSpriteTemplate_83ED654 - .4byte gSpriteTemplate_83ED66C - .4byte gSpriteTemplate_83ED684 - .4byte gSpriteTemplate_83ED69C - .4byte gSpriteTemplate_83ED6B4 - .4byte gSpriteTemplate_83ED5C4 - .4byte gSpriteTemplate_83ED5C4 - .4byte gSpriteTemplate_83ED5C4 - .4byte gSpriteTemplate_83ED5C4 - .4byte gSpriteTemplate_83ED60C - .4byte gSpriteTemplate_83ED60C - .4byte gSpriteTemplate_83ED60C - .4byte gSpriteTemplate_83ED60C - .4byte gSpriteTemplate_83ED60C - .4byte gSpriteTemplate_83ED624 - .4byte gSpriteTemplate_83ED624 - .4byte gSpriteTemplate_83ED624 - .4byte gSpriteTemplate_83ED63C - .4byte gSpriteTemplate_83ED63C - .4byte gSpriteTemplate_83ED63C - .4byte gDummySpriteTemplate - - .align 2 -gUnknown_083EDBC4:: @ 83EDBC4 - .4byte Unknown_083ED804 - .4byte Unknown_083ED82C - .4byte Unknown_083ED854 - .4byte Unknown_083ED8B4 - .4byte 0 @ dummied out - .4byte 0 @ dummied out - .4byte Unknown_083ED8CC - .4byte 0 @ dummied out - .4byte Unknown_083ED93C - .4byte Unknown_083ED95C - .4byte Unknown_083ED974 - .4byte Unknown_083ED98C - .4byte Unknown_083ED9A4 - .4byte Unknown_083ED9BC - .4byte Unknown_083ED9D4 - .4byte Unknown_083ED9EC - .4byte Unknown_083EDA04 - .4byte Unknown_083EDA1C - .4byte Unknown_083EDA34 - .4byte Unknown_083EDA6C - .4byte Unknown_083EDA8C - .4byte Unknown_083EDAC4 - .4byte Unknown_083EDAFC - .4byte Unknown_083EDB1C - .4byte Unknown_083EDB54 - .4byte 0 @ dummied out - - .align 2 -gUnknown_083EDC2C:: @ 83EDC2C - obj_tiles gSlotMachineReelSymbol1Tiles, 0x200, 0 - obj_tiles gSlotMachineReelSymbol2Tiles, 0x200, 1 - obj_tiles gSlotMachineReelSymbol3Tiles, 0x200, 2 - obj_tiles gSlotMachineReelSymbol4Tiles, 0x200, 3 - obj_tiles gSlotMachineReelSymbol5Tiles, 0x200, 4 - obj_tiles gSlotMachineReelSymbol6Tiles, 0x200, 5 - obj_tiles gSlotMachineReelSymbol7Tiles, 0x200, 6 - obj_tiles gSlotMachineNumber0Tiles, 0x40, 7 - obj_tiles gSlotMachineNumber1Tiles, 0x40, 8 - obj_tiles gSlotMachineNumber2Tiles, 0x40, 9 - obj_tiles gSlotMachineNumber3Tiles, 0x40, 10 - obj_tiles gSlotMachineNumber4Tiles, 0x40, 11 - obj_tiles gSlotMachineNumber5Tiles, 0x40, 12 - obj_tiles gSlotMachineNumber6Tiles, 0x40, 13 - obj_tiles gSlotMachineNumber7Tiles, 0x40, 14 - obj_tiles gSlotMachineNumber8Tiles, 0x40, 15 - obj_tiles gSlotMachineNumber9Tiles, 0x40, 16 - obj_tiles 0x2010a00, 0x200, 18 - obj_tiles 0x2011400, 0x200, 19 - obj_tiles 0x2011600, 0x300, 20 - obj_tiles 0x2011900, 0x300, 21 - null_obj_tiles - - .align 2 -gUnknown_083EDCDC:: @ 83EDCDC - obj_tiles 0x02010000, 2048, 0x0011 - - .align 2 -gUnknown_083EDCE4:: @ 83EDCE4 - .4byte gUnknownPalette_08E997E8 - -UnknownPalette_83EDCE8: - .ifdef SAPPHIRE - .incbin "graphics/unknown/sapphire_83EDD40.gbapal" - .else - .incbin "graphics/unknown/ruby_83EDCE8.gbapal" - .endif - - .align 2 -gUnknown_083EDD08:: @ 83EDD08 - .4byte UnknownPalette_83EDCE8 + 10 * 2 - .4byte UnknownPalette_83EDCE8 + 11 * 2 - .4byte UnknownPalette_83EDCE8 + 12 * 2 - .4byte UnknownPalette_83EDCE8 + 13 * 2 - .4byte UnknownPalette_83EDCE8 + 14 * 2 - - .align 2 -gUnknown_083EDD1C:: @ 83EDD1C - .4byte gUnknown_08E95A18 + 148 - .4byte gUnknown_08E95A18 + 150 - .4byte gUnknown_08E95A18 + 152 - .4byte gUnknown_08E95A18 + 154 - .4byte gUnknown_08E95A18 + 156 - -gUnknown_083EDD30:: @ 83EDD30 - .byte 0x4A, 0x4B, 0x4C, 0x4E, 0x4D - -gUnknown_083EDD35:: @ 83EDD35 - .byte 0, 0, 1, 2, 3, 4 - -gUnknown_083EDD3B:: @ 83EDD3B - .byte 1, 2, 2 - - .align 1 -Unknown_83EDD3E: - .ifdef SAPPHIRE - .incbin "graphics/unknown/sapphire_83EDD96.gbapal" - .else - .incbin "graphics/unknown/ruby_83EDD3E.gbapal" - .endif - - .align 1 -Unknown_83EDD5E: - .ifdef SAPPHIRE - .incbin "graphics/unknown/sapphire_83EDDB6.gbapal" - .else - .incbin "graphics/unknown/ruby_83EDD5E.gbapal" - .endif - - .align 1 -Unknown_83EDD7E: - .ifdef SAPPHIRE - .incbin "graphics/unknown/sapphire_83EDDD6.gbapal" - .else - .incbin "graphics/unknown/ruby_83EDD7E.gbapal" - .endif - - .align 2 -gUnknown_083EDDA0:: @ 83EDDA0 - .4byte Unknown_83EDD3E - .4byte Unknown_83EDD5E - .4byte Unknown_83EDD7E - - .align 2 -gUnknown_083EDDAC:: @ 83EDDAC - .4byte gUnknown_08E95A18 + 32 - -Unknown_83EDDB0: - .incbin "baserom.gba", 0x003eddb0, 0x20 -Unknown_83EDDD0: - .incbin "baserom.gba", 0x003eddd0, 0x20 -Unknown_83EDDF0: - .incbin "baserom.gba", 0x003eddf0, 0x20 - - .align 2 -gUnknown_083EDE10:: @ 83EDE10 - .4byte Unknown_83EDDB0 - .4byte Unknown_83EDDD0 - .4byte Unknown_83EDDF0 - .4byte gSlotMachineSpritePalette6 - - .align 2 -gUnknown_083EDE20:: @ 83EDE20 - .4byte gSlotMachineSpritePalette6 - -gUnknown_083EDE24:: @ 83EDE24 - .incbin "baserom.gba", 0x003ede24, 0x20 - - .align 2 -gSlotMachineSpritePalettes:: @ 83EDE44 - obj_pal gSlotMachineSpritePalette0, 0 - obj_pal gSlotMachineSpritePalette1, 1 - obj_pal gSlotMachineSpritePalette2, 2 - obj_pal gSlotMachineSpritePalette3, 3 - obj_pal gSlotMachineSpritePalette4, 4 - obj_pal gSlotMachineSpritePalette5, 5 - obj_pal gSlotMachineSpritePalette6, 6 - obj_pal gSlotMachineSpritePalette4, 7 - null_obj_pal - - .align 2 -gUnknown_083EDE8C:: @ 83EDE8C - .incbin "graphics/slot_machine/reel_time.4bpp.lz" - - .align 2 -gReelTimeWindowTilemap:: @ 83EEFE0 - .incbin "graphics/slot_machine/reel_time_window_map.bin" - - .align 2 -gPictureFramePalettes:: @ 83EF198 - .incbin "graphics/picture_frame/bg0.gbapal" - .incbin "graphics/picture_frame/bg1.gbapal" - .incbin "graphics/picture_frame/bg2.gbapal" - .incbin "graphics/picture_frame/bg3.gbapal" - .incbin "graphics/picture_frame/bg4.gbapal" - .incbin "graphics/picture_frame/bg5.gbapal" - .space 10 * 32 - - .align 2 -gPictureFrameTiles_0:: @ 83EF398 - .incbin "graphics/picture_frame/frame0.4bpp.rl" - - .align 2 -gPictureFrameTiles_1:: @ 83F041C - .incbin "graphics/picture_frame/frame1.4bpp.rl" - - .align 2 -gPictureFrameTiles_2:: @ 83F104C - .incbin "graphics/picture_frame/frame2.4bpp.rl" - - .align 2 -gPictureFrameTiles_3:: @ 83F1B84 - .incbin "graphics/picture_frame/frame3.4bpp.rl" - - .align 2 -gPictureFrameTiles_4:: @ 83F2B3C - .incbin "graphics/picture_frame/frame4.4bpp.rl" - - .align 2 -gPictureFrameTiles_5:: @ 83F3C6C - .incbin "graphics/picture_frame/frame5.4bpp.rl" - - .align 2 -gPictureFrameTilemap_0:: @ 83F4260 - .incbin "graphics/picture_frame/frame0_map.bin.rl" - - .align 2 -gPictureFrameTilemap_1:: @ 83F476C - .incbin "graphics/picture_frame/frame1_map.bin.rl" - - .align 2 -gPictureFrameTilemap_2:: @ 83F4C78 - .incbin "graphics/picture_frame/frame2_map.bin.rl" - - .align 2 -gPictureFrameTilemap_3:: @ 83F5184 - .incbin "graphics/picture_frame/frame3_map.bin.rl" - - .align 2 -gPictureFrameTilemap_4:: @ 83F5690 - .incbin "graphics/picture_frame/frame4_map.bin.rl" - - .align 2 -gPictureFrameTilemap_5:: @ 83F5B9C - .incbin "graphics/picture_frame/frame5_map.bin.rl" - - .align 2 -gUnknown_083F60AC:: @ 83F60AC - .4byte OtherText_Cool - .4byte OtherText_Beauty2 - .4byte OtherText_Cute - .4byte OtherText_Smart - .4byte OtherText_Tough - - .align 2 -gUnknown_083F60C0:: @ 83F60C0 - .4byte OtherText_NonstopSuperCool - .4byte OtherText_Terminator6 - .4byte OtherText_GoodLookingPoke - .4byte OtherText_Terminator7 - .4byte OtherText_MarvelousGreat - .4byte OtherText_Terminator8 - .4byte OtherText_CenturyLastVenus - .4byte OtherText_Terminator9 - .4byte OtherText_Terminator10 - .4byte OtherText_DazzlingSlime - .4byte OtherText_PokeCenterIdol - .4byte OtherText_Terminator11 - .4byte OtherText_LovelyAndSweet - .4byte OtherText_Terminator12 - .4byte OtherText_ThePretty - .4byte OtherText_WinningPortrait - .4byte OtherText_GiveUsWink - .4byte OtherText_Terminator13 - .4byte OtherText_SmartnessMaestro - .4byte OtherText_Terminator15 - .4byte OtherText_ChosenPokeAmong - .4byte OtherText_Terminator15 - .4byte OtherText_TheExcellent - .4byte OtherText_ItsMomentOfElegance - .4byte OtherText_PowerfullyMuscular - .4byte OtherText_Terminator16 - .4byte OtherText_StrongErEst - .4byte OtherText_Terminator17 - .4byte OtherText_MightyTough - .4byte OtherText_Exclamation - - .align 2 -gOamData_83F6138:: @ 83F6138 - .2byte 0x3000 - .2byte 0xC000 - .2byte 0x0000 - - .align 2 -gUnknown_083F6140:: @ 83F6140 - .space 4 - - .align 2 -gBattleAICmdTable:: @ 83F6144 - .4byte BattleAICmd_if_random - .4byte BattleAICmd_if_not_random - .4byte BattleAICmd_if_random_1 - .4byte BattleAICmd_if_not_random_1 - .4byte BattleAICmd_score - .4byte BattleAICmd_if_hp_less_than - .4byte BattleAICmd_if_hp_more_than - .4byte BattleAICmd_if_hp_equal - .4byte BattleAICmd_if_hp_not_equal - .4byte BattleAICmd_if_status - .4byte BattleAICmd_if_not_status - .4byte BattleAICmd_if_status2 - .4byte BattleAICmd_if_not_status2 - .4byte BattleAICmd_if_status3 - .4byte BattleAICmd_if_not_status3 - .4byte BattleAICmd_if_status4 - .4byte BattleAICmd_if_not_status4 - .4byte BattleAICmd_if_less_than - .4byte BattleAICmd_if_more_than - .4byte BattleAICmd_if_equal - .4byte BattleAICmd_if_not_equal - .4byte BattleAICmd_if_less_than_32 - .4byte BattleAICmd_if_more_than_32 - .4byte BattleAICmd_if_equal_32 - .4byte BattleAICmd_if_not_equal_32 - .4byte BattleAICmd_if_move - .4byte BattleAICmd_if_not_move - .4byte BattleAICmd_if_in_bytes - .4byte BattleAICmd_if_not_in_bytes - .4byte BattleAICmd_if_in_words - .4byte BattleAICmd_if_not_in_words - .4byte BattleAICmd_if_user_can_damage - .4byte BattleAICmd_if_user_cant_damage - .4byte BattleAICmd_unk_21 - .4byte BattleAICmd_get_type - .4byte BattleAICmd_unk_23 - .4byte BattleAICmd_unk_24 - .4byte BattleAICmd_get_move - .4byte BattleAICmd_if_type - .4byte BattleAICmd_unk_27 - .4byte BattleAICmd_if_would_go_first - .4byte BattleAICmd_if_would_not_go_first - .4byte BattleAICmd_unk_2A - .4byte BattleAICmd_unk_2B - .4byte BattleAICmd_count_alive_pokemon - .4byte BattleAICmd_unk_2D - .4byte BattleAICmd_unk_2E - .4byte BattleAICmd_get_ability - .4byte BattleAICmd_unk_30 - .4byte BattleAICmd_if_damage_bonus - .4byte BattleAICmd_unk_32 - .4byte BattleAICmd_unk_33 - .4byte BattleAICmd_if_status_in_party - .4byte BattleAICmd_if_status_not_in_party - .4byte BattleAICmd_unk_36 - .4byte BattleAICmd_if_effect - .4byte BattleAICmd_if_not_effect - .4byte BattleAICmd_if_stat_level_less_than - .4byte BattleAICmd_if_stat_level_more_than - .4byte BattleAICmd_if_stat_level_equal - .4byte BattleAICmd_if_stat_level_not_equal - .4byte BattleAICmd_if_can_faint - .4byte BattleAICmd_if_cant_faint - .4byte BattleAICmd_unk_3F - .4byte BattleAICmd_unk_40 - .4byte BattleAICmd_if_move_effect - .4byte BattleAICmd_if_not_move_effect - .4byte BattleAICmd_if_last_move_did_damage - .4byte BattleAICmd_if_encored - .4byte BattleAICmd_unk_45 - .4byte BattleAICmd_if_random_2 - .4byte BattleAICmd_unk_47 - .4byte BattleAICmd_get_hold_effect - .4byte BattleAICmd_get_gender - .4byte BattleAICmd_is_first_turn - .4byte BattleAICmd_get_stockpile_count - .4byte BattleAICmd_unk_4C - .4byte BattleAICmd_get_item - .4byte BattleAICmd_unk_4E - .4byte BattleAICmd_unk_4F - .4byte BattleAICmd_unk_50 - .4byte BattleAICmd_get_protect_count - .4byte BattleAICmd_unk_52 - .4byte BattleAICmd_unk_53 - .4byte BattleAICmd_unk_54 - .4byte BattleAICmd_unk_55 - .4byte BattleAICmd_unk_56 - .4byte BattleAICmd_unk_57 - .4byte BattleAICmd_call - .4byte BattleAICmd_jump - .4byte BattleAICmd_unk_5A - .4byte BattleAICmd_if_level_cond - .4byte BattleAICmd_if_taunted - .4byte BattleAICmd_if_not_taunted - -gUnknown_083F62BC:: @ 83F62BC - .incbin "baserom.gba", 0x003f62bc, 0x1c - - .align 2 -gUnknown_083F62D8:: @ 83F62D8 - .4byte SecretBaseText_Tristan - .4byte SecretBaseText_Philip - .4byte SecretBaseText_Dennis - .4byte SecretBaseText_Roberto - -gTraderDecorations:: @ 83F62E8 - .byte DECOR_DUSKULL_DOLL - .byte DECOR_BALL_CUSHION - .byte DECOR_TIRE - .byte DECOR_PRETTY_FLOWERS - -gUnknown_083F62EC:: @ 83F62EC - .incbin "graphics/misc/birch_bag.gbapal" - .incbin "graphics/misc/birch_grass.gbapal" - - .align 2 -gBirchBallarrow_Pal:: - .incbin "graphics/misc/birch_ballarrow.gbapal" - - .align 2 -gBirchCircle_Pal:: - .incbin "graphics/misc/birch_circle.gbapal" - - .align 2 -gBirchBagTilemap:: @ 83F636C - .incbin "graphics/misc/birch_bag_map.bin.lz" - - .align 2 -gBirchGrassTilemap:: @ 83F64F8 - .incbin "graphics/misc/birch_grass_map.bin.lz" - -gUnknown_083F66F0:: @ 83F66F0 - .incbin "graphics/misc/birch_help.4bpp.lz" - - .align 2 -gBirchBallarrow_Gfx:: - .incbin "graphics/misc/birch_ballarrow.4bpp.lz" - - .align 2 -gBirchCircle_Gfx:: - .incbin "graphics/misc/birch_circle.4bpp.lz" - -gStarterChoose_PokeballCoords:: @ 83F76B8 - .byte 60, 64 - .byte 120, 88 - .byte 180, 64 - -gStarterChoose_LabelCoords:: @ 83F76BE - .byte 0, 9 - .byte 16, 10 - .byte 8, 4 - - .align 1 -gStarterMons:: @ 83F76C4 - .2byte SPECIES_TREECKO - .2byte SPECIES_TORCHIC - .2byte SPECIES_MUDKIP - .2byte 0 - - .align 2 -gOamData_83F76CC:: @ 83F76CC - .2byte 0x00A0 - .2byte 0x8000 - .2byte 0x0400 - - .align 2 -gOamData_83F76D4:: @ 83F76D4 - .2byte 0x00A0 - .2byte 0x8000 - .2byte 0x0400 - - .align 2 -gOamData_83F76DC:: @ 83F76DC - .2byte 0x03A0 - .2byte 0xC000 - .2byte 0x0400 - - .align 2 -gUnknown_083F76E4:: @ 83F76E4 - .incbin "baserom.gba", 0x003f76e4, 0x8 - - .align 2 -gSpriteAnim_83F76EC:: @ 83F76EC - obj_image_anim_frame 48, 30 - obj_image_anim_end - - .align 2 -gSpriteAnim_83F76F4:: @ 83F76F4 - obj_image_anim_frame 0, 30 - obj_image_anim_end - - .align 2 -gSpriteAnim_83F76FC:: @ 83F76FC - obj_image_anim_frame 16, 4 - obj_image_anim_frame 0, 4 - obj_image_anim_frame 32, 4 - obj_image_anim_frame 0, 4 - obj_image_anim_frame 16, 4 - obj_image_anim_frame 0, 4 - obj_image_anim_frame 32, 4 - obj_image_anim_frame 0, 4 - obj_image_anim_frame 0, 32 - obj_image_anim_frame 16, 8 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 32, 8 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 16, 8 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 32, 8 - obj_image_anim_frame 0, 8 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnim_83F7744:: @ 83F7744 - obj_image_anim_frame 0, 8 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83F774C:: @ 83F774C - .4byte gSpriteAnim_83F76EC - - .align 2 -gSpriteAnimTable_83F7750:: @ 83F7750 - .4byte gSpriteAnim_83F76F4 - .4byte gSpriteAnim_83F76FC - - .align 2 -gSpriteAnimTable_83F7758:: @ 83F7758 - .4byte gSpriteAnim_83F7744 - -Unknown_83F775C: - .incbin "baserom.gba", 0x003f775c, 0x18 - - .align 2 -gSpriteAffineAnim_83F7774:: @ 83F7774 - obj_rot_scal_anim_frame 0x14, 0x14, 0, 0 - obj_rot_scal_anim_frame 0x14, 0x14, 0, 15 - obj_rot_scal_anim_end - - .align 2 -gUnknown_083F778C:: @ 83F778C - .4byte Unknown_83F775C - - .align 2 -gSpriteAffineAnimTable_83F7790:: @ 83F7790 - .4byte gSpriteAffineAnim_83F7774 - -gUnknown_083F7794:: @ 83F7794 - obj_tiles gBirchBallarrow_Gfx, 0x0800, 0x1000 - .space 8 - -gUnknown_083F77A4:: @ 83F77A4 - obj_tiles gBirchCircle_Gfx, 0x0800, 0x1001 - .space 8 - -gUnknown_083F77B4:: @ 83F77B4 - obj_pal gBirchBallarrow_Pal, 0x1000 - obj_pal gBirchCircle_Pal, 0x1001 - .space 8 - - .align 2 -gSpriteTemplate_83F77CC:: @ 83F77CC - spr_template 4096, 4096, gOamData_83F76CC, gSpriteAnimTable_83F774C, NULL, gDummySpriteAffineAnimTable, sub_810A62C - - .align 2 -gSpriteTemplate_83F77E4:: @ 83F77E4 - spr_template 4096, 4096, gOamData_83F76D4, gSpriteAnimTable_83F7750, NULL, gDummySpriteAffineAnimTable, sub_810A68C - - .align 2 -gSpriteTemplate_83F77FC:: @ 83F77FC - spr_template 4097, 4097, gOamData_83F76DC, gSpriteAnimTable_83F7758, NULL, gSpriteAffineAnimTable_83F7790, StarterPokemonSpriteAnimCallback - -@ 83F7814 -ClockGfx_Misc: - .incbin "graphics/misc/clock_misc.4bpp.lz" - -gUnknown_083F7A90:: @ 83F7A90 - obj_tiles ClockGfx_Misc, 0x2000, 0x1000 - .space 8 - -gUnknown_083F7AA0:: @ 83F7AA0 - obj_pal gMiscClockMale_Pal, 0x1000 - obj_pal gMiscClockFemale_Pal, 0x1001 - .space 8 - - .align 2 -gOamData_83F7AB8:: @ 83F7AB8 - .2byte 0x00A0 - .2byte 0xC000 - .2byte 0x0400 - - .align 2 -gSpriteAnim_83F7AC0:: @ 83F7AC0 - obj_image_anim_frame 0, 30 - obj_image_anim_end - - .align 2 -gSpriteAnim_83F7AC8:: @ 83F7AC8 - obj_image_anim_frame 64, 30 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83F7AD0:: @ 83F7AD0 - .4byte gSpriteAnim_83F7AC0 - - .align 2 -gSpriteAnimTable_83F7AD4:: @ 83F7AD4 - .4byte gSpriteAnim_83F7AC8 - - .align 2 -gSpriteTemplate_83F7AD8:: @ 83F7AD8 - spr_template 4096, 4096, gOamData_83F7AB8, gSpriteAnimTable_83F7AD0, NULL, gDummySpriteAffineAnimTable, sub_810B05C - - .align 2 -gSpriteTemplate_83F7AF0:: @ 83F7AF0 - spr_template 4096, 4096, gOamData_83F7AB8, gSpriteAnimTable_83F7AD4, NULL, gDummySpriteAffineAnimTable, sub_810B0F4 - - .align 2 -gOamData_83F7B08:: @ 83F7B08 - .2byte 0x00A0 - .2byte 0x4000 - .2byte 0x0800 - - .align 2 -gSpriteAnim_83F7B10:: @ 83F7B10 - obj_image_anim_frame 132, 30 - obj_image_anim_end - - .align 2 -gSpriteAnim_83F7B18:: @ 83F7B18 - obj_image_anim_frame 128, 30 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83F7B20:: @ 83F7B20 - .4byte gSpriteAnim_83F7B10 - - .align 2 -gSpriteAnimTable_83F7B24:: @ 83F7B24 - .4byte gSpriteAnim_83F7B18 - - .align 2 -gSpriteTemplate_83F7B28:: @ 83F7B28 - spr_template 4096, 4096, gOamData_83F7B08, gSpriteAnimTable_83F7B20, NULL, gDummySpriteAffineAnimTable, sub_810B18C - - .align 2 -gSpriteTemplate_83F7B40:: @ 83F7B40 - spr_template 4096, 4096, gOamData_83F7B08, gSpriteAnimTable_83F7B24, NULL, gDummySpriteAffineAnimTable, sub_810B230 - -@ 83F7B58 - .include "data/clock_hand_coords.inc" - -gUnknown_083F7E28:: @ 83F7E28 - .incbin "baserom.gba", 0x003f7e28, 0x80 - - .align 2 -gUnknown_083F7EA8:: @ 83F7EA8 - .4byte sub_80A5B40, c2_exit_to_overworld_2_switch - .4byte sub_802E424, c2_exit_to_overworld_2_switch - - .align 2 -gPokeblockNames:: @ 83F7EB8 - .4byte NULL - .4byte ContestStatsText_RedPokeBlock - .4byte ContestStatsText_BluePokeBlock - .4byte ContestStatsText_PinkPokeBlock - .4byte ContestStatsText_GreenPokeBlock - .4byte ContestStatsText_YellowPokeBlock - .4byte ContestStatsText_PurplePokeBlock - .4byte ContestStatsText_IndigoPokeBlock - .4byte ContestStatsText_BrownPokeBlock - .4byte ContestStatsText_LiteBluePokeBlock - .4byte ContestStatsText_OlivePokeBlock - .4byte ContestStatsText_GrayPokeBlock - .4byte ContestStatsText_BlackPokeBlock - .4byte ContestStatsText_WhitePokeBlock - .4byte ContestStatsText_GoldPokeBlock - - .align 2 -gUnknown_083F7EF4:: @ 83F7EF4 - .4byte OtherText_Use, sub_810C508 - .4byte OtherText_Toss, sub_810C5C0 - .4byte gOtherText_CancelNoTerminator, sub_810C748 - .4byte OtherText_Use, sub_810C788 - .4byte OtherText_Use, sub_810C854 - -gUnknown_083F7F1C:: @ 83F7F1C - .byte 0, 1, 2 - -gUnknown_083F7F1F:: @ 83F7F1F - .byte 3, 2 - -gUnknown_083F7F21:: @ 83F7F21 - .byte 4, 2 - - .align 2 -gUnknown_083F7F24:: @ 83F7F24 - .4byte sub_810C610 - .4byte sub_810C668 - -@ unreferenced - .byte 0x16, 0x17, 0x18, 0x21, 0x2F - - .align 2 -gOamData_83F7F34:: @ 83F7F34 - .2byte 0x0000 - .2byte 0xC000 - .2byte 0x0800 - - .align 2 -gSpriteAnim_83F7F3C:: @ 83F7F3C - obj_image_anim_frame 0, 0 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83F7F44:: @ 83F7F44 - .4byte gSpriteAnim_83F7F3C - -Unknown_83F7F48: - .incbin "baserom.gba", 0x003f7f48, 0x28 - - .align 2 -gUnknown_083F7F70:: @ 83F7F70 - .4byte Unknown_83F7F48 - - .align 2 -gUnknown_083F7F74:: @ 83F7F74 - obj_tiles gMenuPokeblockDevice_Gfx, 2048, 0x39d0 - - .align 2 -gUnknown_083F7F7C:: @ 83F7F7C - obj_pal gMenuPokeblockDevice_Pal, 0x39d0 - - .align 2 -gSpriteTemplate_83F7F84:: @ 83F7F84 - spr_template 14800, 14800, gOamData_83F7F34, gSpriteAnimTable_83F7F44, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - -gUnknown_083F7F9C:: @ 83F7F9C - .incbin "baserom.gba", 0x003f7f9c, 0x28 - - .align 2 -gUnknown_083F7FC4:: @ 83F7FC4 - .byte 1, 4, 1, 0 - .4byte sub_810CFF8 - .byte 2, 4, 1, 0 - .4byte sub_810CFF8 - .byte 3, 4, 1, 0 - .4byte sub_810CFF8 - .byte 5, 4, 1, 0 - .4byte sub_810CFF8 - .byte 6, 4, 1, 0 - .4byte sub_810CFF8 - .byte 7, 4, 1, 0 - .4byte sub_810CFF8 - .byte 8, 4, 1, 0 - .4byte sub_810CFF8 - .byte 9, 4, 1, 0 - .4byte sub_810CFF8 - - .byte 4, 1, 0, 1 - .4byte sub_810CE48 - .byte 4, 2, 0, 1 - .4byte sub_810CE48 - .byte 4, 3, 0, 1 - .4byte sub_810CE48 - .byte 4, 5, 0, 1 - .4byte sub_810CE48 - .byte 4, 6, 0, 1 - .4byte sub_810CE48 - .byte 4, 7, 0, 1 - .4byte sub_810CE48 - .byte 4, 8, 0, 1 - .4byte sub_810CE48 - .byte 4, 9, 0, 1 - .4byte sub_810CE48 - - .byte 0, 0, 0, 0 - .4byte NULL - - .align 2 -gCaveTransitionPalette_White:: @ 83F804C - .rept 16 - .2byte 0x7FFF - .endr - - .align 2 -gCaveTransitionPalette_Black:: @ 83F806C - .rept 16 - .2byte 0x0000 - .endr - -gUnknown_083F808C:: @ 83F808C - .incbin "baserom.gba", 0x003f808c, 0x10 - -gUnknown_083F809C:: @ 83F809C - .incbin "baserom.gba", 0x003f809c, 0x10 - - .align 2 -gCaveTransitionTilemap:: @ 83F80AC - .incbin "graphics/misc/cave_transition_map.bin.lz" - - .align 2 -gCaveTransitionTiles:: @ 83F828C - .incbin "graphics/misc/cave_transition.4bpp.lz" - -gUnknown_083F8340:: @ 83F8340 - .incbin "baserom.gba", 0x003f8340, 0x18 - -gUnknown_083F8358:: @ 83F8358 - .incbin "baserom.gba", 0x003f8358, 0x4 - -gUnknown_083F835C:: @ 83F835C - .incbin "baserom.gba", 0x003f835c, 0x8 - -gUnknown_083F8364:: @ 83F8364 - .incbin "baserom.gba", 0x003f8364, 0xc - -gUnknown_083F8370:: @ 83F8370 - .incbin "baserom.gba", 0x003f8370, 0x6 - -gUnknown_083F8376:: @ 83F8376 - .incbin "baserom.gba", 0x003f8376, 0xa - - .align 2 -gUnknown_083F8380:: @ 83F8380 - .4byte OtherText_1F - .4byte OtherText_2F - .4byte OtherText_3F - .4byte OtherText_4F - .4byte OtherText_5F - .4byte OtherText_6F - .4byte OtherText_7F - .4byte OtherText_8F - .4byte OtherText_9F - .4byte OtherText_10F - .4byte OtherText_11F - .4byte OtherText_B1F - .4byte OtherText_B2F - .4byte OtherText_B3F - .4byte OtherText_B4F - .4byte OtherText_Rooftop - - .align 2 -gUnknown_083F83C0:: @ 83F83C0 - .4byte OtherText_BlueFlute - .4byte OtherText_YellowFlute - .4byte OtherText_RedFlute - .4byte OtherText_WhiteFlute - .4byte OtherText_BlackFlute - .4byte OtherText_PrettyChair - .4byte OtherText_PrettyDesk - .4byte gOtherText_CancelNoTerminator - -gUnknown_083F83E0:: @ 83F83E0 - .incbin "baserom.gba", 0x003f83e0, 0xc - -gUnknown_083F83EC:: @ 83F83EC - .incbin "baserom.gba", 0x003f83ec, 0xc - -gUnknown_083F83F8:: @ 83F83F8 - .incbin "baserom.gba", 0x003f83f8, 0xc - -gUnknown_083F8404:: @ 83F8404 - .incbin "baserom.gba", 0x003f8404, 0x4 - -gUnknown_083F8408:: @ 83F8408 - .incbin "baserom.gba", 0x003f8408, 0x8 - -gUnknown_083F8410:: @ 83F8410 - .incbin "baserom.gba", 0x003f8410, 0x8 - -gUnknown_083F8418:: @ 83F8418 - .incbin "graphics/pokedex/area_glow.gbapal" - -gUnknown_083F8438:: @ 83F8438 - .incbin "graphics/pokedex/area_glow.4bpp.lz" - - .align 1 -gUnknown_083F856C:: @ 83F856C - .2byte 360 - - .align 1 -gUnknown_083F856E:: @ 83F856E - .2byte 328, 0, 34 - .2byte 412, 0, 0 - -gUnknown_083F857A:: @ 83F857A - .incbin "baserom.gba", 0x003f857a, 0x12 - - .align 2 -gUnknown_083F858C:: @ 83F858C - obj_tiles AreaMarkerTiles, 0x80, 2 - - .align 2 -gUnknown_083F8594:: @ 83F8594 - obj_pal AreaMarkerPalette, 2 - - .align 2 -gOamData_83F859C:: @ 83F859C - .2byte 0x0000 - .2byte 0x4000 - .2byte 0x0400 - - .align 2 -gSpriteTemplate_83F85A4:: @ 83F85A4 - spr_template 2, 2, gOamData_83F859C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -AreaMarkerPalette: - .incbin "graphics/pokedex/area_marker.gbapal" - - .align 2 -AreaMarkerTiles: - .incbin "graphics/pokedex/area_marker.4bpp" - - .align 2 -gUnknown_083F865C:: @ 83F865C - obj_pal gAreaUnknownPalette, 3 - - .align 2 -gUnknown_083F8664:: @ 83F8664 - obj_tiles 0x02000FB4, 0x600, 3 - - .align 2 -gOamData_83F866C:: @ 83F866C - .2byte 0x0000 - .2byte 0x8000 - .2byte 0x0400 - - .align 2 -gSpriteTemplate_83F8674:: @ 83F8674 - spr_template 3, 3, gOamData_83F866C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - -gUnknown_083F868C:: @ 83F868C - .incbin "baserom.gba", 0x003f868c, 0x30 - -gUnknown_083F86BC:: @ 83F86BC - .incbin "baserom.gba", 0x003f86bc, 0x40 - - .align 2 -gRouletteCenter_Pal:: - .incbin "graphics/roulette/center.gbapal" - - .incbin "baserom.gba", 0x003f871c, 0x1A0 - -gUnknown_083F88BC:: @ 83F88BC - .incbin "baserom.gba", 0x003f88bc, 0x1a4 - -gUnknown_083F8A60:: @ 83F8A60 - .incbin "baserom.gba", 0x003f8a60, 0x1a0 - -gUnknown_083F8C00:: @ 83F8C00 - .incbin "baserom.gba", 0x003f8c00, 0xc - -gUnknown_083F8C0C:: @ 83F8C0C - .incbin "baserom.gba", 0x003f8c0c, 0x184 - -gUnknown_083F8D90:: @ 83F8D90 - .incbin "baserom.gba", 0x003f8d90, 0x4 - -gUnknown_083F8D94:: @ 83F8D94 - .incbin "baserom.gba", 0x003f8d94, 0x5c - -gUnknown_083F8DF0:: @ 83F8DF0 - .incbin "baserom.gba", 0x003f8df0, 0x4 - -gUnknown_083F8DF4:: @ 83F8DF4 - .incbin "baserom.gba", 0x003f8df4, 0x40 - -gUnknown_083F8E34:: @ 83F8E34 - .incbin "baserom.gba", 0x003f8e34, 0x68 - -gUnknown_083F8E9C:: @ 83F8E9C - .incbin "baserom.gba", 0x003f8e9c, 0x18 - - .align 2 -gUnknown_083F8EB4:: @ 83F8EB4 - .4byte sub_811755C - .4byte sub_81175C0 - - .align 2 -gUnknown_083F8EBC:: @ 83F8EBC - .4byte sub_811577C - .4byte sub_81157AC - -gUnknown_083F8EC4:: @ 83F8EC4 - .incbin "baserom.gba", 0x003f8ec4, 0x6 - -gUnknown_083F8ECA:: @ 83F8ECA - .incbin "baserom.gba", 0x003f8eca, 0x4 - -gUnknown_083F8ECE:: @ 83F8ECE - .incbin "baserom.gba", 0x003f8ece, 0xa - -gUnknown_083F8ED8:: @ 83F8ED8 - .incbin "baserom.gba", 0x003f8ed8, 0x10 - -gUnknown_083F8EE8:: @ 83F8EE8 - .incbin "baserom.gba", 0x003f8ee8, 0xc - -gUnknown_083F8EF4:: @ 83F8EF4 - .byte 0, 3, 4, 6, 12 - - .align 2 -RouletteSpritePalette_01: - .incbin "graphics/roulette/shadow.gbapal" - - .align 2 -RouletteSpritePalette_02: - .incbin "graphics/roulette/ball.gbapal" - - .align 2 -RouletteSpritePalette_03: - .incbin "graphics/roulette/ball_counter.gbapal" - - .align 2 -RouletteSpritePalette_04: - .incbin "graphics/roulette/cursor.gbapal" - - .align 2 -RouletteSpritePalette_05: - .incbin "graphics/roulette/credit.gbapal" - - .align 2 -RouletteSpritePalette_06: - .incbin "graphics/roulette/shroomish.gbapal" - - .align 2 -RouletteSpritePalette_07: - .incbin "graphics/roulette/tailow.gbapal" - - .align 2 -RouletteSpritePalette_08: - .incbin "graphics/roulette/poke_icons.gbapal" - - .align 2 -RouletteSpritePalette_09: - .incbin "graphics/roulette/wynaut.gbapal" - - .align 2 -RouletteSpritePalette_10: - .incbin "graphics/roulette/azurill.gbapal" - - .align 2 -RouletteSpritePalette_11: - .incbin "graphics/roulette/skitty.gbapal" - - .align 2 -RouletteSpritePalette_12: - .incbin "graphics/roulette/makuhita.gbapal" - - .align 2 -RouletteSpritePalette_13: - .incbin "baserom.gba", 0x003F907C, 0x20 - - .align 2 -RouletteSpritePalette_14: - .incbin "baserom.gba", 0x003F909C, 0x20 - - .align 2 -RouletteSpritePalette_15: - .incbin "baserom.gba", 0x003F90BC, 0x20 - - .align 2 -RouletteSpritePalette_16: - .incbin "baserom.gba", 0x003F90DC, 0x20 - - .align 2 -gUnknown_083F90FC:: @ 83F90FC - .incbin "graphics/roulette/ball.4bpp.lz" - - .align 2 -RouletteBallCounterTiles: @ 83F9244 - .incbin "graphics/roulette/ball_counter.4bpp.lz" - - .align 2 -gUnknown_083F92A8:: @ 83F92A8 - .incbin "graphics/roulette/roulette_tilt.4bpp.lz" - - .align 2 -RoulettePokeIconsTiles: @ 83F9698 - .incbin "graphics/roulette/poke_icons.4bpp.lz" - - .align 2 -RoulettePokeIcons2Tiles: @ 83F983C - .incbin "graphics/roulette/poke_icons2.4bpp.lz" - - .align 2 -gUnknown_083F9D3C:: @ 83F9D3C - .incbin "graphics/roulette/shadow.4bpp.lz" - - .align 2 -RouletteCursorTiles: @ 83F9DD4 - .incbin "graphics/roulette/cursor.4bpp.lz" - - .align 2 -gUnknown_083F9E30:: @ 83F9E30 - obj_pal RouletteSpritePalette_01, 1 - obj_pal RouletteSpritePalette_02, 2 - obj_pal RouletteSpritePalette_03, 3 - obj_pal RouletteSpritePalette_04, 4 - obj_pal RouletteSpritePalette_05, 5 - obj_pal RouletteSpritePalette_06, 6 - obj_pal RouletteSpritePalette_07, 7 - obj_pal RouletteSpritePalette_08, 8 - obj_pal RouletteSpritePalette_09, 9 - obj_pal RouletteSpritePalette_10, 10 - obj_pal RouletteSpritePalette_11, 11 - obj_pal RouletteSpritePalette_12, 12 - obj_pal RouletteSpritePalette_13, 13 - obj_pal RouletteSpritePalette_14, 14 - obj_pal RouletteSpritePalette_15, 15 - obj_pal RouletteSpritePalette_16, 16 - null_obj_pal - - .align 2 -gOamData_83F9EB8:: @ 83F9EB8 - .2byte 0x0000 - .2byte 0x8000 - .2byte 0x0400 - - .align 2 -gOamData_83F9EC0:: @ 83F9EC0 - .2byte 0x0000 - .2byte 0x4000 - .2byte 0x0400 - - .align 2 -gOamData_83F9EC8:: @ 83F9EC8 - .2byte 0x833C - .2byte 0x8000 - .2byte 0x0800 - - .align 2 -gSpriteAnim_83F9ED0:: @ 83F9ED0 - obj_image_anim_frame 0, 0 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83F9ED8:: @ 83F9ED8 - .4byte gSpriteAnim_83F9ED0 - - .align 2 -gSpriteAffineAnim_83F9EDC:: @ 83F9EDC - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_83F9EE4:: @ 83F9EE4 - .4byte gSpriteAffineAnim_83F9EDC - - .align 2 -gUnknown_083F9EE8:: @ 83F9EE8 - obj_tiles RoulettePokeIcons2Tiles, 0xC00, 0 - - .align 2 -gSpriteAnim_83F9EF0:: @ 83F9EF0 - obj_image_anim_frame 0, 0 - obj_image_anim_frame 32, 0 - obj_image_anim_frame 64, 0 - obj_image_anim_frame 72, 0 - obj_image_anim_frame 8, 0 - obj_image_anim_frame 40, 0 - obj_image_anim_frame 48, 0 - obj_image_anim_frame 80, 0 - obj_image_anim_frame 16, 0 - obj_image_anim_frame 24, 0 - obj_image_anim_frame 56, 0 - obj_image_anim_frame 88, 0 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83F9F24:: @ 83F9F24 - .4byte gSpriteAnim_83F9EF0 - - .align 2 -gSpriteAnimTable_83F9F28:: @ 83F9F28 - .4byte gSpriteAnim_83F9EF0 + 0x4 - - .align 2 -gSpriteAnimTable_83F9F2C:: @ 83F9F2C - .4byte gSpriteAnim_83F9EF0 + 0x8 - - .align 2 -gSpriteAnimTable_83F9F30:: @ 83F9F30 - .4byte gSpriteAnim_83F9EF0 + 0xC - - .align 2 -gSpriteAnimTable_83F9F34:: @ 83F9F34 - .4byte gSpriteAnim_83F9EF0 + 0x10 - - .align 2 -gSpriteAnimTable_83F9F38:: @ 83F9F38 - .4byte gSpriteAnim_83F9EF0 + 0x14 - - .align 2 -gSpriteAnimTable_83F9F3C:: @ 83F9F3C - .4byte gSpriteAnim_83F9EF0 + 0x18 - - .align 2 -gSpriteAnimTable_83F9F40:: @ 83F9F40 - .4byte gSpriteAnim_83F9EF0 + 0x1C - - .align 2 -gSpriteAnimTable_83F9F44:: @ 83F9F44 - .4byte gSpriteAnim_83F9EF0 + 0x20 - - .align 2 -gSpriteAnimTable_83F9F48:: @ 83F9F48 - .4byte gSpriteAnim_83F9EF0 + 0x24 - - .align 2 -gSpriteAnimTable_83F9F4C:: @ 83F9F4C - .4byte gSpriteAnim_83F9EF0 + 0x28 - - .align 2 -gSpriteAnimTable_83F9F50:: @ 83F9F50 - .4byte gSpriteAnim_83F9EF0 + 0x2C - - .align 2 -gUnknown_083F9F54:: @ 83F9F54 - obj_tiles gRouletteHeadersTiles, 0x1600, 4 - - .align 2 -gUnknown_083F9F5C:: @ 83F9F5C - obj_tiles RoulettePokeIconsTiles, 0x400, 5 - - .align 2 -gSpriteAnim_83F9F64:: @ 83F9F64 - obj_image_anim_frame 0, 0 - obj_image_anim_frame 16, 0 - obj_image_anim_frame 32, 0 - obj_image_anim_frame 48, 0 - obj_image_anim_frame 64, 0 - obj_image_anim_frame 80, 0 - obj_image_anim_frame 96, 0 - obj_image_anim_frame 112, 0 - obj_image_anim_frame 128, 0 - obj_image_anim_frame 144, 0 - obj_image_anim_frame 160, 0 - obj_image_anim_end - - .align 2 -gSpriteAnim_83F9F94:: @ 83F9F94 - obj_image_anim_frame 0, 0 - obj_image_anim_frame 4, 0 - obj_image_anim_frame 8, 0 - obj_image_anim_frame 12, 0 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83F9FA8:: @ 83F9FA8 - .4byte gSpriteAnim_83F9F64 - - .align 2 -gSpriteAnimTable_83F9FAC:: @ 83F9FAC - .4byte gSpriteAnim_83F9F64 + 0x8 - - .align 2 -gSpriteAnimTable_83F9FB0:: @ 83F9FB0 - .4byte gSpriteAnim_83F9F64 + 0x10 - - .align 2 -gSpriteAnimTable_83F9FB4:: @ 83F9FB4 - .4byte gSpriteAnim_83F9F64 + 0x18 - - .align 2 -gSpriteAnimTable_83F9FB8:: @ 83F9FB8 - .4byte gSpriteAnim_83F9F64 + 0x20 - - .align 2 -gSpriteAnimTable_83F9FBC:: @ 83F9FBC - .4byte gSpriteAnim_83F9F64 + 0x24 - - .align 2 -gSpriteAnimTable_83F9FC0:: @ 83F9FC0 - .4byte gSpriteAnim_83F9F64 + 0x28 - - .align 2 -gSpriteAnimTable_83F9FC4:: @ 83F9FC4 - .4byte gSpriteAnim_83F9F94 - - .align 2 -gSpriteAnimTable_83F9FC8:: @ 83F9FC8 - .4byte gSpriteAnim_83F9F94 + 0x4 - - .align 2 -gSpriteAnimTable_83F9FCC:: @ 83F9FCC - .4byte gSpriteAnim_83F9F94 + 0x8 - - .align 2 -gSpriteAnimTable_83F9FD0:: @ 83F9FD0 - .4byte gSpriteAnim_83F9F94 + 0xC - - .align 2 -gSpriteTemplate_83F9FD4:: @ 83F9FD4 - spr_template 4, 8, gOamData_83F9EB8, gSpriteAnimTable_83F9FA8, NULL, gDummySpriteAffineAnimTable, sub_81184CC - - .align 2 -gSpriteTemplate_83F9FEC:: @ 83F9FEC - spr_template 4, 8, gOamData_83F9EB8, gSpriteAnimTable_83F9FAC, NULL, gDummySpriteAffineAnimTable, sub_81184CC - - .align 2 -gSpriteTemplate_83FA004:: @ 83FA004 - spr_template 4, 8, gOamData_83F9EB8, gSpriteAnimTable_83F9FB0, NULL, gDummySpriteAffineAnimTable, sub_81184CC - - .align 2 -gSpriteTemplate_83FA01C:: @ 83FA01C - spr_template 4, 8, gOamData_83F9EB8, gSpriteAnimTable_83F9FB4, NULL, gDummySpriteAffineAnimTable, sub_81184CC - - .align 2 -gSpriteTemplate_83FA034:: @ 83FA034 - spr_template 4, 8, gOamData_83F9EB8, gSpriteAnimTable_83F9FB8, NULL, gDummySpriteAffineAnimTable, sub_81184CC - - .align 2 -gSpriteTemplate_83FA04C:: @ 83FA04C - spr_template 4, 8, gOamData_83F9EB8, gSpriteAnimTable_83F9FBC, NULL, gDummySpriteAffineAnimTable, sub_81184CC - - .align 2 -gSpriteTemplate_83FA064:: @ 83FA064 - spr_template 4, 8, gOamData_83F9EB8, gSpriteAnimTable_83F9FC0, NULL, gDummySpriteAffineAnimTable, sub_81184CC - - .align 2 -gSpriteTemplate_83FA07C:: @ 83FA07C - spr_template 5, 8, gOamData_83F9EC0, gSpriteAnimTable_83F9FC4, NULL, gDummySpriteAffineAnimTable, sub_81184CC - - .align 2 -gSpriteTemplate_83FA094:: @ 83FA094 - spr_template 5, 8, gOamData_83F9EC0, gSpriteAnimTable_83F9FC8, NULL, gDummySpriteAffineAnimTable, sub_81184CC - - .align 2 -gSpriteTemplate_83FA0AC:: @ 83FA0AC - spr_template 5, 8, gOamData_83F9EC0, gSpriteAnimTable_83F9FCC, NULL, gDummySpriteAffineAnimTable, sub_81184CC - - .align 2 -gSpriteTemplate_83FA0C4:: @ 83FA0C4 - spr_template 5, 8, gOamData_83F9EC0, gSpriteAnimTable_83F9FD0, NULL, gDummySpriteAffineAnimTable, sub_81184CC - - .align 2 -gSpriteTemplate_83FA0DC:: @ 83FA0DC - spr_template 0, 9, gOamData_83F9EC8, gSpriteAnimTable_83F9F24, NULL, gDummySpriteAffineAnimTable, sub_8117E98 - - .align 2 -gSpriteTemplate_83FA0F4:: @ 83FA0F4 - spr_template 0, 10, gOamData_83F9EC8, gSpriteAnimTable_83F9F28, NULL, gDummySpriteAffineAnimTable, sub_8117E98 - - .align 2 -gSpriteTemplate_83FA10C:: @ 83FA10C - spr_template 0, 11, gOamData_83F9EC8, gSpriteAnimTable_83F9F2C, NULL, gDummySpriteAffineAnimTable, sub_8117E98 - - .align 2 -gSpriteTemplate_83FA124:: @ 83FA124 - spr_template 0, 12, gOamData_83F9EC8, gSpriteAnimTable_83F9F30, NULL, gDummySpriteAffineAnimTable, sub_8117E98 - - .align 2 -gSpriteTemplate_83FA13C:: @ 83FA13C - spr_template 0, 9, gOamData_83F9EC8, gSpriteAnimTable_83F9F34, NULL, gDummySpriteAffineAnimTable, sub_8117E98 - - .align 2 -gSpriteTemplate_83FA154:: @ 83FA154 - spr_template 0, 10, gOamData_83F9EC8, gSpriteAnimTable_83F9F38, NULL, gDummySpriteAffineAnimTable, sub_8117E98 - - .align 2 -gSpriteTemplate_83FA16C:: @ 83FA16C - spr_template 0, 11, gOamData_83F9EC8, gSpriteAnimTable_83F9F3C, NULL, gDummySpriteAffineAnimTable, sub_8117E98 - - .align 2 -gSpriteTemplate_83FA184:: @ 83FA184 - spr_template 0, 12, gOamData_83F9EC8, gSpriteAnimTable_83F9F40, NULL, gDummySpriteAffineAnimTable, sub_8117E98 - - .align 2 -gSpriteTemplate_83FA19C:: @ 83FA19C - spr_template 0, 9, gOamData_83F9EC8, gSpriteAnimTable_83F9F44, NULL, gDummySpriteAffineAnimTable, sub_8117E98 - - .align 2 -gSpriteTemplate_83FA1B4:: @ 83FA1B4 - spr_template 0, 10, gOamData_83F9EC8, gSpriteAnimTable_83F9F48, NULL, gDummySpriteAffineAnimTable, sub_8117E98 - - .align 2 -gSpriteTemplate_83FA1CC:: @ 83FA1CC - spr_template 0, 11, gOamData_83F9EC8, gSpriteAnimTable_83F9F4C, NULL, gDummySpriteAffineAnimTable, sub_8117E98 - - .align 2 -gSpriteTemplate_83FA1E4:: @ 83FA1E4 - spr_template 0, 12, gOamData_83F9EC8, gSpriteAnimTable_83F9F50, NULL, gDummySpriteAffineAnimTable, sub_8117E98 - - .align 2 -gOamData_83FA1FC:: @ 83FA1FC - .2byte 0x4000 - .2byte 0xC000 - .2byte 0x0400 - - .align 2 -gOamData_83FA204:: @ 83FA204 - .2byte 0x8000 - .2byte 0x0000 - .2byte 0x0400 - - .align 2 -gOamData_83FA20C:: @ 83FA20C - .2byte 0x4000 - .2byte 0x8000 - .2byte 0x0400 - - .align 2 -gOamData_83FA214:: @ 83FA214 - .2byte 0x4000 - .2byte 0x0000 - .2byte 0x0400 - - .align 2 -gUnknown_083FA21C:: @ 83FA21C - obj_tiles gRouletteCreditTiles, 0x400, 7 - obj_tiles gRouletteNumbersTiles, 0x280, 8 - obj_tiles gRouletteMultiplierTiles, 0x500, 9 - obj_tiles RouletteBallCounterTiles, 0x140, 10 - obj_tiles RouletteCursorTiles, 0x200, 11 - null_obj_tiles - - .align 2 -gSpriteAnim_83FA24C:: @ 83FA24C - obj_image_anim_frame 0, 0 - obj_image_anim_frame 2, 0 - obj_image_anim_frame 4, 0 - obj_image_anim_frame 6, 0 - obj_image_anim_frame 8, 0 - obj_image_anim_frame 10, 0 - obj_image_anim_frame 12, 0 - obj_image_anim_frame 14, 0 - obj_image_anim_frame 16, 0 - obj_image_anim_frame 18, 0 - - .align 2 -gSpriteAnimTable_83FA274:: @ 83FA274 - .4byte gSpriteAnim_83FA24C - - .align 2 -gSpriteAnim_83FA278:: @ 83FA278 - obj_image_anim_frame 0, 0 - obj_image_anim_frame 8, 0 - obj_image_anim_frame 16, 0 - obj_image_anim_frame 24, 0 - obj_image_anim_frame 32, 0 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83FA290:: @ 83FA290 - .4byte gSpriteAnim_83FA278 - - .align 2 -gSpriteAnim_83FA294:: @ 83FA294 - obj_image_anim_frame 0, 0 - obj_image_anim_frame 2, 0 - obj_image_anim_frame 4, 0 - obj_image_anim_frame 6, 0 - obj_image_anim_frame 8, 0 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83FA2AC:: @ 83FA2AC - .4byte gSpriteAnim_83FA294 - - .align 2 -gSpriteTemplate_83FA2B0:: @ 83FA2B0 - spr_template 7, 5, gOamData_83FA1FC, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_83FA2C8:: @ 83FA2C8 - spr_template 8, 5, gOamData_83FA204, gSpriteAnimTable_83FA274, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_83FA2E0:: @ 83FA2E0 - spr_template 9, 5, gOamData_83FA20C, gSpriteAnimTable_83FA290, NULL, gDummySpriteAffineAnimTable, sub_81184CC - - .align 2 -gSpriteTemplate_83FA2F8:: @ 83FA2F8 - spr_template 10, 3, gOamData_83FA214, gSpriteAnimTable_83FA2AC, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_83FA310:: @ 83FA310 - spr_template 11, 5, gOamData_83F9EB8, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gOamData_83FA328:: @ 83FA328 - .2byte 0x0000 - .2byte 0x4000 - .2byte 0x0800 - - .align 2 -gSpriteImageTable_83FA330:: @ 83FA330 - obj_frame_tiles 0x02017E00, 0x80 - obj_frame_tiles 0x02017E80, 0x80 - obj_frame_tiles 0x02017F00, 0x80 - obj_frame_tiles 0x02017F80, 0x80 - - .align 2 -gSpriteAnim_83FA350:: @ 83FA350 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 2, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnim_83FA364:: @ 83FA364 - obj_image_anim_frame 0, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_frame 2, 10 - obj_image_anim_frame 1, 10 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnim_83FA378:: @ 83FA378 - obj_image_anim_frame 0, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_frame 2, 15 - obj_image_anim_frame 1, 15 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnim_83FA38C:: @ 83FA38C - obj_image_anim_frame 1, 2 - obj_image_anim_frame 2, 5 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 3, 5 - obj_image_anim_end - - .align 2 -Unknown_083FA3A0: - .incbin "baserom.gba", 0x003fa3a0, 0x18 -Unknown_083FA3B8: - .incbin "baserom.gba", 0x003fa3b8, 0x14 -Unknown_083FA3CC: - .incbin "baserom.gba", 0x003fa3cc, 0x8 - - .align 2 -gSpriteAnim_83FA3D4:: @ 83FA3D4 - obj_image_anim_frame 2, 2 - obj_image_anim_frame 1, 5 - obj_image_anim_frame 0, 5 - obj_image_anim_frame 3, 5 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83FA3E8:: @ 83FA3E8 - .4byte gSpriteAnim_83FA350 - .4byte gSpriteAnim_83FA364 - .4byte gSpriteAnim_83FA378 - .4byte gSpriteAnim_83FA38C - .4byte gSpriteAnim_83FA3D4 - - .align 2 - .4byte Unknown_083FA3A0 - .4byte Unknown_083FA3B8 - .4byte Unknown_083FA3B8 - .4byte Unknown_083FA3CC - - .align 2 -gSpriteTemplate_83FA40C:: @ 83FA40C - spr_template 0xFFFF, 2, gOamData_83FA328, gSpriteAnimTable_83FA3E8, gSpriteImageTable_83FA330, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gOamData_83FA424:: @ 83FA424 - .2byte 0x0351 - .2byte 0xC000 - .2byte 0x0800 - - .align 2 -gUnknown_083FA42C:: @ 83FA42C - obj_tiles gRouletteCenter_Gfx, 2048, 0x0006 - - .align 2 -gSpriteTemplate_83FA434:: @ 83FA434 - spr_template 6, 2, gOamData_83FA424, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8118554 - - .align 2 -gOamData_83FA44C:: @ 83FA44C - .2byte 0x0000 - .2byte 0x8000 - .2byte 0x0800 - - .align 2 -gOamData_83FA454:: @ 83FA454 - .2byte 0x0000 - .2byte 0x8000 - .2byte 0x0800 - - .align 2 -gSpriteImageTable_83FA45C:: @ 83FA45C - obj_frame_tiles 0x02017000, 0x200 - obj_frame_tiles 0x02017200, 0x200 - obj_frame_tiles 0x02017400, 0x200 - obj_frame_tiles 0x02017600, 0x200 - obj_frame_tiles 0x02017800, 0x200 - obj_frame_tiles 0x02017A00, 0x200 - obj_frame_tiles 0x02017C00, 0x200 - - .align 2 -gSpriteAnim_83FA494:: @ 83FA494 - obj_image_anim_frame 0, 6 - obj_image_anim_frame 1, 6 - obj_image_anim_frame 2, 6 - obj_image_anim_frame 3, 6 - obj_image_anim_frame 2, 6 - obj_image_anim_frame 4, 6 - obj_image_anim_jump 2 - - .align 2 -gSpriteAnim_83FA4B0:: @ 83FA4B0 - obj_image_anim_frame 5, 10 - obj_image_anim_end - - .align 2 -gSpriteAnim_83FA4B8:: @ 83FA4B8 - obj_image_anim_frame 5, 10, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_end - - .align 2 -gSpriteAnim_83FA4C0:: @ 83FA4C0 - obj_image_anim_frame 5, 20 - obj_image_anim_frame 6, 20 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnim_83FA4CC:: @ 83FA4CC - obj_image_anim_frame 5, 20, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 6, 20, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_jump 0 - - .align 2 -gSpriteAnim_83FA4D8:: @ 83FA4D8 - obj_image_anim_frame 5, 10 - obj_image_anim_frame 6, 10 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnim_83FA4E4:: @ 83FA4E4 - obj_image_anim_frame 5, 10, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 6, 10, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_jump 0 - - .align 2 -gSpriteAnimTable_83FA4F0:: @ 83FA4F0 - .4byte gSpriteAnim_83FA494 - - .align 2 -gSpriteAnimTable_83FA4F4:: @ 83FA4F4 - .4byte gSpriteAnim_83FA4B0 - .4byte gSpriteAnim_83FA4B8 - .4byte gSpriteAnim_83FA4C0 - .4byte gSpriteAnim_83FA4CC - .4byte gSpriteAnim_83FA4D8 - .4byte gSpriteAnim_83FA4E4 - - .align 2 -gSpriteTemplate_83FA50C:: @ 83FA50C - spr_template 0xFFFF, 6, gOamData_83FA44C, gSpriteAnimTable_83FA4F0, gSpriteImageTable_83FA45C, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_83FA524:: @ 83FA524 - spr_template 0xFFFF, 7, gOamData_83FA454, gSpriteAnimTable_83FA4F4, gSpriteImageTable_83FA45C, gDummySpriteAffineAnimTable, sub_8119D80 - - .align 2 -gOamData_83FA53C:: @ 83FA53C - .2byte 0x0000 - .2byte 0x4000 - .2byte 0x0800 - - .align 2 -gOamData_83FA544:: @ 83FA544 - .2byte 0x4000 - .2byte 0x8000 - .2byte 0x0800 - - .align 2 -gOamData_83FA54C:: @ 83FA54C - .2byte 0x4100 - .2byte 0x8000 - .2byte 0x0800 - - .align 2 -gSpriteImageTable_83FA554: @ 83FA554 - obj_frame_tiles 0x02018000, 0x80 - - .align 2 -gSpriteImageTable_83FA55C: @ 83FA55C - obj_frame_tiles 0x02018080, 0x100 - - .align 2 -gUnknown_083FA564: @ 83FA564 - .incbin "baserom.gba", 0x003fa564, 0x18 - - .align 2 -gSpriteAffineAnim_83FA57C:: @ 83FA57C - obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 - obj_rot_scal_anim_frame 0xFFFE, 0x0, 0, 15 - obj_rot_scal_anim_frame 0xFFFF, 0xFFFE, 0, 15 - obj_rot_scal_anim_frame 0xFFFF, 0xFFFB, 0, 24 - obj_rot_scal_anim_end - - .align 2 - .4byte gUnknown_083FA564 - - .align 2 -gSpriteAffineAnimTable_83FA5A8:: @ 83FA5A8 - .4byte gSpriteAffineAnim_83FA57C - - .align 2 -gUnknown_083FA5AC:: @ 83FA5AC - .incbin "baserom.gba", 0x003fa5ac, 0x10 - - .align 2 -@ unreferenced - .4byte gUnknown_083FA5AC - - .align 2 -gSpriteTemplate_83FA5C0:: @ 83FA5C0 - spr_template 0xFFFF, 1, gOamData_83FA53C, gSpriteAnimTable_83F9ED8, gSpriteImageTable_83FA554, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_83FA5D8:: @ 83FA5D8 - spr_template 0xFFFF, 1, gOamData_83FA544, gSpriteAnimTable_83F9ED8, gSpriteImageTable_83FA55C, gDummySpriteAffineAnimTable, sub_8119964 - - .align 2 -gSpriteTemplate_83FA5F0:: @ 83FA5F0 - spr_template 0xFFFF, 1, gOamData_83FA54C, gSpriteAnimTable_83F9ED8, gSpriteImageTable_83FA55C, gSpriteAffineAnimTable_83FA5A8, sub_8119D80 - -gUnknown_083FA608:: @ 83FA608 - .incbin "baserom.gba", 0x003fa608, 0x6 - - .align 1 -gUnknown_083FA60E:: @ 83FA60E - .2byte 0x74, 0x2C - .2byte 0x74, 0x70 - -gUnknown_083FA616:: @ 83FA616 - .incbin "baserom.gba", 0x003fa616, 0x8 - -gUnknown_083FA61E:: @ 83FA61E - .incbin "baserom.gba", 0x003fa61e, 0x14 - -gUnknown_083FA632:: @ 83FA632 - .incbin "baserom.gba", 0x003fa632, 0x18 - -gUnknown_083FA64A:: @ 83FA64A - .byte -1, 1 - -gUnknown_083FA64C:: @ 83FA64C - .incbin "baserom.gba", 0x003fa64c, 0x10 - - .align 2 -CryMeterNeedlePalette: @ 83FA65C - .incbin "graphics/pokedex/cry_meter_needle.gbapal" - - .align 2 -CryMeterNeedleTiles: @ 83FA67C - .incbin "graphics/pokedex/cry_meter_needle.4bpp" - -gUnknown_083FAE7C:: @ 83FAE7C - .incbin "baserom.gba", 0x003fae7c, 0xa0 - -gUnknown_083FAF1C:: @ 83FAF1C - .incbin "graphics/pokedex/cry_meter.gbapal" - -gUnknown_083FAF3C:: @ 83FAF3C - .incbin "graphics/pokedex/cry_meter.4bpp.lz" - - .align 1 -gUnknown_083FB274:: @ 83FB274 - .2byte 0x0,0x4,0x8,0xC,0x10,0x14,0x18,0x1C,0x400,0x404,0x408,0x40C,0x410,0x414,0x418,0x41C,0x800,0x804,0x808,0x80C,0x810,0x814,0x818,0x81C,0xC00,0xC04,0xC08,0xC0C,0xC10,0xC14,0xC18,0xC1C,0x1000,0x1004,0x1008,0x100C,0x1010,0x1014,0x1018,0x101C,0x1400,0x1404,0x1408,0x140C,0x1410,0x1414,0x1418,0x141C,0x1800,0x1804,0x1808,0x180C,0x1810,0x1814,0x1818,0x181C,0x1C00,0x1C04,0x1C08,0x1C0C,0x1C10,0x1C14,0x1C18,0x1C1C,0x2000,0x2004,0x2008,0x200C,0x2010,0x2014,0x2018,0x201C - .2byte 0x0,0x4,0x8,0xC,0x10,0x14,0x18,0x1C,0x400,0x404,0x408,0x40C,0x410,0x414,0x418,0x41C,0x800,0x804,0x808,0x80C,0x810,0x814,0x818,0x81C,0xC00,0xC04,0xC08,0xC0C,0xC10,0xC14,0xC18,0xC1C,0x1000,0x1004,0x1008,0x100C,0x1010,0x1014,0x1018,0x101C,0x1400,0x1404,0x1408,0x140C,0x1410,0x1414,0x1418,0x141C,0x1800,0x1804,0x1808,0x180C,0x1810,0x1814,0x1818,0x181C,0x1C00,0x1C04,0x1C08,0x1C0C,0x1C10,0x1C14,0x1C18,0x1C1C,0x2000,0x2004,0x2008,0x200C,0x2010,0x2014,0x2018,0x201C - .2byte 0x1,0x5,0x9,0xD,0x11,0x15,0x19,0x1D,0x401,0x405,0x409,0x40D,0x411,0x415,0x419,0x41D,0x801,0x805,0x809,0x80D,0x811,0x815,0x819,0x81D,0xC01,0xC05,0xC09,0xC0D,0xC11,0xC15,0xC19,0xC1D,0x1001,0x1005,0x1009,0x100D,0x1011,0x1015,0x1019,0x101D,0x1401,0x1405,0x1409,0x140D,0x1411,0x1415,0x1419,0x141D,0x1801,0x1805,0x1809,0x180D,0x1811,0x1815,0x1819,0x181D,0x1C01,0x1C05,0x1C09,0x1C0D,0x1C11,0x1C15,0x1C19,0x1C1D,0x2001,0x2005,0x2009,0x200D,0x2011,0x2015,0x2019,0x201D - .2byte 0x1,0x5,0x9,0xD,0x11,0x15,0x19,0x1D,0x401,0x405,0x409,0x40D,0x411,0x415,0x419,0x41D,0x801,0x805,0x809,0x80D,0x811,0x815,0x819,0x81D,0xC01,0xC05,0xC09,0xC0D,0xC11,0xC15,0xC19,0xC1D,0x1001,0x1005,0x1009,0x100D,0x1011,0x1015,0x1019,0x101D,0x1401,0x1405,0x1409,0x140D,0x1411,0x1415,0x1419,0x141D,0x1801,0x1805,0x1809,0x180D,0x1811,0x1815,0x1819,0x181D,0x1C01,0x1C05,0x1C09,0x1C0D,0x1C11,0x1C15,0x1C19,0x1C1D,0x2001,0x2005,0x2009,0x200D,0x2011,0x2015,0x2019,0x201D - .2byte 0x2,0x6,0xA,0xE,0x12,0x16,0x1A,0x1E,0x402,0x406,0x40A,0x40E,0x412,0x416,0x41A,0x41E,0x802,0x806,0x80A,0x80E,0x812,0x816,0x81A,0x81E,0xC02,0xC06,0xC0A,0xC0E,0xC12,0xC16,0xC1A,0xC1E,0x1002,0x1006,0x100A,0x100E,0x1012,0x1016,0x101A,0x101E,0x1402,0x1406,0x140A,0x140E,0x1412,0x1416,0x141A,0x141E,0x1802,0x1806,0x180A,0x180E,0x1812,0x1816,0x181A,0x181E,0x1C02,0x1C06,0x1C0A,0x1C0E,0x1C12,0x1C16,0x1C1A,0x1C1E,0x2002,0x2006,0x200A,0x200E,0x2012,0x2016,0x201A,0x201E - .2byte 0x2,0x6,0xA,0xE,0x12,0x16,0x1A,0x1E,0x402,0x406,0x40A,0x40E,0x412,0x416,0x41A,0x41E,0x802,0x806,0x80A,0x80E,0x812,0x816,0x81A,0x81E,0xC02,0xC06,0xC0A,0xC0E,0xC12,0xC16,0xC1A,0xC1E,0x1002,0x1006,0x100A,0x100E,0x1012,0x1016,0x101A,0x101E,0x1402,0x1406,0x140A,0x140E,0x1412,0x1416,0x141A,0x141E,0x1802,0x1806,0x180A,0x180E,0x1812,0x1816,0x181A,0x181E,0x1C02,0x1C06,0x1C0A,0x1C0E,0x1C12,0x1C16,0x1C1A,0x1C1E,0x2002,0x2006,0x200A,0x200E,0x2012,0x2016,0x201A,0x201E - .2byte 0x3,0x7,0xB,0xF,0x13,0x17,0x1B,0x1F,0x403,0x407,0x40B,0x40F,0x413,0x417,0x41B,0x41F,0x803,0x807,0x80B,0x80F,0x813,0x817,0x81B,0x81F,0xC03,0xC07,0xC0B,0xC0F,0xC13,0xC17,0xC1B,0xC1F,0x1003,0x1007,0x100B,0x100F,0x1013,0x1017,0x101B,0x101F,0x1403,0x1407,0x140B,0x140F,0x1413,0x1417,0x141B,0x141F,0x1803,0x1807,0x180B,0x180F,0x1813,0x1817,0x181B,0x181F,0x1C03,0x1C07,0x1C0B,0x1C0F,0x1C13,0x1C17,0x1C1B,0x1C1F,0x2003,0x2007,0x200B,0x200F,0x2013,0x2017,0x201B,0x201F - .2byte 0x3,0x7,0xB,0xF,0x13,0x17,0x1B,0x1F,0x403,0x407,0x40B,0x40F,0x413,0x417,0x41B,0x41F,0x803,0x807,0x80B,0x80F,0x813,0x817,0x81B,0x81F,0xC03,0xC07,0xC0B,0xC0F,0xC13,0xC17,0xC1B,0xC1F,0x1003,0x1007,0x100B,0x100F,0x1013,0x1017,0x101B,0x101F,0x1403,0x1407,0x140B,0x140F,0x1413,0x1417,0x141B,0x141F,0x1803,0x1807,0x180B,0x180F,0x1813,0x1817,0x181B,0x181F,0x1C03,0x1C07,0x1C0B,0x1C0F,0x1C13,0x1C17,0x1C1B,0x1C1F,0x2003,0x2007,0x200B,0x200F,0x2013,0x2017,0x201B,0x201F - - .align 2 - .4byte 0x201C000 - -gUnknown_083FB6F8:: @ 83FB6F8 - .incbin "baserom.gba", 0x003fb6f8, 0x20 - -gUnknown_083FB718:: @ 83FB718 - .incbin "baserom.gba", 0x003fb718, 0x20 - -gUnknown_083FB738:: @ 83FB738 - .byte 0xF0, 0x0F - -gUnknown_083FB73A:: @ 83FB73A - .incbin "baserom.gba", 0x003fb73a, 0x26 - - .align 2 -gSpriteAnim_83FB760:: @ 83FB760 - obj_image_anim_frame 0, 30 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83FB768:: @ 83FB768 - .4byte gSpriteAnim_83FB760 - - .align 2 -gOamData_83FB76C:: @ 83FB76C - .2byte 0x01A0 - .2byte 0xC000 - .2byte 0x0400 - - .align 2 -gSpriteTemplate_83FB774:: @ 83FB774 - spr_template 8192, 8192, gOamData_83FB76C, gSpriteAnimTable_83FB768, NULL, gDummySpriteAffineAnimTable, sub_811A534 - - .align 2 -gCryMeterNeedleSpriteSheets:: @ 83FB78C - obj_tiles CryMeterNeedleTiles, 0x800, 8192 - null_obj_tiles - - .align 2 -gCryMeterNeedleSpritePalettes:: @ 83FB79C - obj_pal CryMeterNeedlePalette, 8192 - null_obj_pal - -@ 83FB7AC - .include "data/landmarks.inc" - - .align 2 -gUnknown_083FBB88:: @ 83FBB88 - .incbin "graphics/battle_transitions/big_pokeball.4bpp" - - .align 2 -gUnknown_083FC108:: @ 83FC108 - .incbin "graphics/battle_transitions/pokeball_trail.4bpp" - - .align 2 -gSpriteImage_83FC148:: @ 83FC148 - .incbin "graphics/battle_transitions/pokeball.4bpp" - - .align 2 -gUnknown_083FC348:: @ 83FC348 - .incbin "graphics/battle_transitions/elite_four_bg.4bpp" - - .align 2 -gSpriteImage_83FC528:: @ 83FC528 - .incbin "graphics/battle_transitions/unused_brendan.4bpp" - - .align 2 -gSpriteImage_83FCD28:: @ 83FCD28 - .incbin "graphics/battle_transitions/unused_lass.4bpp" - - .align 2 -gUnknown_083FD528:: @ 83FD528 - .incbin "graphics/battle_transitions/shrinking_box.4bpp" - - .align 2 -gUnknown_083FD708:: @ 83FD708 - .4byte 0x0200c000 - - .align 2 -gUnknown_083FD70C:: @ 83FD70C - .4byte sub_811AC64 - .4byte sub_811AC64 - .4byte sub_811AC64 - .4byte sub_811AC64 - .4byte sub_811AC64 - .4byte sub_811AC64 - .4byte sub_811AC64 - .4byte sub_811AC64 - .4byte sub_811AC64 - .4byte sub_811AC64 - .4byte sub_811AC64 - .4byte sub_811AC64 - .4byte sub_811AC64 - .4byte sub_811AC64 - .4byte sub_811AC64 - .4byte sub_811AC64 - .4byte sub_811AC64 - - .align 2 -gBattleTransitionFuncs:: @ 83FD750 - .4byte sub_811ACB4 - .4byte sub_811ADAC - .4byte sub_811AF44 - .4byte sub_811B0F0 - .4byte sub_811B578 - .4byte sub_811B7E8 - .4byte sub_811BCBC - .4byte sub_811BEA0 - .4byte sub_811CA5C - .4byte sub_811CCDC - .4byte sub_811D0B8 - .4byte sub_811D1C8 - .4byte sub_811C08C - .4byte sub_811C0AC - .4byte sub_811C0CC - .4byte sub_811C0EC - .4byte sub_811C10C - - .align 2 -gUnknown_083FD794:: @ 83FD794 - .4byte sub_811AB88 - .4byte sub_811ABD8 - .4byte sub_811AC0C - .4byte sub_811AC34 - - .align 2 -gUnknown_083FD7A4:: @ 83FD7A4 - .4byte sub_811ACEC - .4byte sub_811AD1C - .4byte sub_811AD80 - - .align 2 -gUnknown_083FD7B0:: @ 83FD7B0 - .4byte sub_811ADE4 - .4byte sub_811AE70 - - .align 2 -gUnknown_083FD7B8:: @ 83FD7B8 - .4byte sub_811AF7C - .4byte sub_811B000 - - .align 2 -gUnknown_083FD7C0:: @ 83FD7C0 - .4byte sub_811B128 - .4byte sub_811B1D8 - .4byte sub_811B268 - .4byte sub_811B2F4 - .4byte sub_811B380 - .4byte sub_811B3EC - - .align 2 -gUnknown_083FD7D8:: @ 83FD7D8 - .4byte sub_811B5B0 - .4byte sub_811B5FC - .4byte sub_811B688 - - .align 1 -gUnknown_083FD7E4:: @ 83FD7E4 - .2byte -16 - .2byte 256 - - .align 1 -gUnknown_083FD7E8:: @ 83FD7E8 - .2byte 0 - .2byte 32 - .2byte 64 - .2byte 18 - .2byte 48 - - .align 1 -gUnknown_083FD7F2:: @ 83FD7F2 - .2byte 8 - .2byte -8 - - .align 2 -gUnknown_083FD7F8:: @ 83FD7F8 - .4byte sub_811B820 - .4byte sub_811B884 - .4byte sub_811B90C - .4byte sub_811B9F0 - .4byte sub_811BA70 - .4byte sub_811BB60 - .4byte sub_811BBEC - - .align 2 -gUnknown_083FD814:: @ 83FD814 - .4byte sub_811BCF4 - .4byte sub_811BD60 - - .align 2 -gUnknown_083FD81C:: @ 83FD81C - .4byte sub_811BED8 - .4byte sub_811BF2C - .4byte sub_811BFC4 - - .align 2 -gUnknown_083FD828:: @ 83FD828 - .4byte sub_811C164 - .4byte sub_811C1CC - .4byte sub_811C2A4 - .4byte sub_811C38C - .4byte sub_811C400 - .4byte sub_811C43C - .4byte sub_811C4F0 - .4byte sub_811C5B4 - .4byte sub_811C5E8 - .4byte sub_811C630 - -gUnknown_083FD850:: @ 83FD850 - .incbin "baserom.gba", 0x003fd850, 0x6 - -gUnknown_083FD856:: @ 83FD856 - .incbin "baserom.gba", 0x003fd856, 0x14 - -gUnknown_083FD86A:: @ 83FD86A - .incbin "baserom.gba", 0x003fd86a, 0x16 - - .align 2 -gUnknown_083FD880:: @ 83FD880 - .4byte sub_811C934 - .4byte sub_811C938 - .4byte sub_811C984 - .4byte sub_811C9B8 - .4byte sub_811C934 - .4byte sub_811C9E4 - .4byte sub_811C934 - -gUnknown_083FD89C:: @ 83FD89C - .incbin "baserom.gba", 0x003fd89c, 0x4 - -gUnknown_083FD8A0:: @ 83FD8A0 - .incbin "baserom.gba", 0x003fd8a0, 0x4 - - .align 2 -gUnknown_083FD8A4:: @ 83FD8A4 - .4byte sub_811CA94 - .4byte sub_811CB20 - .4byte sub_811CBE8 - - .align 2 -gUnknown_083FD8B0:: @ 83FD8B0 - .4byte sub_811CD14 - .4byte sub_811CDA0 - .4byte sub_811CE14 - .4byte sub_811CE4C - .4byte sub_811CEB0 - -gUnknown_083FD8C4:: @ 83FD8C4 - .incbin "baserom.gba", 0x003fd8c4, 0x10 - - .align 2 -gUnknown_083FD8D4:: @ 83FD8D4 - .4byte sub_811D0F0 - .4byte sub_811D144 - .4byte sub_811D19C - - .align 2 -gUnknown_083FD8E0:: @ 83FD8E0 - .4byte sub_811D200 - .4byte sub_811D260 - .4byte sub_811D2D8 - .4byte sub_811D3B0 - .4byte sub_811D41C - -gUnknown_083FD8F4:: @ 83FD8F4 - .incbin "baserom.gba", 0x003fd8f4, 0x46 - -gUnknown_083FD93A:: @ 83FD93A - .incbin "baserom.gba", 0x003fd93a, 0xe - - .align 2 -gUnknown_083FD948:: @ 83FD948 - .4byte sub_811D584 - .4byte sub_811D5E0 - - .align 2 -gSpriteImageTable_83FD950:: @ 83FD950 - obj_frame_tiles gSpriteImage_83FC148, 0x200 - - .align 2 -gSpriteAnim_83FD958:: @ 83FD958 - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83FD960:: @ 83FD960 - .4byte gSpriteAnim_83FD958 - - .align 2 -gSpriteAffineAnim_83FD964:: @ 83FD964 - obj_rot_scal_anim_frame 0x0, 0x0, -4, 1 - obj_rot_scal_anim_jump 0 - - .align 2 -gSpriteAffineAnim_83FD974:: @ 83FD974 - obj_rot_scal_anim_frame 0x0, 0x0, 4, 1 - obj_rot_scal_anim_jump 0 - - .align 2 -gSpriteAffineAnimTable_83FD984:: @ 83FD984 - .4byte gSpriteAffineAnim_83FD964 - .4byte gSpriteAffineAnim_83FD974 - - .align 2 -gSpriteTemplate_83FD98C:: @ 83FD98C - spr_template 0xFFFF, 4105, gFieldOamData_32x32, gSpriteAnimTable_83FD960, gSpriteImageTable_83FD950, gSpriteAffineAnimTable_83FD984, sub_811B720 - - .align 2 -gOamData_83FD9A4:: @ 83FD9A4 - .2byte 0x0000 - .2byte 0xC000 - .2byte 0x0000 - - .align 2 -gSpriteImageTable_83FD9AC:: @ 83FD9AC - obj_frame_tiles gSpriteImage_83FC528, 0x800 - - .align 2 -gSpriteImageTable_83FD9B4:: @ 83FD9B4 - obj_frame_tiles gSpriteImage_83FCD28, 0x800 - - .align 2 -gSpriteAnim_83FD9BC:: @ 83FD9BC - obj_image_anim_frame 0, 1 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_83FD9C4:: @ 83FD9C4 - .4byte gSpriteAnim_83FD9BC - - .align 2 -gSpriteTemplate_83FD9C8:: @ 83FD9C8 - spr_template 0xFFFF, 4106, gOamData_83FD9A4, gSpriteAnimTable_83FD9C4, gSpriteImageTable_83FD9AC, gDummySpriteAffineAnimTable, sub_811C90C - - .align 2 -gSpriteTemplate_83FD9E0:: @ 83FD9E0 - spr_template 0xFFFF, 4106, gOamData_83FD9A4, gSpriteAnimTable_83FD9C4, gSpriteImageTable_83FD9B4, gDummySpriteAffineAnimTable, sub_811C90C - - .align 2 -gFieldEffectObjectPalette10:: @ 83FD9F8 - .incbin "graphics/field_effect_objects/palettes/10.gbapal" - - .align 2 -gFieldEffectObjectPaletteInfo10:: @ 83FDA18 - obj_pal gFieldEffectObjectPalette10, 0x1009 - - .align 2 -Unknown_83FDA20: - .incbin "graphics/battle_transitions/sidney_bg.gbapal" - - .align 2 -Unknown_83FDA40: - .incbin "graphics/battle_transitions/phoebe_bg.gbapal" - - .align 2 -Unknown_83FDA60: - .incbin "graphics/battle_transitions/glacia_bg.gbapal" - - .align 2 -Unknown_83FDA80: - .incbin "graphics/battle_transitions/drake_bg.gbapal" - - .align 2 -Unknown_83FDAA0: - .incbin "graphics/battle_transitions/steven_bg.gbapal" - - .align 2 -Unknown_83FDAC0: - .incbin "graphics/battle_transitions/brendan_bg.gbapal" - - .align 2 -Unknown_83FDAE0: - .incbin "graphics/battle_transitions/may_bg.gbapal" - - .align 2 -gUnknown_083FDB00:: @ 83FDB00 - .4byte Unknown_83FDA20 - .4byte Unknown_83FDA40 - .4byte Unknown_83FDA60 - .4byte Unknown_83FDA80 - .4byte Unknown_83FDAA0 - - .align 2 -gUnknown_083FDB14:: @ 83FDB14 - .4byte Unknown_83FDAC0 - .4byte Unknown_83FDAE0 - - .align 2 -UnusedTrainerPalette: - .incbin "graphics/battle_transitions/unused_trainer.gbapal" - - .align 2 -gSpritePalette_UnusedTrainer:: @ 83FDB3C - obj_pal UnusedTrainerPalette, 0x100A - - .align 2 -gUnknown_083FDB44:: @ 83FDB44 - .incbin "graphics/battle_transitions/big_pokeball_map.bin" - - .align 2 -gUnknown_083FDFF4:: @ 83FDFF4 - .incbin "graphics/battle_transitions/elite_four_bg_map.bin" - - .include "data/text/battle_strings.inc" - -gUnknown_084016BC:: @ 84016BC - .incbin "baserom.gba", 0x004016bc, 0xec - -gUnknown_084017A8:: @ 84017A8 - .incbin "baserom.gba", 0x004017a8, 0x8 - - .align 2 -gUnknown_084017B0:: @ 84017B0 - .4byte OtherText_Summary, sub_812265C - .4byte OtherText_Enter2, sub_8122694 - .4byte OtherText_NoEntry, sub_8122770 - .4byte gUnknownText_Exit, sub_8122838 - -gUnknown_084017D0:: @ 84017D0 - .byte 1, 0, 3 - -gUnknown_084017D3: @ 84017D3 - .byte 2, 0, 3 - -gUnknown_084017D6: @ 84017D6 - .byte 0, 3 - - .align 2 -gUnknown_084017D8:: @ 84017D8 - .byte 3, 9 - .space 2 - .4byte gUnknown_084017D0 - - .byte 3, 9 - .space 2 - .4byte gUnknown_084017D3 - - .byte 2, 9 - .space 2 - .4byte gUnknown_084017D6 - - .align 2 -gUnknown_084017F0:: @ 84017F0 - .4byte OtherText_Store, sub_8122F70 - .4byte OtherText_Summary, sub_81230BC - .4byte gUnknownText_Exit, sub_81230F4 - -gUnknown_08401808:: @ 8401808 - .byte 0, 1, 2 - -gUnknown_0840180B:: @ 840180B - .byte 1, 2 - - .align 2 -gUnknown_08401810:: @ 8401810 - .byte 3, 9 - .space 2 - .4byte gUnknown_08401808 - - .byte 2, 9 - .space 2 - .4byte gUnknown_0840180B - - .align 2 -gCableCarMtChimneyTilemap:: @ 8401820 - .incbin "graphics/misc/cable_car_mt_chimney_map.bin.lz" - - .align 2 -gCableCarTreeTilemap:: @ 8401978 - .incbin "graphics/misc/cable_car_tree_map.bin.lz" - - .align 2 -gCableCarMountainTilemap:: @ 8401AFC - .incbin "graphics/misc/cable_car_mountain_map.bin.lz" - - .align 2 -gCableCarPylonHookTilemapEntries:: @ 8401CC0 - .2byte 0x3000 - .2byte 0x3001 - .2byte 0x3002 - .2byte 0x3003 - .2byte 0x3004 - .2byte 0x3005 - .2byte 0x3006 - .2byte 0x3007 - .2byte 0x3008 - .2byte 0x3009 - - .align 2 -gCableCarPylonStemTilemap:: @ 8401CD4 - .incbin "graphics/misc/cable_car_pylon_stem_map.bin.lz" - - .align 2 -gUnknown_08401CF8:: @ 8401CF8 - obj_tiles gCableCar_Gfx, 0x800, 1 - obj_tiles gCableCarDoor_Gfx, 0x40, 2 - obj_tiles gCableCarCord_Gfx, 0x80, 3 - .space 8 - - .align 2 -gUnknown_08401D18:: @ 8401D18 - obj_pal gCableCar_Pal, 1 - .space 8 - - .align 2 -gOamData_8401D28:: @ 8401D28 - .2byte 0x0300 - .2byte 0xC000 - .2byte 0x0800 - - .align 2 -gOamData_8401D30:: @ 8401D30 - .2byte 0x4300 - .2byte 0x0000 - .2byte 0x0800 - - .align 2 -gOamData_8401D38:: @ 8401D38 - .2byte 0x0300 - .2byte 0x4000 - .2byte 0x0800 - - .align 2 -gSpriteTemplate_8401D40:: @ 8401D40 - spr_template 1, 1, gOamData_8401D28, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8123CB8 - - .align 2 -gSpriteTemplate_8401D58:: @ 8401D58 - spr_template 2, 1, gOamData_8401D30, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8123CB8 - - .align 2 -gSpriteTemplate_8401D70:: @ 8401D70 - spr_template 3, 1, gOamData_8401D38, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, nullsub_76 - -gCableCarPlayerGraphicsIDs:: @ 8401D88 - .byte MAP_OBJ_GFX_RIVAL_BRENDAN_NORMAL - .byte MAP_OBJ_GFX_RIVAL_MAY_NORMAL - -gMtChimneyHikerGraphicsIDs:: @ 8401D8A - .byte MAP_OBJ_GFX_HIKER - .byte MAP_OBJ_GFX_CAMPER - .byte MAP_OBJ_GFX_PICNICKER - .byte MAP_OBJ_GFX_POOCHYENA @ not used - - .align 1 -gMtChimneyHikerCoords:: @ 8401D8E - .2byte 0, 80 - .2byte 240, 146 - -gMtChimneyHikerMovementDelayTable:: @ 8401D96 - .byte 0 - .byte 60 - .byte 120 - .byte 170 - - .align 2 -gUnknown_08401D9C:: @ 8401D9C - .4byte sub_8123EB8 - .4byte sub_8123F44 - - .align 2 -gSaveSectionLocations:: @ 8401DA4 - .4byte gSaveBlock2, 0x890 - .4byte gSaveBlock1 + 0xF80 * 0, 0xF80 - .4byte gSaveBlock1 + 0xF80 * 1, 0xF80 - .4byte gSaveBlock1 + 0xF80 * 2, 0xF80 - .4byte gSaveBlock1 + 0xF80 * 3, 0xC40 - .4byte gPokemonStorage + 0xF80 * 0, 0xF80 - .4byte gPokemonStorage + 0xF80 * 1, 0xF80 - .4byte gPokemonStorage + 0xF80 * 2, 0xF80 - .4byte gPokemonStorage + 0xF80 * 3, 0xF80 - .4byte gPokemonStorage + 0xF80 * 4, 0xF80 - .4byte gPokemonStorage + 0xF80 * 5, 0xF80 - .4byte gPokemonStorage + 0xF80 * 6, 0xF80 - .4byte gPokemonStorage + 0xF80 * 7, 0xF80 - .4byte gPokemonStorage + 0xF80 * 8, 0x7D0 - - .align 2 -gHallOfFameSaveSectionLocations:: @ 8401E14 - .4byte gHallOfFame + 0xF80 * 0, 0xF80 - .4byte gHallOfFame + 0xF80 * 1, 0xF80 - -gUnknown_08401E24:: @ 8401E24 - .byte 0x1E, 0x1F @ flash sectors - -@ XXX: Unused? And why is this aligned? - .align 2 - .string "タマゴ$" - -gUnknown_08401E2C:: @ 8401E2C - .incbin "baserom.gba", 0x00401e2c, 0x6 - -gUnknown_08401E32:: @ 8401E32 - .incbin "baserom.gba", 0x00401e32, 0x4 - -gUnknown_08401E36:: @ 8401E36 - .incbin "baserom.gba", 0x00401e36, 0xa - - .align 2 -gUnknown_08401E40:: @ 8401E40 - .4byte sub_81275A0 - .4byte sub_81275C4 - - .align 2 -gUnknown_08401E48:: @ 8401E48 - .4byte sub_8127DA0 - .4byte sub_8127DD0 - .4byte sub_8127E30 - -gUnknown_08401E54:: @ 8401E54 - .incbin "baserom.gba", 0x00401e54, 0x6 - -gUnknown_08401E5A:: @ 8401E5A - .incbin "baserom.gba", 0x00401e5a, 0x6 - - .align 2 -gUnknown_08401E60:: @ 8401E60 - .4byte sub_8128AA8 - .4byte contest_ai_get_turn - .4byte sub_8128B0C - .4byte sub_8128B4C - .4byte sub_8128B8C - .4byte sub_8128BCC - .4byte contest_ai_get_excitement - .4byte sub_8128C2C - .4byte sub_8128C6C - .4byte sub_8128CAC - .4byte sub_8128CEC - .4byte contest_ai_get_user_order - .4byte sub_8128D50 - .4byte sub_8128D90 - .4byte sub_8128DD0 - .4byte sub_8128E10 - .4byte contest_ai_get_user_condition_maybe - .4byte sub_8128E90 - .4byte sub_8128ED0 - .4byte sub_8128F10 - .4byte sub_8128F50 - .4byte sub_8128F90 - .4byte sub_8128FBC - .4byte sub_8129008 - .4byte sub_8129054 - .4byte sub_81290A0 - .4byte sub_81290EC - .4byte sub_8129114 - .4byte sub_8129160 - .4byte sub_81291AC - .4byte sub_81291F8 - .4byte contest_ai_get_contest_type - .4byte sub_8129264 - .4byte sub_81292A4 - .4byte contest_ai_get_move_excitement - .4byte sub_8129324 - .4byte sub_8129368 - .4byte sub_81293AC - .4byte sub_81293F0 - .4byte contest_ai_get_move_effect - .4byte sub_8129470 - .4byte sub_81294B0 - .4byte contest_ai_get_move_effect_type - .4byte sub_8129538 - .4byte sub_8129578 - .4byte contest_ai_check_move_has_highest_appeal - .4byte sub_8129638 - .4byte sub_812967C - .4byte sub_81296FC - .4byte sub_8129740 - .4byte sub_8129798 - .4byte sub_81297D8 - .4byte sub_8129818 - .4byte sub_8129858 - .4byte sub_8129898 - .4byte sub_81298F0 - .4byte sub_8129930 - .4byte sub_8129970 - .4byte sub_81299B0 - .4byte contest_ai_get_move_used_count - .4byte sub_8129A44 - .4byte sub_8129A84 - .4byte sub_8129AC4 - .4byte sub_8129B04 - .4byte contest_ai_check_combo_starter - .4byte sub_8129BB8 - .4byte sub_8129BFC - .4byte contest_ai_check_combo_finisher - .4byte sub_8129CB4 - .4byte sub_8129CF8 - .4byte contest_ai_check_would_finish_combo - .4byte sub_8129D98 - .4byte sub_8129DDC - .4byte contest_ai_get_condition - .4byte sub_8129E64 - .4byte sub_8129EA4 - .4byte sub_8129EE4 - .4byte sub_8129F24 - .4byte contest_ai_get_used_combo_starter - .4byte sub_8129FBC - .4byte sub_8129FFC - .4byte sub_812A03C - .4byte sub_812A07C - .4byte contest_ai_check_can_participate - .4byte sub_812A100 - .4byte sub_812A144 - .4byte contest_ai_get_val_812A188 - .4byte sub_812A1C4 - .4byte sub_812A208 - .4byte sub_812A24C - .4byte sub_812A294 - .4byte sub_812A2D8 - .4byte sub_812A31C - .4byte sub_812A360 - .4byte sub_812A3A4 - .4byte sub_812A3E4 - .4byte sub_812A428 - .4byte sub_812A46C - .4byte sub_812A4B0 - .4byte sub_812A4F4 - .4byte sub_812A538 - .4byte sub_812A578 - .4byte sub_812A5B8 - .4byte sub_812A5F8 - .4byte sub_812A638 - .4byte sub_812A674 - .4byte sub_812A6B4 - .4byte sub_812A6F4 - .4byte sub_812A734 - .4byte sub_812A774 - .4byte sub_812A7C4 - .4byte sub_812A804 - .4byte sub_812A844 - .4byte sub_812A86C - .4byte sub_812A898 - .4byte sub_812A8CC - .4byte sub_812A8FC - .4byte sub_812A92C - .4byte sub_812A978 - .4byte sub_812A9C4 - .4byte sub_812AA10 - .4byte sub_812AA5C - .4byte sub_812AAAC - .4byte sub_812AAFC - .4byte sub_812AB4C - .4byte sub_812AB9C - .4byte sub_812ABE8 - .4byte sub_812AC34 - .4byte sub_812AC54 - .4byte sub_812AC84 - .4byte contest_ai_check_for_exciting_move - .4byte sub_812AD50 - .4byte sub_812AD94 - .4byte sub_812ADD8 - .4byte sub_812AE44 - .4byte sub_812AE88 - - .align 2 -gUnknown_08402080:: @ 8402080 - .4byte sub_812B864 - .4byte sub_812B870 - .4byte sub_812B87C - .4byte sub_812B888 - .4byte sub_812B894 - .4byte sub_812B8A0 - .4byte sub_812B8AC - .4byte sub_812B8B8 - .4byte sub_812B994 - .4byte sub_812B9A0 - .4byte sub_812B9AC - .4byte sub_812B9B8 - .4byte sub_812B9C4 - .4byte sub_812BA14 - .4byte sub_812BA70 - .4byte sub_812BA7C - .4byte dp01t_10_6_message - .4byte dp01t_11_6_message_for_player_only - .4byte sub_812BB10 - .4byte sub_812BBFC - .4byte sub_812BC08 - .4byte sub_812BC14 - .4byte sub_812BC54 - .4byte sub_812BC60 - .4byte sub_812BC6C - .4byte sub_812BC78 - .4byte sub_812BC84 - .4byte sub_812BCC0 - .4byte sub_812BCCC - .4byte sub_812BCD8 - .4byte sub_812BCE4 - .4byte sub_812BCF0 - .4byte sub_812BCFC - .4byte sub_812BD08 - .4byte sub_812BD14 - .4byte sub_812BD20 - .4byte sub_812BD2C - .4byte sub_812BD38 - .4byte sub_812BD44 - .4byte sub_812BD50 - .4byte sub_812BD5C - .4byte sub_812BD68 - .4byte sub_812BD74 - .4byte sub_812BD80 - .4byte sub_812BDC4 - .4byte sub_812BDF4 - .4byte dp01t_2E_6_battle_intro - .4byte sub_812BE64 - .4byte sub_812BEB0 - .4byte sub_812BEBC - .4byte sub_812BEC8 - .4byte sub_812BED4 - .4byte sub_812BEE0 - .4byte sub_812BF3C - .4byte sub_812BF48 - .4byte sub_812BF54 - .4byte nullsub_78 - - .align 2 -gSpriteAnim_8402164:: @ 8402164 - obj_image_anim_frame 0, 4 - obj_image_anim_frame 16, 4 - obj_image_anim_frame 32, 4 - obj_image_anim_frame 48, 4 - obj_image_anim_frame 64, 4 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_840217C:: @ 840217C - .4byte gSpriteAnim_8402164 - - .align 2 -gBattleAnimSpriteTemplate_8402180:: @ 8402180 - spr_template 10137, 10137, gOamData_837E054, gSpriteAnimTable_840217C, NULL, gDummySpriteAffineAnimTable, sub_80793C4 - - .align 2 -gBattleAnimSpriteTemplate_8402198:: @ 8402198 - spr_template 10016, 10016, gOamData_837DF54, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_812C144 - - .align 2 -gBattleAnimSpriteTemplate_84021B0:: @ 84021B0 - spr_template 10017, 10017, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80794A8 - - .align 2 -gSpriteAnim_84021C8:: @ 84021C8 - obj_image_anim_frame 0, 40 - obj_image_anim_frame 16, 8 - obj_image_anim_frame 32, 40 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_84021D8:: @ 84021D8 - .4byte gSpriteAnim_84021C8 - - .align 2 -gBattleAnimSpriteTemplate_84021DC:: @ 84021DC - spr_template 10190, 10190, gOamData_837DF34, gSpriteAnimTable_84021D8, NULL, gDummySpriteAffineAnimTable, sub_80793C4 - - .align 2 -gBattleAnimSpriteTemplate_84021F4:: @ 84021F4 - spr_template 10191, 10191, gOamData_837E05C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_812C220 - - .align 2 -gBattleAnimSpriteTemplate_840220C:: @ 840220C - spr_template 10189, 10189, gOamData_837DF94, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_812C2BC - - .align 2 -gSpriteAffineAnim_8402224:: @ 8402224 - obj_rot_scal_anim_frame 0x180, 0x180, 0, 0 - obj_rot_scal_anim_frame 0xFFE0, 0x18, 0, 5 - obj_rot_scal_anim_frame 0x18, 0xFFE0, 0, 5 - obj_rot_scal_anim_jump 1 - - .align 2 -gSpriteAffineAnim_8402244:: @ 8402244 - obj_rot_scal_anim_frame 0x30, 0x30, 0, 0 - obj_rot_scal_anim_frame 0x20, 0x20, 0, 6 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_840225C:: @ 840225C - .4byte gSpriteAffineAnim_8402224 - .4byte gSpriteAffineAnim_8402244 - - .align 2 -gBattleAnimSpriteTemplate_8402264:: @ 8402264 - spr_template 10187, 10187, gOamData_837E11C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_840225C, sub_812C358 - - .align 2 -gBattleAnimSpriteTemplate_840227C:: @ 840227C - spr_template 10152, 10152, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_812C720 - - .align 2 -gSpriteAnim_8402294:: @ 8402294 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 16, 3 - obj_image_anim_frame 32, 3 - obj_image_anim_frame 48, 3 - obj_image_anim_frame 64, 3 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_84022AC:: @ 84022AC - .4byte gSpriteAnim_8402294 - - .align 2 -gBattleAnimSpriteTemplate_84022B0:: @ 84022B0 - spr_template 10027, 10027, gOamData_837DF34, gSpriteAnimTable_84022AC, NULL, gDummySpriteAffineAnimTable, sub_812C80C - - .align 2 -gSpriteAnim_84022C8:: @ 84022C8 - obj_image_anim_frame 0, 3 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_84022D0:: @ 84022D0 - .4byte gSpriteAnim_84022C8 - - .align 2 -gSpriteAffineAnim_84022D4:: @ 84022D4 - obj_rot_scal_anim_frame 0xFFF9, 0xFFF9, -3, 16 - obj_rot_scal_anim_frame 0x7, 0x7, 3, 16 - obj_rot_scal_anim_jump 0 - - .align 2 -gSpriteAffineAnimTable_84022EC:: @ 84022EC - .4byte gSpriteAffineAnim_84022D4 - - .align 2 -gBattleAnimSpriteTemplate_84022F0:: @ 84022F0 - spr_template 10228, 10228, gOamData_837DF94, gSpriteAnimTable_84022D0, NULL, gSpriteAffineAnimTable_84022EC, sub_812C848 - - .align 2 -gSpriteAnim_8402308:: @ 8402308 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 16, 16 - obj_image_anim_frame 32, 4 - obj_image_anim_frame 48, 4 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_840231C:: @ 840231C - .4byte gSpriteAnim_8402308 - - .align 2 -gSpriteAffineAnim_8402320:: @ 8402320 - obj_rot_scal_anim_frame 0x200, 0x200, 0, 0 - obj_rot_scal_anim_frame 0xFFE0, 0xFFE0, 0, 8 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_8402338:: @ 8402338 - .4byte gSpriteAffineAnim_8402320 - - .align 2 -gBattleAnimSpriteTemplate_840233C:: @ 840233C - spr_template 10192, 10192, gOamData_837DFF4, gSpriteAnimTable_840231C, NULL, gSpriteAffineAnimTable_8402338, sub_812C908 - - .align 2 -gSpriteAffineAnim_8402354:: @ 8402354 - obj_rot_scal_anim_frame 0x0, 0x180, 0, 0 - obj_rot_scal_anim_frame 0x10, 0x0, 0, 20 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_840236C:: @ 840236C - obj_rot_scal_anim_frame 0x140, 0x180, 0, 0 - obj_rot_scal_anim_frame 0xFFF0, 0x0, 0, 19 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_8402384:: @ 8402384 - .4byte gSpriteAffineAnim_8402354 - .4byte gSpriteAffineAnim_840236C - - .align 2 -gBattleAnimSpriteTemplate_840238C:: @ 840238C - spr_template 10227, 10227, gOamData_837DFFC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_8402384, sub_812C990 - - .align 2 -gBattleAnimSpriteTemplate_84023A4:: @ 84023A4 - spr_template 10247, 10247, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_812CAFC - - .align 2 -gBattleAnimSpriteTemplate_84023BC:: @ 84023BC - spr_template 10247, 10247, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_812CC28 - - .align 2 -gSpriteAnim_84023D4:: @ 84023D4 - obj_image_anim_frame 0, 2 - obj_image_anim_frame 8, 2 - obj_image_anim_frame 16, 2 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnimTable_84023E4:: @ 84023E4 - .4byte gSpriteAnim_84023D4 - - .align 2 -gBattleAnimSpriteTemplate_84023E8:: @ 84023E8 - spr_template 10229, 10229, gOamData_837DF54, gSpriteAnimTable_84023E4, NULL, gDummySpriteAffineAnimTable, sub_812CCE8 - - .align 2 -gUnknown_08402400:: @ 8402400 - .incbin "baserom.gba", 0x00402400, 0x20 - - .align 2 -gSpriteAnim_8402420:: @ 8402420 - obj_image_anim_frame 0, 8 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_8402428:: @ 8402428 - .4byte gSpriteAnim_8402420 - - .align 2 -gSpriteAffineAnim_840242C:: @ 840242C - obj_rot_scal_anim_frame 0x0, 0x0, 5, 40 - obj_rot_scal_anim_frame 0x0, 0x0, 10, 10 - obj_rot_scal_anim_frame 0x0, 0x0, 15, 10 - obj_rot_scal_anim_frame 0x0, 0x0, 20, 40 - obj_rot_scal_anim_jump 0 - - .align 2 -gSpriteAffineAnimTable_8402454:: @ 8402454 - .4byte gSpriteAffineAnim_840242C - - .align 2 -gBattleAnimSpriteTemplate_8402458:: @ 8402458 - spr_template 10230, 10230, gOamData_837DFFC, gSpriteAnimTable_8402428, NULL, gSpriteAffineAnimTable_8402454, sub_812D294 - - .align 2 -gSpriteAnim_8402470:: @ 8402470 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 16, 3 - obj_image_anim_frame 32, 3 - obj_image_anim_frame 48, 3 - obj_image_anim_frame 32, 3, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 16, 3, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 0, 3, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_loop 1 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_8402494:: @ 8402494 - .4byte gSpriteAnim_8402470 - - .align 2 -gBattleAnimSpriteTemplate_8402498:: @ 8402498 - spr_template 10234, 10234, gOamData_837DF34, gSpriteAnimTable_8402494, NULL, gDummySpriteAffineAnimTable, sub_80793C4 - - .align 2 -gUnknown_084024B0:: @ 84024B0 - .incbin "baserom.gba", 0x004024b0, 0x20 - - .align 2 -gBattleAnimSpriteTemplate_84024D0:: @ 84024D0 - spr_template 10226, 10226, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_812D3AC - - .align 2 -gBattleAnimSpriteTemplate_84024E8:: @ 84024E8 - spr_template 10233, 10233, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_812D4B4 - - .align 2 -gSpriteTemplate_8402500:: @ 8402500 - spr_template 10233, 10233, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_812D588 - - .align 2 -gUnknown_08402518:: @ 8402518 - .incbin "baserom.gba", 0x00402518, 0x28 - - .align 2 -gUnknown_08402540:: @ 8402540 - .incbin "baserom.gba", 0x00402540, 0x38 - - .align 2 -gBattleAnimSpriteTemplate_8402578:: @ 8402578 - spr_template 10236, 10236, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_812D724 - - .align 2 -gUnknown_08402590:: @ 8402590 - .incbin "baserom.gba", 0x00402590, 0x30 - - .align 2 -gUnknown_084025C0:: @ 84025C0 - .incbin "baserom.gba", 0x004025c0, 0x4 - - .align 2 -gSpriteAnim_84025C4:: @ 84025C4 - obj_image_anim_frame 0, 6 - obj_image_anim_frame 4, 6 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnim_84025D0:: @ 84025D0 - obj_image_anim_frame 8, 6 - obj_image_anim_end - - .align 2 -gSpriteAnim_84025D8:: @ 84025D8 - obj_image_anim_frame 12, 6 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_84025E0:: @ 84025E0 - .4byte gSpriteAnim_84025C4 - .4byte gSpriteAnim_84025D0 - .4byte gSpriteAnim_84025D8 - - .align 2 -gBattleAnimSpriteTemplate_84025EC:: @ 84025EC - spr_template 10241, 10241, gOamData_837DF2C, gSpriteAnimTable_84025E0, NULL, gDummySpriteAffineAnimTable, sub_812DEAC - - .align 2 -gUnknown_08402604:: @ 8402604 - .incbin "baserom.gba", 0x00402604, 0x4 - -gUnknown_08402608:: @ 8402608 - .incbin "baserom.gba", 0x00402608, 0x8 - -gUnknown_08402610:: @ 8402610 - .incbin "baserom.gba", 0x00402610, 0x20 - - .align 2 -gBattleAnimSpriteTemplate_8402630:: @ 8402630 - spr_template 10087, 10087, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_812E4F0 - - .align 2 -gSpriteAnim_8402648:: @ 8402648 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 1, 8 - obj_image_anim_frame 2, 8 - obj_image_anim_frame 3, 8 - obj_image_anim_frame 3, 8, OBJ_IMAGE_ANIM_V_FLIP - obj_image_anim_frame 2, 8, OBJ_IMAGE_ANIM_V_FLIP - obj_image_anim_frame 0, 8, OBJ_IMAGE_ANIM_V_FLIP - obj_image_anim_frame 1, 8, OBJ_IMAGE_ANIM_V_FLIP - obj_image_anim_jump 0 - - .align 2 -gSpriteAnim_840266C:: @ 840266C - obj_image_anim_frame 0, 8, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 1, 8, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 2, 8, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 3, 8, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 3, 8, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 2, 8, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 0, 8, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 1, 8, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_jump 0 - - .align 2 -gSpriteAnim_8402690:: @ 8402690 - obj_image_anim_frame 0, 8 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_8402698:: @ 8402698 - .4byte gSpriteAnim_8402648 - .4byte gSpriteAnim_840266C - .4byte gSpriteAnim_8402690 - - .align 2 -gBattleAnimSpriteTemplate_84026A4:: @ 84026A4 - spr_template 10238, 10238, gOamData_837DF24, gSpriteAnimTable_8402698, NULL, gDummySpriteAffineAnimTable, sub_812E7A0 - - .align 2 - .incbin "baserom.gba", 0x004026bc, 0x20 - - .align 2 -gSpriteAnim_84026DC:: @ 84026DC - obj_image_anim_frame 0, 5 - obj_image_anim_frame 4, 9 - obj_image_anim_frame 8, 5 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_84026EC:: @ 84026EC - .4byte gSpriteAnim_84026DC - - .align 2 -gBattleAnimSpriteTemplate_84026F0:: @ 84026F0 - spr_template 10239, 10239, gOamData_837DF2C, gSpriteAnimTable_84026EC, NULL, gDummySpriteAffineAnimTable, sub_812EA4C - - .align 2 -gBattleAnimSpriteTemplate_8402708:: @ 8402708 - spr_template 10240, 10240, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_812EC78 - - .align 2 -gBattleAnimSpriteTemplate_8402720:: @ 8402720 - spr_template 10227, 10227, gOamData_837DFFC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_8402384, sub_812ED84 - - .align 2 -gBattleAnimSpriteTemplate_8402738:: @ 8402738 - spr_template 10236, 10236, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_812EEA4 - - .align 2 -gUnknown_08402750:: @ 8402750 - .incbin "baserom.gba", 0x00402750, 0x30 - - .align 2 -gSpriteAffineAnim_8402780:: @ 8402780 - obj_rot_scal_anim_frame 0x80, 0x80, 0, 0 - obj_rot_scal_anim_frame 0xFFF8, 0xFFF8, 0, 8 - obj_rot_scal_anim_frame 0x8, 0x8, 0, 8 - obj_rot_scal_anim_jump 0 - - .align 2 -gSpriteAffineAnim_84027A0:: @ 84027A0 - obj_rot_scal_anim_frame 0xC0, 0xC0, 0, 0 - obj_rot_scal_anim_frame 0x8, 0x8, 0, 8 - obj_rot_scal_anim_frame 0xFFF8, 0xFFF8, 0, 8 - obj_rot_scal_anim_jump 0 - - .align 2 -gSpriteAffineAnim_84027C0:: @ 84027C0 - obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 - obj_rot_scal_anim_frame 0x8, 0x8, 0, 8 - obj_rot_scal_anim_frame 0xFFF8, 0xFFF8, 0, 8 - obj_rot_scal_anim_jump 0 - - .align 2 -gSpriteAffineAnimTable_84027E0:: @ 84027E0 - .4byte gSpriteAffineAnim_8402780 - .4byte gSpriteAffineAnim_84027A0 - .4byte gSpriteAffineAnim_84027C0 - - .align 2 -gBattleAnimSpriteTemplate_84027EC:: @ 84027EC - spr_template 10242, 10242, gOamData_837DF94, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_84027E0, sub_812F88C - - .align 2 -gSpriteAffineAnim_8402804:: @ 8402804 - obj_rot_scal_anim_frame 0x80, 0x80, 0, 0 - obj_rot_scal_anim_frame 0xFFFC, 0xFFFA, 0, 16 - obj_rot_scal_anim_frame 0x4, 0x6, 0, 16 - obj_rot_scal_anim_jump 0 - - .align 2 -gSpriteAffineAnim_8402824:: @ 8402824 - obj_rot_scal_anim_frame 0xC0, 0xC0, 0, 0 - obj_rot_scal_anim_frame 0x4, 0x6, 0, 16 - obj_rot_scal_anim_frame 0xFFFC, 0xFFFA, 0, 16 - obj_rot_scal_anim_jump 0 - - .align 2 -gSpriteAffineAnim_8402844:: @ 8402844 - obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 - obj_rot_scal_anim_frame 0x4, 0x6, 0, 16 - obj_rot_scal_anim_frame 0xFFFC, 0xFFFA, 0, 16 - obj_rot_scal_anim_jump 0 - - .align 2 -gSpriteAffineAnim_8402864:: @ 8402864 - obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 - obj_rot_scal_anim_frame 0x8, 0xA, 0, 30 - obj_rot_scal_anim_frame 0xFFF8, 0xFFF6, 0, 16 - obj_rot_scal_anim_jump 0 - - .align 2 -gSpriteAffineAnimTable_8402884:: @ 8402884 - .4byte gSpriteAffineAnim_8402804 - .4byte gSpriteAffineAnim_8402824 - .4byte gSpriteAffineAnim_8402844 - .4byte gSpriteAffineAnim_8402864 - - .align 2 -gBattleAnimSpriteTemplate_8402894:: @ 8402894 - spr_template 10242, 10242, gOamData_837DFF4, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_8402884, sub_812F948 - - .align 2 -gUnknown_084028AC:: @ 84028AC - .incbin "baserom.gba", 0x004028ac, 0x20 - - .align 2 -gSpriteTemplate_84028CC:: @ 84028CC - spr_template 10243, 10243, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_812FF94 - -gUnknown_084028E4:: @ 84028E4 - .incbin "baserom.gba", 0x004028e4, 0x30 - - .align 2 -gSpriteAnim_8402914:: @ 8402914 - obj_image_anim_frame 0, 3 - obj_image_anim_frame 16, 3 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnim_8402920:: @ 8402920 - obj_image_anim_frame 32, 3 - obj_image_anim_frame 48, 3 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnimTable_840292C:: @ 840292C - .4byte gSpriteAnim_8402914 - .4byte gSpriteAnim_8402920 - - .align 2 -gBattleAnimSpriteTemplate_8402934:: @ 8402934 - spr_template 10053, 10053, gOamData_837DF34, gSpriteAnimTable_840292C, NULL, gDummySpriteAffineAnimTable, sub_81300F4 - - .align 2 -gSpriteTemplate_840294C:: @ 840294C - spr_template 10248, 10248, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_81304DC - - .align 2 -gBattleAnimSpriteTemplate_8402964:: @ 8402964 - spr_template 10252, 10252, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_813051C - - .align 2 -gSpriteAffineAnim_840297C:: @ 840297C - obj_rot_scal_anim_frame 0x0, 0x0, -4, 24 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_840298C:: @ 840298C - obj_rot_scal_anim_frame 0x100, 0x100, -64, 0 - obj_rot_scal_anim_frame 0x0, 0x0, 4, 24 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_84029A4:: @ 84029A4 - .4byte gSpriteAffineAnim_840297C - .4byte gSpriteAffineAnim_840298C - - .align 2 -gSpriteTemplate_84029AC:: @ 84029AC - spr_template 10254, 10254, gOamData_837DF94, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_84029A4, SpriteCallbackDummy - - .align 2 -gBattleAnimSpriteTemplate_84029C4:: @ 84029C4 - spr_template 10247, 10247, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_81307B0 - - .align 2 -gUnknown_084029DC:: @ 84029DC - .incbin "baserom.gba", 0x004029dc, 0x18 - - .align 2 -gBattleAnimSpriteTemplate_84029F4:: @ 84029F4 - spr_template 10255, 10255, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8130A2C - - .align 2 -gBattleAnimSpriteTemplate_8402A0C:: @ 8402A0C - spr_template 10247, 10247, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8130AEC - - .align 2 -gBattleAnimSpriteTemplate_8402A24:: @ 8402A24 - spr_template 10258, 10258, gOamData_837E054, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8130F5C - - .align 2 -gBattleAnimSpriteTemplate_8402A3C:: @ 8402A3C - spr_template 10233, 10233, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8131264 - - .align 2 -gSpriteTemplate_8402A54:: @ 8402A54 - spr_template 10233, 10233, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D1FDC - - .align 2 -gBattleAnimSpriteTemplate_8402A6C:: @ 8402A6C - spr_template 10250, 10250, gOamData_837DF3C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8131564 - - .align 2 -gSpriteTemplate_8402A84:: @ 8402A84 - spr_template 10224, 10224, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8131EB8 - - .align 2 -gSpriteAnim_8402A9C:: @ 8402A9C - obj_image_anim_frame 0, 4 - obj_image_anim_frame 64, 4 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_8402AA8:: @ 8402AA8 - .4byte gSpriteAnim_8402A9C - - .align 2 -gSpriteAffineAnim_8402AAC:: @ 8402AAC - obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 - obj_rot_scal_anim_frame 0x0, 0x0, -4, 8 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_8402AC4:: @ 8402AC4 - obj_rot_scal_anim_frame 0xFF00, 0x100, 0, 0 - obj_rot_scal_anim_frame 0x0, 0x0, 4, 8 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_8402ADC:: @ 8402ADC - .4byte gSpriteAffineAnim_8402AAC - .4byte gSpriteAffineAnim_8402AC4 - - .align 2 -gBattleAnimSpriteTemplate_8402AE4:: @ 8402AE4 - spr_template 10277, 10277, gOamData_837DF9C, gSpriteAnimTable_8402AA8, NULL, gSpriteAffineAnimTable_8402ADC, sub_8132370 - - .align 2 -gSpriteAffineAnim_8402AFC:: @ 8402AFC - obj_rot_scal_anim_frame 0x0, 0x0, -4, 64 - obj_rot_scal_anim_jump 0 - - .align 2 -gSpriteAffineAnimTable_8402B0C:: @ 8402B0C - .4byte gSpriteAffineAnim_8402AFC - - .align 2 -gBattleAnimSpriteTemplate_8402B10:: @ 8402B10 - spr_template 10278, 10278, gOamData_837E0BC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_8402B0C, sub_81323E0 - - .align 2 -gUnknown_08402B28:: @ 8402B28 - .incbin "baserom.gba", 0x00402b28, 0x30 - - .align 2 -gDexArrows_Pal:: - .incbin "graphics/pokedex/arrows.gbapal" - - .align 2 -gDexArrows_Gfx:: - .incbin "graphics/pokedex/arrows.4bpp" - - .incbin "baserom.gba", 0x00402c78, 0x80 - -gUnknown_08402CF8:: @ 8402CF8 - .incbin "baserom.gba", 0x00402cf8, 0x10 - -gUnknown_08402D08:: @ 8402D08 - .4byte OtherText_Battle - .byte 1, 1, 0, 0 - .4byte OtherText_Power - .byte 1, 4, 1, 0 - .4byte OtherText_Accuracy - .byte 1, 9, 2, 0 - .space 8 - - .4byte OtherText_Contest - .byte 1, 1, 0, 0 - .4byte OtherText_Appeal - .byte 1, 4, 1, 0 - .4byte OtherText_Jam - .byte 1, 9, 2, 0 - .space 8 - - .incbin "baserom.gba", 0x402d48, 0x8 - - .align 2 -gOamData_8402D50:: @ 8402D50 - .2byte 0x0000 - .2byte 0x0000 - .2byte 0x0000 - - .align 2 -gOamData_8402D58:: @ 8402D58 - .2byte 0x8000 - .2byte 0x0000 - .2byte 0x0000 - - .align 2 -gOamData_8402D60:: @ 8402D60 - .2byte 0x4000 - .2byte 0x0000 - .2byte 0x0000 - - .align 2 -gSpriteAnim_8402D68:: @ 8402D68 - obj_image_anim_frame 2, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_8402D70:: @ 8402D70 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_8402D78:: @ 8402D78 - .4byte gSpriteAnim_8402D68 - .4byte gSpriteAnim_8402D70 - - .align 2 -gUnknown_08402D80:: @ 8402D80 - obj_tiles gDexArrows_Gfx, 384, 0x1595 - - .align 2 -gUnknown_08402D88:: @ 8402D88 - obj_pal gDexArrows_Pal, 0x1596 - - .align 2 -gSpriteTemplate_8402D90:: @ 8402D90 - spr_template 5525, 5526, gOamData_8402D58, gSpriteAnimTable_8402D78, NULL, gDummySpriteAffineAnimTable, sub_8133300 - - .align 2 -gSpriteAnim_8402DA8:: @ 8402DA8 - obj_image_anim_frame 4, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_8402DB0:: @ 8402DB0 - obj_image_anim_frame 6, 5 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_8402DB8:: @ 8402DB8 - .4byte gSpriteAnim_8402DA8 - .4byte gSpriteAnim_8402DB0 - - .align 2 -gSpriteTemplate_8402DC0:: @ 8402DC0 - spr_template 5525, 5526, gOamData_8402D60, gSpriteAnimTable_8402DB8, NULL, gDummySpriteAffineAnimTable, sub_8133300 - - .align 2 -gSpriteAnim_8402DD8:: @ 8402DD8 - obj_image_anim_frame 8, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_8402DE0:: @ 8402DE0 - obj_image_anim_frame 9, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_8402DE8:: @ 8402DE8 - obj_image_anim_frame 10, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_8402DF0:: @ 8402DF0 - obj_image_anim_frame 11, 5 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_8402DF8:: @ 8402DF8 - .4byte gSpriteAnim_8402DD8 - .4byte gSpriteAnim_8402DE0 - .4byte gSpriteAnim_8402DE8 - .4byte gSpriteAnim_8402DF0 - - .align 2 -gSpriteTemplate_8402E08:: @ 8402E08 - spr_template 5525, 5526, gOamData_8402D50, gSpriteAnimTable_8402DF8, NULL, gDummySpriteAffineAnimTable, sub_8133300 - - .align 2 - .incbin "baserom.gba", 0x00402e20, 0x4 - -gUnknown_08402E24:: @ 8402E24 - .incbin "baserom.gba", 0x00402e24, 0x15 - -gUnknown_08402E39:: @ 8402E39 - .byte 0, 1, 2, 3 - -gUnknown_08402E3D:: @ 8402E3D - .byte 4, 5, 6 - -@ pointer to decorations, capacity - .align 2 -gDecorationInventories:: @ 8402E40 - .4byte gSaveBlock1 + 0x26A0, 10 @ DESK - .4byte gSaveBlock1 + 0x26AA, 10 @ CHAIR - .4byte gSaveBlock1 + 0x26B4, 10 @ PLANT - .4byte gSaveBlock1 + 0x26BE, 30 @ ORNAMENT - .4byte gSaveBlock1 + 0x26DC, 30 @ MAT - .4byte gSaveBlock1 + 0x26FA, 10 @ POSTER - .4byte gSaveBlock1 + 0x2704, 40 @ DOLL - .4byte gSaveBlock1 + 0x272C, 10 @ CUSHION - -gRoamerLocations:: @ 8402E80 - .byte 0x19,0x1A,0x20,0x21,0x31,0xFF - .byte 0x1A,0x19,0x20,0x21,0xFF,0xFF - .byte 0x20,0x1A,0x19,0x21,0xFF,0xFF - .byte 0x21,0x20,0x19,0x1A,0x22,0x26 - .byte 0x22,0x21,0x23,0xFF,0xFF,0xFF - .byte 0x23,0x22,0x24,0xFF,0xFF,0xFF - .byte 0x24,0x23,0x25,0x26,0xFF,0xFF - .byte 0x25,0x24,0x26,0xFF,0xFF,0xFF - .byte 0x26,0x25,0x21,0xFF,0xFF,0xFF - .byte 0x27,0x24,0x28,0x29,0xFF,0xFF - .byte 0x28,0x27,0x2A,0xFF,0xFF,0xFF - .byte 0x29,0x27,0x2A,0xFF,0xFF,0xFF - .byte 0x2A,0x28,0x29,0x2B,0xFF,0xFF - .byte 0x2B,0x2A,0x2C,0xFF,0xFF,0xFF - .byte 0x2C,0x2B,0x2D,0xFF,0xFF,0xFF - .byte 0x2D,0x2C,0x2E,0xFF,0xFF,0xFF - .byte 0x2E,0x2D,0x2F,0xFF,0xFF,0xFF - .byte 0x2F,0x2E,0x30,0xFF,0xFF,0xFF - .byte 0x30,0x2F,0x31,0xFF,0xFF,0xFF - .byte 0x31,0x30,0x19,0xFF,0xFF,0xFF - .byte 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF - -@ 8402F00 - .include "data/battle_tower/trainers.inc" - -@ 8403860 - .include "data/battle_tower/held_items.inc" - -@ 84038E0 - .include "data/battle_tower/level_50_mons.inc" - -@ 8404BA0 - .include "data/battle_tower/level_100_mons.inc" - -gUnknown_08405E60:: @ 8405E60 - .incbin "baserom.gba", 0x00405e60, 0x1e - -gUnknown_08405E7E:: @ 8405E7E - .incbin "baserom.gba", 0x00405e7e, 0x14 - -gUnknown_08405E92:: @ 8405E92 - .incbin "baserom.gba", 0x00405e92, 0x1e - -gUnknown_08405EB0:: @ 8405EB0 - .incbin "baserom.gba", 0x00405eb0, 0x14 - - .align 1 -gBattleTowerBanlist:: @ 8405EC4 - .2byte SPECIES_MEW - .2byte SPECIES_MEWTWO - .2byte SPECIES_HO_OH - .2byte SPECIES_LUGIA - .2byte SPECIES_CELEBI - .2byte SPECIES_KYOGRE - .2byte SPECIES_GROUDON - .2byte SPECIES_RAYQUAZA - .2byte SPECIES_JIRACHI - .2byte SPECIES_DEOXYS - .2byte -1 - -gUnknown_08405EDA:: @ 8405EDA - .incbin "baserom.gba", 0x00405eda, 0xc - -gUnknown_08405EE6:: @ 8405EE6 - .incbin "baserom.gba", 0x00405ee6, 0x12 - - .align 2 -ConditionUpDownPalette: - .incbin "graphics/misc/condition_up_down.gbapal" - - .align 2 -ConditionUpDownTiles: - .incbin "graphics/misc/condition_up_down.4bpp" - -gUnknown_08406118:: @ 8406118 - .incbin "baserom.gba", 0x00406118, 0x14 - - .align 2 -gUnknown_0840612C:: @ 840612C - obj_pal 0x02030400, 0x0001 - - .align 2 -gUnknown_08406134:: @ 8406134 - .4byte OtherText_Coolness - .4byte OtherText_Toughness - .4byte OtherText_Smartness - .4byte OtherText_Cuteness - .4byte OtherText_Beauty - - .align 2 -gSpriteSheet_ConditionUpDown:: @ 8406148 - obj_tiles ConditionUpDownTiles, 0x200, 0 - - .align 2 -gSpritePalette_ConditionUpDown:: @ 8406150 - obj_pal ConditionUpDownPalette, 0 - -gUnknown_08406158:: @ 8406158 - .incbin "baserom.gba", 0x00406158, 0x14 - - .align 2 -gOamData_840616C:: @ 840616C - .2byte 0x4000 - .2byte 0x8000 - .2byte 0x0400 - - .align 2 -gSpriteAnim_8406174:: @ 8406174 - obj_image_anim_frame 0, 5 - obj_image_anim_end - - .align 2 -gSpriteAnim_840617C:: @ 840617C - obj_image_anim_frame 8, 5 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_8406184:: @ 8406184 - .4byte gSpriteAnim_8406174 - .4byte gSpriteAnim_840617C - - .align 2 -gSpriteTemplate_840618C:: @ 840618C - spr_template 0, 0, gOamData_840616C, gSpriteAnimTable_8406184, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gUnknown_084061A4:: @ 84061A4 - .4byte dp01t_00_5_getattr - .4byte sub_8138230 - .4byte sub_813823C - .4byte sub_8138C90 - .4byte sub_8138C9C - .4byte sub_8138CA8 - .4byte sub_8138CB4 - .4byte sub_8138D38 - .4byte sub_8138E04 - .4byte sub_8138ED0 - .4byte sub_8138EDC - .4byte sub_8138EE8 - .4byte sub_8138EF4 - .4byte sub_8138F44 - .4byte sub_8138FA0 - .4byte sub_8138FAC - .4byte sub_8139208 - .4byte dp01t_11_5_message_for_player_only - .4byte sub_8139298 - .4byte sub_8139378 - .4byte sub_8139384 - .4byte sub_81393EC - .4byte sub_813942C - .4byte sub_8139438 - .4byte sub_8139444 - .4byte sub_8139544 - .4byte sub_8139550 - .4byte sub_813955C - .4byte sub_8139568 - .4byte sub_8139574 - .4byte sub_8139580 - .4byte sub_813958C - .4byte sub_8139598 - .4byte sub_81395A4 - .4byte sub_81395B0 - .4byte sub_81395BC - .4byte sub_81395C8 - .4byte sub_81395D4 - .4byte sub_81395E0 - .4byte sub_81395EC - .4byte sub_81395F8 - .4byte sub_8139604 - .4byte sub_8139674 - .4byte sub_8139680 - .4byte sub_81396B0 - .4byte sub_81396E0 - .4byte dp01t_2E_5_battle_intro - .4byte sub_8139750 - .4byte sub_8139AA0 - .4byte sub_8139B20 - .4byte sub_8139B2C - .4byte sub_8139B38 - .4byte sub_8139B44 - .4byte sub_8139BA0 - .4byte sub_8139BAC - .4byte sub_8139BB8 - .4byte nullsub_80 - - .align 2 -gUnknown_08406288:: @ 8406288 - .4byte PCText_TakeOutItems - .4byte PCText_StoreItems - .4byte PCText_ThrowAwayItems - .4byte gMenuText_GoBackToPrev - - .align 2 -gUnknown_08406298:: @ 8406298 - .4byte SecretBaseText_ItemStorage, PlayerPC_ItemStorage - .4byte gPCText_Mailbox, PlayerPC_Mailbox - .4byte SecretBaseText_Decoration, PlayerPC_Decoration - .4byte SecretBaseText_TurnOff, PlayerPC_TurnOff - -gUnknown_084062B8:: @ 84062B8 - .incbin "baserom.gba", 0x004062b8, 0x4 - -gUnknown_084062BC:: @ 84062BC - .incbin "baserom.gba", 0x004062bc, 0x4 - - .align 2 -gUnknown_084062C0:: @ 84062C0 - .4byte PCText_WithdrawItem, ItemStorage_Withdraw - .4byte PCText_DepositItem, ItemStorage_Deposit - .4byte PCText_TossItem, ItemStorage_Toss - .4byte gUnknownText_Exit, ItemStorage_Exit - - .align 2 -gUnknown_084062E0:: @ 84062E0 - .4byte sub_813A83C - .4byte sub_813A878 - - .align 2 -gUnknown_084062E8:: @ 84062E8 - .4byte sub_813B578 - .4byte sub_813B610 - - .align 2 -gNewGamePCItems:: @ 84062F0 - .2byte ITEM_POTION, 1 - .2byte 0, 0 - - .align 2 -gUnknown_084062F8:: @ 84062F8 - .4byte OtherText_Read, Mailbox_Read - .4byte gOtherText_MoveToBag, Mailbox_MoveToBag - .4byte OtherText_Give, Mailbox_Give - .4byte gOtherText_CancelNoTerminator, Mailbox_Cancel - -gUnknown_08406318:: @ 8406318 - .string "{STR_VAR_1}{CLEAR_TO 80}$" - -gUnknown_0840631E:: @ 840631E - .string "{COLOR RED}{STR_VAR_1}{CLEAR_TO 80}$" - -gUnknown_08406327:: @ 8406327 - .string "{STR_VAR_1}$" - -gUnknown_0840632A:: @ 840632A - .string "{COLOR RED}{STR_VAR_1}$" - -gUnknown_08406330:: @ 8406330 - .string "{CLEAR_TO 32}$" - -gUnknown_08406334:: @ 8406334 - .incbin "baserom.gba", 0x00406334, 0x6 - -gUnknown_0840633A:: @ 840633A - .string "{COLOR RED}{STR_VAR_1}$" - - .align 2 -Palette_406340:: @ 8406340 - .incbin "baserom.gba", 0x406340, 0x20 - - .align 2 -Palette_406360:: @ 8406360 - .incbin "baserom.gba", 0x406360, 0x20 - - .align 2 -gIntroTiles:: - .incbin "graphics/intro/intro.4bpp.lz" - - .align 2 -gUnknown_08406974:: @ 8406974 - .incbin "graphics/intro/intro1_bgpal1.gbapal" - .incbin "graphics/intro/intro1_bgpal2.gbapal" - .incbin "graphics/intro/intro1_bgpal3.gbapal" - .incbin "graphics/intro/intro1_bgpal4.gbapal" - .incbin "graphics/intro/intro1_bgpal5.gbapal" - .incbin "graphics/intro/intro1_bgpal6.gbapal" - .incbin "graphics/intro/intro1_bgpal7.gbapal" - .incbin "graphics/intro/intro1_bgpal8.gbapal" - .incbin "graphics/intro/intro1_bgpal9.gbapal" - .incbin "graphics/intro/intro1_bgpal10.gbapal" - .incbin "graphics/intro/intro1_bgpal11.gbapal" - .incbin "graphics/intro/intro1_bgpal12.gbapal" - .incbin "graphics/intro/intro1_bgpal13.gbapal" - .incbin "graphics/intro/intro1_bgpal14.gbapal" - .incbin "graphics/intro/intro1_bgpal15.gbapal" - .incbin "graphics/intro/intro1_bgpal16.gbapal" - - .align 2 -gUnknown_08406B74:: @ 8406B74 - .incbin "graphics/intro/intro1_bg0_map.bin.lz" - - .align 2 -gUnknown_08406F28:: @ 8406F28 - .incbin "graphics/intro/intro1_bg1_map.bin.lz" - - .align 2 -gUnknown_0840725C:: @ 840725C - .incbin "graphics/intro/intro1_bg2_map.bin.lz" - - .align 2 -gUnknown_0840754C:: @ 840754C - .incbin "graphics/intro/intro1_bg3_map.bin.lz" - - .align 2 -gUnknown_08407764:: @ 8407764 - .incbin "graphics/intro/introgfx.4bpp.lz" - - .align 2 -gUnknown_084098D4:: @ 84098D4 - .incbin "graphics/intro/intro3_pokeball.gbapal" - - .align 2 -gUnknown_08409AD4:: @ 8409AD4 - .incbin "graphics/intro/intro3_pokeball_map.bin.lz" - - .align 2 -gUnknown_08409C04:: @ 8409C04 - .incbin "graphics/intro/intro3_pokeball.8bpp.lz" - - .align 2 -gUnknown_0840A758:: @ 840A758 - .incbin "graphics/intro/intro3_streaks.gbapal" - - .align 2 -gUnknown_0840A778:: @ 840A778 - .incbin "graphics/intro/intro3_streaks.4bpp.lz" - - .align 2 -gUnknown_0840A7E4:: @ 840A7E4 - .incbin "graphics/intro/intro3_streaks_map.bin.lz" - - .align 2 -gIntro3Misc1Palette:: - .incbin "graphics/intro/intro3_misc1.gbapal" - - .align 2 -gIntro3Misc2Palette:: - .incbin "graphics/intro/intro3_misc2.gbapal" - - .align 2 -gIntro3MiscTiles:: - .incbin "graphics/intro/intro3_misc.4bpp.lz" - - .align 2 -gIntro1EonPalette:: - .incbin "graphics/intro/intro1_eon.gbapal" - - .align 2 -gIntro1EonTiles:: - .incbin "graphics/intro/intro1_eon.4bpp.lz" - - .align 2 -gOamData_840ADE8:: @ 840ADE8 - .2byte 0x00A0 - .2byte 0x8000 - .2byte 0x0000 - - .align 2 -gSpriteAnim_840ADF0:: @ 840ADF0 - obj_image_anim_frame 16, 8 - obj_image_anim_end - - .align 2 -gSpriteAnim_840ADF8:: @ 840ADF8 - obj_image_anim_frame 24, 8 - obj_image_anim_end - - .align 2 -gSpriteAnim_840AE00:: @ 840AE00 - obj_image_anim_frame 0, 8 - obj_image_anim_end - - .align 2 -gSpriteAnim_840AE08:: @ 840AE08 - obj_image_anim_frame 48, 8 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_840AE10:: @ 840AE10 - .4byte gSpriteAnim_840ADF0 - .4byte gSpriteAnim_840ADF8 - .4byte gSpriteAnim_840AE00 - .4byte gSpriteAnim_840AE08 - - .align 2 -gSpriteTemplate_840AE20:: @ 840AE20 - spr_template 2000, 2000, gOamData_840ADE8, gSpriteAnimTable_840AE10, NULL, gDummySpriteAffineAnimTable, sub_813D208 - - .align 2 -Unknown_40AE38: @ 840AE38 - .incbin "baserom.gba", 0x40ae38, 0x14 - - .align 2 -Unknown_40AE4C: @ 840AE4C - .incbin "baserom.gba", 0x40ae4c, 0x14 - - .align 2 -Unknown_40AE60: @ 840AE60 - .incbin "baserom.gba", 0x40ae60, 0x10 - - .align 2 -Unknown_40AE70: @ 840AE70 - .incbin "baserom.gba", 0x40ae70, 0x10 - - .align 2 -gUnknown_0840AE80:: @ 840AE80 - .4byte Unknown_40AE38 - .4byte Unknown_40AE4C - .4byte Unknown_40AE60 - .4byte Unknown_40AE70 - - .align 2 -gOamData_840AE90:: @ 840AE90 - .2byte 0x00A0 - .2byte 0x4000 - .2byte 0x0000 - - .align 2 -gOamData_840AE98:: @ 840AE98 - .2byte 0x00A0 - .2byte 0x0000 - .2byte 0x0000 - - .align 2 -gOamData_840AEA0:: @ 840AEA0 - .2byte 0x80A0 - .2byte 0xC000 - .2byte 0x0000 - - .align 2 -gSpriteAnim_840AEA8:: @ 840AEA8 - obj_image_anim_frame 80, 8 - obj_image_anim_end - - .align 2 -gSpriteAnim_840AEB0:: @ 840AEB0 - obj_image_anim_frame 84, 8 - obj_image_anim_end - - .align 2 -gSpriteAnim_840AEB8:: @ 840AEB8 - obj_image_anim_frame 88, 8 - obj_image_anim_end - - .align 2 -gSpriteAnim_840AEC0:: @ 840AEC0 - obj_image_anim_frame 92, 8 - obj_image_anim_end - - .align 2 -gSpriteAnim_840AEC8:: @ 840AEC8 - obj_image_anim_frame 96, 8 - obj_image_anim_end - - .align 2 -gSpriteAnim_840AED0:: @ 840AED0 - obj_image_anim_frame 100, 8 - obj_image_anim_end - - .align 2 -gSpriteAnim_840AED8:: @ 840AED8 - obj_image_anim_frame 104, 8 - obj_image_anim_end - - .align 2 -gSpriteAnim_840AEE0:: @ 840AEE0 - obj_image_anim_frame 112, 8 - obj_image_anim_end - - .align 2 -gSpriteAnim_840AEE8:: @ 840AEE8 - obj_image_anim_frame 113, 8 - obj_image_anim_end - - .align 2 -gSpriteAnim_840AEF0:: @ 840AEF0 - obj_image_anim_frame 114, 8 - obj_image_anim_end - - .align 2 -gSpriteAnim_840AEF8:: @ 840AEF8 - obj_image_anim_frame 115, 8 - obj_image_anim_end - - .align 2 -gSpriteAnim_840AF00:: @ 840AF00 - obj_image_anim_frame 116, 8 - obj_image_anim_end - - .align 2 -gSpriteAnim_840AF08:: @ 840AF08 - obj_image_anim_frame 117, 8 - obj_image_anim_end - - .align 2 -gSpriteAnim_840AF10:: @ 840AF10 - obj_image_anim_frame 128, 8 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_840AF18:: @ 840AF18 - .4byte gSpriteAnim_840AEA8 - .4byte gSpriteAnim_840AEB0 - .4byte gSpriteAnim_840AEB8 - .4byte gSpriteAnim_840AEC0 - .4byte gSpriteAnim_840AEC8 - .4byte gSpriteAnim_840AED0 - .4byte gSpriteAnim_840AED8 - - .align 2 -gSpriteAnimTable_840AF34:: @ 840AF34 - .4byte gSpriteAnim_840AEE0 - .4byte gSpriteAnim_840AEE8 - .4byte gSpriteAnim_840AEF0 - .4byte gSpriteAnim_840AEF8 - .4byte gSpriteAnim_840AF00 - .4byte gSpriteAnim_840AF08 - - .align 2 -gSpriteAnimTable_840AF4C:: @ 840AF4C - .4byte gSpriteAnim_840AF10 - -gUnknown_0840AF50:: @ 840AF50 - .incbin "baserom.gba", 0x0040af50, 0x24 - -gUnknown_0840AF74:: @ 840AF74 - .incbin "baserom.gba", 0x0040af74, 0x20 - - .align 2 -gSpriteTemplate_840AF94:: @ 840AF94 - spr_template 2000, 2001, gOamData_840AE90, gSpriteAnimTable_840AF18, NULL, gDummySpriteAffineAnimTable, sub_813D908 - - .align 2 -gSpriteTemplate_840AFAC:: @ 840AFAC - spr_template 2000, 2001, gOamData_840AE98, gSpriteAnimTable_840AF34, NULL, gDummySpriteAffineAnimTable, sub_813D908 - - .align 2 -gSpriteTemplate_840AFC4:: @ 840AFC4 - spr_template 2000, 2001, gOamData_840AEA0, gSpriteAnimTable_840AF4C, NULL, gDummySpriteAffineAnimTable, sub_813D908 - - .align 2 -gOamData_840AFDC:: @ 840AFDC - .2byte 0x40A0 - .2byte 0xC000 - .2byte 0x0000 - - .align 2 -gSpriteAnim_840AFE4:: @ 840AFE4 - obj_image_anim_frame 0, 10 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnimTable_840AFEC:: @ 840AFEC - .4byte gSpriteAnim_840AFE4 - - .align 2 -gSpriteTemplate_840AFF0:: @ 840AFF0 - spr_template 2002, 2002, gOamData_840AFDC, gSpriteAnimTable_840AFEC, NULL, gDummySpriteAffineAnimTable, sub_813DA64 - - .align 2 -gUnknown_0840B008:: @ 840B008 - obj_tiles gIntroTiles, 0x1400, 2000 - .space 8 - - .align 2 -gUnknown_0840B018:: @ 840B018 - obj_tiles gIntro1EonTiles, 0x400, 2002 - .space 8 - - .align 2 -gUnknown_0840B028:: @ 840B028 - obj_pal Palette_406340, 2000 - obj_pal Palette_406360, 2001 - obj_pal gIntro1EonPalette, 2002 - .space 8 - -gUnknown_0840B048:: @ 840B048 - .incbin "baserom.gba", 0x40b048, 0x8 - -gUnknown_0840B050:: @ 840B050 - .incbin "baserom.gba", 0x40b050, 0x8 - -gUnknown_0840B058:: @ 840B058 - .incbin "baserom.gba", 0x40b058, 0xc - - .align 2 -gUnknown_0840B064:: @ 840B064 - .4byte gUnknown_0840B048 - .4byte gUnknown_0840B050 - .4byte gUnknown_0840B058 - - .align 2 -gOamData_840B070:: @ 840B070 - .2byte 0x00A0 - .2byte 0x4000 - .2byte 0x0400 - - .align 2 -gSpriteAnim_840B078:: @ 840B078 - obj_image_anim_frame 0, 8 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_840B080:: @ 840B080 - .4byte gSpriteAnim_840B078 - - .align 2 -gSpriteTemplate_840B084:: @ 840B084 - spr_template 2002, 2002, gOamData_840B070, gSpriteAnimTable_840B080, NULL, gDummySpriteAffineAnimTable, sub_813E30C - - .align 2 -gOamData_840B09C:: @ 840B09C - .2byte 0x00A0 - .2byte 0x0000 - .2byte 0x0400 - - .align 2 -gSpriteAnim_840B0A4:: @ 840B0A4 - obj_image_anim_frame 1, 8 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_840B0AC:: @ 840B0AC - .4byte gSpriteAnim_840B0A4 - - .align 2 -gSpriteTemplate_840B0B0:: @ 840B0B0 - spr_template 2003, 2003, gOamData_840B09C, gSpriteAnimTable_840B0AC, NULL, gDummySpriteAffineAnimTable, sub_813E4B8 - - .align 2 -gOamData_840B0C8:: @ 840B0C8 - .2byte 0x00A0 - .2byte 0x0000 - .2byte 0x0400 - - .align 2 -gSpriteAnim_840B0D0:: @ 840B0D0 - obj_image_anim_frame 14, 8 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_840B0D8:: @ 840B0D8 - .4byte gSpriteAnim_840B0D0 - - .align 2 -gSpriteTemplate_840B0DC:: @ 840B0DC - spr_template 2003, 2004, gOamData_840B0C8, gSpriteAnimTable_840B0D8, NULL, gDummySpriteAffineAnimTable, sub_813E5E0 - - .align 2 -gSpriteTemplate_840B0F4:: @ 840B0F4 - spr_template 2003, 2004, gOamData_840B0C8, gSpriteAnimTable_840B0D8, NULL, gDummySpriteAffineAnimTable, sub_813E6C0 - - .align 2 -gOamData_840B10C:: @ 840B10C - .2byte 0x00A0 - .2byte 0x4000 - .2byte 0x0400 - - .align 2 -gSpriteAnim_840B114:: @ 840B114 - obj_image_anim_frame 6, 8 - obj_image_anim_frame 6, 8, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_jump 0 - - .align 2 -gSpriteAnimTable_840B120:: @ 840B120 - .4byte gSpriteAnim_840B114 - - .align 2 -gSpriteTemplate_840B124:: @ 840B124 - spr_template 2003, 2004, gOamData_840B10C, gSpriteAnimTable_840B120, NULL, gDummySpriteAffineAnimTable, sub_813E804 - - .align 2 -gOamData_840B13C:: @ 840B13C - .2byte 0x00A0 - .2byte 0x4000 - .2byte 0x0400 - - .align 2 -gSpriteAnim_840B144:: @ 840B144 - obj_image_anim_frame 10, 8 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_840B14C:: @ 840B14C - .4byte gSpriteAnim_840B144 - - .align 2 -gSpriteTemplate_840B150:: @ 840B150 - spr_template 2003, 2004, gOamData_840B13C, gSpriteAnimTable_840B14C, NULL, gDummySpriteAffineAnimTable, GetCurrentTrainerHillMapId - -gUnknown_0840B168:: @ 840B168 - .incbin "baserom.gba", 0x0040b168, 0x8 - - .align 2 -gSpriteTemplate_840B170:: @ 840B170 - spr_template 2003, 2004, gOamData_840B13C, gSpriteAnimTable_840B14C, NULL, gDummySpriteAffineAnimTable, sub_813EA60 - -gUnknown_0840B188:: @ 840B188 - .incbin "baserom.gba", 0x0040b188, 0x14 - - .align 2 -gOamData_840B19C:: @ 840B19C - .2byte 0x00A0 - .2byte 0x4000 - .2byte 0x0400 - - .align 2 -gSpriteAnim_840B1A4:: @ 840B1A4 - obj_image_anim_frame 2, 8 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_840B1AC:: @ 840B1AC - .4byte gSpriteAnim_840B1A4 - - .align 2 -gSpriteTemplate_840B1B0:: @ 840B1B0 - spr_template 2003, 2004, gOamData_840B19C, gSpriteAnimTable_840B1AC, NULL, gDummySpriteAffineAnimTable, sub_813EBBC - - .align 2 -gSpriteTemplate_840B1C8:: @ 840B1C8 - spr_template 2003, 2004, gOamData_840B19C, gSpriteAnimTable_840B1AC, NULL, gDummySpriteAffineAnimTable, sub_813EC90 - - .align 2 -gOamData_840B1E0:: @ 840B1E0 - .2byte 0x00A0 - .2byte 0xC000 - .2byte 0x0400 - - .align 2 -gSpriteAnim_840B1E8:: @ 840B1E8 - obj_image_anim_frame 16, 8 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_840B1F0:: @ 840B1F0 - .4byte gSpriteAnim_840B1E8 - - .align 2 -gSpriteTemplate_840B1F4:: @ 840B1F4 - spr_template 2003, 2003, gOamData_840B1E0, gSpriteAnimTable_840B1F0, NULL, gDummySpriteAffineAnimTable, sub_813EDFC - - .align 2 -gUnknown_0840B20C:: @ 840B20C - obj_tiles gInterfaceGfx_PokeBall, 0x100, 2002 - .space 8 - - .align 2 -gUnknown_0840B21C:: @ 840B21C - obj_tiles gIntro3MiscTiles, 0xa00, 2003 - .space 8 - - .align 2 -gUnknown_0840B22C:: @ 840B22C - obj_pal gInterfacePal_PokeBall, 2002 - .space 8 - - .align 2 -gUnknown_0840B23C:: @ 840B23C - obj_pal gIntro3Misc1Palette, 2003 - obj_pal gIntro3Misc2Palette, 2004 - .space 8 - - .incbin "baserom.gba", 0x0040b254, 0x4 - - .align 2 -gUnknown_0840B258:: @ 840B258 - obj_tiles gBattleAnimSpriteSheet_Particles, 0x100, 55020 - obj_tiles gBattleAnimSpriteSheet_Particles, 0x100, 55021 - obj_tiles gBattleAnimSpriteSheet_Particles, 0x100, 55022 - obj_tiles gBattleAnimSpriteSheet_Particles, 0x100, 55023 - obj_tiles gBattleAnimSpriteSheet_Particles, 0x100, 55024 - obj_tiles gBattleAnimSpriteSheet_Particles, 0x100, 55025 - obj_tiles gBattleAnimSpriteSheet_Particles, 0x100, 55026 - obj_tiles gBattleAnimSpriteSheet_Particles, 0x100, 55027 - obj_tiles gBattleAnimSpriteSheet_Particles, 0x100, 55028 - obj_tiles gBattleAnimSpriteSheet_Particles, 0x100, 55029 - obj_tiles gBattleAnimSpriteSheet_Particles, 0x100, 55030 - obj_tiles gBattleAnimSpriteSheet_Particles, 0x100, 55031 - - .align 2 -gUnknown_0840B2B8:: @ 840B2B8 - obj_pal gBattleAnimSpritePalette_136, 55020 - obj_pal gBattleAnimSpritePalette_136, 55021 - obj_pal gBattleAnimSpritePalette_136, 55022 - obj_pal gBattleAnimSpritePalette_136, 55023 - obj_pal gBattleAnimSpritePalette_136, 55024 - obj_pal gBattleAnimSpritePalette_136, 55025 - obj_pal gBattleAnimSpritePalette_136, 55026 - obj_pal gBattleAnimSpritePalette_136, 55027 - obj_pal gBattleAnimSpritePalette_136, 55028 - obj_pal gBattleAnimSpritePalette_136, 55029 - obj_pal gBattleAnimSpritePalette_136, 55030 - obj_pal gBattleAnimSpritePalette_136, 55031 - - .align 2 -gSpriteAnim_840B318:: @ 840B318 - obj_image_anim_frame 0, 1 - obj_image_anim_frame 1, 1 - obj_image_anim_frame 2, 1 - obj_image_anim_frame 0, 1, OBJ_IMAGE_ANIM_H_FLIP - obj_image_anim_frame 2, 1 - obj_image_anim_frame 1, 1 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnim_840B334:: @ 840B334 - obj_image_anim_frame 3, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_840B33C:: @ 840B33C - obj_image_anim_frame 4, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_840B344:: @ 840B344 - obj_image_anim_frame 5, 1 - obj_image_anim_end - - .align 2 -gSpriteAnim_840B34C:: @ 840B34C - obj_image_anim_frame 6, 4 - obj_image_anim_frame 7, 4 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnim_840B358:: @ 840B358 - obj_image_anim_frame 7, 4 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_840B360:: @ 840B360 - .4byte gSpriteAnim_840B318 - .4byte gSpriteAnim_840B334 - .4byte gSpriteAnim_840B33C - .4byte gSpriteAnim_840B344 - .4byte gSpriteAnim_840B34C - .4byte gSpriteAnim_840B358 - -gUnknown_0840B378:: @ 840B378 - .incbin "baserom.gba", 0x0040b378, 0xc - - .align 2 -gUnknown_0840B384:: @ 840B384 - .4byte sub_8140930 - .4byte sub_8140DC4 - .4byte sub_8140C14 - .4byte sub_8140CE8 - .4byte sub_8141058 - .4byte sub_8140C14 - .4byte sub_8140B3C - .4byte sub_8140CE8 - .4byte sub_8140F24 - .4byte sub_8140A64 - .4byte sub_8140DC4 - .4byte sub_8141164 - - .align 2 -gSpriteTemplate_840B3B4:: @ 840B3B4 - spr_template 55020, 55020, gOamData_837DF24, gSpriteAnimTable_840B360, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_840B3CC:: @ 840B3CC - spr_template 55021, 55021, gOamData_837DF24, gSpriteAnimTable_840B360, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_840B3E4:: @ 840B3E4 - spr_template 55022, 55022, gOamData_837DF24, gSpriteAnimTable_840B360, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_840B3FC:: @ 840B3FC - spr_template 55023, 55023, gOamData_837DF24, gSpriteAnimTable_840B360, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_840B414:: @ 840B414 - spr_template 55024, 55024, gOamData_837DF24, gSpriteAnimTable_840B360, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_840B42C:: @ 840B42C - spr_template 55025, 55025, gOamData_837DF24, gSpriteAnimTable_840B360, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_840B444:: @ 840B444 - spr_template 55026, 55026, gOamData_837DF24, gSpriteAnimTable_840B360, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_840B45C:: @ 840B45C - spr_template 55027, 55027, gOamData_837DF24, gSpriteAnimTable_840B360, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_840B474:: @ 840B474 - spr_template 55028, 55028, gOamData_837DF24, gSpriteAnimTable_840B360, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_840B48C:: @ 840B48C - spr_template 55029, 55029, gOamData_837DF24, gSpriteAnimTable_840B360, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_840B4A4:: @ 840B4A4 - spr_template 55030, 55030, gOamData_837DF24, gSpriteAnimTable_840B360, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_840B4BC:: @ 840B4BC - spr_template 55031, 55031, gOamData_837DF24, gSpriteAnimTable_840B360, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - -gUnknown_0840B4D4:: @ 840B4D4 - .incbin "baserom.gba", 0x0040b4d4, 0x28 - - .align 2 -gBattleAnimSpriteTemplate_840B4FC:: @ 840B4FC - spr_template 10269, 10269, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8141C30 - - .align 2 -gUnknown_0840B514:: @ 840B514 - obj_tiles gContestConfetti_Gfx, 0x220, 1001 - .space 8 - -gUnknown_0840B524:: @ 840B524 - obj_pal gContestConfetti_Pal, 1001 - .space 8 - -gUnknown_0840B534:: @ 840B534 - .incbin "baserom.gba", 0x0040b534, 0x6 - -gUnknown_0840B53A:: @ 840B53A - .incbin "baserom.gba", 0x0040b53a, 0x2a - -gUnknown_0840B564:: @ 840B564 - .incbin "baserom.gba", 0x0040b564, 0x6 - -gUnknown_0840B56A:: @ 840B56A - .incbin "baserom.gba", 0x0040b56a, 0x12 - -gUnknown_0840B57C:: @ 840B57C - .incbin "baserom.gba", 0x0040b57c, 0x1c - - .align 2 -gOamData_840B598:: @ 840B598 - .2byte 0x0000 - .2byte 0xC000 - .2byte 0x0000 - - .align 2 -gUnknown_0840B5A0:: @ 840B5A0 - .4byte 0x02008000 - .4byte 0x0200A000 - .4byte 0x0200C000 - .4byte 0x0200E000 - .4byte 0x02010000 - .4byte 0x02014000 - .4byte 0x02018000 - - .align 2 -gSpriteImageTable_840B5BC:: @ 840B5BC - obj_frame_tiles 0x02008000, 0x800 - obj_frame_tiles 0x02008800, 0x800 - obj_frame_tiles 0x02009000, 0x800 - obj_frame_tiles 0x02009800, 0x800 - - .align 2 -gSpriteImageTable_840B5DC:: @ 840B5DC - obj_frame_tiles 0x0200A000, 0x800 - obj_frame_tiles 0x0200A800, 0x800 - obj_frame_tiles 0x0200B000, 0x800 - obj_frame_tiles 0x0200B800, 0x800 - - .align 2 -gSpriteImageTable_840B5FC:: @ 840B5FC - obj_frame_tiles 0x0200C000, 0x800 - obj_frame_tiles 0x0200C800, 0x800 - obj_frame_tiles 0x0200D000, 0x800 - obj_frame_tiles 0x0200D800, 0x800 - - .align 2 -gSpriteImageTable_840B61C:: @ 840B61C - obj_frame_tiles 0x0200E000, 0x800 - obj_frame_tiles 0x0200E800, 0x800 - obj_frame_tiles 0x0200F000, 0x800 - obj_frame_tiles 0x0200F800, 0x800 - - .align 2 -gSpriteImageTable_840B63C:: @ 840B63C - obj_frame_tiles 0x02010000, 0x800 - obj_frame_tiles 0x02010800, 0x800 - obj_frame_tiles 0x02011000, 0x800 - obj_frame_tiles 0x02011800, 0x800 - - .align 2 -gSpriteImageTable_840B65C:: @ 840B65C - obj_frame_tiles 0x02014000, 0x800 - obj_frame_tiles 0x02014800, 0x800 - obj_frame_tiles 0x02015000, 0x800 - obj_frame_tiles 0x02015800, 0x800 - - .align 2 -gSpriteImageTable_840B67C:: @ 840B67C - obj_frame_tiles 0x02018000, 0x800 - obj_frame_tiles 0x02018800, 0x800 - obj_frame_tiles 0x02019000, 0x800 - obj_frame_tiles 0x02019800, 0x800 - - .align 2 -gUnknown_0840B69C:: @ 840B69C - .4byte gSpriteImageTable_840B5BC - .4byte gSpriteImageTable_840B5DC - .4byte gSpriteImageTable_840B5FC - .4byte gSpriteImageTable_840B61C - .4byte gSpriteImageTable_840B63C - .4byte gSpriteImageTable_840B65C - .4byte gSpriteImageTable_840B67C - -gUnknown_0840B6B8:: @ 840B6B8 - spr_template -1, -1, gOamData_840B598, NULL, gSpriteImageTable_840B5BC, gDummySpriteAffineAnimTable, nullsub_81 - - .align 2 -gOamData_840B6D0:: @ 840B6D0 - .2byte 0x0000 - .2byte 0x0000 - .2byte 0x0000 - - .align 2 -gSpriteAnim_840B6D8:: @ 840B6D8 - obj_image_anim_frame 0, 30 - obj_image_anim_end - - .align 2 -gSpriteAnim_840B6E0:: @ 840B6E0 - obj_image_anim_frame 1, 30 - obj_image_anim_end - - .align 2 -gSpriteAnim_840B6E8:: @ 840B6E8 - obj_image_anim_frame 2, 30 - obj_image_anim_end - - .align 2 -gSpriteAnim_840B6F0:: @ 840B6F0 - obj_image_anim_frame 3, 30 - obj_image_anim_end - - .align 2 -gSpriteAnim_840B6F8:: @ 840B6F8 - obj_image_anim_frame 4, 30 - obj_image_anim_end - - .align 2 -gSpriteAnim_840B700:: @ 840B700 - obj_image_anim_frame 5, 30 - obj_image_anim_end - - .align 2 -gSpriteAnim_840B708:: @ 840B708 - obj_image_anim_frame 6, 30 - obj_image_anim_end - - .align 2 -gSpriteAnim_840B710:: @ 840B710 - obj_image_anim_frame 7, 30 - obj_image_anim_end - - .align 2 -gSpriteAnim_840B718:: @ 840B718 - obj_image_anim_frame 8, 30 - obj_image_anim_end - - .align 2 -gSpriteAnim_840B720:: @ 840B720 - obj_image_anim_frame 9, 30 - obj_image_anim_end - - .align 2 -gSpriteAnim_840B728:: @ 840B728 - obj_image_anim_frame 10, 30 - obj_image_anim_end - - .align 2 -gSpriteAnim_840B730:: @ 840B730 - obj_image_anim_frame 11, 30 - obj_image_anim_end - - .align 2 -gSpriteAnim_840B738:: @ 840B738 - obj_image_anim_frame 12, 30 - obj_image_anim_end - - .align 2 -gSpriteAnim_840B740:: @ 840B740 - obj_image_anim_frame 13, 30 - obj_image_anim_end - - .align 2 -gSpriteAnim_840B748:: @ 840B748 - obj_image_anim_frame 14, 30 - obj_image_anim_end - - .align 2 -gSpriteAnim_840B750:: @ 840B750 - obj_image_anim_frame 15, 30 - obj_image_anim_end - - .align 2 -gSpriteAnim_840B758:: @ 840B758 - obj_image_anim_frame 16, 30 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_840B760:: @ 840B760 - .4byte gSpriteAnim_840B6D8 - .4byte gSpriteAnim_840B6E0 - .4byte gSpriteAnim_840B6E8 - .4byte gSpriteAnim_840B6F0 - .4byte gSpriteAnim_840B6F8 - .4byte gSpriteAnim_840B700 - .4byte gSpriteAnim_840B708 - .4byte gSpriteAnim_840B710 - .4byte gSpriteAnim_840B718 - .4byte gSpriteAnim_840B720 - .4byte gSpriteAnim_840B728 - .4byte gSpriteAnim_840B730 - .4byte gSpriteAnim_840B738 - .4byte gSpriteAnim_840B740 - .4byte gSpriteAnim_840B748 - .4byte gSpriteAnim_840B750 - .4byte gSpriteAnim_840B758 - - .align 2 -gSpriteTemplate_840B7A4:: @ 840B7A4 - spr_template 1001, 1001, gOamData_840B6D0, gSpriteAnimTable_840B760, NULL, gDummySpriteAffineAnimTable, sub_814386C - -gUnknown_0840B7BC:: @ 840B7BC - .incbin "baserom.gba", 0x0040b7bc, 0x40 - -gUnknown_0840B7FC:: @ 840B7FC - .incbin "baserom.gba", 0x0040b7fc, 0x40 - -gUnknown_0840B83C:: @ 840B83C - .incbin "baserom.gba", 0x0040b83c, 0xf - -gUnknown_0840B84B:: @ 840B84B - .incbin "baserom.gba", 0x0040b84b, 0xf - -gUnknown_0840B85A:: @ 840B85A - .incbin "baserom.gba", 0x0040b85a, 0xf - -gUnknown_0840B869:: @ 840B869 - .incbin "baserom.gba", 0x0040b869, 0xf - -gUnknown_0840B878:: - .incbin "baserom.gba", 0x0040B878, 0xf - - .include "data/text/credits.inc" - -gUnknown_0840CA00:: @ 840CA00 - .incbin "baserom.gba", 0x0040ca00, 0x8 - -Unknown_840CA08: - .incbin "baserom.gba", 0x0040ca08, 0x14 -Unknown_840CA1C: - .incbin "baserom.gba", 0x0040ca1c, 0x14 -Unknown_840CA30: - .incbin "baserom.gba", 0x0040ca30, 0x10 -Unknown_840CA40: - .incbin "baserom.gba", 0x0040ca40, 0x14 - - .align 2 -gUnknown_0840CA54:: @ 840CA54 - .4byte Unknown_840CA08 - .4byte Unknown_840CA1C - .4byte Unknown_840CA30 - .4byte Unknown_840CA40 - -Unknown_840CA64: - .incbin "baserom.gba", 0x0040ca64, 0x14 -Unknown_840CA78: - .incbin "baserom.gba", 0x0040ca78, 0x14 -Unknown_840CA8C: - .incbin "baserom.gba", 0x0040ca8c, 0x8 - - .align 2 -gUnknown_0840CA94:: @ 840CA94 - .4byte Unknown_840CA64 - .4byte Unknown_840CA78 - .4byte Unknown_840CA8C - -gUnknown_0840CAA0:: @ 840CAA0 - .incbin "baserom.gba", 0x0040caa0, 0x10 - -gUnknown_0840CAB0:: @ 840CAB0 - .incbin "baserom.gba", 0x0040cab0, 0x10 - - .align 2 -gOamData_840CAC0:: @ 840CAC0 - .2byte 0x00A0 - .2byte 0xC000 - .2byte 0x0400 - - .align 2 -gSpriteAnim_840CAC8:: @ 840CAC8 - obj_image_anim_frame 0, 8 - obj_image_anim_end - - .align 2 -gSpriteAnim_840CAD0:: @ 840CAD0 - obj_image_anim_frame 64, 8 - obj_image_anim_end - - .align 2 -gSpriteAnim_840CAD8:: @ 840CAD8 - obj_image_anim_frame 128, 8 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_840CAE0:: @ 840CAE0 - .4byte gSpriteAnim_840CAC8 - .4byte gSpriteAnim_840CAD0 - .4byte gSpriteAnim_840CAD8 - - .align 2 -gSpriteTemplate_840CAEC:: @ 840CAEC - spr_template 1001, 1001, gOamData_840CAC0, gSpriteAnimTable_840CAE0, NULL, gDummySpriteAffineAnimTable, sub_814580C - -gUnknown_0840CB04:: @ 840CB04 - .incbin "baserom.gba", 0x0040cb04, 0x8 - - .align 2 -gDiplomaPalettes:: @ 840CB0C - .incbin "graphics/misc/diploma_national.gbapal" - .incbin "graphics/misc/diploma_hoenn.gbapal" - - .align 2 -gDiplomaTilemap:: @ 840CB4C - .incbin "graphics/misc/diploma_map.bin.lz" - - .align 2 -gDiplomaTiles:: @ 840D288 - .incbin "graphics/misc/diploma.4bpp.lz" - -gExpandedPlaceholder_Empty:: @ 840DC80 - .string "$" - -gExpandedPlaceholder_Kun:: @ 840DC81 - .string "$" - -gExpandedPlaceholder_Chan:: @ 840DC82 - .string "$" - -gExpandedPlaceholder_Sapphire:: @ 840DC83 - .string "SAPPHIRE$" - -gExpandedPlaceholder_Ruby:: @ 840DC8C - .string "RUBY$" - -gExpandedPlaceholder_Aqua:: @ 840DC91 - .string "AQUA$" - -gExpandedPlaceholder_Magma:: @ 840DC96 - .string "MAGMA$" - -gExpandedPlaceholder_Archie:: @ 840DC9C - .string "ARCHIE$" - -gExpandedPlaceholder_Maxie:: @ 840DCA3 - .string "MAXIE$" - -gExpandedPlaceholder_Kyogre:: @ 840DCA9 - .string "KYOGRE$" - -gExpandedPlaceholder_Groudon:: @ 840DCB0 - .string "GROUDON$" - -gExpandedPlaceholder_Brendan:: @ 840DCB8 - .string "BRENDAN$" - -gExpandedPlaceholder_May:: @ 840DCC0 - .string "MAY$" - -gSystemText_Egg:: @ 840DCC4 - .string "EGG$" - -gSystemText_Pokemon2:: @ 840DCC8 - .string "POKéMON$" - -gMainMenuString_NewGame:: @ 840DCD0 - .string "NEW GAME$" - -gMainMenuString_Continue:: @ 840DCD9 - .string "CONTINUE$" - -gMainMenuString_Option:: @ 840DCE2 - .string "OPTION$" - -gMainMenuString_MysteryEvents:: @ 840DCE9 - .string "MYSTERY EVENTS$" - -SystemText_UpdatingSaveExternal: - .string "Updating save file using external\ndata. Please wait.$" - -SystemText_SaveUpdated: - .string "The save file has been updated.$" - -SystemText_SaveUpdatedExchangeBackup: - .string "The save file has been updated.\pFurther game data cannot be saved\nto the backup memory.\pPlease exchange the backup memory.\pFor details, please contact the\nNintendo Service Center.$" - -SystemText_SaveNotUpdated: - .string "The save file could not be updated.\pPlease exchange the backup\nmemory.\pFor details, please contact the\nNintendo Service Center.$" - -gSaveFileCorruptMessage:: @ 840DE81 - .string "The save file is corrupt. The\nprevious save file will be loaded.$" - -gSaveFileDeletedMessage:: @ 840DEC2 - .string " The save file has been deleted...$" - -gBoardNotInstalledMessage:: @ 840DEE5 - .string "The 1M sub-circuit board is\nnot installed.$" - -gBatteryDryMessage:: @ 840DF10 - .string "The internal battery has run dry.\nThe game can be played.\pHowever, clock-based events will\nno longer occur.$" - -gMainMenuString_Player:: @ 840DF7C - .string "PLAYER$" - -gMainMenuString_Pokedex:: @ 840DF83 - .string "POKéDEX$" - -gMainMenuString_Time:: @ 840DF8B - .string "TIME$" - -gMainMenuString_Badges:: @ 840DF90 - .string "BADGES$" - -gBirchText_Boy:: - .string "BOY$" -gBirchText_Girl:: - .string "GIRL$" -gBirchText_NewName:: - .string "NEW NAME$" - -gDefaultBoyName1:: - .ifdef SAPPHIRE - .string "SEAN$" - .else - .string "LANDON$" - .endif -gDefaultBoyName2:: - .string "TERRY$" -gDefaultBoyName3:: - .string "SETH$" -gDefaultBoyName4:: - .string "TOM$" - -gDefaultGirlName1:: - .ifdef SAPPHIRE - .string "MARINA$" - .else - .string "TERRA$" - .endif -gDefaultGirlName2:: - .string "KIMMY$" -gDefaultGirlName3:: - .string "NICOLA$" -gDefaultGirlName4:: - .string "SARA$" - -gSystemText_IntroWeCall:: - .string "This is what we call\na POKéMON.$" - -gSystemText_NewPara:: @ 840DFF7 - .string "\p$" - -gDexText_UnknownPoke:: @ 840DFF9 - .string " ????? POKéMON$" @ why 12 spaces? - -gDexText_UnknownHeight:: @ 840E013 - .string "{CLEAR_TO 0x0C}??’??”$" - -gDexText_UnknownWeight:: @ 840E01D - .string "????.? lbs.$" - .string "$" - -gDexText_CryOf:: @ 840E02A - .string "{CLEAR_TO 2}CRY OF$" - .string "$" - -gDexText_SizeComparedTo:: @ 840E035 - .string "SIZE COMPARED TO $" - -gDexText_RegisterComplete:: @ 840E047 - .string "POKéDEX registration completed.$" - -gDexText_Searching:: @ 840E067 - .string "Searching...\nPlease wait.$" - -gDexText_SearchComplete:: @ 840E081 - .string "Search completed.$" - -gDexText_NoMatching:: @ 840E093 - .string "No matching POKéMON were found.$" - -DexText_SearchForPoke:: - .string "Search for POKéMON based on\nselected parameters.$" -DexText_SwitchDex:: - .string "Switch POKéDEX listings.$" -DexText_ReturnToDex:: - .string "Return to the POKéDEX.$" -DexText_SelectDexMode:: - .string "Select the POKéDEX mode.$" -DexText_SelectDexList:: - .string "Select the POKéDEX listing mode.$" -DexText_ListByABC:: - .string "List by the first letter in the name.\n/Spotted POKéMON only.$" -DexText_ListByColor:: - .string "List by body color.\n/Spotted POKéMON only.$" -DexText_ListByType:: - .string "List by type.\n/Owned POKéMON only.$" -DexText_ExecuteSearchSwitch:: - .string "Execute search/switch.$" -DexText_HoennDex:: - .string "HOENN DEX$" -DexText_NationalDex:: - .string "NATIONAL DEX$" -DexText_NumericalMode:: - .string "NUMERICAL MODE$" -DexText_ABCMode:: - .string "A TO Z MODE$" -DexText_HeaviestMode:: - .string "HEAVIEST MODE$" -DexText_LightestMode:: - .string "LIGHTEST MODE$" -DexText_TallestMode:: - .string "TALLEST MODE$" -DexText_SmallestMode:: - .string "SMALLEST MODE$" -DexText_ABC:: - .string "ABC$" -DexText_DEF:: - .string "DEF$" -DexText_GHI:: - .string "GHI$" -DexText_JKL:: - .string "JKL$" -DexText_MNO:: - .string "MNO$" -DexText_PQR:: - .string "PQR$" -DexText_STU:: - .string "STU$" -DexText_VWX:: - .string "VWX$" -DexText_YZ:: - .string "YZ$" -DexText_Red:: - .string "RED$" -DexText_Blue:: - .string "BLUE$" -DexText_Yellow:: - .string "YELLOW$" -DexText_Green:: - .string "GREEN$" -DexText_Black:: - .string "BLACK$" -DexText_Brown:: - .string "BROWN$" -DexText_Purple:: - .string "PURPLE$" -DexText_Gray:: - .string "GRAY$" -DexText_White:: - .string "WHITE$" -DexText_Pink:: - .string "PINK$" -DexText_HoennDex2:: - .string "HOENN region’s POKéDEX$" -DexText_NationalDex2:: - .string "National edition POKéDEX$" -DexText_ListByNumber:: - .string "POKéMON are listed according to their\nnumber.$" -DexText_ListByABC2:: - .string "Spotted and owned POKéMON are listed\nalphabetically.$" -DexText_ListByHeavyToLightest:: - .string "Owned POKéMON are listed from the\nheaviest to the lightest.$" -DexText_ListByLightToHeaviest:: - .string "Owned POKéMON are listed from the\nlightest to the heaviest.$" -DexText_ListByTallToSmallest:: - .string "Owned POKéMON are listed from the\ntallest to the smallest.$" -DexText_ListBySmallToTallest:: - .string "Owned POKéMON are listed from the\nsmallest to the tallest.$" -DexText_Terminator5:: - .string "$" -DexText_DontSpecify:: - .string "DON’T SPECIFY.$" -DexText_None:: - .string "NONE$" -DexText_RightPointingTriangle:: - .string "▶$" @ right-pointing triangle -DexText_Terminator6:: - .string " $" - -gMenuText_WelcomeToHOFAndDexRating:: @ 840E44F - .string "Welcome to the HALL OF FAME!$" - .string "Spotted POKéMON: {STR_VAR_1}!\nOwned POKéMON: {STR_VAR_2}!\pPROF. BIRCH’s POKéDEX rating!\pPROF. BIRCH: Let’s see...\p$" - -gMenuText_HOFSaving:: @ 840E4CD - .string "SAVING...\nDON’T TURN OFF THE POWER.$" - -gMenuText_HOFCorrupt:: @ 840E4F1 - .string "The HALL OF FAME data is corrupt.$" - -gMenuText_HOFNumber:: @ 840E513 - .string "HALL OF FAME No. $" - -gMenuText_HOFCongratulations:: @ 840E525 - .string "LEAGUE CHAMPION!\nCONGRATULATIONS!$" - -gOtherText_Number2:: @ 840E547 - .string "No. $" - -gOtherText_Level3:: @ 840E54C - .string "Lv. $" - -gOtherText_IDNumber:: @ 840E551 - .string "IDNo. /$" - -gOtherText_Name:: @ 840E559 - .string "NAME /$" - -gOtherText_IDNumber2:: @ 840E560 - .string "IDNo. /$" - -gOtherText_BirchInTrouble:: @ 840E568 - .string "{HIGHLIGHT WHITE2}{COLOR DARK_GREY}PROF. BIRCH is in trouble!\nRelease a POKéMON and rescue him!$" - -gOtherText_DoYouChoosePoke:: @ 840E5AB - .string "{HIGHLIGHT WHITE2}{COLOR DARK_GREY}Do you choose this POKéMON?$" - -gOtherText_Poke:: @ 840E5CD - .string "POKéMON$" - -gSystemText_SaveErrorExchangeBackup:: @ 840E5D5 - .string "Save error.\pPlease exchange the\nbackup memory.$" - -gOtherText_FlyToWhere:: @ 840E604 - .string "FLY to where?$" - -OtherText_Use:: - .string "USE$" -OtherText_Toss:: - .string "TOSS$" -OtherText_Register:: - .string "REGISTER$" -OtherText_Give2:: - .string "GIVE$" -OtherText_CheckTag:: - .string "CHECK TAG$" -OtherText_Confirm:: - .string "CONFIRM$" - -gOtherText_Walk:: @ 840E63B - .string "WALK$" - -gUnknownText_Exit:: @ 840E640 - .string "EXIT$" - -gOtherText_CancelNoTerminator:: @ 840E645 - .string "CANCEL$" - -gOtherText_CancelWithTerminator:: @ 840E64C - .string "$CANCEL$" - -OtherText_Item:: - .string "ITEM$" -OtherText_Mail:: - .string "MAIL$" -OtherText_Take2:: - .string "TAKE$" -OtherText_Store:: - .string "STORE$" - -gOtherText_Check:: @ 840E669 - .string "CHECK$" - -gOtherText_None:: @ 840E66F - .string "NONE$" - -gOtherText_ThreeQuestions2:: @ 840E674 - .string "???$" - -gOtherText_FiveQuestionsAndSlash:: @ 840E678 - .string "?????$" - .string "/$" - -gOtherText_OneDash:: @ 840E680 - .string "-$" - -gOtherText_TwoDashes:: @ 840E682 - .string "--$" - -gOtherText_ThreeDashes2:: @ 840E685 - .string "---$" - -gOtherText_MaleSymbol2:: @ 840E689 - .string "♂$" - -gOtherText_FemaleSymbolAndLv:: @ 840E68B - .string "♀$" - .string "Lv.$" - -gOtherText_TallPlusAndRightArrow:: @ 840E691 - .string "{TALL_PLUS}$" - .string "{RIGHT_ARROW}$" - -gMenuText_GoBackToPrev:: @ 840E697 - .string "Go back to the\nprevious menu.$" - -gOtherText_WhatWillYouDo:: @ 840E6B5 - .string "What would you like to do?$" - -gOtherText_xString1:: @ 840E6D0 - .string "×{STR_VAR_1}$" - -gOtherText_Berry2:: @ 840E6D4 - .string " BERRY$" - -gOtherText_Coins2:: @ 840E6DB - .string "{STR_VAR_1} COINS$" - -gOtherText_CloseBag:: @ 840E6E4 - .string "CLOSE BAG$" - -OtherText_TheField3:: - .string "the field.$" -OtherText_TheBattle:: - .string "the battle.$" -OtherText_ThePokeList:: - .string "the POKéMON LIST.$" -OtherText_TheShop:: - .string "the shop.$" -OtherText_TheField:: - .string "the field.$" -OtherText_TheField2:: - .string "the field.$" -OtherText_ThePC:: - .string "the PC.$" - - .align 2 -gUnknown_0840E740:: @ 840E740 - .4byte OtherText_TheField3 - .4byte OtherText_TheBattle - .4byte OtherText_ThePokeList - .4byte OtherText_TheShop - .4byte OtherText_TheField - .4byte OtherText_TheField2 - .4byte OtherText_ThePC - -gOtherText_ReturnTo:: @ 840E75C - .string "Return to$" - -gOtherText_WhatWillYouDo2:: @ 840E766 - .string "What would you\nlike to do?$" - -gOtherText_CantWriteMail:: @ 840E781 - .string "You can’t write\nMAIL here.$" - -gOtherText_NoPokemon:: @ 840E79C - .string "There is no\nPOKéMON.{PAUSE_UNTIL_PRESS}$" - -gOtherText_SwitchWhichItem:: @ 840E7B3 - .string "Switch with which\nitem?$" - -gOtherText_CantBeHeld:: @ 840E7CB - .string "{STR_VAR_1} can’t be held.$" - -gOtherText_CantBeHeldHere:: @ 840E7DD - .string "{STR_VAR_1} can’t be held here.$" - -gOtherText_HowManyToDeposit:: @ 840E7F4 - .string "How many do you\nwant to deposit?$" - -gOtherText_DepositedItems:: @ 840E815 - .string "Deposited {STR_VAR_2}\n{STR_VAR_1}(s).$" - -gOtherText_NoRoomForItems:: @ 840E829 - .string "There’s no room to\nstore items.$" - -gOtherText_CantStoreSomeoneItem:: @ 840E849 - .string "You can’t store\nsomeone else’s item\nin the PC.$" - -gOtherText_TooImportant:: @ 840E878 - .string "That’s much too\nimportant to toss\nout!$" - -gOtherText_HowManyToToss:: @ 840E89F - .string "Toss out how many?$" - -gOtherText_ThrewAwayItem:: @ 840E8B2 - .string "Threw away {STR_VAR_2}\n{STR_VAR_1}(s).$" - -gOtherText_OkayToThrowAwayPrompt:: @ 840E8C7 - .string "Is it okay to\nthrow away {STR_VAR_2}\n{STR_VAR_1}(s)?$" - -gOtherText_DadsAdvice:: @ 840E8EA - .string "DAD’s advice...\n{PLAYER}, there’s a time and place for\leverything!{PAUSE_UNTIL_PRESS}$" - -gOtherText_CantGetOffBike:: @ 840E929 - .string "You can’t dismount your BIKE here.{PAUSE_UNTIL_PRESS}$" - -gOtherText_ItemfinderResponding:: @ 840E94E - .string "Oh!\nThe machine’s responding!\pThere’s an item buried around here!{PAUSE_UNTIL_PRESS}$" - -gOtherText_ItemfinderFoundItem:: @ 840E992 - .string "The machine’s indicating something\nright underfoot!{PAUSE_UNTIL_PRESS}$" - -gOtherText_NoResponse:: @ 840E9C8 - .string "... ... ... ... Nope!\nThere’s no response.{PAUSE_UNTIL_PRESS}$" - -gOtherText_Coins3:: @ 840E9F5 - .string "Your COINS:\n{STR_VAR_1}{PAUSE_UNTIL_PRESS}$" - -gOtherText_BootedTM:: @ 840EA06 - .string "Booted up a TM.$" - -gOtherText_BootedHM:: @ 840EA16 - .string "Booted up an HM.$" - -gOtherText_ContainsMove:: @ 840EA27 - .string "It contained\n{STR_VAR_1}.\pTeach {STR_VAR_1}\nto a POKéMON?$" - -gOtherText_UsedItem:: @ 840EA4F - .string "{PLAYER} used the\n{STR_VAR_2}.{PAUSE_UNTIL_PRESS}$" - -gOtherText_RepelLingers:: @ 840EA61 - .string "But the effects of a REPEL lingered\nfrom earlier.{PAUSE_UNTIL_PRESS}$" - -gOtherText_UsedFlute:: @ 840EA95 - .string "{PLAYER} used the\n{STR_VAR_2}.\pWild POKéMON will be lured.{PAUSE_UNTIL_PRESS}$" - -gOtherText_UsedRepel:: @ 840EAC3 - .string "{PLAYER} used the\n{STR_VAR_2}.\pWild POKéMON will be repelled.{PAUSE_UNTIL_PRESS}$" - -gOtherText_BoxIsFull:: @ 840EAF4 - .string "The BOX is full.{PAUSE_UNTIL_PRESS}$" - -gOtherText_Size:: @ 840EB07 - .string "SIZE /$" - -gOtherText_Firm:: @ 840EB0E - .string "FIRM /$" - -gContestStatsText_Unknown1:: @ 840EB15 - .string "{STR_VAR_1}.{STR_VAR_2}”$" - -ContestStatsText_VerySoft: - .string "Very soft$" -ContestStatsText_Soft: - .string "Soft$" -ContestStatsText_Hard: - .string "Hard$" -ContestStatsText_VeryHard: - .string "Very hard$" -ContestStatsText_SuperHard: - .string "Super hard$" -ContestStatsText_RedPokeBlock: - .string "RED {POKEBLOCK}$" -ContestStatsText_BluePokeBlock: - .string "BLUE {POKEBLOCK}$" -ContestStatsText_PinkPokeBlock: - .string "PINK {POKEBLOCK}$" -ContestStatsText_GreenPokeBlock: - .string "GREEN {POKEBLOCK}$" -ContestStatsText_YellowPokeBlock: - .string "YELLOW {POKEBLOCK}$" -ContestStatsText_PurplePokeBlock: - .string "PURPLE {POKEBLOCK}$" -ContestStatsText_IndigoPokeBlock: - .string "INDIGO {POKEBLOCK}$" -ContestStatsText_BrownPokeBlock: - .string "BROWN {POKEBLOCK}$" -ContestStatsText_LiteBluePokeBlock: - .string "LITEBLUE {POKEBLOCK}$" -ContestStatsText_OlivePokeBlock: - .string "OLIVE {POKEBLOCK}$" -ContestStatsText_GrayPokeBlock: - .string "GRAY {POKEBLOCK}$" -ContestStatsText_BlackPokeBlock: - .string "BLACK {POKEBLOCK}$" -ContestStatsText_WhitePokeBlock: - .string "WHITE {POKEBLOCK}$" -ContestStatsText_GoldPokeBlock: - .string "GOLD {POKEBLOCK}$" - -gContestStatsText_Spicy:: @ 840EBED - .string "SPICY$" - -gContestStatsText_Dry:: @ 840EBF3 - .string "DRY$" - -gContestStatsText_Sweet:: @ 840EBF7 - .string "SWEET$" - -gContestStatsText_Bitter:: @ 840EBFD - .string "BITTER$" - -gContestStatsText_Sour:: @ 840EC04 - .string "SOUR$" - .string "TASTY$" @ tasty is probably unused, but feel isn't. - .string "FEEL$" - -gContestStatsText_StowCase:: @ 840EC14 - .string "Stow CASE.$" - -gContestStatsText_ThrowAwayPrompt:: @ 840EC1F - .string "Throw away this\n{STR_VAR_1}?$" - -gContestStatsText_WasThrownAway:: @ 840EC33 - .string "The {STR_VAR_1}\nwas thrown away.$" - -gContestStatsText_NormallyAte:: @ 840EC4B - .string "{STR_VAR_1} ate the\n{STR_VAR_2}.{PAUSE_UNTIL_PRESS}$" - -gContestStatsText_HappilyAte:: @ 840EC5C - .string "{STR_VAR_1} happily ate the\n{STR_VAR_2}.{PAUSE_UNTIL_PRESS}$" - -gContestStatsText_DisdainfullyAte:: @ 840EC75 - .string "{STR_VAR_1} disdainfully ate the\n{STR_VAR_2}.{PAUSE_UNTIL_PRESS}$" - -MartText_Buy: - .string "BUY$" -MartText_Sell: - .string "SELL$" -MartText_Quit2: - .string "QUIT$" - -gOtherText_QuitShopping:: @ 840ECA1 - .string "Quit shopping.$" - -gOtherText_HowManyYouWant:: @ 840ECB0 - .string "{STR_VAR_1}? Certainly.\nHow many would you like?$" - -gOtherText_ThatWillBe:: @ 840ECD8 - .string "{STR_VAR_1}? And you wanted {STR_VAR_2}?\nThat will be ¥{STR_VAR_3}.$" - -gOtherText_ThatWillBe2:: @ 840ED01 - .string "{STR_VAR_1}, is it?\nThat’ll be ¥{STR_VAR_2}. Do you want it?$" - -gOtherText_ThatWillBe3:: @ 840ED2C - .string "You wanted {STR_VAR_1}?\nThat’ll be ¥{STR_VAR_2}. Will that be okay?$" - -gOtherText_HereYouGo:: @ 840ED5E - .string "Here you go!\nThank you very much.$" - -gOtherText_HereYouGo2:: @ 840ED80 - .string "Thank you!\nI’ll send it to your home PC.$" - -gOtherText_HereYouGo3:: @ 840EDA9 - .string "Thanks!\nI’ll send it to your PC at home.$" - -gOtherText_NotEnoughMoney:: @ 840EDD2 - .string "You don’t have enough money.{PAUSE_UNTIL_PRESS}$" - -gOtherText_NoRoomFor:: @ 840EDF1 - .string "You have no more room for items.{PAUSE_UNTIL_PRESS}$" - -gOtherText_SpaceForIsFull:: @ 840EE14 - .string "The space for {STR_VAR_1} is full.{PAUSE_UNTIL_PRESS}$" - -gOtherText_AnythingElse:: @ 840EE30 - .string "Is there anything else I can help\nyou with?$" - -gOtherText_CanIHelpYou:: @ 840EE5C - .string "Can I help you with anything else?$" - -gOtherText_FreePremierBall:: @ 840EE7F - .string "I’ll throw in a PREMIER BALL, too.{PAUSE_UNTIL_PRESS}$" - -gOtherText_CantBuyThat:: @ 840EEA4 - .string "{STR_VAR_2}? Oh, no.\nI can’t buy that.{PAUSE_UNTIL_PRESS}$" - -gOtherText_HowManyToSell:: @ 840EEC4 - .string "{STR_VAR_2}?\nHow many would you like to sell?$" - -gOtherText_CanPay:: @ 840EEE9 - .string "I can pay ¥{STR_VAR_1}.\nWould that be okay?$" - -gOtherText_SoldItem:: @ 840EF0C - .string "Turned over the {STR_VAR_2}\nand received ¥{STR_VAR_1}.$" - -OtherText_Money:: - .string "¥{STR_VAR_1}$" -OtherText_Shift:: - .string "SHIFT$" -OtherText_SendOut:: - .string "SEND OUT$" -OtherText_Switch2:: - .string "SWITCH$" -OtherText_Summary:: - .string "SUMMARY$" -OtherText_Moves:: - .string "MOVES$" -OtherText_Enter2:: - .string "ENTER$" -OtherText_NoEntry:: - .string "NO ENTRY$" -OtherText_Take:: - .string "TAKE$" -OtherText_Read2:: - .string "READ$" - -gOtherText_Hp2:: @ 840EF72 - .string "HP$" - -gOtherText_SpAtk2:: @ 840EF75 - .string "SP. ATK$" - -gOtherText_SpDef2:: @ 840EF7D - .string "SP. DEF$" - -gOtherText_WontHaveAnyEffect:: @ 840EF85 - .string "It won’t have any effect.{PAUSE_UNTIL_PRESS}$" - -gOtherText_CantUseOnPoke:: @ 840EFA1 - .if REVISION >= 1 - .string "This can’t be used on\nthat POKéMON.{PAUSE_UNTIL_PRESS}$" - .else - .string "This item can’t be used on\nthat POKéMON.{PAUSE_UNTIL_PRESS}$" - .endif - -gOtherText_CantBeSwitched:: @ 840EFCC - .string "{STR_VAR_1} can’t be switched\nout!{PAUSE_UNTIL_PRESS}$" - -gOtherText_AlreadyBattle:: @ 840EFE8 - .string "{STR_VAR_1} is already\nin battle!{PAUSE_UNTIL_PRESS}$" - -gOtherText_AlreadySelected:: @ 840F003 - .string "{STR_VAR_1} has already been\nselected.{PAUSE_UNTIL_PRESS}$" - -gOtherText_NoEnergyLeft:: @ 840F023 - .string "{STR_VAR_1} has no energy\nleft to battle!{PAUSE_UNTIL_PRESS}$" - -gOtherText_CantSwitchPokeWithYours:: @ 840F046 - .string "You can’t switch {STR_VAR_1}’s\nPOKéMON with one of yours!{PAUSE_UNTIL_PRESS}$" - -gOtherText_EGGCantBattle:: @ 840F079 - .string "An EGG can’t battle!{PAUSE_UNTIL_PRESS}$" - -gOtherText_CantBeUsedBadge:: @ 840F090 - .string "This can’t be used until a new\nBADGE is obtained.$" - -gOtherText_NoMoreThreePoke:: @ 840F0C2 - .string "No more than three POKéMON\nmay enter.$" - -gOtherText_SendRemovedMailPrompt:: @ 840F0E8 - .string "Send the removed MAIL to\nyour PC?$" - -gOtherText_MailWasSent:: @ 840F10A - .string "The MAIL was sent to your PC.{PAUSE_UNTIL_PRESS}$" - -gOtherText_MailboxIsFull:: @ 840F12A - .string "Your PC’s MAILBOX is full.{PAUSE_UNTIL_PRESS}$" - -gOtherText_MailRemovedMessageLost:: @ 840F147 - .string "If the MAIL is removed, the\nmessage will be lost. Okay?$" - -gOtherText_MailMustBeRemoved:: @ 840F17F - .string "MAIL must be removed before\nholding an item.{PAUSE_UNTIL_PRESS}$" - -gOtherText_WasGivenToHold:: @ 840F1AE - .string "{STR_VAR_1} was given the\n{STR_VAR_2} to hold.{PAUSE_UNTIL_PRESS}$" - -gOtherText_AlreadyHolding:: @ 840F1CD - .string "{STR_VAR_1} is already holding\none {STR_VAR_2}.\pWould you like to switch the\ntwo items?$" - -gOtherText_NotHoldingAnything:: @ 840F213 - .string "{STR_VAR_1} isn’t\nholding anything.{PAUSE_UNTIL_PRESS}$" - -gOtherText_ReceivedTheThingFrom:: @ 840F230 - .string "Received the {STR_VAR_2}\nfrom {STR_VAR_1}.{PAUSE_UNTIL_PRESS}$" - -gOtherText_MailTaken:: @ 840F24B - .string "MAIL was taken from the\nPOKéMON.{PAUSE_UNTIL_PRESS}$" - -gOtherText_TakenAndReplaced:: @ 840F26E - .string "The {STR_VAR_2} was taken and\nreplaced with the {STR_VAR_1}.{PAUSE_UNTIL_PRESS}$" - -gOtherText_PokeHoldingItemCantMail:: @ 840F29B - .string "This POKéMON is holding an item.\nIt cannot hold MAIL.{PAUSE_UNTIL_PRESS}$" - -gOtherText_MailTransferredMailbox:: @ 840F2D3 - .string "MAIL was transferred from\nthe MAILBOX.{PAUSE_UNTIL_PRESS}$" - -gOtherText_BagFullCannotRemoveItem:: @ 840F2FC - .string "The BAG is full. The POKéMON’s\nitem could not be removed.{PAUSE_UNTIL_PRESS}$" - -gOtherText_LearnedMove:: @ 840F338 - .string "{STR_VAR_1} learned\n{STR_VAR_2}!$" - -gOtherText_NotCompatible:: @ 840F347 - .string "{STR_VAR_1} and {STR_VAR_2}\nare not compatible.\p{STR_VAR_2} can’t be learned.{PAUSE_UNTIL_PRESS}$" - -gOtherText_WantsToLearn:: @ 840F37C - .string "{STR_VAR_1} wants to learn the\nmove {STR_VAR_2}.\pHowever, {STR_VAR_1} already\nknows four moves.\pShould a move be deleted and\nreplaced with {STR_VAR_2}?$" - -gOtherText_StopTryingTo:: @ 840F3F0 - .string "Stop trying to teach\n{STR_VAR_2}?$" - -gOtherText_DidNotLearnMove2:: @ 840F409 - .string "{STR_VAR_1} did not learn the\nmove {STR_VAR_2}.{PAUSE_UNTIL_PRESS}$" - -gOtherText_WhichMoveToForget2:: @ 840F429 - .string "Which move should be forgotten?{PAUSE_UNTIL_PRESS}$" - -gOtherText_ForgetMove123_2:: @ 840F44B - .string "{PAUSE 32}1, {PAUSE 15}2, and{PAUSE 15}... {PAUSE 15}... {PAUSE 15}... {PAUSE 15}{PLAY_SE SE_KON}Poof!\p{STR_VAR_1} forgot how to\nuse {STR_VAR_2}.\pAnd...{PAUSE_UNTIL_PRESS}$" - -gOtherText_AlreadyKnows:: @ 840F49E - .string "{STR_VAR_1} already knows\n{STR_VAR_2}.{PAUSE_UNTIL_PRESS}$" - -gOtherText_HPRestoredBy:: @ 840F4B5 - .string "{STR_VAR_1}’s HP was restored by\n{STR_VAR_2} points.{PAUSE_UNTIL_PRESS}$" - -gOtherText_CuredPoisoning:: @ 840F4DA - .string "{STR_VAR_1} was cured of its\npoisoning.{PAUSE_UNTIL_PRESS}$" - -gOtherText_CuredParalysis:: @ 840F4FB - .string "{STR_VAR_1} was cured of\nparalysis.{PAUSE_UNTIL_PRESS}$" - -gOtherText_WokeUp:: @ 840F518 - .string "{STR_VAR_1} woke up.{PAUSE_UNTIL_PRESS}$" - -gOtherText_BurnHealed:: @ 840F526 - .string "{STR_VAR_1}’s burn was healed.{PAUSE_UNTIL_PRESS}$" - -gOtherText_ThawedOut:: @ 840F53E - .string "{STR_VAR_1} was thawed out.{PAUSE_UNTIL_PRESS}$" - -gOtherText_PPRestored:: @ 840F553 - .string "PP was restored.{PAUSE_UNTIL_PRESS}$" - -gOtherText_RegainedHealth:: @ 840F566 - .string "{STR_VAR_1} regained health.{PAUSE_UNTIL_PRESS}$" - -gOtherText_BecameHealthy:: @ 840F57C - .string "{STR_VAR_1} became healthy.{PAUSE_UNTIL_PRESS}$" - -gOtherText_PPIncreased:: @ 840F591 - .string "{STR_VAR_1}’s PP increased.{PAUSE_UNTIL_PRESS}$" - -gOtherText_ElevatedTo:: @ 840F5A6 - .string "{STR_VAR_1} was elevated to\nLv. {STR_VAR_2}.$" - -gOtherText_WasRaised:: @ 840F5C1 - .string "{STR_VAR_1}’s {STR_VAR_2} was\nraised.{PAUSE_UNTIL_PRESS}$" - -gOtherText_SnapConfusion:: @ 840F5D7 - .string "{STR_VAR_1} snapped out of its\nconfusion.{PAUSE_UNTIL_PRESS}$" - -gOtherText_GotOverLove:: @ 840F5FA - .string "{STR_VAR_1} got over its\ninfatuation.{PAUSE_UNTIL_PRESS}$" - -OtherText_ChoosePoke:: - .string "Choose a POKéMON.$" -OtherText_MovePokeTo:: - .string "Move to where?$" -OtherText_TeachWhat:: - .string "Teach which POKéMON?$" -OtherText_UseWhat:: - .string "Use on which POKéMON?$" -OtherText_GiveWhat:: - .string "Give to which POKéMON?$" -OtherText_DoWhat:: - .string "Do what with {STR_VAR_1}?$" -OtherText_NothingToCut:: - .string "There’s nothing to CUT.$" -OtherText_CantSurf:: - .string "You can’t SURF here.$" -OtherText_AlreadySurfing:: - .string "You’re already SURFING.$" -OtherText_CantUseThatHere:: - .string "Can’t use that here.$" -OtherText_RestoreWhatMove:: - .string "Restore which move?$" -OtherText_BoostPP:: - .string "Boost PP of which move?$" -OtherText_DoWhatWithItem:: - .string "Do what with an item?$" -OtherText_NoPokeForBattle:: - .string "No POKéMON for battle!$" -OtherText_ChoosePoke2:: - .string "Choose a POKéMON.$" -OtherText_NotEnoughHP:: - .string "Not enough HP...$" -OtherText_ThreePokeNeeded:: - .string "Three POKéMON are needed.$" -OtherText_PokeCantBeSame:: - .string "POKéMON can’t be the same.$" -OtherText_NoIdenticalHoldItems:: - .string "No identical hold items.$" -OtherText_TeachWhichPoke:: - .string "Teach which POKéMON?$" - -gOtherText_Attack:: @ 840F7C6 - .string "ATTACK$" - -gOtherText_Defense:: @ 840F7CD - .string "DEFENSE$" - -gOtherText_SpAtk:: @ 840F7D5 - .string "SP. ATK$" - -gOtherText_SpDef:: @ 840F7DD - .string "SP. DEF$" - -gOtherText_Speed:: @ 840F7E5 - .string "SPEED$" - -gOtherText_HP:: @ 840F7EB - .string "HP$" - -gOtherText_Terminator18:: @ 840F7EE - .string "$" - -gOtherText_OriginalTrainer:: @ 840F7EF - .string "OT/$" - -gOtherText_Type2:: @ 840F7F3 - .string "TYPE/$" - -gOtherText_Power2:: @ 840F7F9 - .string "POWER$" - -gOtherText_Accuracy2:: @ 840F7FF - .string "ACCURACY$" - -gOtherText_Appeal2:: @ 840F808 - .string "APPEAL$" - -gOtherText_Jam2:: @ 840F80F - .string "JAM$" - -gOtherText_Status:: @ 840F813 - .string "STATUS$" - -gOtherText_ExpPoints:: @ 840F81A - .string "EXP. POINTS$" - -gOtherText_NextLv:: @ 840F826 - .string "NEXT LV.$" - -gOtherText_Ribbons00:: @ 840F82F - .string "RIBBONS: 00$" - -OtherText_Event:: - .string "EVENT$" -OtherText_Switch:: - .string "SWITCH$" -OtherText_PokeInfo:: - .string "POKéMON INFO$" -OtherText_PokeSkills:: - .string "POKéMON SKILLS$" -OtherText_BattleMoves:: - .string "BATTLE MOVES$" -OtherText_ContestMoves:: - .string "C0NTEST MOVES$" @why the l33t 0, that's stupid -OtherText_Info:: - .string "INFO$" - -gOtherText_EggLongTime:: @ 840F884 - .string "It looks like this EGG will\ntake a long time to hatch.$" - -gOtherText_EggSomeTime:: @ 840F8BB - .string "What will hatch from this?\nIt will take some time.$" - -gOtherText_EggSoon:: @ 840F8EE - .string "It moves occasionally.\nIt should hatch soon.$" - -gOtherText_EggAbout:: @ 840F91B - .string "It’s making sounds.\nIt’s about to hatch!$" - -gOtherText_CantForgetHMs:: @ 840F944 - .string "HM moves can’t be\nforgotten now.$" - -gOtherText_PlayersBase:: @ 840F965 - .string "’s BASE$" - -gOtherText_OkayToDeleteFromRegistry:: @ 840F96D - .string "Is it okay to delete {STR_VAR_1}\nfrom the REGISTRY?$" - -gOtherText_RegisteredDataDeleted:: @ 840F998 - .string "The registered data was deleted.{PAUSE_UNTIL_PRESS}$" - -gSecretBaseText_NoRegistry:: @ 840F9BB - .string "There is no REGISTRY.{PAUSE_UNTIL_PRESS}$" - -SecretBaseText_DelRegist:: - .string "DEL REGIST.$" -SecretBaseText_Decorate:: - .string "DECORATE$" -SecretBaseText_PutAway:: - .string "PUT AWAY$" -SecretBaseText_Toss:: - .string "TOSS$" -SecretBaseText_PutOutDecor:: - .string "Put out the selected decoration item.$" -SecretBaseText_StoreChosenDecor:: - .string "Store the chosen decoration in the PC.$" -SecretBaseText_ThrowAwayDecor:: - .string "Throw away unwanted decorations.$" - -gSecretBaseText_NoDecors:: @ 840FA64 - .string "There are no decorations.{PAUSE_UNTIL_PRESS}$" - -SecretBaseText_Desk:: - .string "DESK$" -SecretBaseText_Chair:: - .string "CHAIR$" -SecretBaseText_Plant:: - .string "PLANT$" -SecretBaseText_Ornament:: - .string "ORNAMENT$" -SecretBaseText_Mat:: - .string "MAT$" -SecretBaseText_Poster:: - .string "POSTER$" -SecretBaseText_Doll:: - .string "DOLL$" -SecretBaseText_Cushion:: - .string "CUSHION$" - -gSecretBaseText_GoldRank:: @ 840FAB2 - .string "GOLD$" - -gSecretBaseText_SilverRank:: @ 840FAB7 - .string "SILVER$" - -gSecretBaseText_PlaceItHere:: @ 840FABE - .string "Place it here?$" - -gSecretBaseText_CantBePlacedHere:: @ 840FACD - .string "It can’t be placed here.$" - -gSecretBaseText_CancelDecorating:: @ 840FAE6 - .string "Cancel decorating?$" - -gSecretBaseText_InUseAlready:: @ 840FAF9 - .string "This is in use already.$" - -gSecretBaseText_NoMoreDecor:: @ 840FB11 - .string "No more decorations can be placed.\nThe most that can be placed is {STR_VAR_1}.$" - -gSecretBaseText_NoMoreDecor2:: @ 840FB57 - .string "No more decorations can be placed.\nThe most that can be placed is {STR_VAR_1}.$" - .string "This can’t be placed here.\nIt must be on a DESK, etc.$" - -gSecretBaseText_DecorCantPlace:: @ 840FBD3 - .string "This decoration can’t be placed in\nyour own room.$" - -gSecretBaseText_DecorInUse:: @ 840FC05 - .string "This decoration is in use.\nIt can’t be thrown away.$" - -gSecretBaseText_WillBeDiscarded:: @ 840FC39 - .string "This {STR_VAR_1} will be discarded.\nIs that okay?$" - -gSecretBaseText_DecorThrownAway:: @ 840FC62 - .string "The decoration item was thrown away.$" - -gSecretBaseText_StopPuttingAwayDecor:: @ 840FC87 - .string "Stop putting away decorations?$" - -gSecretBaseText_NoDecor:: @ 840FCA6 - .string "There is no decoration item here.$" - -gSecretBaseText_ReturnDecor:: @ 840FCC8 - .string "Return this decoration to the PC?$" - -gSecretBaseText_DecorReturned:: @ 840FCEA - .string "The decoration was returned to the PC.$" - -gSecretBaseText_NoDecorInUse:: @ 840FD11 - .string "There are no decorations in use.{PAUSE_UNTIL_PRESS}$" - -SecretBaseText_Tristan:: - .string "TRISTAN$" -SecretBaseText_Philip:: - .string "PHILIP$" -SecretBaseText_Dennis:: - .string "DENNIS$" -SecretBaseText_Roberto:: - .string "ROBERTO$" -SecretBaseText_TurnOff:: - .string "TURN OFF$" -SecretBaseText_Decoration:: - .string "DECORATION$" -SecretBaseText_ItemStorage:: - .string "ITEM STORAGE$" - -gPCText_Mailbox:: @ 840FD73 - .string "MAILBOX$" - -PCText_DepositItem:: - .string "DEPOSIT ITEM$" -PCText_WithdrawItem:: - .string "WITHDRAW ITEM$" -PCText_TossItem:: - .string "TOSS ITEM$" -PCText_StoreItems:: - .string "Store items in the PC.$" -PCText_TakeOutItems:: - .string "Take out items from the PC.$" -PCText_ThrowAwayItems:: - .string "Throw away items stored in the PC.$" - -gOtherText_NoItems:: @ 840FDF6 - .string "There are no items.{PAUSE_UNTIL_PRESS}$" - -gOtherText_NoMoreRoom:: @ 840FE0C - .string "There is no more\nroom in the BAG.$" - -gOtherText_HowManyToWithdraw:: @ 840FE2E - .string "How many do you\nwant to withdraw?$" - -gOtherText_WithdrewThing:: @ 840FE50 - .string "Withdrew {STR_VAR_2}\n{STR_VAR_1}(s).$" - -OtherText_Read: - .string "READ$" - -gOtherText_MoveToBag:: @ 840FE68 - .string "MOVE TO BAG$" - -OtherText_Give: - .string "GIVE$" - -gOtherText_NoMailHere:: @ 840FE79 - .string "There’s no MAIL here.{PAUSE_UNTIL_PRESS}$" - -gOtherText_WhatWillYouDoMail:: @ 840FE91 - .string "What would you like to do with\n{STR_VAR_1}’s MAIL?$" - -gOtherText_MessageWillBeLost:: @ 840FEBB - .string "The message will be lost.\nIs that okay?$" - -gOtherText_BagIsFull:: @ 840FEE3 - .string "The BAG is full.{PAUSE_UNTIL_PRESS}$" - -gOtherText_MailWasReturned:: @ 840FEF6 - .string "The MAIL was returned to the BAG\nwith its message erased.{PAUSE_UNTIL_PRESS}$" - -gOtherText_Dad:: @ 840FF32 - .string "DAD$" - -gOtherText_Mom:: @ 840FF36 - .string "MOM$" - -gOtherText_Wallace:: @ 840FF3A - .string "WALLACE$" - -gOtherText_Steven:: @ 840FF42 - .string "STEVEN$" - -gOtherText_Brawly:: @ 840FF49 - .string "BRAWLY$" - -gOtherText_Winona:: @ 840FF50 - .string "WINONA$" - -gOtherText_Phoebe:: @ 840FF57 - .string "PHOEBE$" - -gOtherText_Glacia:: @ 840FF5E - .string "GLACIA$" - -gContestText_ContestWinner:: @ 840FF65 - .string "CONTEST WINNER\n$" - -gOtherText_Unknown1:: @ 840FF75 - .string "’s $" - -OtherText_Cool:: - .string "COOL $" -OtherText_Beauty2:: - .string "BEAUTY $" -OtherText_Cute:: - .string "CUTE $" -OtherText_Smart:: - .string "SMART $" -OtherText_Tough:: - .string "TOUGH $" -OtherText_NonstopSuperCool:: - .string "Nonstop super-cool -\nthe inestimable $" -OtherText_Terminator6:: - .string "$" -OtherText_GoodLookingPoke:: - .string "Hey, there!\nThe good-looking POKéMON $" -OtherText_Terminator7:: - .string "$" -OtherText_MarvelousGreat:: - .string "The marvelous, wonderful, and\nvery great $" -OtherText_Terminator8:: - .string "$" -OtherText_CenturyLastVenus:: - .string "This century’s last Venus -\nthe beautiful $" -OtherText_Terminator9:: - .string "$" -OtherText_Terminator10:: - .string "$" -OtherText_DazzlingSlime:: - .string "’s dazzling,\nglittering smile$" -OtherText_PokeCenterIdol:: - .string "POKéMON CENTER’s super idol -\nthe incomparable $" -OtherText_Terminator11:: - .string "$" -OtherText_LovelyAndSweet:: - .string "The lovely and sweet $" -OtherText_Terminator12:: - .string "$" -OtherText_ThePretty:: - .string "The pretty $" -OtherText_WinningPortrait:: - .string "’s\nwinning portrait$" -OtherText_GiveUsWink:: - .string "Give us a wink!\nThe cutie POKéMON $" -OtherText_Terminator13:: - .string "$" -OtherText_SmartnessMaestro:: - .string "The smartness maestro -\nThe wise POKéMON $" -OtherText_Terminator14:: - .string "$" -OtherText_ChosenPokeAmong:: - .string "The chosen POKéMON -\nThe one among POKéMON $" -OtherText_Terminator15:: - .string "$" -OtherText_TheExcellent:: - .string "The excellent $" -OtherText_ItsMomentOfElegance:: - .string "’s\nmoment of elegance$" -OtherText_PowerfullyMuscular:: - .string "The powerfully muscular\nspeedster $" -OtherText_Terminator16:: - .string "$" -OtherText_StrongErEst:: - .string "The strong, stronger, and\nstrongest $" -OtherText_Terminator17:: - .string "$" -OtherText_MightyTough:: - .string "The mighty tough\nhyper POKéMON $" -OtherText_Exclamation:: - .string "!$" -OtherText_Petalburg:: - .string "PETALBURG$" -OtherText_Slateport:: - .string "SLATEPORT$" -OtherText_Littleroot:: - .string "LITTLEROOT$" -OtherText_Lilycove:: - .string "LILYCOVE$" -OtherText_Dewford:: - .string "DEWFORD$" -OtherText_Enter:: - .string "ENTER$" -OtherText_Info3:: - .string "INFO$" -OtherText_WhatsAContest:: - .string "What’s a CONTEST?$" -OtherText_TypesOfContest:: - .string "Types of CONTESTS$" -OtherText_Ranks:: - .string "Ranks$" -OtherText_Judging:: - .string "Judging$" -OtherText_CoolContest:: - .string "COOL CONTEST$" -OtherText_BeautyContest:: - .string "BEAUTY CONTEST$" -OtherText_CuteContest:: - .string "CUTE CONTEST$" -OtherText_SmartContest:: - .string "SMART CONTEST$" -OtherText_ToughContest:: - .string "TOUGH CONTEST$" -OtherText_Decoration:: - .string "DECORATION$" -OtherText_PackUp:: - .string "PACK UP$" -OtherText_Count:: - .string "COUNT$" -OtherText_Registry:: - .string "REGISTRY$" -OtherText_Information:: - .string "INFORMATION$" -OtherText_Mach:: - .string "MACH$" -OtherText_Acro:: - .string "ACRO$" -OtherText_Poison:: - .string "PSN$" -OtherText_Paralysis:: - .string "PAR$" -OtherText_Sleep:: - .string "SLP$" -OtherText_Burn:: - .string "BRN$" -OtherText_Frozen:: - .string "FRZ$" -OtherText_Quit:: - .string "QUIT$" -OtherText_SawIt:: - .string "Saw it$" -OtherText_NotYet:: - .string "Not yet$" -OtherText_Yes:: - .string "YES$" -OtherText_No:: - .string "NO$" -OtherText_Info2:: - .string "INFO$" -OtherText_SingleBattle:: - .string "SINGLE BATTLE$" -OtherText_DoubleBattle:: - .string "DOUBLE BATTLE$" -OtherText_MultiBattle:: - .string "MULTI BATTLE$" -OtherText_MrBriney:: - .string "MR. BRINEY$" -OtherText_MakeAChallenge:: - .string "Make a challenge.$" -OtherText_ObtainInformation:: - .string "Obtain information.$" -OtherText_Lv50_2:: - .string "LV. 50$" -OtherText_Lv100_2:: - .string "LV. 100$" -OtherText_Zigzagoon:: - .string "ZIGZAGOON$" -OtherText_Nincada:: - .string "NINCADA$" -OtherText_Poochyena:: - .string "POOCHYENA$" -OtherText_Nincada2:: - .string "NINCADA$" -OtherText_Lotad:: - .string "LOTAD$" -OtherText_Roselia:: - .string "ROSELIA$" -OtherText_Shroomish:: - .string "SHROOMISH$" -OtherText_Nincada3:: - .string "NINCADA$" -OtherText_Surskit:: - .string "SURSKIT$" -OtherText_Treecko:: - .string "TREECKO$" -OtherText_Torchic:: - .string "TORCHIC$" -OtherText_Mudkip:: - .string "MUDKIP$" -OtherText_Seedot:: - .string "SEEDOT$" -OtherText_Shroomish2:: - .string "SHROOMISH$" -OtherText_Spinda:: - .string "SPINDA$" -OtherText_Shroomish3:: - .string "SHROOMISH$" -OtherText_Zigzagoon2:: - .string "ZIGZAGOON$" -OtherText_Wurmple:: - .string "WURMPLE$" -OtherText_PokeBall:: - .string "POKé BALL$" -OtherText_SuperPotion:: - .string "SUPER POTION$" -OtherText_SamePrice:: - .string "Same price$" -OtherText_Yen135:: - .string "¥135$" -OtherText_Yen155:: - .string "¥155$" -OtherText_Yen175:: - .string "¥175$" -OtherText_CostMore:: - .string "They will cost more.$" -OtherText_CostLess:: - .string "They will cost less.$" -OtherText_SamePrice2:: - .string "Same price$" -OtherText_MaleSymbol:: - .string "♂$" -OtherText_FemaleSymbol:: - .string "♀$" -OtherText_Neither:: - .string "Neither$" -OtherText_Males:: - .string "Males$" -OtherText_Females:: - .string "Females$" -OtherText_SameNumber:: - .string "Same number$" -OtherText_Male:: - .string "Male$" -OtherText_Female:: - .string "Female$" -OtherText_ItDepends:: - .string "It depends$" -OtherText_Six2:: - .string "6$" -OtherText_Eight2:: - .string "8$" -OtherText_Ten:: - .string "10$" -OtherText_One:: - .string "1$" -OtherText_Two:: - .string "2$" -OtherText_Three:: - .string "3$" -OtherText_Six:: - .string "6$" -OtherText_Seven:: - .string "7$" -OtherText_Eight:: - .string "8$" -OtherText_FreshWater:: - .string "FRESH WATER{CLEAR_TO 0x48}¥200$" -OtherText_SodaPop:: - .string "SODA POP{CLEAR_TO 0x48}¥300$" -OtherText_Lemonade:: - .string "LEMONADE{CLEAR_TO 0x48}¥350$" -OtherText_HowToRide:: - .string "HOW TO RIDE$" -OtherText_HowToTurn:: - .string "HOW TO TURN$" -OtherText_SandySlopes:: - .string "SANDY SLOPES$" -OtherText_Wheelies:: - .string "WHEELIES$" -OtherText_BunnyHops:: - .string "BUNNY-HOPS$" -OtherText_Jumping:: - .string "JUMPING$" -OtherText_Satisfied:: - .string "Satisfied$" -OtherText_Dissatisfied:: - .string "Dissatisfied$" -OtherText_Deepseatooth:: - .string "DEEPSEATOOTH$" -OtherText_Deepseascale:: - .string "DEEPSEASCALE$" -OtherText_BlueFlute2:: - .string "BLUE FLUTE$" -OtherText_YellowFlute2:: - .string "YELLOW FLUTE$" -OtherText_RedFlute2:: - .string "RED FLUTE$" -OtherText_WhiteFlute2:: - .string "WHITE FLUTE$" -OtherText_BlackFlute2:: - .string "BLACK FLUTE$" -OtherText_GlassChair:: - .string "GLASS CHAIR$" -OtherText_GlassDesk:: - .string "GLASS DESK$" -OtherText_TreeckoDoll:: - .string "TREECKO DOLL 1,000 COINS$" -OtherText_TorchicDoll:: - .string "TORCHIC DOLL 1,000 COINS$" -OtherText_MudkipDoll:: - .string "MUDKIP DOLL 1,000 COINS$" -OtherText_50Coins:: - .string " 50 COINS ¥1,000$" -OtherText_500Coins:: - .string "500 COINS ¥10,000$" -OtherText_Excellent:: - .string "Excellent!$" -OtherText_NotSoHot:: - .string "Not so hot$" -OtherText_RedShard:: - .string "RED SHARD$" -OtherText_YellowShard:: - .string "YELLOW SHARD$" -OtherText_BlueShard:: - .string "BLUE SHARD$" -OtherText_GreenShard:: - .string "GREEN SHARD$" -OtherText_BattleTower:: - .string "BATTLE TOWER$" -OtherText_Right:: - .string "Right$" -OtherText_Left:: - .string "Left$" -OtherText_TM32:: - .string "TM32 1,500 COINS$" -OtherText_TM29:: - .string "TM29 3,500 COINS$" -OtherText_TM35:: - .string "TM35 4,000 COINS$" -OtherText_TM24:: - .string "TM24 4,000 COINS$" -OtherText_TM13:: - .string "TM13 4,000 COINS$" -OtherText_1F_2:: - .string "1F$" -OtherText_2F_2:: - .string "2F$" -OtherText_3F_2:: - .string "3F$" -OtherText_4F_2:: - .string "4F$" -OtherText_5F_2:: - .string "5F$" -OtherText_Cool2:: - .string "COOL$" -OtherText_Beauty3:: - .string "BEAUTY$" -OtherText_Cute2:: - .string "CUTE$" -OtherText_Smart2:: - .string "SMART$" -OtherText_Tough2:: - .string "TOUGH$" -OtherText_Normal:: - .string "NORMAL$" -OtherText_Super:: - .string "SUPER$" -OtherText_Hyper:: - .string "HYPER$" -OtherText_Master:: - .string "MASTER$" -OtherText_Cool3:: - .string "COOL$" -OtherText_Beauty4:: - .string "BEAUTY$" -OtherText_Cute3:: - .string "CUTE$" -OtherText_Smart3:: - .string "SMART$" -OtherText_Tough3:: - .string "TOUGH$" -OtherText_Items:: - .string "ITEMS$" -OtherText_KeyItems:: - .string "KEY ITEMS$" -OtherText_Balls:: - .string "BALLS$" -OtherText_TMsHMs:: - .string "TMs & HMs$" -OtherText_Berries:: - .string "BERRIES$" - -gPCText_SomeonesPC:: @ 8410753 - .string "SOMEONE’S PC$" - -gPCText_LanettesPC:: @ 8410760 - .string "LANETTE’S PC$" - -gPCText_PlayersPC:: @ 841076D - .string "{PLAYER}’s PC$" - -gPCText_HallOfFame:: @ 8410775 - .string "HALL OF FAME$" - -gPCText_LogOff:: @ 8410782 - .string "LOG OFF$" - -gOtherText_99Times:: @ 841078A - .string "99 times +$" - -gOtherText_1Minute:: @ 8410795 - .string "1 minute +$" - -gOtherText_Seconds:: @ 84107A0 - .string " seconds$" - -gOtherText_Times:: @ 84107A9 - .string " times$" - .string ".$" - -gOtherText_BigGuy:: @ 84107B2 - .string "Big guy$" - -gOtherText_BigGirl:: @ 84107BA - .string "Big girl$" - -gOtherText_Son:: @ 84107C3 - .string "son$" - -gOtherText_Daughter:: @ 84107C7 - .string "daughter$" - -OtherText_BlueFlute: - .string "BLUE FLUTE$" -OtherText_YellowFlute: - .string "YELLOW FLUTE$" -OtherText_RedFlute: - .string "RED FLUTE$" -OtherText_WhiteFlute: - .string "WHITE FLUTE$" -OtherText_BlackFlute: - .string "BLACK FLUTE$" -OtherText_PrettyChair: - .string "PRETTY CHAIR$" -OtherText_PrettyDesk: - .string "PRETTY DESK$" -OtherText_1F: - .string "1F$" -OtherText_2F: - .string "2F$" -OtherText_3F: - .string "3F$" -OtherText_4F: - .string "4F$" -OtherText_5F: - .string "5F$" -OtherText_6F: - .string "6F$" -OtherText_7F: - .string "7F$" -OtherText_8F: - .string "8F$" -OtherText_9F: - .string "9F$" -OtherText_10F: - .string "10F$" -OtherText_11F: - .string "11F$" -OtherText_B1F: - .string "B1F$" -OtherText_B2F: - .string "B2F$" -OtherText_B3F: - .string "B3F$" -OtherText_B4F: - .string "B4F$" -OtherText_Rooftop: - .string "ROOFTOP$" - -gOtherText_NowOn:: @ 841085E - .string "Now on:$" - -gPCText_Cancel:: @ 8410866 - .string "CANCEL$" - -PCText_ExitBox: - .string "Exit from the BOX.$" -PCText_WhatYouDo: - .string "What would you like to do?$" -PCText_PickATheme: - .string "Please pick a theme.$" -PCText_PickAWallpaper: - .string "Please pick out wallpaper.$" -PCText_IsSelected: - .string " is selected.$" -PCText_JumpToWhichBox: - .string "Jump to which BOX?$" -PCText_DepositInWhichBox: - .string "Deposit in which BOX?$" -PCText_WasDeposited: - .string " was deposited.$" -PCText_BoxIsFull: - .string "The BOX is full.$" -PCText_ReleasePoke: - .string "Release this POKéMON?$" -PCText_WasReleased: - .string " was released.$" -PCText_ByeBye: - .string "Bye-bye, !$" -PCText_MarkPoke: - .string "Mark your POKéMON.$" -PCText_LastPoke: - .string "That’s your last POKéMON!$" -PCText_PartyFull: - .string "Your party’s full!$" -PCText_HoldingPoke: - .string "You’re holding a POKéMON!$" -PCText_WhichOneWillTake: - .string "Which one will you take?$" -PCText_CantReleaseEgg: - .string "You can’t release an EGG.$" -PCText_ContinueBox: - .string "Continue BOX operations?$" -PCText_CameBack: - .string " came back!$" -PCText_Worried: - .string "Was it worried about you?$" -PCText_Surprise: - .string "... ... ... ... ...!$" -PCText_PleaseRemoveMail: - .string "Please remove the MAIL.$" -PCText_Cancel2: - .string "CANCEL$" -PCText_Deposit: - .string "DEPOSIT$" -PCText_Withdraw: - .string "WITHDRAW$" -PCText_Switch: - .string "SWITCH$" -PCText_Move: - .string "MOVE$" -PCText_Place: - .string "PLACE$" -PCText_Summary: - .string "SUMMARY$" -PCText_Release: - .string "RELEASE$" -PCText_Mark: - .string "MARK$" -PCText_Name: - .string "NAME$" -PCText_Jump: - .string "JUMP$" -PCText_Wallpaper: - .string "WALLPAPER$" -PCText_Scenery1: - .string "SCENERY 1$" -PCText_Scenery2: - .string "SCENERY 2$" -PCText_Scenery3: - .string "SCENERY 3$" -PCText_Etc: - .string "ETCETERA$" -PCText_Forest: - .string "FOREST$" -PCText_City: - .string "CITY$" -PCText_Desert: - .string "DESERT$" -PCText_Savanna: - .string "SAVANNA$" -PCText_Crag: - .string "CRAG$" -PCText_Volcano: - .string "VOLCANO$" -PCText_Snow: - .string "SNOW$" -PCText_Cave: - .string "CAVE$" -PCText_Beach: - .string "BEACH$" -PCText_Seafloor: - .string "SEAFLOOR$" -PCText_River: - .string "RIVER$" -PCText_Sky: - .string "SKY$" -PCText_Polka: - .string "POLKA-DOT$" -PCText_PokeCenter: - .string "POKéCENTER$" -PCText_Machine: - .string "MACHINE$" -PCText_Plain: - .string "PLAIN$" -PCText_WhatDoYouWant: - .string "What do you want?$" -PCText_WithdrawPoke: - .string "WITHDRAW POKéMON$" -PCText_DepositPoke: - .string "DEPOSIT POKéMON$" -PCText_MovePoke: - .string "MOVE POKéMON$" -PCText_SeeYa: - .string "SEE YA!$" -PCText_MovePokeToParty: - .string "Move POKéMON stored in BOXES to\nyour party.$" -PCText_StorePokeInBox: - .string "Store POKéMON in your party in BOXES.$" -PCText_OrganizeBoxesParty: - .string "Organize the POKéMON in BOXES and\nin your party.$" -PCText_ReturnToPrevMenu: - .string "Return to the previous menu.$" - -gPCText_OnlyOne:: @ 8410C1C - .string "There is just one POKéMON with you.$" - -gPCText_PartyFull2:: @ 8410C40 - .string "Your party is full!$" - -gPCText_BOX:: @ 8410C54 - .string "BOX$" - -PCText_CheckMap: - .string "{CLEAR 0}Check the map of the HOENN region.$" -PCText_CheckPoke: - .string "{CLEAR 0}Check POKéMON in detail.$" -PCText_CheckTrainer: - .string "{CLEAR 0}Check TRAINER information.$" -PCText_CheckRibbons: - .string "{CLEAR 0}Check obtained RIBBONS.$" -PCText_PutAwayNav: - .string "{CLEAR 0}Put away the POKéNAV.$" -PCText_NoRibbonWin: - .string "{CLEAR 0}There are no RIBBON winners.$" -PCText_NoTrainers: - .string "{CLEAR 0}No TRAINERS are registered.$" -PCText_CheckParty: - .string "{CLEAR 0}Check party POKéMON in detail.$" -PCText_CheckPokeAll: - .string "{CLEAR 0}Check all POKéMON in detail.$" -PCText_ReturnToNav: - .string "{CLEAR 0}Return to the POKéNAV menu.$" -PCText_FindCool: - .string "{CLEAR 0}Find cool POKéMON.$" -PCText_FindBeauty: - .string "{CLEAR 0}Find beautiful POKéMON.$" -PCText_FindCute: - .string "{CLEAR 0}Find cute POKéMON.$" -PCText_FindSmart: - .string "{CLEAR 0}Find smart POKéMON.$" -PCText_FindTough: - .string "{CLEAR 0}Find tough POKéMON.$" -PCText_ReturnToCondition: - .string "{CLEAR 0}Return to the CONDITION menu.$" - -gOtherText_NumberRegistered:: @ 8410E22 - .string "No. registered$" - -gOtherText_NumberBattles:: @ 8410E31 - .string "No. of battles$" - -gOtherText_Strategy:: @ 8410E40 - .string "{PALETTE 5}STRATEGY$" - -gOtherText_TrainersPokemon:: @ 8410E4C - .string "{PALETTE 5}TRAINER’S POKéMON$" - -gOtherText_SelfIntroduction:: @ 8410E61 - .string "{PALETTE 5}SELF-INTRODUCTION$" - -gOtherText_Nature2:: @ 8410E76 - .string "NATURE/$" - -gOtherText_InParty:: @ 8410E7E - .string "IN PARTY$" - -gOtherText_Number:: @ 8410E87 - .string "No. $" - -gOtherText_Ribbons:: @ 8410E8C - .string "RIBBONS$" - -OtherText_MakeProfilePage1:: - .string "Make your profile by combining$" -OtherText_MakeProfilePage2:: - .string "four words or phrases.$" -OtherText_MakeMessagePage1:: - .string "Make a message with 6 phrases.$" -OtherText_MakeMessagePage2:: - .string "Max. two 12-letter phrases/line.$" -OtherText_DescribeFeelingsPage1:: - .string "Find words that describe your$" -OtherText_DescribeFeelingsPage2:: - .string "feelings right now.$" -OtherText_WithFourPhrases:: - .string "With four phrases,$" -OtherText_CombineNinePhrasesPage1:: - .string "Combine nine phrases and$" -OtherText_CombineNinePhrasesPage2:: - .string "make a message.$" -OtherText_ImproveBardSongPage1:: - .string "Change just one word or phrase$" -OtherText_ImproveBardSongPage2:: - .string "and improve the BARD’s song.$" -OtherText_YourProfile:: - .string "Your profile $" -OtherText_YourFeelingBattle:: - .string "Your feeling at the battle’s start$" -OtherText_SetWinMessage:: - .string "What you say if you win a battle$" -OtherText_SetLossMessage:: - .string "What you say if you lose a battle$" -OtherText_TheAnswer:: - .string "The answer$" -OtherText_MailMessage:: - .string "The MAIL message$" -OtherText_MailSalutation:: - .string "The MAIL salutation$" -OtherText_NewSong:: - .string "The new song$" -OtherText_CombineTwoPhrasesPage1:: - .string "Combine two phrases and$" -OtherText_CombineTwoPhrasesPage2:: - .string "make a trendy saying.$" -OtherText_ConfirmTrendyPage1:: - .string "The trendy saying$" -OtherText_ConfirmTrendyPage2:: - .string "is as shown. Okay?$" -OtherText_HipsterPage1:: - .string "I’ll combine two phrases and$" -OtherText_HipsterPage2:: - .string "teach you a good saying.$" - -gOtherText_TextDeletedConfirmPage1:: @ 84110EE - .string "All the text being edited will$" - -gOtherText_TextDeletedConfirmPage2:: @ 841110D - .string "be deleted. Is that okay?$" - -gOtherText_QuitEditing:: @ 8411127 - .string "Quit editing?$" - -gOtherText_EditedTextNoSavePage1:: @ 8411135 - .string "The edited text will not be saved.$" - -gOtherText_EditedTextNoSavePage2:: @ 8411158 - .string "Is that okay?$" - -gOtherText_EnterAPhraseOrWord:: @ 8411166 - .string "Please enter a phrase or word.$" - -gOtherText_TextNoDelete:: @ 8411185 - .string "The entire text can’t be deleted.$" - -gOtherText_OnlyOnePhrase:: @ 84111A7 - .string "Only one phrase may be changed.$" - -gOtherText_OriginalSongRestored:: @ 84111C7 - .string "The original song will be restored.$" - -gOtherText_TrendyAlready:: @ 84111EB - .string "That’s trendy already!$" - -gOtherText_CombineTwoPhrases:: @ 8411202 - .string "Combine two words or phrases.$" - -gOtherText_QuitGivingInfo:: @ 8411220 - .string "Quit giving information?$" - -gOtherText_StopGivingMail:: @ 8411239 - .string "Stop giving the POKéMON MAIL?$" - -gOtherText_Profile:: @ 8411257 - .string "PROFILE$" - -gOtherText_AtBattleStart:: @ 841125F - .string "At the battle’s start.$" - -gOtherText_UponWinningBattle:: @ 8411276 - .string "Upon winning a battle.$" - -gOtherText_UponLosingBattle:: @ 841128D - .string "Upon losing a battle.$" - -gOtherText_TheBardsSong:: @ 84112A3 - .string "The BARD’s Song$" - -gOtherText_WhatsHipHappening:: @ 84112B3 - .string "What’s hip and happening?$" - -gOtherText_Interview:: @ 84112CD - .string "Interview$" - -gOtherText_GoodSaying:: @ 84112D7 - .string "Good saying$" - -OtherText_SoPretty:: - .string " so pretty!$" -OtherText_SoDarling:: - .string " so darling!$" -OtherText_SoRelaxed:: - .string " so relaxed!$" -OtherText_SoSunny:: - .string " so sunny!$" -OtherText_SoDesirable:: - .string " so desirable!$" -OtherText_SoExciting:: - .string " so exciting!$" -OtherText_SoAmusing:: - .string " so amusing!$" -OtherText_SoMagical:: - .string " so magical!$" - -gOtherText_Is:: @ 841134B - .string " is$" - -gOtherText_DontYouAgree:: @ 841134F - .string "\nDon’t you agree?$" - -OtherText_WantVacationNicePlace:: - .string "I so want to go on a vacation.\nWould you happen to know a nice place?$" -OtherText_BoughtCrayonsIsNice:: - .string "I bought crayons with 120 colors!\nDon’t you think that’s nice?$" -OtherText_IfWeCouldFloat:: - .string "Wouldn’t it be nice if we could float\naway on a cloud of bubbles?$" -OtherText_SandWashesAwayMakeSad:: - .string "When you write on a sandy beach,\nthey wash away. It makes me sad.$" -OtherText_WhatsBottomSeaLike:: - .string "What’s the bottom of the sea like?\nJust once I would so love to go!$" -OtherText_SeeSettingSun:: - .string "When you see the setting sun, does it\nmake you want to go home?$" -OtherText_LyingInGreenGrass:: - .string "Lying back in the green grass...\nOh, it’s so, so nice!$" -OtherText_SecretBasesWonderful:: - .string "SECRET BASES are so wonderful!\nCan’t you feel the excitement?$" -OtherText_PokeLeague:: - .string "POKéMON LEAGUE$" -OtherText_PokeCenter:: - .string "POKéMON CENTER$" - -gOtherText_GetsAPokeBlock:: @ 8411581 - .string " gets a {POKEBLOCK}?$" - -OtherText_Coolness:: - .string "Coolness $" -OtherText_Beauty:: - .string "Beauty $" -OtherText_Cuteness:: - .string "Cuteness $" -OtherText_Smartness:: - .string "Smartness $" -OtherText_Toughness:: - .string "Toughness $" - -gOtherText_WasEnhanced:: @ 84115C2 - .string "was enhanced!$" - -gOtherText_NothingChanged:: @ 84115D0 - .string "Nothing changed!$" - -gOtherText_WontEat:: @ 84115E1 - .string "It won’t eat anymore...$" - -gSystemText_SaveFailedBackupCheck:: @ 84115F9 - .string "Save failed.\nChecking the backup memory...\nPlease wait.\n{COLOR RED}“Time required: 1 minute”$" - -gSystemText_BackupDamagedGameContinue:: @ 841164E - .string "The backup memory is damaged or\nthe internal battery has run dry.\nThe game can be played. However,\nprogress cannot be saved.$" - -gSystemText_GameplayEnded:: @ 84116CB - .string "{COLOR RED}“Gameplay cannot be continued.\nReturning to the title screen...”$" - -gSystemText_CheckCompleteSaveAttempt:: @ 841170F - .string "Check completed.\nAttempting to save again.\nPlease wait.$" - -gSystemText_SaveCompletedGameEnd:: @ 8411747 - .string "Save completed.\n{COLOR RED}“Gameplay cannot be continued.\nReturning to the title screen.”$" - -gSystemText_SaveCompletedPressA:: @ 8411799 - .string "Save completed.\n{COLOR RED}“Please press the A Button.”$" - -gOtherText_Ferry:: @ 84117C9 - .string "FERRY$" - -gOtherText_SecretBase:: @ 84117CF - .string "SECRET BASE$" - -gOtherText_Hideout:: @ 84117DB - .string "HIDEOUT$" - -gSystemText_ResetRTCPrompt:: @ 84117E3 - .string "Reset RTC?\nA: Confirm, B: Cancel$" - -gSystemText_PresentTime:: @ 8411804 - .string "Present time in game$" - -gSystemText_PreviousTime:: @ 8411819 - .string "Previous time in game$" - -gSystemText_PleaseResetTime:: @ 841182F - .string "Please reset the time.$" - -gSystemText_ClockResetDataSave:: @ 8411846 - .string "The clock has been reset.\nData will be saved. Please wait.$" - -gSystemText_SaveCompleted:: @ 8411881 - .string "Save completed.$" - -gSystemText_SaveFailed:: @ 8411891 - .string "Save failed...$" - -gSystemText_NoSaveFileNoTime:: @ 84118A0 - .string "There is no save file, so the time\ncan’t be set.$" - -gSystemText_ClockAdjustmentUsable:: @ 84118D1 - .string "The in-game clock adjustment system\nis now useable.$" - -gSystemText_Saving:: @ 8411905 - .string "SAVING...\nDON’T TURN OFF THE POWER.$" - - .align 2 -gUnknown_0841192C:: @ 841192C - .4byte ContestStatsText_VerySoft - .4byte ContestStatsText_Soft - .4byte ContestStatsText_Hard - .4byte ContestStatsText_VeryHard - .4byte ContestStatsText_SuperHard - -gUnknown_08411940:: @ 8411940 - .incbin "baserom.gba", 0x00411940, 0x8 - -gUnknown_08411948:: @ 8411948 - .incbin "baserom.gba", 0x00411948, 0x18 - -gUnknown_08411960:: @ 8411960 - .incbin "graphics/misc/clock_small.gbapal" - -gUnknown_08411980:: @ 8411980 - .incbin "graphics/misc/clock_small.4bpp.lz" - -@ 8411A10 - .include "data/mon_pokeblock_anims.inc" - - .align 2 -gSpriteAffineAnim_8411E90:: @ 8411E90 - obj_rot_scal_anim_frame 0xFF00, 0x100, 0, 0 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_8411EA0:: @ 8411EA0 - obj_rot_scal_anim_frame 0x0, 0x0, 12, 1 - obj_rot_scal_anim_frame 0x0, 0x0, 0, 30 - obj_rot_scal_anim_frame 0x0, 0x0, -12, 1 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_8411EC0:: @ 8411EC0 - obj_rot_scal_anim_frame 0xFF00, 0x100, 0, 0 - obj_rot_scal_anim_frame 0x0, 0x0, 12, 1 - obj_rot_scal_anim_frame 0x0, 0x0, 0, 28 - obj_rot_scal_anim_frame 0x0, 0x0, -4, 3 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_8411EE8:: @ 8411EE8 - obj_rot_scal_anim_frame 0x0, 0x0, 1, 16 - obj_rot_scal_anim_frame 0x0, 0x0, -1, 32 - obj_rot_scal_anim_frame 0x0, 0x0, 1, 16 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_8411F08:: @ 8411F08 - obj_rot_scal_anim_frame 0xFF00, 0x100, 0, 0 - obj_rot_scal_anim_frame 0x0, 0x0, 1, 16 - obj_rot_scal_anim_frame 0x0, 0x0, -1, 32 - obj_rot_scal_anim_frame 0x0, 0x0, 1, 16 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_8411F30:: @ 8411F30 - obj_rot_scal_anim_frame 0x0, 0x0, -1, 8 - obj_rot_scal_anim_frame 0x0, 0x0, 0, 16 - obj_rot_scal_anim_frame 0x0, 0x0, 1, 8 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_8411F50:: @ 8411F50 - obj_rot_scal_anim_frame 0xFF00, 0x100, 0, 0 - obj_rot_scal_anim_frame 0x0, 0x0, -1, 8 - obj_rot_scal_anim_frame 0x0, 0x0, 0, 16 - obj_rot_scal_anim_frame 0x0, 0x0, 1, 8 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_8411F78:: @ 8411F78 - obj_rot_scal_anim_frame 0x0, 0x0, -1, 8 - obj_rot_scal_anim_frame 0x0, 0x0, 0, 32 - obj_rot_scal_anim_frame 0x0, 0x0, 1, 8 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_8411F98:: @ 8411F98 - obj_rot_scal_anim_frame 0xFF00, 0x100, 0, 0 - obj_rot_scal_anim_frame 0x0, 0x0, -1, 8 - obj_rot_scal_anim_frame 0x0, 0x0, 0, 32 - obj_rot_scal_anim_frame 0x0, 0x0, 1, 8 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_8411FC0:: @ 8411FC0 - obj_rot_scal_anim_frame 0x0, 0x0, -1, 4 - obj_rot_scal_anim_frame 0x0, 0x0, 0, 24 - obj_rot_scal_anim_frame 0x0, 0x0, 1, 4 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_8411FE0:: @ 8411FE0 - obj_rot_scal_anim_frame 0xFF00, 0x100, 0, 0 - obj_rot_scal_anim_frame 0x0, 0x0, -1, 4 - obj_rot_scal_anim_frame 0x0, 0x0, 0, 24 - obj_rot_scal_anim_frame 0x0, 0x0, 1, 4 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_8412008:: @ 8412008 - obj_rot_scal_anim_frame 0x0, 0x0, 1, 24 - obj_rot_scal_anim_frame 0x0, 0x0, 0, 16 - obj_rot_scal_anim_frame 0x0, 0x0, -12, 2 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_8412028:: @ 8412028 - obj_rot_scal_anim_frame 0xFF00, 0x100, 0, 0 - obj_rot_scal_anim_frame 0x0, 0x0, 1, 24 - obj_rot_scal_anim_frame 0x0, 0x0, 0, 16 - obj_rot_scal_anim_frame 0x0, 0x0, -12, 2 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_8412050:: @ 8412050 - .4byte gSpriteAffineAnim_8411E90 - .4byte gSpriteAffineAnim_8411EA0 - .4byte gSpriteAffineAnim_8411EE8 - .4byte gSpriteAffineAnim_8411F30 - .4byte gSpriteAffineAnim_8411F78 - .4byte gSpriteAffineAnim_8411FC0 - .4byte gSpriteAffineAnim_8412008 - .4byte gSpriteAffineAnim_8411E90 - .4byte gSpriteAffineAnim_8411E90 - .4byte gSpriteAffineAnim_8411E90 - .4byte gSpriteAffineAnim_8411E90 - .4byte gSpriteAffineAnim_8411EC0 - .4byte gSpriteAffineAnim_8411F08 - .4byte gSpriteAffineAnim_8411F50 - .4byte gSpriteAffineAnim_8411F98 - .4byte gSpriteAffineAnim_8411FE0 - .4byte gSpriteAffineAnim_8412028 - .4byte gSpriteAffineAnim_8411E90 - .4byte gSpriteAffineAnim_8411E90 - .4byte gSpriteAffineAnim_8411E90 - .4byte gSpriteAffineAnim_8411E90 - - .align 2 -gUnknown_084120A4:: @ 84120A4 - .4byte gPokeblockRed_Pal - .4byte gPokeblockBlue_Pal - .4byte gPokeblockPink_Pal - .4byte gPokeblockGreen_Pal - .4byte gPokeblockYellow_Pal - .4byte gPokeblockPurple_Pal - .4byte gPokeblockIndigo_Pal - .4byte gPokeblockBrown_Pal - .4byte gPokeblockLiteBlue_Pal - .4byte gPokeblockOlive_Pal - .4byte gPokeblockGray_Pal - .4byte gPokeblockBlack_Pal - .4byte gPokeblockWhite_Pal - .4byte gPokeblockGold_Pal - - .align 2 -gSpriteAffineAnim_84120DC:: @ 84120DC - obj_rot_scal_anim_frame 0xFF00, 0x100, 0, 0 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_84120EC:: @ 84120EC - .4byte gSpriteAffineAnim_84120DC - - .align 2 -gSpriteAffineAnim_84120F0:: @ 84120F0 - obj_rot_scal_anim_frame 0xFF00, 0x100, 0, 0 - obj_rot_scal_anim_frame 0x0, 0x0, -8, 1 - obj_rot_scal_anim_frame 0x0, 0x0, -8, 1 - obj_rot_scal_anim_frame 0x0, 0x0, -8, 1 - obj_rot_scal_anim_frame 0x0, 0x0, -8, 1 - obj_rot_scal_anim_frame 0x0, 0x0, 0, 8 - obj_rot_scal_anim_frame 0x0, 0x0, 16, 1 - obj_rot_scal_anim_frame 0x0, 0x0, 16, 1 - obj_rot_scal_anim_frame 0x0, 0x0, 16, 1 - obj_rot_scal_anim_frame 0xFF00, 0x100, 0, 0 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnim_8412148:: @ 8412148 - obj_rot_scal_anim_frame 0xFF00, 0x100, 0, 0 - obj_rot_scal_anim_frame 0x0, 0x0, 8, 1 - obj_rot_scal_anim_frame 0x0, 0x0, 8, 1 - obj_rot_scal_anim_frame 0x0, 0x0, 8, 1 - obj_rot_scal_anim_frame 0x0, 0x0, 8, 1 - obj_rot_scal_anim_frame 0x0, 0x0, 0, 8 - obj_rot_scal_anim_frame 0x0, 0x0, -16, 1 - obj_rot_scal_anim_frame 0x0, 0x0, -16, 1 - obj_rot_scal_anim_frame 0x0, 0x0, -16, 1 - obj_rot_scal_anim_frame 0xFF00, 0x100, 0, 0 - obj_rot_scal_anim_end - - .align 2 -gSpriteAffineAnimTable_84121A0:: @ 84121A0 - .4byte gSpriteAffineAnim_84120DC - - .align 2 -gSpriteAffineAnimTable_84121A4:: @ 84121A4 - .4byte gSpriteAffineAnim_84120F0 - - .align 2 -gSpriteAffineAnimTable_84121A8:: @ 84121A8 - .4byte gSpriteAffineAnim_8412148 - - .align 2 -gOamData_84121AC:: @ 84121AC - .2byte 0x0300 - .2byte 0x0000 - .2byte 0x0400 - - .align 2 -gSpriteAnim_84121B4:: @ 84121B4 - obj_image_anim_frame 0, 0 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_84121BC:: @ 84121BC - .4byte gSpriteAnim_84121B4 - - .align 2 -gSpriteAffineAnim_84121C0:: @ 84121C0 - obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 - obj_rot_scal_anim_frame 0xFFF8, 0xFFF8, 0, 1 - obj_rot_scal_anim_jump 1 - - .align 2 -gSpriteAffineAnimTable_84121D8:: @ 84121D8 - .4byte gSpriteAffineAnim_84121C0 - - .align 2 -gUnknown_084121DC:: @ 84121DC - obj_tiles gPokeblock_Gfx, 0x20, 14818 - - .align 2 -gSpriteTemplate_84121E4:: @ 84121E4 - spr_template 14818, 14818, gOamData_84121AC, gSpriteAnimTable_84121BC, NULL, gSpriteAffineAnimTable_84121D8, sub_81481B0 - -gUnknown_084121FC:: @ 84121FC - .incbin "graphics/intro/intro2_grass.gbapal" - -gUnknown_0841221C:: @ 841221C - .incbin "baserom.gba", 0x0041221c, 0x20 - -gUnknown_0841223C:: @ 841223C - .incbin "baserom.gba", 0x0041223c, 0x20 - - .align 2 -gUnknown_0841225C:: @ 841225C - .incbin "graphics/intro/intro2_grass.4bpp.lz" - - .align 2 -gUnknown_084126DC:: @ 84126DC - .incbin "graphics/intro/intro2_grass_map.bin.lz" - -gUnknown_08412818:: @ 8412818 - .incbin "baserom.gba", 0x00412818, 0x60 - -gUnknown_08412878:: @ 8412878 - .incbin "baserom.gba", 0x00412878, 0x60 - - .align 2 -gUnknown_084128D8:: @ 84128D8 - .incbin "graphics/intro/intro2_bgclouds.4bpp.lz" - - .align 2 -gUnknown_08412EB4:: @ 8412EB4 - .incbin "graphics/intro/intro2_bgclouds_map.bin.lz" - -gUnknown_08413184:: @ 8413184 - .incbin "graphics/intro/intro2_bgclouds.gbapal" - -gUnknown_084131A4:: @ 84131A4 - .incbin "baserom.gba", 0x004131a4, 0x20 - -gUnknown_084131C4:: @ 84131C4 - .incbin "graphics/intro/intro2_bgclouds2.4bpp.lz" - -gUnknown_08413300:: @ 8413300 - .incbin "baserom.gba", 0x00413300, 0x20 - -gUnknown_08413320:: @ 8413320 - .incbin "baserom.gba", 0x00413320, 0x20 - - .align 2 -gUnknown_08413340:: @ 8413340 - .incbin "graphics/intro/intro2_bgtrees.4bpp.lz" - - .align 2 -gUnknown_084139C8:: @ 84139C8 - .incbin "graphics/intro/intro2_bgtrees_map.bin.lz" - - .align 2 -gUnknown_08413CCC:: @ 8413CCC - .incbin "graphics/intro/intro2_bgtrees.gbapal" - - .align 2 -gIntro2TreeTiles:: @ 8413CEC - .incbin "graphics/intro/intro2_bgtreessmall.4bpp.lz" - -gUnknown_08413E38:: @ 8413E38 - .incbin "baserom.gba", 0x00413e38, 0x40 @ two palettes? - - .align 2 -gUnknown_08413E78:: @ 8413E78 - .incbin "graphics/intro/intro2_bgnight.4bpp.lz" @ only used in credits, coupled with intro because bicycle sequence - - .align 2 -gUnknown_08414064:: @ 8414064 - .incbin "graphics/intro/intro2_bgnight.gbapal" - - .align 2 -gUnknown_08414084:: @ 8414084 - .incbin "graphics/intro/intro2_bgnight_map.bin.lz" - - .align 2 -gIntro2NightTiles:: @ 8414330 - .incbin "graphics/intro/intro2_night.4bpp.lz" - - .align 1 -gIntro2BrendanPalette:: @ 84143B4 - .incbin "graphics/intro/intro2_brendan.gbapal" - - .align 2 -gIntro2BrendanTiles:: @ 84143D4 - .incbin "graphics/intro/intro2_brendan.4bpp.lz" - - .align 1 -gIntro2MayPalette:: @ 8414F70 - .incbin "graphics/intro/intro2_may.gbapal" - - .align 2 -gUnknown_08414F90:: @ 8414F90 - .space 0x1E0 - - .align 2 -gIntro2MayTiles:: @ 8415170 - .incbin "graphics/intro/intro2_may.4bpp.lz" - - .align 2 -gIntro2BicycleTiles:: @ 8415E08 - .incbin "graphics/intro/intro2_bicycle.4bpp.lz" - - .align 1 -gIntro2LatiosPalette:: @ 8416234 - .incbin "graphics/intro/intro2_latios.gbapal" - - .align 2 -gIntro2LatiosTiles:: @ 8416254 - .incbin "graphics/intro/intro2_latios.4bpp.lz" - - .align 1 -gIntro2LatiasPalette:: @ 84166F8 - .incbin "graphics/intro/intro2_latias.gbapal" - - .align 2 -gIntro2LatiasTiles:: @ 8416718 - .incbin "graphics/intro/intro2_latias.4bpp.lz" - - .align 2 -gSpriteTemplate_8416B3C:: @ 8416B3C - spr_template 2000, 0xFFFF, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_814910C - - .align 2 -gUnknown_08416B54:: @ 8416B54 - obj_tiles gUnknown_084131C4, 0x400, 2000 - null_obj_tiles - - .align 2 -gSpriteAnim_8416B64:: @ 8416B64 - obj_image_anim_frame 0, 30 - obj_image_anim_end - - .align 2 -gSpriteAnim_8416B6C:: @ 8416B6C - obj_image_anim_frame 16, 30 - obj_image_anim_end - - .align 2 -gSpriteAnim_8416B74:: @ 8416B74 - obj_image_anim_frame 20, 30 - obj_image_anim_end - - .align 2 -gSpriteAnim_8416B7C:: @ 8416B7C - obj_image_anim_frame 22, 30 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_8416B84:: @ 8416B84 - .4byte gSpriteAnim_8416B64 - .4byte gSpriteAnim_8416B6C - .4byte gSpriteAnim_8416B74 - .4byte gSpriteAnim_8416B7C - -gUnknown_08416B94:: @ 8416B94 - .incbin "baserom.gba", 0x00416b94, 0x48 - - .align 2 -gUnknown_08416BDC:: @ 8416BDC - obj_tiles gIntro2TreeTiles, 0x400, 2000 - null_obj_tiles - - .align 2 -gSpriteAnim_8416BEC:: @ 8416BEC - obj_image_anim_frame 0, 30 - obj_image_anim_end - - .align 2 -gSpriteAnim_8416BF4:: @ 8416BF4 - obj_image_anim_frame 16, 30 - obj_image_anim_end - - .align 2 -gSpriteAnim_8416BFC:: @ 8416BFC - obj_image_anim_frame 24, 30 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_8416C04:: @ 8416C04 - .4byte gSpriteAnim_8416BEC - .4byte gSpriteAnim_8416BF4 - .4byte gSpriteAnim_8416BFC - -gUnknown_08416C10:: @ 8416C10 - .incbin "baserom.gba", 0x00416c10, 0x60 - - .align 2 -gUnknown_08416C70:: @ 8416C70 - obj_tiles gIntro2NightTiles, 0x400, 2000 - null_obj_tiles - - .align 2 -gSpriteAnim_8416C80:: @ 8416C80 - obj_image_anim_frame 0, 30 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_8416C88:: @ 8416C88 - .4byte gSpriteAnim_8416C80 - -gUnknown_08416C8C:: @ 8416C8C - .incbin "baserom.gba", 0x00416c8c, 0x30 - - .align 2 -gOamData_8416CBC:: @ 8416CBC - .2byte 0x00A0 - .2byte 0xC000 - .2byte 0x0400 - - .align 2 -gSpriteAnim_8416CC4:: @ 8416CC4 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 64, 8 - obj_image_anim_frame 128, 8 - obj_image_anim_frame 192, 8 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnimTable_8416CD8:: @ 8416CD8 - .4byte gSpriteAnim_8416CC4 - - .align 2 -gSpriteTemplate_8416CDC:: @ 8416CDC - spr_template 1002, 1002, gOamData_8416CBC, gSpriteAnimTable_8416CD8, NULL, gDummySpriteAffineAnimTable, nullsub_82 - - .align 2 -gSpriteTemplate_8416CF4:: @ 8416CF4 - spr_template 1003, 1003, gOamData_8416CBC, gSpriteAnimTable_8416CD8, NULL, gDummySpriteAffineAnimTable, nullsub_82 - - .align 2 -gOamData_8416D0C:: @ 8416D0C - .2byte 0x40A0 - .2byte 0xC000 - .2byte 0x0400 - - .align 2 -gSpriteAnim_8416D14:: @ 8416D14 - obj_image_anim_frame 0, 8 - obj_image_anim_frame 32, 8 - obj_image_anim_frame 64, 8 - obj_image_anim_frame 96, 8 - obj_image_anim_jump 0 - - .align 2 -gSpriteAnimTable_8416D28:: @ 8416D28 - .4byte gSpriteAnim_8416D14 - - .align 2 -gSpriteTemplate_8416D2C:: @ 8416D2C - spr_template 1001, 1002, gOamData_8416D0C, gSpriteAnimTable_8416D28, NULL, gDummySpriteAffineAnimTable, sub_81492A0 - - .align 2 -gSpriteTemplate_8416D44:: @ 8416D44 - spr_template 1001, 1003, gOamData_8416D0C, gSpriteAnimTable_8416D28, NULL, gDummySpriteAffineAnimTable, sub_81492A0 - - .align 2 -gOamData_8416D5C:: @ 8416D5C - .2byte 0x00A0 - .2byte 0xC000 - .2byte 0x0400 - - .align 2 -gSpriteAnim_8416D64:: @ 8416D64 - obj_image_anim_frame 0, 16 - obj_image_anim_end - - .align 2 -gSpriteAnim_8416D6C:: @ 8416D6C - obj_image_anim_frame 64, 16 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_8416D74:: @ 8416D74 - .4byte gSpriteAnim_8416D64 - .4byte gSpriteAnim_8416D6C - - .align 2 -gSpriteTemplate_8416D7C:: @ 8416D7C - spr_template 1004, 1004, gOamData_8416D5C, gSpriteAnimTable_8416D74, NULL, gDummySpriteAffineAnimTable, nullsub_83 - - .align 2 -gSpriteTemplate_8416D94:: @ 8416D94 - spr_template 1005, 1005, gOamData_8416D5C, gSpriteAnimTable_8416D74, NULL, gDummySpriteAffineAnimTable, nullsub_83 - - .align 2 -gIntro2BrendanSpriteSheet:: @ 8416DAC - obj_tiles gIntro2BrendanTiles, 0x3800, 1002 - .space 8 - - .align 2 -gIntro2MaySpriteSheet:: @ 8416DBC - obj_tiles gIntro2MayTiles, 0x3800, 1003 - .space 8 - - .align 2 -gIntro2BicycleSpriteSheet:: @ 8416DCC - obj_tiles gIntro2BicycleTiles, 0x1000, 1001 - .space 8 - - .align 2 -gIntro2LatiosSpriteSheet:: @ 8416DDC - obj_tiles gIntro2LatiosTiles, 0x1000, 1004 - .space 8 - - .align 2 -gIntro2LatiasSpriteSheet:: @ 8416DEC - obj_tiles gIntro2LatiasTiles, 0x1000, 1005 - .space 8 - - .align 2 -gIntro2SpritePalettes:: @ 8416DFC - obj_pal gIntro2BrendanPalette, 1002 - obj_pal gIntro2MayPalette, 1003 - obj_pal gIntro2LatiosPalette, 1004 - obj_pal gIntro2LatiasPalette, 1005 - .space 8 - -gUnknown_08416E24:: @ 8416E24 - obj_tiles gIntro2BrendanTiles, 0x2000, 1002 - .space 8 - -gUnknown_08416E34:: @ 8416E34 - obj_tiles gIntro2MayTiles, 0x2000, 1003 - .space 8 - - .align 2 -gEvoSparklePalette: @ 8416E44 - .incbin "graphics/misc/evo_sparkle.gbapal" - - .align 2 -gEvoSparkleTiles: @ 8416E64 - .incbin "graphics/misc/evo_sparkle.4bpp.lz" - -gUnknown_08416E84:: @ 8416E84 - obj_tiles gEvoSparkleTiles, 0x20, 1001 - .space 8 - -gUnknown_08416E94:: @ 8416E94 - obj_pal gEvoSparklePalette, 1001 - .space 8 - - .align 2 -gOamData_8416EA4:: @ 8416EA4 - .2byte 0x00A0 - .2byte 0x0000 - .2byte 0x0400 - - .align 2 -gSpriteAnim_8416EAC:: @ 8416EAC - obj_image_anim_frame 0, 8 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_8416EB4:: @ 8416EB4 - .4byte gSpriteAnim_8416EAC - - .align 2 -gSpriteTemplate_8416EB8:: @ 8416EB8 - spr_template 1001, 1001, gOamData_8416EA4, gSpriteAnimTable_8416EB4, NULL, gDummySpriteAffineAnimTable, nullsub_84 - -gUnknown_08416ED0:: @ 8416ED0 - .incbin "baserom.gba", 0x00416ed0, 0x38 - -Unknown_8416F08: - .incbin "baserom.gba", 0x00416f08, 0x4 -Unknown_8416F0C: - .incbin "baserom.gba", 0x00416f0c, 0x4 -Unknown_8416F10: - .incbin "baserom.gba", 0x00416f10, 0x4 -Unknown_8416F14: - .incbin "baserom.gba", 0x00416f14, 0x4 -Unknown_8416F18: - .incbin "baserom.gba", 0x00416f18, 0x4 -Unknown_8416F1C: - .incbin "baserom.gba", 0x00416f1c, 0x6 -Unknown_8416F22: - .incbin "baserom.gba", 0x00416f22, 0x6 -Unknown_8416F28: - .incbin "baserom.gba", 0x00416f28, 0x6 -Unknown_8416F2E: - .incbin "baserom.gba", 0x00416f2e, 0x6 -Unknown_8416F34: - .incbin "baserom.gba", 0x00416f34, 0x6 -Unknown_8416F3A: - .incbin "baserom.gba", 0x00416f3a, 0x8 -Unknown_8416F42: - .incbin "baserom.gba", 0x00416f42, 0x8 -Unknown_8416F4A: - .incbin "baserom.gba", 0x00416f4a, 0x8 -Unknown_8416F52: - .incbin "baserom.gba", 0x00416f52, 0x8 -Unknown_8416F5A: - .incbin "baserom.gba", 0x00416f5a, 0x8 -Unknown_8416F62: - .incbin "baserom.gba", 0x00416f62, 0xA -Unknown_8416F6C: - .incbin "baserom.gba", 0x00416f6c, 0xA -Unknown_8416F76: - .incbin "baserom.gba", 0x00416f76, 0xA -Unknown_8416F80: - .incbin "baserom.gba", 0x00416f80, 0xA -Unknown_8416F8A: - .incbin "baserom.gba", 0x00416f8a, 0xA -Unknown_8416F94: - .incbin "baserom.gba", 0x00416f94, 0xC -Unknown_8416FA0: - .incbin "baserom.gba", 0x00416fa0, 0xC -Unknown_8416FAC: - .incbin "baserom.gba", 0x00416fac, 0xC -Unknown_8416FB8: - .incbin "baserom.gba", 0x00416fb8, 0xC -Unknown_8416FC4: - .incbin "baserom.gba", 0x00416fc4, 0xC -Unknown_8416FD0: - .incbin "baserom.gba", 0x00416fd0, 0xE -Unknown_8416FDE: - .incbin "baserom.gba", 0x00416fde, 0xE -Unknown_8416FEC: - .incbin "baserom.gba", 0x00416fec, 0xE -Unknown_8416FFA: - .incbin "baserom.gba", 0x00416ffa, 0xE -Unknown_8417008: - .incbin "baserom.gba", 0x00417008, 0xE -Unknown_8417016: - .incbin "baserom.gba", 0x00417016, 0x10 -Unknown_8417026: - .incbin "baserom.gba", 0x00417026, 0x10 -Unknown_8417036: - .incbin "baserom.gba", 0x00417036, 0x10 -Unknown_8417046: - .incbin "baserom.gba", 0x00417046, 0x10 -Unknown_8417056: - .incbin "baserom.gba", 0x00417056, 0x12 - - .align 2 -gUnknown_08417068:: @ 8417068 - .4byte Unknown_8416F08 - .4byte Unknown_8416F0C - .4byte Unknown_8416F10 - .4byte Unknown_8416F14 - .4byte Unknown_8416F18 - .4byte Unknown_8416F1C - .4byte Unknown_8416F22 - .4byte Unknown_8416F28 - .4byte Unknown_8416F2E - .4byte Unknown_8416F34 - .4byte Unknown_8416F3A - .4byte Unknown_8416F42 - .4byte Unknown_8416F4A - .4byte Unknown_8416F52 - .4byte Unknown_8416F5A - .4byte Unknown_8416F62 - .4byte Unknown_8416F6C - .4byte Unknown_8416F76 - .4byte Unknown_8416F80 - .4byte Unknown_8416F8A - .4byte Unknown_8416F94 - .4byte Unknown_8416FA0 - .4byte Unknown_8416FAC - .4byte Unknown_8416FB8 - .4byte Unknown_8416FC4 - .4byte Unknown_8416FD0 - .4byte Unknown_8416FDE - .4byte Unknown_8416FEC - .4byte Unknown_8416FFA - .4byte Unknown_8417008 - .4byte Unknown_8417016 - .4byte Unknown_8417026 - .4byte Unknown_8417036 - .4byte Unknown_8417046 - .4byte Unknown_8417056 - -gUnknown_084170F4:: @ 84170F4 - .incbin "baserom.gba", 0x004170f4, 0xD0 - -@ 84171C4 - .include "data/bard_music.inc" - -UnknownString_1stRound: - .string "1st round$" -UnknownString_2ndRound: - .string "2nd round$" -UnknownString_3rdRound: - .string "3rd round$" -UnknownString_4thRound: - .string "4th round$" -UnknownString_5thRound: - .string "5th round$" -UnknownString_6thRound: - .string "6th round$" -UnknownString_7thRound: - .string "7th round$" -UnknownString_8thRound: - .string "8th round$" - - .align 2 -gUnknown_0842C29C:: @ 842C29C - .4byte UnknownString_1stRound, sub_814A4B8 - .4byte UnknownString_2ndRound, sub_814A4B8 - .4byte UnknownString_3rdRound, sub_814A4B8 - .4byte UnknownString_4thRound, sub_814A4B8 - .4byte UnknownString_5thRound, sub_814A4B8 - .4byte UnknownString_6thRound, sub_814A4B8 - .4byte UnknownString_7thRound, sub_814A4B8 - .4byte UnknownString_8thRound, sub_814A4B8 - - @ unused -gOtherText_TopSpeed:: - .string "TOP SPEED$" - -gMultiText_BerryBlenderMaxSpeedRecord:: @ 842C2E6 - .string "BERRY BLENDER\nMAXIMUM SPEED RECORD!$" - -gMultiText_2P3P4P:: @ 842C30A - .string "2 PLAYERS\n3 PLAYERS\n4 PLAYERS$" - -gMultiText_Saving:: @ 842C328 - .string "SAVING...\nDON’T TURN OFF THE POWER.$" - -gMultiText_LinkError:: @ 842C34C - .string "{HIGHLIGHT TRANSPARENT}{COLOR WHITE2}Link error...\nCheck your Game Link cable connection,\nand turn the power off and on.$" - -gSystemText_OptionMenu:: @ 842C3A6 - .string "{PALETTE 9}OPTION$" - -gSystemText_TextSpeed:: @ 842C3B0 - .string "{PALETTE 9}TEXT SPEED$" - -gSystemText_BattleScene:: @ 842C3BE - .string "{PALETTE 9}BATTLE SCENE$" - -gSystemText_BattleStyle:: @ 842C3CE - .string "{PALETTE 9}BATTLE STYLE$" - -gSystemText_Sound:: @ 842C3DE - .string "{PALETTE 9}SOUND$" - -gSystemText_Frame:: @ 842C3E7 - .string "{PALETTE 9}FRAME$" - -gSystemText_Cancel:: @ 842C3F0 - .string "{PALETTE 9}CANCEL$" - -gSystemText_ButtonMode:: @ 842C3FA - .string "{PALETTE 9}BUTTON MODE$" - -gSystemText_Slow:: @ 842C409 - .string "{PALETTE 15}SLOW$" - -gSystemText_Mid:: @ 842C411 - .string "{PALETTE 15}MID$" - -gSystemText_Fast:: @ 842C418 - .string "{PALETTE 15}FAST$" - -gSystemText_On:: @ 842C420 - .string "{PALETTE 15}ON$" - -gSystemText_Off:: @ 842C426 - .string "{PALETTE 15}OFF$" - -gSystemText_Shift:: @ 842C42D - .string "{PALETTE 15}SHIFT$" - -gSystemText_Set:: @ 842C436 - .string "{PALETTE 15}SET$" - -gSystemText_Mono:: @ 842C43D - .string "{PALETTE 15}MONO$" - -gSystemText_Stereo:: @ 842C445 - .string "{PALETTE 15}STEREO$" - -gSystemText_Type:: @ 842C44F - .string "{PALETTE 15}TYPE$" - -gSystemText_Terminator:: @ 842C457 - .string "{PALETTE 8}$" - -gSystemText_Normal:: @ 842C45B - .string "{PALETTE 15}NORMAL$" - -gSystemText_LR:: @ 842C465 - .string "{PALETTE 15}LR$" - -gSystemText_LA:: @ 842C46B - .string "{PALETTE 15}L=A$" - -SystemText_Pokedex: - .string "POKéDEX$" -SystemText_Pokemon: - .string "POKéMON$" -SystemText_BAG: - .string "BAG$" -SystemText_Pokenav: - .string "POKéNAV$" -SystemText_Player: - .string "{PLAYER}$" -SystemText_Save: - .string "SAVE$" -SystemText_Option: - .string "OPTION$" -SystemText_Exit: - .string "EXIT$" -SystemText_Retire: @ safari zone? - .string "RETIRE$" - -gOtherText_SafariStock:: @ 842C4A9 - .string "SAFARI BALLS\nStock: {STR_VAR_1}$" - -gSystemText_LinkStandby:: @ 842C4C0 - .string "Link standby...\n... ... B Button: Cancel$" - -gSystemText_LoadEventPressA:: @ 842C4E9 - .string "Press the A Button to load event.\n... ... B Button: Cancel$" - -gSystemText_LoadingEvent:: @ 842C524 - .string "Loading event...$" - -gSystemText_DontCutLink:: @ 842C535 - .string "Don’t remove the Game Link cable.\nDon’t turn off the power.$" - -gSystemText_EventLoadSuccess:: @ 842C571 - .string "The event was safely loaded.$$" - -gSystemText_LoadingError:: @ 842C58F - .string "Loading error.\nEnding session.$$$$$$$$" - -gOtherText_Hoenn:: @ 842C5B5 - .string "HOENN$" - -gOtherText_OhABite:: @ 842C5BB - .string "Oh! A bite!$" - -gOtherText_PokeOnHook:: @ 842C5C7 - .string "A POKéMON’s on the hook!{PAUSE_UNTIL_PRESS}$" - -gOtherText_NotEvenANibble:: @ 842C5E2 - .string "Not even a nibble...{PAUSE_UNTIL_PRESS}$" - -gOtherText_ItGotAway:: @ 842C5F9 - .string "It got away...{PAUSE_UNTIL_PRESS}$$" - -gTradeText_WillBeSent:: @ 842C60B - .string "{STR_VAR_2} will be sent to {STR_VAR_1}.$" - -gTradeText_ByeBye:: @ 842C622 - .string "Bye-bye, {STR_VAR_2}!$" - -gTradeText_SentOverPoke:: @ 842C62F - .string "{STR_VAR_1} sent over {STR_VAR_3}.$" - -gTradeText_TakeGoodCare:: @ 842C640 - .string "Take good care of {STR_VAR_3}!$" - -TradeText_Cancel: - .string "CANCEL$" -TradeText_ChoosePoke: - .string "Choose a POKéMON.$" -TradeText_Summary1: - .string "SUMMARY$" -TradeText_Trade1: - .string "TRADE$" -TradeText_CancelTradePrompt: - .string "Cancel trade?$" -TradeText_PressBToExit: - .string "Press the B Button to exit.$" -TradeText_Summary2: - .string "SUMMARY$" -TradeText_Trade2: - .string "TRADE$" -TradeText_LinkStandby: - .string "{COLOR DARK_GREY}{HIGHLIGHT WHITE2}{SHADOW LIGHT_GREY}Link standby...\nPlease wait.$" -TradeText_TradeCancelled: - .string "{COLOR DARK_GREY}{HIGHLIGHT WHITE2}{SHADOW LIGHT_GREY}The trade has\nbeen canceled.$" -TradeText_OnlyPoke: - .string "{COLOR DARK_GREY}{HIGHLIGHT WHITE2}{SHADOW LIGHT_GREY}That’s your only\nPOKéMON for battle.$" -TradeText_NonTradablePoke: - .string "{COLOR DARK_GREY}{HIGHLIGHT WHITE2}{SHADOW LIGHT_GREY}Your friend can’t\ntrade that one.$" -TradeText_WaitingForFriend: - .string "{COLOR DARK_GREY}{HIGHLIGHT WHITE2}{SHADOW LIGHT_GREY}Waiting for your\nfriend to finish...$" -TradeText_WantToTrade: - .string "{COLOR DARK_GREY}{HIGHLIGHT WHITE2}{SHADOW LIGHT_GREY}Your friend wants\nto trade POKéMON.$" - .string "$" - -gTradeText_TradeOkayPrompt:: @ 842C7B6 - .string "Is this trade okay?$" - -gOtherText_Terminator2:: @ 842C7CA - .string "$" - -gOtherText_ControlAndMiscText:: @ 842C7CB - .string "\n$" - .string "/$" - .string "Lv$" - .string "---$" - -gOtherText_FourQuestions:: @ 842C7D6 - .string "????$" - -@ 842C7DB - .include "data/text/easy_chat/group_name_strings.inc" - -gOtherText_ThreeQuestions:: @ 842C890 - .string "???$" - -gOtherText_From:: @ 842C894 - .string "From $" - -gOtherText_MixingRecordsWithFriend:: @ 842C89A - .string "Mixing records...$" - -gOtherText_MixingComplete:: @ 842C8AC - .string "Record mixing completed.\nThank you for waiting.$" - -gOtherText_TrainersTrainerCard:: @ 842C8DC - .string "’s TRAINER CARD$" - -gOtherText_FirstHOF:: @ 842C8EC - .string "FIRST HALL OF FAME$" - -gOtherText_LinkCableBattles:: @ 842C8FF - .string "LINK CABLE BATTLES W/ L/$" - -gOtherText_BattleTowerWinRecord:: @ 842C924 - .string "BATTLE TOWER W/{CLEAR_TO 0x72}&{CLEAR_TO 0x98}STRAIGHT$" - -gOtherText_ContestRecord:: @ 842C943 - .string "CONTESTS W/FRIENDS W/$" - -gOtherText_MixingRecord:: @ 842C959 - .string "{POKEBLOCK}S W/FRIENDS$" - -gOtherText_TradeRecord:: @ 842C96A - .string "POKéMON TRADES$" - -gOtherText_Boy:: @ 842C979 - .string "BOY$" - -gOtherText_Girl:: @ 842C97D - .string "GIRL$" - .string "$" - -gOtherText_Player:: @ 842C983 - .string "PLAYER$" - -gOtherText_Badges:: @ 842C98A - .string "BADGES$" - .string "$" - -gOtherText_Pokedex:: @ 842C992 - .string "POKéDEX$" - -gOtherText_PlayTime:: @ 842C99A - .string "PLAY TIME$" - -gOtherText_SentToPC:: @ 842C9A4 - .string "{STR_VAR_1} was sent to\nthe PC.{PAUSE_UNTIL_PRESS}$" - -OtherText_YourName: - .string "YOUR NAME?$" -OtherText_BoxName: - .string "BOX NAME?$" -OtherText_PokeName: - .string "{STR_VAR_1}’s nickname?$" - -gOtherText_Marco:: @ 842C9E1 - .string "MARCO$" @ polo - -gOtherText_Coins:: @ 842C9E7 - .string "{STR_VAR_1} COINS$" - -gOtherText_BattleResults:: @ 842C9F0 - .string "{PLAYER}’s BATTLE RESULTS$" - -gOtherText_WinRecord:: @ 842CA04 - .string "TOTAL RECORD W/{STR_VAR_1} L/{STR_VAR_2} D/{STR_VAR_3}$" - -gOtherText_WinLoseDraw:: @ 842CA20 - .string "WIN LOSE DRAW$" - -gOtherText_SevenDashes:: @ 842CA3C - .string "-------$" - -gOtherText_FourDashes:: @ 842CA44 - .string "----$" - -gOtherText_BattleTowerResults:: @ 842CA49 - .string "{PLAYER}’s BATTLE TOWER RESULTS$" - -gOtherText_Lv50:: @ 842CA63 - .string "LV 50$" - -gOtherText_Lv100:: @ 842CA69 - .string "LV 100$" - -gOtherText_WinStreak:: @ 842CA70 - .string "{STR_VAR_1}W STREAK$" - -gOtherText_Current:: @ 842CA7B - .string "CURRENT$" - -gOtherText_Record:: @ 842CA83 - .string "RECORD$" - -gOtherText_Prev:: @ 842CA8A - .string "PREV.$" - -gOtherText_QuitGamePrompt:: @ 842CA90 - .string "Quit the game?$" - -gOtherText_MaxCoins:: @ 842CA9F - .string "You’ve got 9,999 COINS.$" - -gOtherText_OutOfCoins:: @ 842CAB7 - .string "You’ve run out of COINS.\nGame over!$" - -gOtherText_DontHaveThreeCoins:: @ 842CADB - .string "You don’t have three COINS.$" - -gOtherText_ReelTime:: @ 842CAF7 - .string "REEL TIME\nHere’s your chance to take\naim and nail marks!\nThe Reel Time continues for\nas often as the drawn number.\nIt all ends on a Big Bonus.$" - -DaycareText_GetAlongVeryWell:: - .string "The two seem to get along very well.$" -DaycareText_GetAlong:: - .string "The two seem to get along.$" -DaycareText_DontLikeOther:: - .string "The two don’t seem to like each other.$" -DaycareText_PlayOther:: - .string "The two prefer to play with other\nPOKéMON than each other.$" - -gOtherText_NewLine2:: @ 842CC28 - .string "\n$" - -gOtherText_CancelAndLv:: @ 842CC2A - .string "CANCEL$" - .string "LV$" - -gEggNickname:: @ 842CC34 - .string "EGG$" - -gOtherText_HatchedFromEgg:: @ 842CC38 - .string "{COLOR WHITE2}{HIGHLIGHT TRANSPARENT}{SHADOW DARK_GREY}{STR_VAR_1} hatched from the EGG!$" - -gOtherText_NickHatchPrompt:: @ 842CC5A - .string "{COLOR WHITE2}{HIGHLIGHT TRANSPARENT}{SHADOW DARK_GREY}Would you like to nickname the newly\nhatched {STR_VAR_1}?$" - -OtherText_Battle:: - .string "BATTLE$" -OtherText_Contest:: - .string "CONTEST$" -OtherText_Type:: - .string "TYPE/$" -OtherText_PP:: - .string "PP/$" -OtherText_Power:: - .string "POWER$" -OtherText_Accuracy:: - .string "ACCURACY$" -OtherText_Appeal:: - .string "APPEAL$" -OtherText_Jam:: - .string "JAM$" - -gOtherText_TeachWhichMove:: @ 842CCC7 - .string "Teach which move to {STR_VAR_1}?$" - -gOtherText_TeachSpecificMove:: @ 842CCDF - .string "Teach {STR_VAR_2}?$" - -gOtherText_PokeLearnedMove:: @ 842CCE9 - .string "{STR_VAR_1} learned {STR_VAR_2}.$" - -gOtherText_DeleteOlderMove:: @ 842CCF8 - .string "{STR_VAR_1} is trying to learn\n{STR_VAR_2}.\pBut {STR_VAR_1} can’t learn more\nthan four moves.\pDelete an older move to make\nroom for {STR_VAR_2}?$" - -gOtherText_StopLearningMove:: @ 842CD65 - .string "Stop learning {STR_VAR_2}?$" - -gOtherText_ForgotMove123:: @ 842CD77 - .string "{PAUSE 32}1, {PAUSE 15}2 {PAUSE 15}...{PAUSE 15}...{PAUSE 15}...{PAUSE 15} {PLAY_SE 0x0038}Poof!\p$" - -gOtherText_ForgotOrDidNotLearnMove:: @ 842CDA3 - .string "{STR_VAR_1} forgot {STR_VAR_3}.\pAnd...\p{STR_VAR_1} learned {STR_VAR_2}.$" - .string "{STR_VAR_1} did not learn\n{STR_VAR_2}.$" - -gOtherText_GiveUpTeachingMove:: @ 842CDDC - .string "Give up trying to teach a new move\nto {STR_VAR_1}?$" - -gOtherText_WhichMoveToForget:: @ 842CE06 - .string "Which move should be forgotten?\p$" - -gSystemText_ClearAllSaveDataPrompt:: @ 842CE27 - .string "Clear all save data areas?$" - -gSystemText_ClearingData:: @ 842CE42 - .string "Clearing data...\nPlease wait.$" - -gContestText_AnnounceResults:: @ 842CE60 - .string "Announcing the results!$" - -gContestText_PreliminaryResults:: @ 842CE78 - .string "The preliminary results!$" - -gContestText_Round2Results:: @ 842CE91 - .string "Round 2 results!$" - -gContestText_PokeWon:: @ 842CEA2 - .string "{STR_VAR_1}’s {STR_VAR_2} won!$" - -gOtherText_LinkStandby:: @ 842CEAF - .string "Link standby...$" - -@ 842CEBF - .include "data/text/landmarks.inc" - -gOtherText_Terminator4:: @ 842D0E6 - .string "$" - -gOtherText_Nature:: @ 842D0E7 - .string " nature, $" - -gOtherText_Comma:: @ 842D0F1 - .string ",$" - -gOtherText_Met:: @ 842D0F3 - .string " (met).$" - -gOtherText_Egg2:: @ 842D0FB - .string " (EGG).$" - -gOtherText_ObtainedInTrade:: @ 842D103 - .string "obtained in a trade.$" - -gOtherText_FatefulEncounter:: @ 842D118 - .string "fateful encounter.$" - -gOtherText_Met2:: @ 842D12B - .string " (met).$" - -gOtherText_EggDayCare:: @ 842D133 - .string "An odd POKéMON EGG found\nby the DAY CARE couple.$" - -gOtherText_EggNicePlace:: @ 842D164 - .string "A peculiar POKéMON EGG\nobtained at the nice place.$" - -gOtherText_EggObtainedInTrade:: @ 842D197 - .string "A peculiar POKéMON EGG\nobtained in a trade.$" - -gOtherText_EggHotSprings:: @ 842D1C3 - .string "A POKéMON EGG obtained\nat the hot springs.$" - -gOtherText_LinkStandby2:: @ 842D1EE - .string "Link standby...$" - -gOtherText_YesNoAndPlayer:: @ 842D1FE - .string "{COLOR DARK_GREY}{HIGHLIGHT WHITE2}{SHADOW LIGHT_GREY}YES\nNO$" - .string "{HIGHLIGHT TRANSPARENT}PLAYER$" - .string "{HIGHLIGHT TRANSPARENT}$" - -gOtherText_HoennDex:: @ 842D21C - .string "HOENN$" - -gOtherText_NationalDex:: @ 842D222 - .string "NATIONAL$" - -gOtherText_DiplomaCertificationGameFreak:: @ 842D22B - .string "{HIGHLIGHT TRANSPARENT}Player: {CLEAR 0x10}{COLOR RED}{PLAYER}\n\n{COLOR DARK_GREY}{STR_VAR_1} POKéDEX\nThis document certifies\nthat you have successfully\ncompleted your POKéDEX.\n\n{CLEAR_TO 0x42}{COLOR RED}GAME FREAK$" - .string "{COLOR RED}{HIGHLIGHT TRANSPARENT}GAME FREAK$" - -gOtherText_PLink:: @ 842D2BC - .string "{STR_VAR_1}P LINK$" - -gOtherText_YesNoTerminating:: @ 842D2C5 - .string "YES\nNO$" - .string "Terminating.$" - -gOtherText_LinkNotFound:: @ 842D2D9 - .string "Link partner(s) not found.\nPlease try again.\p$" - -gOtherText_BlenderChooseBerry:: @ 842D307 - .string "Starting up the BERRY BLENDER.\pPlease select a BERRY from your BAG\nto put in the BERRY BLENDER.\p$" - -gOtherText_PokeBlockMade:: @ 842D368 - .string " was made!$" - -gOtherText_PressAToStart:: @ 842D373 - .string "Press the A Button to start.$" - -gOtherText_PleaseWait:: @ 842D390 - .string "Please wait a while.$" - -gOtherText_LinkStandby3:: @ 842D3A5 - .string "Link standby...$" - -gOtherText_BlendAnotherBerryPrompt:: @ 842D3B5 - .string "Would you like to blend another BERRY?$" - -gOtherText_OutOfBerries:: @ 842D3DC - .string "You’ve run out of BERRIES for\nblending in the BERRY BLENDER.\p$" - -gOtherText_CaseIsFull:: @ 842D41A - .string "Your {POKEBLOCK} CASE is full.\p$" - -gOtherText_NoBerriesForBlend:: @ 842D434 - .string " has no BERRIES to put in\nthe BERRY BLENDER.$" - -gOtherText_OtherCaseIsFull:: @ 842D461 - .string "’s {POKEBLOCK} CASE is full.\p$" - -gOtherText_ResultsOfBlending:: @ 842D479 - .string "RESULTS OF BLENDING$" - .string "BERRY USED$" - -gOtherText_Berry:: @ 842D498 - .string " BERRY$" - -gOtherText_RequiredTime:: @ 842D49F - .string "REQUIRED TIME$" - -gOtherText_Min:: @ 842D4AD - .string "MIN.$" - -gOtherText_Sec:: @ 842D4B2 - .string "SEC.$" - -gOtherText_MaxSpeed:: @ 842D4B7 - .string "MAXIMUM SPEED$" - -gOtherText_RPM:: @ 842D4C5 - .string "RPM$" - .string ".$" - -gOtherText_Ranking:: @ 842D4CB - .string "RANKING$" - -gOtherText_BlockLevelIs:: @ 842D4D3 - .string "The level is $" - -gOtherText_BlockFeelIs:: @ 842D4E1 - .string ", and the feel is $" - -gOtherText_Period:: @ 842D4F4 - .string ".$" - -gOtherText_Day:: @ 842D4F6 - .string "DAY$" - .string ":$" - -gOtherText_OK:: @ 842D4FC - .string "OK$" - -gOtherText_CorrectTimePrompt:: @ 842D4FF - .string "Is this the correct time?$" - - .align 2 -OutlineCursorTiles_00: - .incbin "graphics/interface/outline_cursor_00.4bpp" - - .align 2 -OutlineCursorTiles_01: - .incbin "graphics/interface/outline_cursor_01.4bpp" - - .align 2 -OutlineCursorTiles_02: - .incbin "graphics/interface/outline_cursor_02.4bpp" - - .align 2 -OutlineCursorTiles_03: - .incbin "graphics/interface/outline_cursor_03.4bpp" - - .align 2 -OutlineCursorTiles_04: - .incbin "graphics/interface/outline_cursor_04.4bpp" - - .align 2 -OutlineCursorTiles_05: - .incbin "graphics/interface/outline_cursor_05.4bpp" - - .align 2 -OutlineCursorTiles_06: - .incbin "graphics/interface/outline_cursor_06.4bpp" - - .align 2 -OutlineCursorTiles_07: - .incbin "graphics/interface/outline_cursor_07.4bpp" - - .align 2 -OutlineCursorTiles_08: - .incbin "graphics/interface/outline_cursor_08.4bpp" - - .align 2 -OutlineCursorTiles_09: - .incbin "graphics/interface/outline_cursor_09.4bpp" - - .align 2 -OutlineCursorTiles_10: - .incbin "graphics/interface/outline_cursor_10.4bpp" - - .align 2 -OutlineCursorTiles_11: - .incbin "graphics/interface/outline_cursor_11.4bpp" - - .align 2 -OutlineCursorTiles_12: - .incbin "graphics/interface/outline_cursor_12.4bpp" - - .align 2 -OutlineCursorTiles_13: - .incbin "graphics/interface/outline_cursor_13.4bpp" - - .align 2 -OutlineCursorTiles_14: - .incbin "graphics/interface/outline_cursor_14.4bpp" - - .align 2 -OutlineCursorTiles_15: - .incbin "graphics/interface/outline_cursor_15.4bpp" - - .align 2 -gOamData_842F11C:: @ 842F11C - .2byte 0x8000 - .2byte 0x0000 - .2byte 0x0000 - - .align 2 -gOamData_842F124:: @ 842F124 - .2byte 0x8800 - .2byte 0x0000 - .2byte 0x0000 - - .align 2 -gOamData_842F12C:: @ 842F12C - .2byte 0x8000 - .2byte 0x0000 - .2byte 0x0000 - - .align 2 -gSpriteAnim_842F134:: @ 842F134 - obj_image_anim_frame 0, 63 - obj_image_anim_end - - .align 2 -gSpriteAnimTable_842F13C:: @ 842F13C - .4byte gSpriteAnim_842F134 - - .align 2 -gUnknown_0842F140:: @ 842F140 - obj_tiles OutlineCursorTiles_00, 0x1C0, 0xFFF0 - obj_tiles OutlineCursorTiles_01, 0x1C0, 0xFFF0 - obj_tiles OutlineCursorTiles_02, 0x1C0, 0xFFF0 - obj_tiles OutlineCursorTiles_03, 0x1C0, 0xFFF0 - obj_tiles OutlineCursorTiles_04, 0x1C0, 0xFFF0 - obj_tiles OutlineCursorTiles_05, 0x1C0, 0xFFF0 - obj_tiles OutlineCursorTiles_06, 0x1C0, 0xFFF0 - obj_tiles OutlineCursorTiles_07, 0x1C0, 0xFFF0 - obj_tiles OutlineCursorTiles_08, 0x1C0, 0xFFF0 - obj_tiles OutlineCursorTiles_09, 0x1C0, 0xFFF0 - obj_tiles OutlineCursorTiles_10, 0x1C0, 0xFFF0 - obj_tiles OutlineCursorTiles_11, 0x1C0, 0xFFF0 - obj_tiles OutlineCursorTiles_12, 0x1C0, 0xFFF0 - obj_tiles OutlineCursorTiles_13, 0x1C0, 0xFFF0 - obj_tiles OutlineCursorTiles_14, 0x1C0, 0xFFF0 - obj_tiles OutlineCursorTiles_15, 0x1C0, 0xFFF0 - - .align 2 -gUnknown_0842F1C0:: @ 842F1C0 - obj_tiles OutlineCursorTiles_00, 0x1C0, 0xFFF1 - obj_tiles OutlineCursorTiles_01, 0x1C0, 0xFFF1 - obj_tiles OutlineCursorTiles_02, 0x1C0, 0xFFF1 - obj_tiles OutlineCursorTiles_03, 0x1C0, 0xFFF1 - obj_tiles OutlineCursorTiles_04, 0x1C0, 0xFFF1 - obj_tiles OutlineCursorTiles_05, 0x1C0, 0xFFF1 - obj_tiles OutlineCursorTiles_06, 0x1C0, 0xFFF1 - obj_tiles OutlineCursorTiles_07, 0x1C0, 0xFFF1 - obj_tiles OutlineCursorTiles_08, 0x1C0, 0xFFF1 - obj_tiles OutlineCursorTiles_09, 0x1C0, 0xFFF1 - obj_tiles OutlineCursorTiles_10, 0x1C0, 0xFFF1 - obj_tiles OutlineCursorTiles_11, 0x1C0, 0xFFF1 - obj_tiles OutlineCursorTiles_12, 0x1C0, 0xFFF1 - obj_tiles OutlineCursorTiles_13, 0x1C0, 0xFFF1 - obj_tiles OutlineCursorTiles_14, 0x1C0, 0xFFF1 - obj_tiles OutlineCursorTiles_15, 0x1C0, 0xFFF1 - - .align 2 -gUnknown_0842F240:: @ 842F240 - obj_pal 0x0203a360, 0xfff0 - - .align 2 -gUnknown_0842F248:: @ 842F248 - obj_pal 0x0203a360, 0xfff1 - - .align 2 -gSpriteTemplate_842F250:: @ 842F250 - spr_template 65520, 65520, gOamData_842F11C, gSpriteAnimTable_842F13C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_842F268:: @ 842F268 - spr_template 65520, 0xFFFF, gOamData_842F11C, gSpriteAnimTable_842F13C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_842F280:: @ 842F280 - spr_template 65520, 0xFFFF, gOamData_842F124, gSpriteAnimTable_842F13C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_842F298:: @ 842F298 - spr_template 65521, 65521, gOamData_842F12C, gSpriteAnimTable_842F13C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_842F2B0:: @ 842F2B0 - spr_template 65521, 0xFFFF, gOamData_842F12C, gSpriteAnimTable_842F13C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -Unknown_842F2C8: @ 842F2C8 - .incbin "baserom.gba", 0x0042f2c8, 0x10 -Unknown_842F2D8: @ 842F2D8 - .incbin "baserom.gba", 0x0042f2d8, 0x18 -Unknown_842F2F0: @ 842F2F0 - .incbin "baserom.gba", 0x0042f2f0, 0x20 -Unknown_842F310: @ 842F310 - .incbin "baserom.gba", 0x0042f310, 0x18 -Unknown_842F328: @ 842F328 - .incbin "baserom.gba", 0x0042f328, 0x18 -Unknown_842F340: @ 842F340 - .incbin "baserom.gba", 0x0042f340, 0x20 -Unknown_842F360: @ 842F360 - .incbin "baserom.gba", 0x0042f360, 0x20 -Unknown_842F380: @ 842F380 - .incbin "baserom.gba", 0x0042f380, 0x20 -Unknown_842F3A0: @ 842F3A0 - .incbin "baserom.gba", 0x0042f3a0, 0x20 -Unknown_842F3C0: @ 842F3C0 - .incbin "baserom.gba", 0x0042f3c0, 0x28 -Unknown_842F3E8: @ 842F3E8 - .incbin "baserom.gba", 0x0042f3e8, 0x28 -Unknown_842F410: @ 842F410 - .incbin "baserom.gba", 0x0042f410, 0x28 -Unknown_842F438: @ 842F438 - .incbin "baserom.gba", 0x0042f438, 0x28 -Unknown_842F460: @ 842F460 - .incbin "baserom.gba", 0x0042f460, 0x30 -Unknown_842F490: @ 842F490 - .incbin "baserom.gba", 0x0042f490, 0x30 -Unknown_842F4C0: @ 842F4C0 - .incbin "baserom.gba", 0x0042f4c0, 0x30 -Unknown_842F4F0: @ 842F4F0 - .incbin "baserom.gba", 0x0042f4f0, 0x30 -Unknown_842F520: @ 842F520 - .incbin "baserom.gba", 0x0042f520, 0x38 -Unknown_842F558: @ 842F558 - .incbin "baserom.gba", 0x0042f558, 0x18 - - .4byte Unknown_842F2C8 - .4byte Unknown_842F2C8 - .4byte Unknown_842F2D8 - .4byte Unknown_842F2F0 - .4byte Unknown_842F310 - .4byte Unknown_842F328 - .4byte Unknown_842F340 - .4byte Unknown_842F360 - .4byte Unknown_842F380 - .4byte Unknown_842F3A0 - .4byte Unknown_842F3C0 - .4byte Unknown_842F3E8 - .4byte Unknown_842F410 - .4byte Unknown_842F438 - .4byte Unknown_842F460 - .4byte Unknown_842F490 - .4byte Unknown_842F4C0 - .4byte Unknown_842F4F0 - .4byte Unknown_842F520 - - .align 2 -gUnknown_0842F5BC:: @ 842F5BC - .4byte Unknown_842F558 - - .align 2 -gSubspriteTables_842F5C0:: @ 842F5C0 - .4byte 1, gMenuCursorSubsprites - .4byte 1, gMenuCursorSubsprites - .4byte 2, gMenuCursorSubsprites - .4byte 3, gMenuCursorSubsprites - .4byte 4, gMenuCursorSubsprites - .4byte 5, gMenuCursorSubsprites - .4byte 6, gMenuCursorSubsprites - .4byte 7, gMenuCursorSubsprites - .4byte 8, gMenuCursorSubsprites - .4byte 9, gMenuCursorSubsprites - .4byte 10, gMenuCursorSubsprites - .4byte 11, gMenuCursorSubsprites - .4byte 12, gMenuCursorSubsprites - .4byte 13, gMenuCursorSubsprites - .4byte 14, gMenuCursorSubsprites - .4byte 15, gMenuCursorSubsprites - .4byte 1, gMenuCursorSubsprites - .4byte 17, gMenuCursorSubsprites - .4byte 18, gMenuCursorSubsprites - .4byte 19, gMenuCursorSubsprites - .4byte 20, gMenuCursorSubsprites - .4byte 21, gMenuCursorSubsprites - .4byte 22, gMenuCursorSubsprites - .4byte 23, gMenuCursorSubsprites - .4byte 24, gMenuCursorSubsprites - .4byte 25, gMenuCursorSubsprites - .4byte 26, gMenuCursorSubsprites - .4byte 27, gMenuCursorSubsprites - .4byte 28, gMenuCursorSubsprites - .4byte 29, gMenuCursorSubsprites - .4byte 30, gMenuCursorSubsprites - .4byte 31, gMenuCursorSubsprites - - .align 2 -gUnknown_0842F6C0:: @ 842F6C0 - .4byte 0x2, Unknown_842F2C8 - .4byte 0x2, Unknown_842F2C8 - .4byte 0x3, Unknown_842F2D8 - .4byte 0x4, Unknown_842F2F0 - .4byte 0x3, Unknown_842F310 - .4byte 0x3, Unknown_842F328 - .4byte 0x4, Unknown_842F340 - .4byte 0x4, Unknown_842F360 - .4byte 0x4, Unknown_842F380 - .4byte 0x4, Unknown_842F3A0 - .4byte 0x5, Unknown_842F3C0 - .4byte 0x5, Unknown_842F3E8 - .4byte 0x5, Unknown_842F410 - .4byte 0x5, Unknown_842F438 - .4byte 0x6, Unknown_842F460 - .4byte 0x6, Unknown_842F490 - .4byte 0x6, Unknown_842F4C0 - .4byte 0x6, Unknown_842F4F0 - .4byte 0x7, Unknown_842F520 - - .align 2 -gUnknown_0842F758:: @ 842F758 - .4byte 3, gMenuCursorSubsprites - .4byte 0, 2 - .4byte 0, 66 - .4byte 0, 105 - .4byte 0, 34 - - .align 2 -gUnknown_0842F780:: @ 842F780 - .4byte 0, 105 - - .align 2 -gUnknown_0842F788:: @ 842F788 - .4byte 0, 34 - - .align 2 -gUnknown_0842F790:: @ 842F790 - .4byte 0, 66 - -gOtherText_BerryObtainedDadHasIt:: @ 842F798 - .string "Obtained a {STR_VAR_2} BERRY!\nDad has it at PETALBURG GYM.$" - -gOtherText_BerryTransformed:: @ 842F7CA - .string "The {STR_VAR_1} BERRY transformed into\none {STR_VAR_2} BERRY.$" - -gOtherText_BerryAlreadyObtained:: @ 842F7F6 - .string "The {STR_VAR_1} BERRY has already been\nobtained.$" - -gOtherText_SpecialRibbonReceived:: @ 842F81E - .string "A special RIBBON was awarded to your\nparty POKéMON.$" - -gOtherText_DexUpgraded:: @ 842F852 - .string "The POKéDEX has been upgraded with\nthe NATIONAL MODE.$" - -gOtherText_RareWordAdded:: @ 842F888 - .string "A rare word has been added.$" - -gOtherText_PokeWasSentOver:: @ 842F8A4 - .string "{STR_VAR_1} was sent over!$" - -gOtherText_PartyIsFull:: @ 842F8B6 - .string "Your party is full.\n{STR_VAR_1} could not be sent over.$" - -gOtherText_NewTrainerInHoenn:: @ 842F8E5 - .string "A new TRAINER has arrived in HOENN.$" - .string "A new adversary has arrived in the\nBATTLE TOWER.$" - -gOtherText_DataCannotUseVersion:: @ 842F93A - .string "This data cannot be used in\nthis version.$" diff --git a/data/data_83760F0.s b/data/data_83760F0.s new file mode 100644 index 000000000..ed6711a09 --- /dev/null +++ b/data/data_83760F0.s @@ -0,0 +1,24837 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + + .align 2 +Unknown_83760F0: + .4byte little_step + .4byte little_step + .4byte little_step + .4byte little_step + .4byte little_step + .4byte little_step + .4byte little_step + .4byte little_step + .4byte little_step + .4byte little_step + .4byte little_step + .4byte little_step + .4byte little_step + .4byte little_step + .4byte little_step + .4byte little_step + + .align 2 +Unknown_8376130: + .4byte sub_806456C + .4byte sub_806456C + .4byte sub_806456C + .4byte sub_806456C + .4byte sub_806456C + .4byte sub_806456C + .4byte sub_806456C + .4byte sub_806456C + + .align 2 +Unknown_8376150: + .4byte sub_806456C + .4byte sub_8064590 + .4byte sub_8064590 + .4byte sub_806456C + .4byte sub_8064590 + .4byte sub_8064590 + + .align 2 +Unknown_8376168: + .4byte sub_80645B8 + .4byte sub_80645B8 + .4byte sub_80645B8 + .4byte sub_80645B8 + + .align 2 +Unknown_8376178: + .4byte sub_80645DC + .4byte sub_80645DC + + .align 2 +gUnknown_08376180:: @ 8376180 + .4byte Unknown_83760F0 + .4byte Unknown_8376130 + .4byte Unknown_8376150 + .4byte Unknown_8376168 + .4byte Unknown_8376178 + + .align 1 +gUnknown_08376194:: @ 8376194 + .2byte 16, 8, 6, 4, 2 +Unknown_837619E: + .byte -4, -6, -8, -10, -11, -12, -12, -12, -11, -10, -9, -8, -6, -4, 0, 0 +Unknown_83761AE: + .byte 0, -2, -3, -4, -5, -6, -6, -6, -5, -5, -4, -3, -2, 0, 0, 0 +Unknown_83761BE: + .byte -2, -4, -6, -8, -9, -10, -10, -10, -9, -8, -6, -5, -3, -2, 0, 0 + + .align 2 +gUnknown_083761D0:: @ 83761D0 + .4byte Unknown_837619E + .4byte Unknown_83761AE + .4byte Unknown_83761BE + + .align 1 +gUnknown_083761DC:: @ 83761DC + .2byte 0x10, 0x10, 0x20 + +gUnknown_083761E2:: @ 83761E2 + .byte 0, 0, 1 + + .align 1 +gUnknown_083761E6:: @ 83761E6 + .2byte 0x20, 0x20, 0x40 + +gUnknown_083761EC:: @ 83761EC + .byte 1, 1, 2 + + .align 2 +gUnknown_083761F0:: @ 83761F0 + .4byte gTextWindowFrame1_Gfx, gTextWindowFrame1_Pal + .4byte gTextWindowFrame2_Gfx, gTextWindowFrame2_Pal + .4byte gTextWindowFrame3_Gfx, gTextWindowFrame3_Pal + .4byte gTextWindowFrame4_Gfx, gTextWindowFrame4_Pal + .4byte gTextWindowFrame5_Gfx, gTextWindowFrame5_Pal + .4byte gTextWindowFrame6_Gfx, gTextWindowFrame6_Pal + .4byte gTextWindowFrame7_Gfx, gTextWindowFrame7_Pal + .4byte gTextWindowFrame8_Gfx, gTextWindowFrame8_Pal + .4byte gTextWindowFrame9_Gfx, gTextWindowFrame9_Pal + .4byte gTextWindowFrame10_Gfx, gTextWindowFrame10_Pal + .4byte gTextWindowFrame11_Gfx, gTextWindowFrame11_Pal + .4byte gTextWindowFrame12_Gfx, gTextWindowFrame12_Pal + .4byte gTextWindowFrame13_Gfx, gTextWindowFrame13_Pal + .4byte gTextWindowFrame14_Gfx, gTextWindowFrame14_Pal + .4byte gTextWindowFrame15_Gfx, gTextWindowFrame15_Pal + .4byte gTextWindowFrame16_Gfx, gTextWindowFrame16_Pal + .4byte gTextWindowFrame17_Gfx, gTextWindowFrame17_Pal + .4byte gTextWindowFrame18_Gfx, gTextWindowFrame18_Pal + .4byte gTextWindowFrame19_Gfx, gTextWindowFrame19_Pal + .4byte gTextWindowFrame20_Gfx, gTextWindowFrame20_Pal + + .align 1 +gMessageBoxTilemap:: @ 8376290 + .incbin "graphics/text_window/message_box_map.bin" + + .align 2 +gUnknown_083762D8:: @ 83762D8 + .4byte NULL + +gScriptConditionTable:: @ 83762DC + @ < = > + .byte 1, 0, 0 @ < + .byte 0, 1, 0 @ = + .byte 0, 0, 1 @ > + .byte 1, 1, 0 @ <= + .byte 0, 1, 1 @ >= + .byte 1, 0, 1 @ != + + .align 2 +gUnknown_083762F0:: @ 83762F0 + .4byte gStringVar1 + .4byte gStringVar2 + .4byte gStringVar3 + + .align 2 +gUnknown_083762FC:: @ 83762FC + .4byte 0x1, sub_806936C + .4byte 0x2, sub_8069378 + .4byte 0x3, sub_8069384 + .4byte 0x4, sub_8069390 + .4byte 0x5, sub_806939C + .4byte 0x6, sub_80693A8 + .4byte 0x7, sub_80693B4 + .4byte 0x8, sub_80693C0 + .4byte 0x9, sub_80693CC + .4byte 0xa, sub_80693D8 + .4byte 0xb, sub_80693E4 + .4byte 0x14, sub_80693F0 + .4byte 0x15, sub_80693FC + + .align 2 +gUnknown_08376364:: @ 8376364 + .4byte nullsub_51 + .4byte sub_8069F64 + .4byte sub_8069AA0 + .4byte sub_8069864 + .4byte sub_8069DD4 + .4byte EndTruckSequence + .4byte sub_80BCF1C + .4byte sub_806A07C + +gUnknown_08376384:: @ 8376384 + .incbin "baserom.gba", 0x00376384, 0x20 + +gUnknown_083763A4:: @ 83763A4 + .incbin "baserom.gba", 0x003763a4, 0x20 + +gUnknown_083763C4:: @ 83763C4 + .incbin "baserom.gba", 0x003763c4, 0x20 + +gUnknown_083763E4:: @ 83763E4 + .incbin "baserom.gba", 0x003763e4, 0x30 + +gUnknown_08376414:: @ 8376414 + .space 4 + +gUnknown_08376418:: @ 8376418 + .incbin "baserom.gba", 0x00376418, 0x44 + + .align 2 +gOamData_837645C:: @ 837645C + .2byte 0x0000 + .2byte 0x0000 + .2byte 0x0000 + + .align 2 +gSpriteImage_8376464:: @ 8376464 + .incbin "graphics/unknown_sprites/83764AC/0.4bpp" + + .align 2 +gSpriteImage_8376484:: @ 8376484 + .incbin "graphics/unknown_sprites/83764AC/1.4bpp" + + .align 2 +Palette_3764A4: @ 83764A4 + .incbin "baserom.gba", 0x3764a4, 0x8 + + .align 2 +gSpriteImageTable_83764AC:: @ 83764AC + obj_frame_tiles gSpriteImage_8376464, 0x20 + obj_frame_tiles gSpriteImage_8376484, 0x20 + + .align 2 +gUnknown_083764BC:: @ 83764BC + obj_pal Palette_3764A4, 0x1000 + + .align 2 +gSpriteAnim_83764C4:: @ 83764C4 + obj_image_anim_frame 0, 30 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnim_83764CC:: @ 83764CC + obj_image_anim_frame 0, 30, OBJ_IMAGE_ANIM_V_FLIP + obj_image_anim_jump 0 + + .align 2 +gSpriteAnim_83764D4:: @ 83764D4 + obj_image_anim_frame 1, 30 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnimTable_83764DC:: @ 83764DC + .4byte gSpriteAnim_83764C4 + .4byte gSpriteAnim_83764CC + .4byte gSpriteAnim_83764D4 + + .align 2 +gSpriteTemplate_83764E8:: @ 83764E8 + spr_template 0xFFFF, 0x1000, gOamData_837645C, gSpriteAnimTable_83764DC, gSpriteImageTable_83764AC, gDummySpriteAffineAnimTable, SpriteCallbackDummy + +gUnknown_08376500:: @ 8376500 + .incbin "baserom.gba", 0x00376500, 0x4 + + .align 1 +gUnknown_08376504:: @ 8376504 + .2byte MOVE_FOCUS_PUNCH + .2byte MOVE_DRAGON_CLAW + .2byte MOVE_WATER_PULSE + .2byte MOVE_CALM_MIND + .2byte MOVE_ROAR + .2byte MOVE_TOXIC + .2byte MOVE_HAIL + .2byte MOVE_BULK_UP + .2byte MOVE_BULLET_SEED + .2byte MOVE_HIDDEN_POWER + .2byte MOVE_SUNNY_DAY + .2byte MOVE_TAUNT + .2byte MOVE_ICE_BEAM + .2byte MOVE_BLIZZARD + .2byte MOVE_HYPER_BEAM + .2byte MOVE_LIGHT_SCREEN + .2byte MOVE_PROTECT + .2byte MOVE_RAIN_DANCE + .2byte MOVE_GIGA_DRAIN + .2byte MOVE_SAFEGUARD + .2byte MOVE_FRUSTRATION + .2byte MOVE_SOLAR_BEAM + .2byte MOVE_IRON_TAIL + .2byte MOVE_THUNDERBOLT + .2byte MOVE_THUNDER + .2byte MOVE_EARTHQUAKE + .2byte MOVE_RETURN + .2byte MOVE_DIG + .2byte MOVE_PSYCHIC + .2byte MOVE_SHADOW_BALL + .2byte MOVE_BRICK_BREAK + .2byte MOVE_DOUBLE_TEAM + .2byte MOVE_REFLECT + .2byte MOVE_SHOCK_WAVE + .2byte MOVE_FLAMETHROWER + .2byte MOVE_SLUDGE_BOMB + .2byte MOVE_SANDSTORM + .2byte MOVE_FIRE_BLAST + .2byte MOVE_ROCK_TOMB + .2byte MOVE_AERIAL_ACE + .2byte MOVE_TORMENT + .2byte MOVE_FACADE + .2byte MOVE_SECRET_POWER + .2byte MOVE_REST + .2byte MOVE_ATTRACT + .2byte MOVE_THIEF + .2byte MOVE_STEEL_WING + .2byte MOVE_SKILL_SWAP + .2byte MOVE_SNATCH + .2byte MOVE_OVERHEAT + .2byte MOVE_CUT + .2byte MOVE_FLY + .2byte MOVE_SURF + .2byte MOVE_STRENGTH + .2byte MOVE_FLASH + .2byte MOVE_ROCK_SMASH + .2byte MOVE_WATERFALL + .2byte MOVE_DIVE + + .4byte gTileBuffer @ unreferenced? + +MenuGfx_HoldIcons: + .incbin "graphics/interface/hold_icons.4bpp" +MenuPal_HoldIcons: + .incbin "graphics/interface/hold_icons.gbapal" + + .align 2 +gUnknown_083765DC:: @ 83765DC + obj_tiles MenuGfx_HoldIcons, 64, 0xd750 + + .align 2 +gUnknown_083765E4:: @ 83765E4 + obj_pal MenuPal_HoldIcons, 0xd750 + + .align 2 +gOamData_83765EC:: @ 83765EC + .2byte 0x0000 + .2byte 0x0000 + .2byte 0x0400 + + .align 2 +gSpriteAnim_83765F4:: @ 83765F4 + obj_image_anim_frame 0, 1 + obj_image_anim_end + + .align 2 +gSpriteAnim_83765FC:: @ 83765FC + obj_image_anim_frame 1, 1 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_8376604:: @ 8376604 + .4byte gSpriteAnim_83765F4 + .4byte gSpriteAnim_83765FC + + .align 2 +gSpriteTemplate_837660C:: @ 837660C + spr_template 55120, 55120, gOamData_83765EC, gSpriteAnimTable_8376604, NULL, gDummySpriteAffineAnimTable, sub_806DD7C + + .align 2 +gUnknown_08376624:: @ 8376624 + .4byte OtherText_ChoosePoke + .4byte OtherText_MovePokeTo + .4byte OtherText_TeachWhat + .4byte OtherText_UseWhat + .4byte OtherText_GiveWhat + .4byte OtherText_DoWhat + .4byte OtherText_NothingToCut + .4byte OtherText_CantSurf + .4byte OtherText_AlreadySurfing + .4byte OtherText_CantUseThatHere + .4byte OtherText_RestoreWhatMove + .4byte OtherText_BoostPP + .4byte gOtherText_CancelWithTerminator + .4byte OtherText_DoWhatWithItem + .4byte OtherText_NoPokeForBattle + .4byte OtherText_ChoosePoke2 + .4byte OtherText_NotEnoughHP + .4byte OtherText_ThreePokeNeeded + .4byte OtherText_PokeCantBeSame + .4byte OtherText_NoIdenticalHoldItems + .4byte OtherText_TeachWhichPoke + + .align 2 +gUnknown_08376678:: @ 8376678 + .byte 16, 40, 0, 0 + .byte 104, 18, 0, 0 + .byte 104, 42, 0, 0 + .byte 104, 66, 0, 0 + .byte 104, 90, 0, 0 + .byte 104, 114, 0, 0 + .byte 16, 24, 0, 0 + .byte 16, 80, 0, 0 + .byte 104, 18, 0, 0 + .byte 104, 50, 0, 0 + .byte 104, 82, 0, 0 + .byte 104, 114, 0, 0 + .byte 16, 24, 0, 0 + .byte 16, 80, 0, 0 + .byte 104, 26, 0, 0 + .byte 104, 50, 0, 0 + .byte 104, 82, 0, 0 + .byte 104, 106, 0, 0 + .byte 16, 24, 0, 0 + .byte 104, 26, 0, 0 + .byte 104, 50, 0, 0 + .byte 16, 80, 0, 0 + .byte 104, 82, 0, 0 + .byte 104, 106, 0, 0 + .byte 5, 4, 0, 0 + .byte 16, 1, 0, 0 + .byte 16, 4, 0, 0 + .byte 16, 7, 0, 0 + .byte 16, 10, 0, 0 + .byte 16, 13, 0, 0 + .byte 5, 2, 0, 0 + .byte 5, 9, 0, 0 + .byte 16, 1, 0, 0 + .byte 16, 5, 0, 0 + .byte 16, 9, 0, 0 + .byte 16, 13, 0, 0 + .byte 5, 2, 0, 0 + .byte 5, 9, 0, 0 + .byte 16, 2, 0, 0 + .byte 16, 5, 0, 0 + .byte 16, 9, 0, 0 + .byte 16, 12, 0, 0 + .byte 5, 2, 0, 0 + .byte 16, 2, 0, 0 + .byte 16, 5, 0, 0 + .byte 5, 9, 0, 0 + .byte 16, 9, 0, 0 + .byte 16, 12, 0, 0 + + .align 2 +gUnknown_08376738:: @ 8376738 + .byte 6, 5, 0, 0 + .byte 17, 2, 0, 0 + .byte 17, 5, 0, 0 + .byte 17, 8, 0, 0 + .byte 17, 11, 0, 0 + .byte 17, 14, 0, 0 + .byte 6, 3, 0, 0 + .byte 6, 10, 0, 0 + .byte 17, 2, 0, 0 + .byte 17, 6, 0, 0 + .byte 17, 10, 0, 0 + .byte 17, 14, 0, 0 + .byte 6, 3, 0, 0 + .byte 6, 10, 0, 0 + .byte 17, 3, 0, 0 + .byte 17, 6, 0, 0 + .byte 17, 10, 0, 0 + .byte 17, 13, 0, 0 + .byte 6, 3, 0, 0 + .byte 17, 3, 0, 0 + .byte 17, 6, 0, 0 + .byte 6, 10, 0, 0 + .byte 17, 10, 0, 0 + .byte 17, 13, 0, 0 + .byte 3, 7, 0, 0 + .byte 22, 2, 0, 0 + .byte 22, 5, 0, 0 + .byte 22, 8, 0, 0 + .byte 22, 11, 0, 0 + .byte 22, 14, 0, 0 + .byte 3, 5, 0, 0 + .byte 3, 12, 0, 0 + .byte 22, 2, 0, 0 + .byte 22, 6, 0, 0 + .byte 22, 10, 0, 0 + .byte 22, 14, 0, 0 + .byte 3, 5, 0, 0 + .byte 3, 12, 0, 0 + .byte 22, 3, 0, 0 + .byte 22, 6, 0, 0 + .byte 22, 10, 0, 0 + .byte 22, 13, 0, 0 + .byte 3, 5, 0, 0 + .byte 22, 3, 0, 0 + .byte 22, 6, 0, 0 + .byte 3, 12, 0, 0 + .byte 22, 10, 0, 0 + .byte 22, 13, 0, 0 + .byte 7, 7, 0, 0 + .byte 26, 2, 0, 0 + .byte 26, 5, 0, 0 + .byte 26, 8, 0, 0 + .byte 26, 11, 0, 0 + .byte 26, 14, 0, 0 + .byte 7, 5, 0, 0 + .byte 7, 12, 0, 0 + .byte 26, 2, 0, 0 + .byte 26, 6, 0, 0 + .byte 26, 10, 0, 0 + .byte 26, 14, 0, 0 + .byte 7, 5, 0, 0 + .byte 7, 12, 0, 0 + .byte 26, 3, 0, 0 + .byte 26, 6, 0, 0 + .byte 26, 10, 0, 0 + .byte 26, 13, 0, 0 + .byte 7, 5, 0, 0 + .byte 26, 3, 0, 0 + .byte 26, 6, 0, 0 + .byte 7, 12, 0, 0 + .byte 26, 10, 0, 0 + .byte 26, 13, 0, 0 + + .align 2 +gUnknown_08376858:: @ 8376858 + .4byte BG_VRAM + 0xF1C8 + .4byte BG_VRAM + 0xF0AE + .4byte BG_VRAM + 0xF16E + .4byte BG_VRAM + 0xF22E + .4byte BG_VRAM + 0xF2EE + .4byte BG_VRAM + 0xF3AE + .4byte BG_VRAM + 0xF148 + .4byte BG_VRAM + 0xF308 + .4byte BG_VRAM + 0xF0AE + .4byte BG_VRAM + 0xF1AE + .4byte BG_VRAM + 0xF2AE + .4byte BG_VRAM + 0xF3AE + .4byte BG_VRAM + 0xF148 + .4byte BG_VRAM + 0xF308 + .4byte BG_VRAM + 0xF0EE + .4byte BG_VRAM + 0xF1AE + .4byte BG_VRAM + 0xF2AE + .4byte BG_VRAM + 0xF36E + .4byte BG_VRAM + 0xF148 + .4byte BG_VRAM + 0xF0EE + .4byte BG_VRAM + 0xF1AE + .4byte BG_VRAM + 0xF308 + .4byte BG_VRAM + 0xF2AE + .4byte BG_VRAM + 0xF36E + + .align 2 +gUnknown_083768B8:: @ 83768B8 + .byte 8, 44, 0, 0 + .byte 92, 22, 0, 0 + .byte 92, 46, 0, 0 + .byte 92, 70, 0, 0 + .byte 92, 94, 0, 0 + .byte 92, 118, 0, 0 + .byte 196, 136, 0, 0 + .byte 196, 152, 0, 0 + .byte 8, 28, 0, 0 + .byte 8, 84, 0, 0 + .byte 92, 22, 0, 0 + .byte 92, 54, 0, 0 + .byte 92, 86, 0, 0 + .byte 92, 118, 0, 0 + .byte 196, 136, 0, 0 + .byte 196, 152, 0, 0 + .byte 8, 28, 0, 0 + .byte 8, 84, 0, 0 + .byte 92, 30, 0, 0 + .byte 92, 54, 0, 0 + .byte 92, 86, 0, 0 + .byte 92, 110, 0, 0 + .byte 196, 136, 0, 0 + .byte 196, 152, 0, 0 + + .align 2 +gUnknown_08376918:: @ 8376918 + .4byte BG_VRAM + 0xF1C6 + .4byte BG_VRAM + 0xF06C + .4byte BG_VRAM + 0xF12C + .4byte BG_VRAM + 0xF1EC + .4byte BG_VRAM + 0xF2AC + .4byte BG_VRAM + 0xF36C + .4byte BG_VRAM + 0xF148 + .4byte BG_VRAM + 0xF308 + .4byte BG_VRAM + 0xF0AE + .4byte BG_VRAM + 0xF1AE + .4byte BG_VRAM + 0xF2AE + .4byte BG_VRAM + 0xF3AE + + .align 2 +gUnknown_08376948:: @ 8376948 + .byte 2, 4, 10, 9 + .byte 16, 1, 29, 3 + .byte 16, 4, 29, 6 + .byte 16, 7, 29, 9 + .byte 16, 10, 29, 12 + .byte 16, 13, 29, 15 + .byte 2, 2, 10, 7 + .byte 2, 9, 10, 14 + .byte 16, 1, 29, 3 + .byte 16, 5, 29, 7 + .byte 16, 9, 29, 11 + .byte 16, 13, 29, 15 + + .align 2 +gUnknown_08376978:: @ 8376978 + .byte 2, 7, 10, 9 + .byte 21, 1, 29, 3 + .byte 21, 4, 29, 6 + .byte 21, 7, 29, 9 + .byte 21, 10, 29, 12 + .byte 21, 13, 29, 15 + .byte 2, 2, 10, 7 + .byte 2, 9, 10, 14 + .byte 16, 1, 29, 3 + .byte 16, 5, 29, 7 + .byte 16, 9, 29, 11 + .byte 16, 13, 29, 15 + + .align 2 +gUnknown_083769A8:: @ 83769A8 + .byte 0, 3 + .byte 11, 1 + .byte 11, 4 + .byte 11, 7 + .byte 11, 10 + .byte 11, 13 + .byte 0, 1 + .byte 0, 8 + .byte 11, 1 + .byte 11, 5 + .byte 11, 9 + .byte 11, 13 + + .align 2 +gUnknown_083769C0:: @ 83769C0 + .byte 0, 1 + .byte 0, 8 + .byte 11, 2 + .byte 11, 5 + .byte 11, 9 + .byte 11, 12 + .byte 0, 1 + .byte 0, 8 + .byte 11, 2 + .byte 11, 5 + .byte 11, 9 + .byte 11, 12 + +gUnknown_083769D8:: @ 83769D8 + .byte 0x24,0x25,0x25,0x25,0x25,0x25,0x25,0x25,0x25,0x25,0x27 + .byte 0x34,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x37 + .byte 0x34,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x37 + .byte 0x34,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x35,0x37 + .byte 0x44,0x45,0x45,0x45,0x45,0x45,0x45,0x45,0x45,0x45,0x47 + .byte 0x44,0x45,0x45,0x45,0x45,0x45,0x45,0x45,0x45,0x45,0x47 + .byte 0x54,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x57 + +gUnknown_08376A25:: @ 8376A25 + .byte 0x50,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x51,0x53 + .byte 0x60,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x61,0x63 + .byte 0x70,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x71,0x73 + +gUnknown_08376A5E:: @ 8376A5E + .byte 0x20,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x21,0x23 + .byte 0x30,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x31,0x33 + .byte 0x40,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x41,0x43 + +@ unknown, unreferenced data + .byte 0x0C + .byte 0x0D + .byte 0x0E + .byte 0x0F + .byte 0x00 + .byte 0x01 + .byte 0x02 + .byte 0x03 + .byte 0x04 + .byte 0x05 + .byte 0x0F + .byte 0x10 + .byte 0x11 + .byte 0x12 + .byte 0x13 + .byte 0x14 + .byte 0x15 + .byte 0x0F + .byte 0x06 + .byte 0x05 + .byte 0x01 + .byte 0x07 + .byte 0x08 + .byte 0x09 + .byte 0x0F + .byte 0x16 + .byte 0x15 + .byte 0x11 + .byte 0x17 + .byte 0x18 + .byte 0x19 + .byte 0x0F + .byte 0x09 + .byte 0x0A + .byte 0x0B + .byte 0x05 + .byte 0x0C + .byte 0x0F + .byte 0x0F + .byte 0x19 + .byte 0x1A + .byte 0x1B + .byte 0x15 + .byte 0x1C + .byte 0x0F + .byte 0x0F + .byte 0x0D + .byte 0x0B + .byte 0x05 + .byte 0x0C + .byte 0x0F + .byte 0x0F + .byte 0x0F + .byte 0x1D + .byte 0x1B + .byte 0x15 + .byte 0x1C + .byte 0x0F + .byte 0x0F + .byte 0x0F + .byte 0x06 + .byte 0x05 + .byte 0x0B + .byte 0x05 + .byte 0x0C + .byte 0x0F + .byte 0x0F + .byte 0x16 + .byte 0x15 + .byte 0x1B + .byte 0x15 + .byte 0x1C + .byte 0x0F + .byte 0x0F + .byte 0x0F + .byte 0x0F + .byte 0x20 + .byte 0x0C + .byte 0x09 + .byte 0x0F + .byte 0x0F + .byte 0x0F + .byte 0x1F + .byte 0x30 + .byte 0x1C + .byte 0x19 + .byte 0x0F + .byte 0x0F + .byte 0x0F + .byte 0x25 + .byte 0x0F + .byte 0x22 + .byte 0x24 + .byte 0x0F + .byte 0x0F + .byte 0x0F + .byte 0x35 + .byte 0x41 + .byte 0x32 + .byte 0x34 + .byte 0x0F + .byte 0x0F + .byte 0x0F + .byte 0x26 + .byte 0x0F + .byte 0x23 + .byte 0x0E + .byte 0x0F + .byte 0x0F + .byte 0x0F + .byte 0x36 + .byte 0x43 + .byte 0x33 + .byte 0x1E + .byte 0x0F + .byte 0x0F + .byte 0x27 + .byte 0x28 + .byte 0x29 + .byte 0x03 + .byte 0x2A + .byte 0x0F + .byte 0x0F + .byte 0x37 + .byte 0x38 + .byte 0x39 + .byte 0x13 + .byte 0x3A + .byte 0x0F + .byte 0x0F + .byte 0x27 + .byte 0x28 + .byte 0x29 + .byte 0x03 + .byte 0x04 + .byte 0x05 + .byte 0x0F + .byte 0x37 + .byte 0x38 + .byte 0x39 + .byte 0x13 + .byte 0x14 + .byte 0x15 + .byte 0x0F + .byte 0x2B + .byte 0x2C + .byte 0x02 + .byte 0x28 + .byte 0x29 + .byte 0x2D + .byte 0x21 + .byte 0x3B + .byte 0x3C + .byte 0x12 + .byte 0x38 + .byte 0x39 + .byte 0x3D + .byte 0x31 + .byte 0x2B + .byte 0x2C + .byte 0x02 + .byte 0x28 + .byte 0x29 + .byte 0x08 + .byte 0x09 + .byte 0x3B + .byte 0x3C + .byte 0x12 + .byte 0x38 + .byte 0x39 + .byte 0x18 + .byte 0x19 + .byte 0x2E + .byte 0x2F + .byte 0x2B + .byte 0x2C + .byte 0x02 + .byte 0x27 + .byte 0x2D + .byte 0x3E + .byte 0x3F + .byte 0x3B + .byte 0x3C + .byte 0x12 + .byte 0x45 + .byte 0x3D + + .align 2 +gUnknown_08376B54:: @ 8376B54 + .4byte ether_effect_related_2 + .4byte sub_80704F0 + + .align 1 +Unknown_08376B5C: + .2byte 0x4000, 0x4018, 0xF400 + .2byte 0x4000, 0x4038, 0xF404 + .2byte 0x4008, 0x4018, 0xF408 + .2byte 0x4008, 0x4038, 0xF40C + .2byte 0x4010, 0x4020, 0xF410 + .2byte 0x4020, 0x4025, 0xF418 + .2byte 0x4020, 0x4045, 0xF41C + .2byte -1 + + .align 1 +Unknown_08376B88: + .2byte 0x4000, 0x4018, 0xF400 + .2byte 0x4000, 0x4038, 0xF404 + .2byte 0x4008, 0x4018, 0xF408 + .2byte 0x4008, 0x4038, 0xF40C + .2byte 0x4010, 0x4020, 0xF410 + .2byte 0x4010, 0x4065, 0xF418 + .2byte 0x4010, 0x4085, 0xF41C + .2byte -1 + + .align 2 +gUnknown_08376BB4:: @ 8376BB4 + .byte 0x1, 0x4 + .space 2 + .4byte Unknown_08376B5C + + .byte 0xC, 0x1 + .space 2 + .4byte Unknown_08376B88 + + .byte 0xC, 0x4 + .space 2 + .4byte Unknown_08376B88 + + .byte 0xC, 0x7 + .space 2 + .4byte Unknown_08376B88 + + .byte 0xC, 0xA + .space 2 + .4byte Unknown_08376B88 + + .byte 0xC, 0xD + .space 2 + .4byte Unknown_08376B88 + + .byte 0x1, 0x2 + .space 2 + .4byte Unknown_08376B5C + + .byte 0x1, 0x9 + .space 2 + .4byte Unknown_08376B5C + + .byte 0xC, 0x1 + .space 2 + .4byte Unknown_08376B88 + + .byte 0xC, 0x5 + .space 2 + .4byte Unknown_08376B88 + + .byte 0xC, 0x9 + .space 2 + .4byte Unknown_08376B88 + + .byte 0xC, 0xD + .space 2 + .4byte Unknown_08376B88 + + .byte 0x1, 0x2 + .space 2 + .4byte Unknown_08376B5C + + .byte 0x1, 0x9 + .space 2 + .4byte Unknown_08376B5C + + .byte 0xC, 0x2 + .space 2 + .4byte Unknown_08376B88 + + .byte 0xC, 0x5 + .space 2 + .4byte Unknown_08376B88 + + .byte 0xC, 0x9 + .space 2 + .4byte Unknown_08376B88 + + .byte 0xC, 0xC + .space 2 + .4byte Unknown_08376B88 + + .byte 0x1, 0x2 + .space 2 + .4byte Unknown_08376B5C + + .byte 0xC, 0x2 + .space 2 + .4byte Unknown_08376B88 + + .byte 0xC, 0x5 + .space 2 + .4byte Unknown_08376B88 + + .byte 0x1, 0x9 + .space 2 + .4byte Unknown_08376B5C + + .byte 0xC, 0x9 + .space 2 + .4byte Unknown_08376B88 + + .byte 0xC, 0xC + .space 2 + .4byte Unknown_08376B88 + + .align 2 +gUnknown_08376C74:: @ 8376C74 + .4byte sub_8089CD4, sub_806AFD0, 0 + .4byte sub_8095118, sub_8094E58, 0 + .4byte sub_80F9C6C, sub_80F9ACC, 0 + .4byte sub_80F9C6C, sub_806AFD0, 0 + .4byte sub_81222B0, sub_8121E78, 0 + .4byte sub_8122A48, sub_8122854, 0xFF + .4byte sub_8122E0C, sub_806AFD0, 0x0F + .4byte sub_80F9E64, sub_80F9CE8, 0 + + .align 2 +gUnknown_08376CD4:: @ 8376CD4 + .2byte 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F + .2byte 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F + + .align 2 +gUnknown_08376CEC:: @ 8376CEC + .2byte 0x2A, 0x0B, 0x0C, 0x0D, 0x0E, 0x2F + .2byte 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x1F + + .align 2 +gUnknown_08376D04:: @ 8376D04 + .4byte gOtherText_HP + .4byte gOtherText_Attack + .4byte gOtherText_Defense + .4byte gOtherText_SpAtk + .4byte gOtherText_SpDef + .4byte gOtherText_Speed + +gUnknown_08376D1C:: @ 8376D1C + .byte 0x3A @ HP + .byte 0x3B @ Attack + .byte 0x3C @ Defense + .byte 0x3E @ Sp. Attack + .byte 0x3F @ Sp. Defense + .byte 0x3D @ Speed + + .align 2 +gStartMenuItems:: @ 8376D24 + .4byte SystemText_Pokedex, StartMenu_PokedexCallback + .4byte SystemText_Pokemon, StartMenu_PokemonCallback + .4byte SystemText_BAG, StartMenu_BagCallback + .4byte SystemText_Pokenav, StartMenu_PokenavCallback + .4byte SystemText_Player, StartMenu_PlayerCallback + .4byte SystemText_Save, StartMenu_SaveCallback + .4byte SystemText_Option, StartMenu_OptionCallback + .4byte SystemText_Exit, StartMenu_ExitCallback + .4byte SystemText_Retire, StartMenu_RetireCallback + .4byte SystemText_Player, StartMenu_PlayerLinkCallback + + .align 2 +gUnknown_08376D74:: @ 8376D74 + .4byte OtherText_Yes, 0 + .4byte OtherText_No, 0 + + .align 2 +TilesetAnimTiles_General_0_1: @ 8376D84 + .incbin "data/tilesets/primary/general/anim/0/1.4bpp" + + .align 2 +TilesetAnimTiles_General_0_0: @ 8376E04 + .incbin "data/tilesets/primary/general/anim/0/0.4bpp" + + .align 2 +TilesetAnimTiles_General_0_2: @ 8376E84 + .incbin "data/tilesets/primary/general/anim/0/2.4bpp" + + .space 32 + + .align 2 +gTilesetAnimTable_General_0:: @ 8376F24 + .4byte TilesetAnimTiles_General_0_0 + .4byte TilesetAnimTiles_General_0_1 + .4byte TilesetAnimTiles_General_0_0 + .4byte TilesetAnimTiles_General_0_2 + + .align 2 +TilesetAnimTiles_General_1_0: @ 8376F34 + .incbin "data/tilesets/primary/general/anim/1/0.4bpp" + + .align 2 +TilesetAnimTiles_General_1_1: @ 83772F4 + .incbin "data/tilesets/primary/general/anim/1/1.4bpp" + + .align 2 +TilesetAnimTiles_General_1_2: @ 83776B4 + .incbin "data/tilesets/primary/general/anim/1/2.4bpp" + + .align 2 +TilesetAnimTiles_General_1_3: @ 8377A74 + .incbin "data/tilesets/primary/general/anim/1/3.4bpp" + + .align 2 +TilesetAnimTiles_General_1_4: @ 8377E34 + .incbin "data/tilesets/primary/general/anim/1/4.4bpp" + + .align 2 +TilesetAnimTiles_General_1_5: @ 83781F4 + .incbin "data/tilesets/primary/general/anim/1/5.4bpp" + + .align 2 +TilesetAnimTiles_General_1_6: @ 83785B4 + .incbin "data/tilesets/primary/general/anim/1/6.4bpp" + + .align 2 +TilesetAnimTiles_General_1_7: @ 8378974 + .incbin "data/tilesets/primary/general/anim/1/7.4bpp" + + .align 2 +gTilesetAnimTable_General_1:: @ 8378D34 + .4byte TilesetAnimTiles_General_1_0 + .4byte TilesetAnimTiles_General_1_1 + .4byte TilesetAnimTiles_General_1_2 + .4byte TilesetAnimTiles_General_1_3 + .4byte TilesetAnimTiles_General_1_4 + .4byte TilesetAnimTiles_General_1_5 + .4byte TilesetAnimTiles_General_1_6 + .4byte TilesetAnimTiles_General_1_7 + + .align 2 +TilesetAnimTiles_General_2_0: @ 8378D54 + .incbin "data/tilesets/primary/general/anim/2/0.4bpp" + + .align 2 +TilesetAnimTiles_General_2_1: @ 8378E94 + .incbin "data/tilesets/primary/general/anim/2/1.4bpp" + + .align 2 +TilesetAnimTiles_General_2_2: @ 8378FD4 + .incbin "data/tilesets/primary/general/anim/2/2.4bpp" + + .align 2 +TilesetAnimTiles_General_2_3: @ 8379114 + .incbin "data/tilesets/primary/general/anim/2/3.4bpp" + + .align 2 +TilesetAnimTiles_General_2_4: @ 8379254 + .incbin "data/tilesets/primary/general/anim/2/4.4bpp" + + .align 2 +TilesetAnimTiles_General_2_5: @ 8379394 + .incbin "data/tilesets/primary/general/anim/2/5.4bpp" + + .align 2 +TilesetAnimTiles_General_2_6: @ 83794D4 + .incbin "data/tilesets/primary/general/anim/2/6.4bpp" + + .align 2 +gTilesetAnimTable_General_2:: @ 8379614 + .4byte TilesetAnimTiles_General_2_0 + .4byte TilesetAnimTiles_General_2_1 + .4byte TilesetAnimTiles_General_2_2 + .4byte TilesetAnimTiles_General_2_3 + .4byte TilesetAnimTiles_General_2_4 + .4byte TilesetAnimTiles_General_2_5 + .4byte TilesetAnimTiles_General_2_6 + .4byte TilesetAnimTiles_General_2_0 + + .align 2 +TilesetAnimTiles_General_3_0: @ 8379634 + .incbin "data/tilesets/primary/general/anim/3/0.4bpp" + + .align 2 +TilesetAnimTiles_General_3_1: @ 83796F4 + .incbin "data/tilesets/primary/general/anim/3/1.4bpp" + + .align 2 +TilesetAnimTiles_General_3_2: @ 83797B4 + .incbin "data/tilesets/primary/general/anim/3/2.4bpp" + + .align 2 +TilesetAnimTiles_General_3_3: @ 8379874 + .incbin "data/tilesets/primary/general/anim/3/3.4bpp" + + .align 2 +gTilesetAnimTable_General_3:: @ 8379934 + .4byte TilesetAnimTiles_General_3_0 + .4byte TilesetAnimTiles_General_3_1 + .4byte TilesetAnimTiles_General_3_2 + .4byte TilesetAnimTiles_General_3_3 + + .align 2 +TilesetAnimTiles_General_4_0: @ 8379944 + .incbin "data/tilesets/primary/general/anim/4/0.4bpp" + + .align 2 +TilesetAnimTiles_General_4_1: @ 8379A84 + .incbin "data/tilesets/primary/general/anim/4/1.4bpp" + + .align 2 +TilesetAnimTiles_General_4_2: @ 8379BC4 + .incbin "data/tilesets/primary/general/anim/4/2.4bpp" + + .align 2 +TilesetAnimTiles_General_4_3: @ 8379D04 + .incbin "data/tilesets/primary/general/anim/4/3.4bpp" + + .align 2 +gTilesetAnimTable_General_4:: @ 8379E44 + .4byte TilesetAnimTiles_General_4_0 + .4byte TilesetAnimTiles_General_4_1 + .4byte TilesetAnimTiles_General_4_2 + .4byte TilesetAnimTiles_General_4_3 + + .align 2 +TilesetAnimTiles_Lavaridge_0: @ 8379E54 + .incbin "data/tilesets/secondary/lavaridge/anim/0.4bpp" + + .align 2 +TilesetAnimTiles_Lavaridge_1: @ 8379ED4 + .incbin "data/tilesets/secondary/lavaridge/anim/1.4bpp" + + .align 2 +TilesetAnimTiles_Lavaridge_2: @ 8379F54 + .incbin "data/tilesets/secondary/lavaridge/anim/2.4bpp" + + .align 2 +TilesetAnimTiles_Lavaridge_3: @ 8379FD4 + .incbin "data/tilesets/secondary/lavaridge/anim/3.4bpp" + + .align 2 +gTilesetAnimTable_Lavaridge:: @ 837A054 + .4byte TilesetAnimTiles_Lavaridge_0 + .4byte TilesetAnimTiles_Lavaridge_1 + .4byte TilesetAnimTiles_Lavaridge_2 + .4byte TilesetAnimTiles_Lavaridge_3 + + .align 2 +TilesetAnimTiles_Pacifidlog_0_0: @ 837A064 + .incbin "data/tilesets/secondary/pacifidlog/anim/0/0.4bpp" + + .align 2 +TilesetAnimTiles_Pacifidlog_0_1: @ 837A424 + .incbin "data/tilesets/secondary/pacifidlog/anim/0/1.4bpp" + + .align 2 +TilesetAnimTiles_Pacifidlog_0_2: @ 837A7E4 + .incbin "data/tilesets/secondary/pacifidlog/anim/0/2.4bpp" + + .align 2 +gTilesetAnimTable_Pacifidlog_0:: @ 837ABA4 + .4byte TilesetAnimTiles_Pacifidlog_0_0 + .4byte TilesetAnimTiles_Pacifidlog_0_1 + .4byte TilesetAnimTiles_Pacifidlog_0_2 + .4byte TilesetAnimTiles_Pacifidlog_0_1 + + .align 2 +TilesetAnimTiles_Underwater_0: @ 837ABB4 + .incbin "data/tilesets/secondary/underwater/anim/0.4bpp" + + .align 2 +TilesetAnimTiles_Underwater_1: @ 837AC34 + .incbin "data/tilesets/secondary/underwater/anim/1.4bpp" + + .align 2 +TilesetAnimTiles_Underwater_2: @ 837ACB4 + .incbin "data/tilesets/secondary/underwater/anim/2.4bpp" + + .align 2 +TilesetAnimTiles_Underwater_3: @ 837AD34 + .incbin "data/tilesets/secondary/underwater/anim/3.4bpp" + + .align 2 +gTilesetAnimTable_Underwater:: @ 837ADB4 + .4byte TilesetAnimTiles_Underwater_0 + .4byte TilesetAnimTiles_Underwater_1 + .4byte TilesetAnimTiles_Underwater_2 + .4byte TilesetAnimTiles_Underwater_3 + + .align 2 +TilesetAnimTiles_Pacifidlog_1_0: @ 837ADC4 + .incbin "data/tilesets/secondary/pacifidlog/anim/1/0.4bpp" + + .align 2 +TilesetAnimTiles_Pacifidlog_1_1: @ 837AEC4 + .incbin "data/tilesets/secondary/pacifidlog/anim/1/1.4bpp" + + .align 2 +TilesetAnimTiles_Pacifidlog_1_2: @ 837AFC4 + .incbin "data/tilesets/secondary/pacifidlog/anim/1/2.4bpp" + + .align 2 +TilesetAnimTiles_Pacifidlog_1_3: @ 837B0C4 + .incbin "data/tilesets/secondary/pacifidlog/anim/1/3.4bpp" + + .align 2 +TilesetAnimTiles_Pacifidlog_1_4: @ 837B1C4 + .incbin "data/tilesets/secondary/pacifidlog/anim/1/4.4bpp" + + .align 2 +TilesetAnimTiles_Pacifidlog_1_5: @ 837B2C4 + .incbin "data/tilesets/secondary/pacifidlog/anim/1/5.4bpp" + + .align 2 +TilesetAnimTiles_Pacifidlog_1_6: @ 837B3C4 + .incbin "data/tilesets/secondary/pacifidlog/anim/1/6.4bpp" + + .align 2 +TilesetAnimTiles_Pacifidlog_1_7: @ 837B4C4 + .incbin "data/tilesets/secondary/pacifidlog/anim/1/7.4bpp" + + .align 2 +gTilesetAnimTable_Pacifidlog_1:: @ 837B5C4 + .4byte TilesetAnimTiles_Pacifidlog_1_0 + .4byte TilesetAnimTiles_Pacifidlog_1_1 + .4byte TilesetAnimTiles_Pacifidlog_1_2 + .4byte TilesetAnimTiles_Pacifidlog_1_3 + .4byte TilesetAnimTiles_Pacifidlog_1_4 + .4byte TilesetAnimTiles_Pacifidlog_1_5 + .4byte TilesetAnimTiles_Pacifidlog_1_6 + .4byte TilesetAnimTiles_Pacifidlog_1_7 + + .align 2 +TilesetAnimTiles_Mauville_0_0: @ 837B5E4 + .incbin "data/tilesets/secondary/mauville/anim/0/0.4bpp" + + .align 2 +TilesetAnimTiles_Mauville_0_1: @ 837B664 + .incbin "data/tilesets/secondary/mauville/anim/0/1.4bpp" + + .align 2 +TilesetAnimTiles_Mauville_0_2: @ 837B6E4 + .incbin "data/tilesets/secondary/mauville/anim/0/2.4bpp" + + .align 2 +TilesetAnimTiles_Mauville_0_3: @ 837B764 + .incbin "data/tilesets/secondary/mauville/anim/0/3.4bpp" + + .align 2 +TilesetAnimTiles_Mauville_0_4: @ 837B7E4 + .incbin "data/tilesets/secondary/mauville/anim/0/4.4bpp" + + .align 2 +TilesetAnimTiles_Mauville_1_0: @ 837B864 + .incbin "data/tilesets/secondary/mauville/anim/1/0.4bpp" + + .align 2 +TilesetAnimTiles_Mauville_1_1: @ 837B8E4 + .incbin "data/tilesets/secondary/mauville/anim/1/1.4bpp" + + .align 2 +TilesetAnimTiles_Mauville_1_2: @ 837B964 + .incbin "data/tilesets/secondary/mauville/anim/1/2.4bpp" + + .align 2 +TilesetAnimTiles_Mauville_1_3: @ 837B9E4 + .incbin "data/tilesets/secondary/mauville/anim/1/3.4bpp" + + .align 2 +TilesetAnimTiles_Mauville_1_4: @ 837BA64 + .incbin "data/tilesets/secondary/mauville/anim/1/4.4bpp" + + .align 2 +gUnknown_0837BAE4:: @ 837BAE4 + .4byte 0x06004C00 + .4byte 0x06004C80 + .4byte 0x06004D00 + .4byte 0x06004D80 + .4byte 0x06004E00 + .4byte 0x06004E80 + .4byte 0x06004F00 + .4byte 0x06004F80 + + .align 2 +gUnknown_0837BB04:: @ 837BB04 + .4byte 0x06005000 + .4byte 0x06005080 + .4byte 0x06005100 + .4byte 0x06005180 + .4byte 0x06005200 + .4byte 0x06005280 + .4byte 0x06005300 + .4byte 0x06005380 + + .align 2 +gTilesetAnimTable_Mauville_0A:: @ 837BB24 + .4byte TilesetAnimTiles_Mauville_0_0 + .4byte TilesetAnimTiles_Mauville_0_0 + .4byte TilesetAnimTiles_Mauville_0_1 + .4byte TilesetAnimTiles_Mauville_0_2 + .4byte TilesetAnimTiles_Mauville_0_3 + .4byte TilesetAnimTiles_Mauville_0_3 + .4byte TilesetAnimTiles_Mauville_0_3 + .4byte TilesetAnimTiles_Mauville_0_3 + .4byte TilesetAnimTiles_Mauville_0_3 + .4byte TilesetAnimTiles_Mauville_0_3 + .4byte TilesetAnimTiles_Mauville_0_2 + .4byte TilesetAnimTiles_Mauville_0_1 + + .align 2 +gTilesetAnimTable_Mauville_1A:: @ 837BB54 + .4byte TilesetAnimTiles_Mauville_1_0 + .4byte TilesetAnimTiles_Mauville_1_0 + .4byte TilesetAnimTiles_Mauville_1_1 + .4byte TilesetAnimTiles_Mauville_1_2 + .4byte TilesetAnimTiles_Mauville_1_3 + .4byte TilesetAnimTiles_Mauville_1_3 + .4byte TilesetAnimTiles_Mauville_1_3 + .4byte TilesetAnimTiles_Mauville_1_3 + .4byte TilesetAnimTiles_Mauville_1_3 + .4byte TilesetAnimTiles_Mauville_1_3 + .4byte TilesetAnimTiles_Mauville_1_2 + .4byte TilesetAnimTiles_Mauville_1_1 + + .align 2 +gTilesetAnimTable_Mauville_0B:: @ 837BB84 + .4byte TilesetAnimTiles_Mauville_0_0 + .4byte TilesetAnimTiles_Mauville_0_0 + .4byte TilesetAnimTiles_Mauville_0_4 + .4byte TilesetAnimTiles_Mauville_0_4 + + .align 2 +gTilesetAnimTable_Mauville_1B:: @ 837BB94 + .4byte TilesetAnimTiles_Mauville_1_0 + .4byte TilesetAnimTiles_Mauville_1_0 + .4byte TilesetAnimTiles_Mauville_1_4 + .4byte TilesetAnimTiles_Mauville_1_4 + + .align 2 +TilesetAnimTiles_Rustboro_0_0: @ 837BBA4 + .incbin "data/tilesets/secondary/rustboro/anim/0/0.4bpp" + + .align 2 +TilesetAnimTiles_Rustboro_0_1: @ 837BC24 + .incbin "data/tilesets/secondary/rustboro/anim/0/1.4bpp" + + .align 2 +TilesetAnimTiles_Rustboro_0_2: @ 837BCA4 + .incbin "data/tilesets/secondary/rustboro/anim/0/2.4bpp" + + .align 2 +TilesetAnimTiles_Rustboro_0_3: @ 837BD24 + .incbin "data/tilesets/secondary/rustboro/anim/0/3.4bpp" + + .align 2 +TilesetAnimTiles_Rustboro_0_4: @ 837BDA4 + .incbin "data/tilesets/secondary/rustboro/anim/0/4.4bpp" + + .align 2 +TilesetAnimTiles_Rustboro_0_5: @ 837BE24 + .incbin "data/tilesets/secondary/rustboro/anim/0/5.4bpp" + + .align 2 +TilesetAnimTiles_Rustboro_0_6: @ 837BEA4 + .incbin "data/tilesets/secondary/rustboro/anim/0/6.4bpp" + + .align 2 +TilesetAnimTiles_Rustboro_0_7: @ 837BF24 + .incbin "data/tilesets/secondary/rustboro/anim/0/7.4bpp" + + .align 2 +gUnknown_0837BFA4:: @ 837BFA4 + .4byte 0x06005000 + .4byte 0x06005080 + .4byte 0x06005100 + .4byte 0x06005180 + .4byte 0x06005200 + .4byte 0x06005280 + .4byte 0x06005300 + .4byte 0x06005380 + + .align 2 +gTilesetAnimTable_Rustboro_0:: @ 837BFC4 + .4byte TilesetAnimTiles_Rustboro_0_0 + .4byte TilesetAnimTiles_Rustboro_0_1 + .4byte TilesetAnimTiles_Rustboro_0_2 + .4byte TilesetAnimTiles_Rustboro_0_3 + .4byte TilesetAnimTiles_Rustboro_0_4 + .4byte TilesetAnimTiles_Rustboro_0_5 + .4byte TilesetAnimTiles_Rustboro_0_6 + .4byte TilesetAnimTiles_Rustboro_0_7 + + .align 2 +TilesetAnimTiles_Rustboro_1_0: @ 837BFE4 + .incbin "data/tilesets/secondary/rustboro/anim/1/0.4bpp" + + .align 2 +TilesetAnimTiles_Rustboro_1_1: @ 837C064 + .incbin "data/tilesets/secondary/rustboro/anim/1/1.4bpp" + + .align 2 +gTilesetAnimTable_Rustboro_1:: @ 837C0E4 + .4byte TilesetAnimTiles_Rustboro_1_0 + .4byte TilesetAnimTiles_Rustboro_1_1 + + .align 2 +TilesetAnimTiles_Cave_0: @ 837C0EC + .incbin "data/tilesets/secondary/cave/anim/0.4bpp" + + .align 2 +TilesetAnimTiles_Cave_1: @ 837C16C + .incbin "data/tilesets/secondary/cave/anim/1.4bpp" + + .align 2 +TilesetAnimTiles_Cave_2: @ 837C1EC + .incbin "data/tilesets/secondary/cave/anim/2.4bpp" + + .align 2 +TilesetAnimTiles_Cave_3: @ 837C26C + .incbin "data/tilesets/secondary/cave/anim/3.4bpp" + + .incbin "data/tilesets/secondary/cave/anim/unused/0.4bpp" + .incbin "data/tilesets/secondary/cave/anim/unused/1.4bpp" + .incbin "data/tilesets/secondary/cave/anim/unused/2.4bpp" + .incbin "data/tilesets/secondary/cave/anim/unused/3.4bpp" + + .space 32 + + .align 2 +gTilesetAnimTable_Cave:: @ 837C50C + .4byte TilesetAnimTiles_Cave_0 + .4byte TilesetAnimTiles_Cave_1 + .4byte TilesetAnimTiles_Cave_2 + .4byte TilesetAnimTiles_Cave_3 + + .align 2 +TilesetAnimTiles_EverGrande_0: @ 837C51C + .incbin "data/tilesets/secondary/ever_grande/anim/0.4bpp" + + .align 2 +TilesetAnimTiles_EverGrande_1: @ 837C59C + .incbin "data/tilesets/secondary/ever_grande/anim/1.4bpp" + + .align 2 +TilesetAnimTiles_EverGrande_2: @ 837C61C + .incbin "data/tilesets/secondary/ever_grande/anim/2.4bpp" + + .align 2 +TilesetAnimTiles_EverGrande_3: @ 837C69C + .incbin "data/tilesets/secondary/ever_grande/anim/3.4bpp" + + .align 2 +TilesetAnimTiles_EverGrande_4: @ 837C71C + .incbin "data/tilesets/secondary/ever_grande/anim/4.4bpp" + + .align 2 +TilesetAnimTiles_EverGrande_5: @ 837C79C + .incbin "data/tilesets/secondary/ever_grande/anim/5.4bpp" + + .align 2 +TilesetAnimTiles_EverGrande_6: @ 837C81C + .incbin "data/tilesets/secondary/ever_grande/anim/6.4bpp" + + .align 2 +TilesetAnimTiles_EverGrande_7: @ 837C89C + .incbin "data/tilesets/secondary/ever_grande/anim/7.4bpp" + + .space 32 + + .align 2 +gUnknown_0837C93C:: @ 837C93C + .4byte 0x06005C00 + .4byte 0x06005C80 + .4byte 0x06005D00 + .4byte 0x06005D80 + .4byte 0x06005E00 + .4byte 0x06005E80 + .4byte 0x06005F00 + .4byte 0x06005F80 + + .align 2 +gTilesetAnimTable_EverGrande:: @ 837C95C + .4byte TilesetAnimTiles_EverGrande_0 + .4byte TilesetAnimTiles_EverGrande_1 + .4byte TilesetAnimTiles_EverGrande_2 + .4byte TilesetAnimTiles_EverGrande_3 + .4byte TilesetAnimTiles_EverGrande_4 + .4byte TilesetAnimTiles_EverGrande_5 + .4byte TilesetAnimTiles_EverGrande_6 + .4byte TilesetAnimTiles_EverGrande_7 + + .align 2 +TilesetAnimTiles_Building_0: @ 837C97C + .incbin "data/tilesets/primary/building/anim/0.4bpp" + + .align 2 +TilesetAnimTiles_Building_1: @ 837C9FC + .incbin "data/tilesets/primary/building/anim/1.4bpp" + + .align 2 +gTilesetAnimTable_Building:: @ 837CA7C + .4byte TilesetAnimTiles_Building_0 + .4byte TilesetAnimTiles_Building_1 + + .align 2 +TilesetAnimTiles_SootopolisGym_0_0: @ 837CA84 + .incbin "data/tilesets/secondary/sootopolis_gym/anim/0/0.4bpp" + + .align 2 +TilesetAnimTiles_SootopolisGym_0_1: @ 837CC04 + .incbin "data/tilesets/secondary/sootopolis_gym/anim/0/1.4bpp" + + .align 2 +TilesetAnimTiles_SootopolisGym_0_2: @ 837CD84 + .incbin "data/tilesets/secondary/sootopolis_gym/anim/0/2.4bpp" + + .align 2 +TilesetAnimTiles_SootopolisGym_1_0: @ 837CF04 + .incbin "data/tilesets/secondary/sootopolis_gym/anim/1/0.4bpp" + + .align 2 +TilesetAnimTiles_SootopolisGym_1_1: @ 837D184 + .incbin "data/tilesets/secondary/sootopolis_gym/anim/1/1.4bpp" + + .align 2 +TilesetAnimTiles_SootopolisGym_1_2: @ 837D404 + .incbin "data/tilesets/secondary/sootopolis_gym/anim/1/2.4bpp" + + .align 2 +gTilesetAnimTable_SootopolisGym_0:: @ 837D684 + .4byte TilesetAnimTiles_SootopolisGym_0_0 + .4byte TilesetAnimTiles_SootopolisGym_0_1 + .4byte TilesetAnimTiles_SootopolisGym_0_2 + + .align 2 +gTilesetAnimTable_SootopolisGym_1:: @ 837D690 + .4byte TilesetAnimTiles_SootopolisGym_1_0 + .4byte TilesetAnimTiles_SootopolisGym_1_1 + .4byte TilesetAnimTiles_SootopolisGym_1_2 + + .align 2 +TilesetAnimTiles_EliteFour_1_0: @ 837D69C + .incbin "data/tilesets/secondary/elite_four/anim/1/0.4bpp" + + .align 2 +TilesetAnimTiles_EliteFour_1_1: @ 837D71C + .incbin "data/tilesets/secondary/elite_four/anim/1/1.4bpp" + + .align 2 +TilesetAnimTiles_EliteFour_0_0: @ 837D79C + .incbin "data/tilesets/secondary/elite_four/anim/0/0.4bpp" + + .align 2 +TilesetAnimTiles_EliteFour_0_1: @ 837D7BC + .incbin "data/tilesets/secondary/elite_four/anim/0/1.4bpp" + + .align 2 +TilesetAnimTiles_EliteFour_0_2: @ 837D7DC + .incbin "data/tilesets/secondary/elite_four/anim/0/2.4bpp" + + .align 2 +TilesetAnimTiles_EliteFour_0_3: @ 837D7FC + .incbin "data/tilesets/secondary/elite_four/anim/0/3.4bpp" + + .space 32 + + .align 2 +gTilesetAnimTable_EliteFour_0:: @ 837D83C + .4byte TilesetAnimTiles_EliteFour_0_0 + .4byte TilesetAnimTiles_EliteFour_0_1 + .4byte TilesetAnimTiles_EliteFour_0_2 + .4byte TilesetAnimTiles_EliteFour_0_3 + + .align 2 +gTilesetAnimTable_EliteFour_1:: @ 837D84C + .4byte TilesetAnimTiles_EliteFour_1_0 + .4byte TilesetAnimTiles_EliteFour_1_1 + + .align 2 +TilesetAnimTiles_MauvilleGym_0: @ 837D854 + .incbin "data/tilesets/secondary/mauville_gym/anim/0.4bpp" + + .align 2 +TilesetAnimTiles_MauvilleGym_1: @ 837DA54 + .incbin "data/tilesets/secondary/mauville_gym/anim/1.4bpp" + + .space 32 + + .align 2 +gTilesetAnimTable_MauvilleGym:: @ 837DC74 + .4byte TilesetAnimTiles_MauvilleGym_0 + .4byte TilesetAnimTiles_MauvilleGym_1 + + .align 2 +TilesetAnimTiles_BikeShop_0: @ 837DC7C + .incbin "data/tilesets/secondary/bike_shop/anim/0.4bpp" + + .align 2 +TilesetAnimTiles_BikeShop_1: @ 837DD9C + .incbin "data/tilesets/secondary/bike_shop/anim/1.4bpp" + + .space 32 + + .align 2 +gTilesetAnimTable_BikeShop:: @ 837DEDC + .4byte TilesetAnimTiles_BikeShop_0 + .4byte TilesetAnimTiles_BikeShop_1 + + .align 2 +gDummyPaletteStructTemplate:: @ 837DEE4 + .2byte 0xFFFF + .space 9 + .byte 0x20 + .space 4 + + .align 2 +gFanfares:: @ 837DEF4 + .2byte BGM_FANFA1, 80 + .2byte BGM_FANFA4, 160 + .2byte BGM_FANFA5, 220 + .2byte BGM_ME_WAZA, 220 + .2byte BGM_ME_ASA, 160 + .2byte BGM_ME_BACHI, 340 + .2byte BGM_ME_WASURE, 180 + .2byte BGM_ME_KINOMI, 120 + .2byte BGM_ME_TAMA, 710 + .2byte BGM_ME_B_BIG, 250 + .2byte BGM_ME_B_SMALL, 150 + .2byte BGM_ME_ZANNEN, 160 + + .align 2 +gOamData_837DF24:: @ 837DF24 + .2byte 0x0000 + .2byte 0x0000 + .2byte 0x0800 + + .align 2 +gOamData_837DF2C:: @ 837DF2C + .2byte 0x0000 + .2byte 0x4000 + .2byte 0x0800 + + .align 2 +gOamData_837DF34:: @ 837DF34 + .2byte 0x0000 + .2byte 0x8000 + .2byte 0x0800 + + .align 2 +gOamData_837DF3C:: @ 837DF3C + .2byte 0x0000 + .2byte 0xC000 + .2byte 0x0800 + + .align 2 +gOamData_837DF44:: @ 837DF44 + .2byte 0x4000 + .2byte 0x0000 + .2byte 0x0800 + + .align 2 +gOamData_837DF4C:: @ 837DF4C + .2byte 0x4000 + .2byte 0x4000 + .2byte 0x0800 + + .align 2 +gOamData_837DF54:: @ 837DF54 + .2byte 0x4000 + .2byte 0x8000 + .2byte 0x0800 + + .align 2 +gOamData_837DF5C:: @ 837DF5C + .2byte 0x4000 + .2byte 0xC000 + .2byte 0x0800 + + .align 2 +gOamData_837DF64:: @ 837DF64 + .2byte 0x8000 + .2byte 0x0000 + .2byte 0x0800 + + .align 2 +gOamData_837DF6C:: @ 837DF6C + .2byte 0x8000 + .2byte 0x4000 + .2byte 0x0800 + + .align 2 +gOamData_837DF74:: @ 837DF74 + .2byte 0x8000 + .2byte 0x8000 + .2byte 0x0800 + + .align 2 +gOamData_837DF7C:: @ 837DF7C + .2byte 0x8000 + .2byte 0xC000 + .2byte 0x0800 + + .align 2 +gOamData_837DF84:: @ 837DF84 + .2byte 0x0100 + .2byte 0x0000 + .2byte 0x0800 + + .align 2 +gOamData_837DF8C:: @ 837DF8C + .2byte 0x0100 + .2byte 0x4000 + .2byte 0x0800 + + .align 2 +gOamData_837DF94:: @ 837DF94 + .2byte 0x0100 + .2byte 0x8000 + .2byte 0x0800 + + .align 2 +gOamData_837DF9C:: @ 837DF9C + .2byte 0x0100 + .2byte 0xC000 + .2byte 0x0800 + + .align 2 +gOamData_837DFA4:: @ 837DFA4 + .2byte 0x4100 + .2byte 0x0000 + .2byte 0x0800 + + .align 2 +gOamData_837DFAC:: @ 837DFAC + .2byte 0x4100 + .2byte 0x4000 + .2byte 0x0800 + + .align 2 +gOamData_837DFB4:: @ 837DFB4 + .2byte 0x4100 + .2byte 0x8000 + .2byte 0x0800 + + .align 2 +gOamData_837DFBC:: @ 837DFBC + .2byte 0x4100 + .2byte 0xC000 + .2byte 0x0800 + + .align 2 +gOamData_837DFC4:: @ 837DFC4 + .2byte 0x8100 + .2byte 0x0000 + .2byte 0x0800 + + .align 2 +gOamData_837DFCC:: @ 837DFCC + .2byte 0x8100 + .2byte 0x4000 + .2byte 0x0800 + + .align 2 +gOamData_837DFD4:: @ 837DFD4 + .2byte 0x8100 + .2byte 0x8000 + .2byte 0x0800 + + .align 2 +gOamData_837DFDC:: @ 837DFDC + .2byte 0x8100 + .2byte 0xC000 + .2byte 0x0800 + + .align 2 +gOamData_837DFE4:: @ 837DFE4 + .2byte 0x0300 + .2byte 0x0000 + .2byte 0x0800 + + .align 2 +gOamData_837DFEC:: @ 837DFEC + .2byte 0x0300 + .2byte 0x4000 + .2byte 0x0800 + + .align 2 +gOamData_837DFF4:: @ 837DFF4 + .2byte 0x0300 + .2byte 0x8000 + .2byte 0x0800 + + .align 2 +gOamData_837DFFC:: @ 837DFFC + .2byte 0x0300 + .2byte 0xC000 + .2byte 0x0800 + + .align 2 +gOamData_837D004:: @ 837D004 + .2byte 0x4300 + .2byte 0x0000 + .2byte 0x0800 + + .align 2 +gOamData_837D00C:: @ 837D00C + .2byte 0x4300 + .2byte 0x4000 + .2byte 0x0800 + + .align 2 +gOamData_837E014:: @ 837E014 + .2byte 0x4300 + .2byte 0x8000 + .2byte 0x0800 + + .align 2 +gOamData_837E01C:: @ 837E01C + .2byte 0x4300 + .2byte 0xC000 + .2byte 0x0800 + + .align 2 +gOamData_837E024:: @ 837E024 + .2byte 0x8300 + .2byte 0x0000 + .2byte 0x0800 + + .align 2 +gOamData_837E02C:: @ 837E02C + .2byte 0x8300 + .2byte 0x4000 + .2byte 0x0800 + + .align 2 +gOamData_837E034:: @ 837E034 + .2byte 0x8300 + .2byte 0x8000 + .2byte 0x0800 + + .align 2 +gOamData_837E03C:: @ 837E03C + .2byte 0x8300 + .2byte 0xC000 + .2byte 0x0800 + + .align 2 +gOamData_837E044:: @ 837E044 + .2byte 0x0400 + .2byte 0x0000 + .2byte 0x0800 + + .align 2 +gOamData_837E04C:: @ 837E04C + .2byte 0x0400 + .2byte 0x4000 + .2byte 0x0800 + + .align 2 +gOamData_837E054:: @ 837E054 + .2byte 0x0400 + .2byte 0x8000 + .2byte 0x0800 + + .align 2 +gOamData_837E05C:: @ 837E05C + .2byte 0x0400 + .2byte 0xC000 + .2byte 0x0800 + + .align 2 +gOamData_837E064:: @ 837E064 + .2byte 0x4400 + .2byte 0x0000 + .2byte 0x0800 + + .align 2 +gOamData_837E06C:: @ 837E06C + .2byte 0x4400 + .2byte 0x4000 + .2byte 0x0800 + + .align 2 +gOamData_837E074:: @ 837E074 + .2byte 0x4400 + .2byte 0x8000 + .2byte 0x0800 + + .align 2 +gOamData_837E07C:: @ 837E07C + .2byte 0x4400 + .2byte 0xC000 + .2byte 0x0800 + + .align 2 +gOamData_837E084:: @ 837E084 + .2byte 0x8400 + .2byte 0x0000 + .2byte 0x0800 + + .align 2 +gOamData_837E08C:: @ 837E08C + .2byte 0x8400 + .2byte 0x4000 + .2byte 0x0800 + + .align 2 +gOamData_837E094:: @ 837E094 + .2byte 0x8400 + .2byte 0x8000 + .2byte 0x0800 + + .align 2 +gOamData_837E09C:: @ 837E09C + .2byte 0x8400 + .2byte 0xC000 + .2byte 0x0800 + + .align 2 +gOamData_837E0A4:: @ 837E0A4 + .2byte 0x0500 + .2byte 0x0000 + .2byte 0x0800 + + .align 2 +gOamData_837E0AC:: @ 837E0AC + .2byte 0x0500 + .2byte 0x4000 + .2byte 0x0800 + + .align 2 +gOamData_837E0B4:: @ 837E0B4 + .2byte 0x0500 + .2byte 0x8000 + .2byte 0x0800 + + .align 2 +gOamData_837E0BC:: @ 837E0BC + .2byte 0x0500 + .2byte 0xC000 + .2byte 0x0800 + + .align 2 +gOamData_837E0C4:: @ 837E0C4 + .2byte 0x4500 + .2byte 0x0000 + .2byte 0x0800 + + .align 2 +gOamData_837E0CC:: @ 837E0CC + .2byte 0x4500 + .2byte 0x4000 + .2byte 0x0800 + + .align 2 +gOamData_837E0D4:: @ 837E0D4 + .2byte 0x4500 + .2byte 0x8000 + .2byte 0x0800 + + .align 2 +gOamData_837E0DC:: @ 837E0DC + .2byte 0x4500 + .2byte 0xC000 + .2byte 0x0800 + + .align 2 +gOamData_837E0E4:: @ 837E0E4 + .2byte 0x8500 + .2byte 0x0000 + .2byte 0x0800 + + .align 2 +gOamData_837E0EC:: @ 837E0EC + .2byte 0x8500 + .2byte 0x4000 + .2byte 0x0800 + + .align 2 +gOamData_837E0F4:: @ 837E0F4 + .2byte 0x8500 + .2byte 0x8000 + .2byte 0x0800 + + .align 2 +gOamData_837E0FC:: @ 837E0FC + .2byte 0x8500 + .2byte 0xC000 + .2byte 0x0800 + + .align 2 +gOamData_837E104:: @ 837E104 + .2byte 0x0700 + .2byte 0x0000 + .2byte 0x0800 + + .align 2 +gOamData_837E10C:: @ 837E10C + .2byte 0x0700 + .2byte 0x4000 + .2byte 0x0800 + + .align 2 +gOamData_837E114:: @ 837E114 + .2byte 0x0700 + .2byte 0x8000 + .2byte 0x0800 + + .align 2 +gOamData_837E11C:: @ 837E11C + .2byte 0x0700 + .2byte 0xC000 + .2byte 0x0800 + + .align 2 +gOamData_837E124:: @ 837E124 + .2byte 0x4700 + .2byte 0x0000 + .2byte 0x0800 + + .align 2 +gOamData_837E12C:: @ 837E12C + .2byte 0x4700 + .2byte 0x4000 + .2byte 0x0800 + + .align 2 +gOamData_837E134:: @ 837E134 + .2byte 0x4700 + .2byte 0x8000 + .2byte 0x0800 + + .align 2 +gOamData_837E13C:: @ 837E13C + .2byte 0x4700 + .2byte 0xC000 + .2byte 0x0800 + + .align 2 +gOamData_837E144:: @ 837E144 + .2byte 0x8700 + .2byte 0x0000 + .2byte 0x0800 + + .align 2 +gOamData_837E14C:: @ 837E14C + .2byte 0x8700 + .2byte 0x4000 + .2byte 0x0800 + + .align 2 +gOamData_837E154:: @ 837E154 + .2byte 0x8700 + .2byte 0x8000 + .2byte 0x0800 + + .align 2 +gOamData_837E15C:: @ 837E15C + .2byte 0x8700 + .2byte 0xC000 + .2byte 0x0800 + + .align 2 +gBattleAnimPicTable:: @ 837E164 + obj_tiles gBattleAnimSpriteSheet_000, 0x200, 10000 + obj_tiles gBattleAnimSpriteSheet_001, 0x300, 10001 + obj_tiles gBattleAnimSpriteSheet_002, 0x200, 10002 + obj_tiles gBattleAnimSpriteSheet_003, 0x100, 10003 + obj_tiles gBattleAnimSpriteSheet_004, 0x200, 10004 + obj_tiles gBattleAnimSpriteSheet_005, 0x400, 10005 + obj_tiles gBattleAnimSpriteSheet_006, 0x180, 10006 + obj_tiles gBattleAnimSpriteSheet_007, 0x800, 10007 + obj_tiles gBattleAnimSpriteSheet_008, 0x20, 10008 + obj_tiles gBattleAnimSpriteSheet_009, 0x400, 10009 + obj_tiles gBattleAnimSpriteSheet_010, 0x1200, 10010 + obj_tiles gBattleAnimSpriteSheet_011, 0x180, 10011 + obj_tiles gBattleAnimSpriteSheet_012, 0x80, 10012 + obj_tiles gBattleAnimSpriteSheet_013, 0x80, 10013 + obj_tiles gBattleAnimSpriteSheet_014, 0x280, 10014 + obj_tiles gBattleAnimSpriteSheet_015, 0x80, 10015 + obj_tiles gBattleAnimSpriteSheet_016, 0x100, 10016 + obj_tiles gBattleAnimSpriteSheet_017, 0x20, 10017 + obj_tiles gBattleAnimSpriteSheet_018, 0x80, 10018 + obj_tiles gBattleAnimSpriteSheet_019, 0x400, 10019 + obj_tiles gBattleAnimSpriteSheet_020, 0x200, 10020 + obj_tiles gBattleAnimSpriteSheet_021, 0xA00, 10021 + obj_tiles gBattleAnimSpriteSheet_021, 0xA00, 10022 + obj_tiles gBattleAnimSpriteSheet_023, 0x380, 10023 + obj_tiles gBattleAnimSpriteSheet_024, 0x300, 10024 + obj_tiles gBattleAnimSpriteSheet_025, 0xA00, 10025 + obj_tiles gBattleAnimSpriteSheet_026, 0xA00, 10026 + obj_tiles gBattleAnimSpriteSheet_027, 0xA00, 10027 + obj_tiles gBattleAnimSpriteSheet_028, 0xA00, 10028 + obj_tiles gBattleAnimSpriteSheet_029, 0xA00, 10029 + obj_tiles gBattleAnimSpriteSheet_030, 0xA00, 10030 + obj_tiles gBattleAnimSpriteSheet_031, 0xE00, 10031 + obj_tiles gBattleAnimSpriteSheet_032, 0x380, 10032 + obj_tiles gBattleAnimSpriteSheet_033, 0x1000, 10033 + obj_tiles gBattleAnimSpriteSheet_034, 0x800, 10034 + obj_tiles gBattleAnimSpriteSheet_035, 0xA00, 10035 + obj_tiles gBattleAnimSpriteSheet_036, 0x800, 10036 + obj_tiles gBattleAnimSpriteSheet_037, 0xA00, 10037 + obj_tiles gBattleAnimSpriteSheet_038, 0xA00, 10038 + obj_tiles gBattleAnimSpriteSheet_039, 0xA00, 10039 + obj_tiles gBattleAnimSpriteSheet_040, 0xA00, 10040 + obj_tiles gBattleAnimSpriteSheet_041, 0xA00, 10041 + obj_tiles gBattleAnimSpriteSheet_042, 0xA00, 10042 + obj_tiles gBattleAnimSpriteSheet_043, 0xA00, 10043 + obj_tiles gBattleAnimSpriteSheet_044, 0xA00, 10044 + obj_tiles gBattleAnimSpriteSheet_045, 0xA00, 10045 + obj_tiles gBattleAnimSpriteSheet_046, 0x1000, 10046 + obj_tiles gBattleAnimSpriteSheet_046, 0x1000, 10047 + obj_tiles gBattleAnimSpriteSheet_048, 0x1000, 10048 + obj_tiles gBattleAnimSpriteSheet_048, 0x1000, 10049 + obj_tiles gBattleAnimSpriteSheet_050, 0x200, 10050 + obj_tiles gBattleAnimSpriteSheet_051, 0x200, 10051 + obj_tiles gBattleAnimSpriteSheet_052, 0x200, 10052 + obj_tiles gBattleAnimSpriteSheet_053, 0x800, 10053 + obj_tiles gBattleAnimSpriteSheet_054, 0x80, 10054 + obj_tiles gBattleAnimSpriteSheet_055, 0x200, 10055 + obj_tiles gBattleAnimSpriteSheet_056, 0x1000, 10056 + obj_tiles gBattleAnimSpriteSheet_057, 0x180, 10057 + obj_tiles gBattleAnimSpriteSheet_058, 0xC00, 10058 + obj_tiles gBattleAnimSpriteSheet_059, 0x100, 10059 + obj_tiles gBattleAnimSpriteSheet_060, 0x40, 10060 + obj_tiles gBattleAnimSpriteSheet_061, 0x180, 10061 + obj_tiles gBattleAnimSpriteSheet_062, 0x800, 10062 + obj_tiles gBattleAnimSpriteSheet_063, 0x480, 10063 + obj_tiles gBattleAnimSpriteSheet_064, 0x200, 10064 + obj_tiles gBattleAnimSpriteSheet_065, 0x200, 10065 + obj_tiles gBattleAnimSpriteSheet_066, 0x100, 10066 + obj_tiles gBattleAnimSpriteSheet_065, 0x200, 10067 + obj_tiles gBattleAnimSpriteSheet_065, 0x200, 10068 + obj_tiles gBattleAnimSpriteSheet_065, 0x200, 10069 + obj_tiles gBattleAnimSpriteSheet_070, 0x200, 10070 + obj_tiles gBattleAnimSpriteSheet_071, 0xA00, 10071 + obj_tiles gBattleAnimSpriteSheet_072, 0x300, 10072 + obj_tiles gBattleAnimSpriteSheet_073, 0x180, 10073 + obj_tiles gBattleAnimSpriteSheet_074, 0xA0, 10074 + obj_tiles gBattleAnimSpriteSheet_075, 0x700, 10075 + obj_tiles gBattleAnimSpriteSheet_076, 0x400, 10076 + obj_tiles gBattleAnimSpriteSheet_077, 0x200, 10077 + obj_tiles gBattleAnimSpriteSheet_078, 0x300, 10078 + obj_tiles gBattleAnimSpriteSheet_079, 0xC00, 10079 + obj_tiles gBattleAnimSpriteSheet_080, 0xA00, 10080 + obj_tiles gBattleAnimSpriteSheet_081, 0x80, 10081 + obj_tiles gBattleAnimSpriteSheet_082, 0x40, 10082 + obj_tiles gBattleAnimSpriteSheet_083, 0xE00, 10083 + obj_tiles gBattleAnimSpriteSheet_084, 0xE00, 10084 + obj_tiles gBattleAnimSpriteSheet_085, 0x280, 10085 + obj_tiles gBattleAnimSpriteSheet_086, 0x200, 10086 + obj_tiles gBattleAnimSpriteSheet_087, 0x80, 10087 + obj_tiles gBattleAnimSpriteSheet_088, 0xC0, 10088 + obj_tiles gBattleAnimSpriteSheet_089, 0xA00, 10089 + obj_tiles gBattleAnimSpriteSheet_090, 0x200, 10090 + obj_tiles gBattleAnimSpriteSheet_091, 0x180, 10091 + obj_tiles gBattleAnimSpriteSheet_092, 0x80, 10092 + obj_tiles gBattleAnimSpriteSheet_093, 0x1000, 10093 + obj_tiles gBattleAnimSpriteSheet_094, 0xA00, 10094 + obj_tiles gBattleAnimSpriteSheet_095, 0x180, 10095 + obj_tiles gBattleAnimSpriteSheet_096, 0x380, 10096 + obj_tiles gBattleAnimSpriteSheet_097, 0xC00, 10097 + obj_tiles gBattleAnimSpriteSheet_098, 0x200, 10098 + obj_tiles gBattleAnimSpriteSheet_099, 0x200, 10099 + obj_tiles gBattleAnimSpriteSheet_100, 0x200, 10100 + obj_tiles gBattleAnimSpriteSheet_101, 0x200, 10101 + obj_tiles gBattleAnimSpriteSheet_102, 0x400, 10102 + obj_tiles gBattleAnimSpriteSheet_103, 0x80, 10103 + obj_tiles gBattleAnimSpriteSheet_104, 0x400, 10104 + obj_tiles gBattleAnimSpriteSheet_105, 0xC00, 10105 + obj_tiles gBattleAnimSpriteSheet_106, 0x200, 10106 + obj_tiles gBattleAnimSpriteSheet_107, 0x1000, 10107 + obj_tiles gBattleAnimSpriteSheet_108, 0xA00, 10108 + obj_tiles gBattleAnimSpriteSheet_109, 0x20, 10109 + obj_tiles gBattleAnimSpriteSheet_110, 0xE00, 10110 + obj_tiles gBattleAnimSpriteSheet_111, 0x80, 10111 + obj_tiles gBattleAnimSpriteSheet_112, 0xA00, 10112 + obj_tiles gBattleAnimSpriteSheet_113, 0x400, 10113 + obj_tiles gBattleAnimSpriteSheet_114, 0x200, 10114 + obj_tiles gBattleAnimSpriteSheet_115, 0x700, 10115 + obj_tiles gBattleAnimSpriteSheet_116, 0x800, 10116 + obj_tiles gBattleAnimSpriteSheet_117, 0xA00, 10117 + obj_tiles gBattleAnimSpriteSheet_118, 0x600, 10118 + obj_tiles gBattleAnimSpriteSheet_119, 0x800, 10119 + obj_tiles gBattleAnimSpriteSheet_120, 0x200, 10120 + obj_tiles gBattleAnimSpriteSheet_121, 0x40, 10121 + obj_tiles gBattleAnimSpriteSheet_122, 0x180, 10122 + obj_tiles gBattleAnimSpriteSheet_123, 0x600, 10123 + obj_tiles gBattleAnimSpriteSheet_124, 0x600, 10124 + obj_tiles gBattleAnimSpriteSheet_125, 0x200, 10125 + obj_tiles gBattleAnimSpriteSheet_126, 0x80, 10126 + obj_tiles gBattleAnimSpriteSheet_127, 0x200, 10127 + obj_tiles gBattleAnimSpriteSheet_128, 0x800, 10128 + obj_tiles gBattleAnimSpriteSheet_129, 0x80, 10129 + obj_tiles gBattleAnimSpriteSheet_130, 0xA00, 10130 + obj_tiles gBattleAnimSpriteSheet_131, 0x280, 10131 + obj_tiles gBattleAnimSpriteSheet_132, 0x280, 10132 + obj_tiles gBattleAnimSpriteSheet_133, 0x100, 10133 + obj_tiles gBattleAnimSpriteSheet_134, 0x200, 10134 + obj_tiles gBattleAnimSpriteSheet_135, 0x200, 10135 + obj_tiles gBattleAnimSpriteSheet_136, 0x20, 10136 + obj_tiles gBattleAnimSpriteSheet_137, 0xA00, 10137 + obj_tiles gBattleAnimSpriteSheet_138, 0x800, 10138 + obj_tiles gBattleAnimSpriteSheet_139, 0x800, 10139 + obj_tiles gBattleAnimSpriteSheet_140, 0xC0, 10140 + obj_tiles gBattleAnimSpriteSheet_141, 0x1C0, 10141 + obj_tiles gBattleAnimSpriteSheet_142, 0x100, 10142 + obj_tiles gBattleAnimSpriteSheet_143, 0x800, 10143 + obj_tiles gBattleAnimSpriteSheet_144, 0x200, 10144 + obj_tiles gBattleAnimSpriteSheet_145, 0x800, 10145 + obj_tiles gBattleAnimSpriteSheet_146, 0x180, 10146 + obj_tiles gBattleAnimSpriteSheet_147, 0x180, 10147 + obj_tiles gBattleAnimSpriteSheet_148, 0x200, 10148 + obj_tiles gBattleAnimSpriteSheet_149, 0x200, 10149 + obj_tiles gBattleAnimSpriteSheet_150, 0x180, 10150 + obj_tiles gBattleAnimSpriteSheet_151, 0x400, 10151 + obj_tiles gBattleAnimSpriteSheet_152, 0x80, 10152 + obj_tiles gBattleAnimSpriteSheet_153, 0x100, 10153 + obj_tiles gBattleAnimSpriteSheet_154, 0x100, 10154 + obj_tiles gBattleAnimSpriteSheet_155, 0x140, 10155 + obj_tiles gBattleAnimSpriteSheet_156, 0x800, 10156 + obj_tiles gBattleAnimSpriteSheet_157, 0x200, 10157 + obj_tiles gBattleAnimSpriteSheet_158, 0x100, 10158 + obj_tiles gBattleAnimSpriteSheet_159, 0xA0, 10159 + obj_tiles gBattleAnimSpriteSheet_160, 0x100, 10160 + obj_tiles gBattleAnimSpriteSheet_161, 0x80, 10161 + obj_tiles gBattleAnimSpriteSheet_162, 0x300, 10162 + obj_tiles gBattleAnimSpriteSheet_163, 0x100, 10163 + obj_tiles gBattleAnimSpriteSheet_163, 0x100, 10164 + obj_tiles gBattleAnimSpriteSheet_163, 0x100, 10165 + obj_tiles gBattleAnimSpriteSheet_166, 0x800, 10166 + obj_tiles gBattleAnimSpriteSheet_166, 0x800, 10167 + obj_tiles gBattleAnimSpriteSheet_166, 0x800, 10168 + obj_tiles gBattleAnimSpriteSheet_166, 0x800, 10169 + obj_tiles gBattleAnimSpriteSheet_166, 0x800, 10170 + obj_tiles gBattleAnimSpriteSheet_171, 0x80, 10171 + obj_tiles gBattleAnimSpriteSheet_144, 0x200, 10172 + obj_tiles gBattleAnimSpriteSheet_173, 0x200, 10173 + obj_tiles gBattleAnimSpriteSheet_174, 0x200, 10174 + obj_tiles gBattleAnimSpriteSheet_175, 0x80, 10175 + obj_tiles gBattleAnimSpriteSheet_176, 0x200, 10176 + obj_tiles gBattleAnimSpriteSheet_177, 0x500, 10177 + obj_tiles gBattleAnimSpriteSheet_178, 0x800, 10178 + obj_tiles gBattleAnimSpriteSheet_179, 0x400, 10179 + obj_tiles gBattleAnimSpriteSheet_180, 0x20, 10180 + obj_tiles gBattleAnimSpriteSheet_181, 0x800, 10181 + obj_tiles gBattleAnimSpriteSheet_182, 0x100, 10182 + obj_tiles gBattleAnimSpriteSheet_183, 0x800, 10183 + obj_tiles gBattleAnimSpriteSheet_184, 0x400, 10184 + obj_tiles gBattleAnimSpriteSheet_185, 0xA00, 10185 + obj_tiles gBattleAnimSpriteSheet_186, 0x1000, 10186 + obj_tiles gBattleAnimSpriteSheet_187, 0x800, 10187 + obj_tiles gBattleAnimSpriteSheet_188, 0x400, 10188 + obj_tiles gBattleAnimSpriteSheet_189, 0x200, 10189 + obj_tiles gBattleAnimSpriteSheet_190, 0x800, 10190 + obj_tiles gBattleAnimSpriteSheet_191, 0x800, 10191 + obj_tiles gBattleAnimSpriteSheet_192, 0x800, 10192 + obj_tiles gBattleAnimSpriteSheet_193, 0x200, 10193 + obj_tiles gBattleAnimSpriteSheet_194, 0x800, 10194 + obj_tiles gBattleAnimSpriteSheet_195, 0x200, 10195 + obj_tiles gBattleAnimSpriteSheet_196, 0x800, 10196 + obj_tiles gBattleAnimSpriteSheet_197, 0x200, 10197 + obj_tiles gBattleAnimSpriteSheet_198, 0x800, 10198 + obj_tiles gBattleAnimSpriteSheet_199, 0x400, 10199 + obj_tiles gBattleAnimSpriteSheet_200, 0x200, 10200 + obj_tiles gBattleAnimSpriteSheet_201, 0xA80, 10201 + obj_tiles gBattleAnimSpriteSheet_202, 0x600, 10202 + obj_tiles gBattleAnimSpriteSheet_203, 0x800, 10203 + obj_tiles gBattleAnimSpriteSheet_204, 0x200, 10204 + obj_tiles gBattleAnimSpriteSheet_205, 0x600, 10205 + obj_tiles gBattleAnimSpriteSheet_206, 0x800, 10206 + obj_tiles gBattleAnimSpriteSheet_207, 0x180, 10207 + obj_tiles gBattleAnimSpriteSheet_208, 0x800, 10208 + obj_tiles gBattleAnimSpriteSheet_209, 0x800, 10209 + obj_tiles gBattleAnimSpriteSheet_210, 0x80, 10210 + obj_tiles gBattleAnimSpriteSheet_211, 0x80, 10211 + obj_tiles gBattleAnimSpriteSheet_212, 0x800, 10212 + obj_tiles gBattleAnimSpriteSheet_213, 0x800, 10213 + obj_tiles gBattleAnimSpriteSheet_214, 0x600, 10214 + obj_tiles gBattleAnimSpriteSheet_215, 0x600, 10215 + obj_tiles gBattleAnimSpriteSheet_210, 0x80, 10216 + obj_tiles gBattleAnimSpriteSheet_217, 0x80, 10217 + obj_tiles gBattleAnimSpriteSheet_218, 0x180, 10218 + obj_tiles gBattleAnimSpriteSheet_210, 0x80, 10219 + obj_tiles gBattleAnimSpriteSheet_220, 0x200, 10220 + obj_tiles gBattleAnimSpriteSheet_221, 0x400, 10221 + obj_tiles gBattleAnimSpriteSheet_222, 0xA00, 10222 + obj_tiles gBattleAnimSpriteSheet_223, 0x800, 10223 + obj_tiles gBattleAnimSpriteSheet_224, 0x200, 10224 + obj_tiles gBattleAnimSpriteSheet_225, 0x400, 10225 + obj_tiles gBattleAnimSpriteSheet_226, 0x80, 10226 + obj_tiles gBattleAnimSpriteSheet_227, 0x800, 10227 + obj_tiles gBattleAnimSpriteSheet_228, 0x200, 10228 + obj_tiles gBattleAnimSpriteSheet_229, 0x300, 10229 + obj_tiles gBattleAnimSpriteSheet_230, 0x800, 10230 + obj_tiles gBattleAnimSpriteSheet_231, 0x380, 10231 + obj_tiles gBattleAnimSpriteSheet_232, 0x800, 10232 + obj_tiles gBattleAnimSpriteSheet_233, 0xC0, 10233 + obj_tiles gBattleAnimSpriteSheet_234, 0x800, 10234 + obj_tiles gBattleAnimSpriteSheet_235, 0x60, 10235 + obj_tiles gBattleAnimSpriteSheet_235, 0x60, 10236 + obj_tiles gBattleAnimSpriteSheet_235, 0x60, 10237 + obj_tiles gBattleAnimSpriteSheet_238, 0x80, 10238 + obj_tiles gBattleAnimSpriteSheet_239, 0x180, 10239 + obj_tiles gBattleAnimSpriteSheet_240, 0x180, 10240 + obj_tiles gBattleAnimSpriteSheet_241, 0x200, 10241 + obj_tiles gBattleAnimSpriteSheet_242, 0x200, 10242 + obj_tiles gBattleAnimSpriteSheet_243, 0x20, 10243 + obj_tiles gBattleAnimSpriteSheet_244, 0x400, 10244 + obj_tiles gBattleAnimSpriteSheet_245, 0x600, 10245 + obj_tiles gBattleAnimSpriteSheet_246, 0x1000, 10246 + obj_tiles gBattleAnimSpriteSheet_247, 0x400, 10247 + obj_tiles gBattleAnimSpriteSheet_248, 0x20, 10248 + obj_tiles gBattleAnimSpriteSheet_249, 0x80, 10249 + obj_tiles gBattleAnimSpriteSheet_250, 0x800, 10250 + obj_tiles gBattleAnimSpriteSheet_251, 0x80, 10251 + obj_tiles gBattleAnimSpriteSheet_252, 0x200, 10252 + obj_tiles gBattleAnimSpriteSheet_253, 0x400, 10253 + obj_tiles gBattleAnimSpriteSheet_254, 0x200, 10254 + obj_tiles gBattleAnimSpriteSheet_255, 0x200, 10255 + obj_tiles gBattleAnimSpriteSheet_256, 0x800, 10256 + obj_tiles gBattleAnimSpriteSheet_257, 0x280, 10257 + obj_tiles gBattleAnimSpriteSheet_258, 0x200, 10258 + obj_tiles gBattleAnimSpriteSheet_149, 0x200, 10259 + obj_tiles gBattleAnimSpriteSheet_260, 0x400, 10260 + obj_tiles gBattleAnimSpriteSheet_261, 0x200, 10261 + obj_tiles gBattleAnimSpriteSheet_262, 0x200, 10262 + obj_tiles gBattleAnimSpriteSheet_263, 0x80, 10263 + obj_tiles gBattleAnimSpriteSheet_264, 0x20, 10264 + obj_tiles gBattleAnimSpriteSheet_264, 0x20, 10265 + obj_tiles gBattleAnimSpriteSheet_266, 0x80, 10266 + obj_tiles gBattleAnimSpriteSheet_212, 0x800, 10267 + obj_tiles gBattleAnimSpriteSheet_264, 0x20, 10268 + obj_tiles gBattleAnimSpriteSheet_269, 0x80, 10269 + obj_tiles gBattleAnimSpriteSheet_270, 0x400, 10270 + obj_tiles gBattleAnimSpriteSheet_271, 0x80, 10271 + obj_tiles gBattleAnimSpriteSheet_272, 0x800, 10272 + obj_tiles gBattleAnimSpriteSheet_273, 0x20, 10273 + obj_tiles gBattleAnimSpriteSheet_274, 0x800, 10274 + obj_tiles gBattleAnimSpriteSheet_275, 0x800, 10275 + obj_tiles gBattleAnimSpriteSheet_276, 0x800, 10276 + obj_tiles gBattleAnimSpriteSheet_277, 0x1000, 10277 + obj_tiles gBattleAnimSpriteSheet_278, 0x800, 10278 + obj_tiles gBattleAnimSpriteSheet_279, 0xA0, 10279 + obj_tiles gBattleAnimSpriteSheet_280, 0x800, 10280 + obj_tiles gBattleAnimSpriteSheet_281, 0x200, 10281 + obj_tiles gBattleAnimSpriteSheet_282, 0x600, 10282 + obj_tiles gBattleAnimSpriteSheet_283, 0x200, 10283 + obj_tiles gBattleAnimSpriteSheet_284, 0x800, 10284 + obj_tiles gBattleAnimSpriteSheet_285, 0x200, 10285 + obj_tiles gBattleAnimSpriteSheet_183, 0x800, 10286 + obj_tiles gBattleAnimSpriteSheet_056, 0x1000, 10287 + obj_tiles gBattleAnimSpriteSheet_163, 0x100, 10288 + + .align 2 +gBattleAnimPaletteTable:: @ 837EA6C + obj_pal gBattleAnimSpritePalette_000, 10000 + obj_pal gBattleAnimSpritePalette_001, 10001 + obj_pal gBattleAnimSpritePalette_002, 10002 + obj_pal gBattleAnimSpritePalette_003, 10003 + obj_pal gBattleAnimSpritePalette_004, 10004 + obj_pal gBattleAnimSpritePalette_005, 10005 + obj_pal gBattleAnimSpritePalette_006, 10006 + obj_pal gBattleAnimSpritePalette_007, 10007 + obj_pal gBattleAnimSpritePalette_008, 10008 + obj_pal gBattleAnimSpritePalette_009, 10009 + obj_pal gBattleAnimSpritePalette_010, 10010 + obj_pal gBattleAnimSpritePalette_011, 10011 + obj_pal gBattleAnimSpritePalette_012, 10012 + obj_pal gBattleAnimSpritePalette_013, 10013 + obj_pal gBattleAnimSpritePalette_014, 10014 + obj_pal gBattleAnimSpritePalette_015, 10015 + obj_pal gBattleAnimSpritePalette_016, 10016 + obj_pal gBattleAnimSpritePalette_016, 10017 + obj_pal gBattleAnimSpritePalette_018, 10018 + obj_pal gBattleAnimSpritePalette_019, 10019 + obj_pal gBattleAnimSpritePalette_020, 10020 + obj_pal gBattleAnimSpritePalette_021, 10021 + obj_pal gBattleAnimSpritePalette_022, 10022 + obj_pal gBattleAnimSpritePalette_023, 10023 + obj_pal gBattleAnimSpritePalette_024, 10024 + obj_pal gBattleAnimSpritePalette_025, 10025 + obj_pal gBattleAnimSpritePalette_026, 10026 + obj_pal gBattleAnimSpritePalette_027, 10027 + obj_pal gBattleAnimSpritePalette_028, 10028 + obj_pal gBattleAnimSpritePalette_029, 10029 + obj_pal gBattleAnimSpritePalette_030, 10030 + obj_pal gBattleAnimSpritePalette_031, 10031 + obj_pal gBattleAnimSpritePalette_032, 10032 + obj_pal gBattleAnimSpritePalette_033, 10033 + obj_pal gBattleAnimSpritePalette_033, 10034 + obj_pal gBattleAnimSpritePalette_033, 10035 + obj_pal gBattleAnimSpritePalette_036, 10036 + obj_pal gBattleAnimSpritePalette_036, 10037 + obj_pal gBattleAnimSpritePalette_038, 10038 + obj_pal gBattleAnimSpritePalette_039, 10039 + obj_pal gBattleAnimSpritePalette_038, 10040 + obj_pal gBattleAnimSpritePalette_038, 10041 + obj_pal gBattleAnimSpritePalette_042, 10042 + obj_pal gBattleAnimSpritePalette_043, 10043 + obj_pal gBattleAnimSpritePalette_044, 10044 + obj_pal gBattleAnimSpritePalette_045, 10045 + obj_pal gBattleAnimSpritePalette_046, 10046 + obj_pal gBattleAnimSpritePalette_047, 10046 + obj_pal gBattleAnimSpritePalette_048, 10048 + obj_pal gBattleAnimSpritePalette_049, 10049 + obj_pal gBattleAnimSpritePalette_050, 10050 + obj_pal gBattleAnimSpritePalette_050, 10051 + obj_pal gBattleAnimSpritePalette_050, 10052 + obj_pal gBattleAnimSpritePalette_026, 10053 + obj_pal gBattleAnimSpritePalette_054, 10054 + obj_pal gBattleAnimSpritePalette_050, 10055 + obj_pal gBattleAnimSpritePalette_056, 10056 + obj_pal gBattleAnimSpritePalette_057, 10057 + obj_pal gBattleAnimSpritePalette_058, 10058 + obj_pal gBattleAnimSpritePalette_059, 10059 + obj_pal gBattleAnimSpritePalette_060, 10060 + obj_pal gBattleAnimSpritePalette_061, 10061 + obj_pal gBattleAnimSpritePalette_062, 10062 + obj_pal gBattleAnimSpritePalette_063, 10063 + obj_pal gBattleAnimSpritePalette_064, 10064 + obj_pal gBattleAnimSpritePalette_065, 10065 + obj_pal gBattleAnimSpritePalette_066, 10066 + obj_pal gBattleAnimSpritePalette_067, 10067 + obj_pal gBattleAnimSpritePalette_068, 10068 + obj_pal gBattleAnimSpritePalette_065, 10069 + obj_pal gBattleAnimSpritePalette_070, 10070 + obj_pal gBattleAnimSpritePalette_070, 10071 + obj_pal gBattleAnimSpritePalette_072, 10072 + obj_pal gBattleAnimSpritePalette_073, 10073 + obj_pal gBattleAnimSpritePalette_074, 10074 + obj_pal gBattleAnimSpritePalette_075, 10075 + obj_pal gBattleAnimSpritePalette_076, 10076 + obj_pal gBattleAnimSpritePalette_076, 10077 + obj_pal gBattleAnimSpritePalette_078, 10078 + obj_pal gBattleAnimSpritePalette_078, 10079 + obj_pal gBattleAnimSpritePalette_080, 10080 + obj_pal gBattleAnimSpritePalette_081, 10081 + obj_pal gBattleAnimSpritePalette_082, 10082 + obj_pal gBattleAnimSpritePalette_083, 10083 + obj_pal gBattleAnimSpritePalette_084, 10084 + obj_pal gBattleAnimSpritePalette_085, 10085 + obj_pal gBattleAnimSpritePalette_086, 10086 + obj_pal gBattleAnimSpritePalette_087, 10087 + obj_pal gBattleAnimSpritePalette_088, 10088 + obj_pal gBattleAnimSpritePalette_089, 10089 + obj_pal gBattleAnimSpritePalette_090, 10090 + obj_pal gBattleAnimSpritePalette_091, 10091 + obj_pal gBattleAnimSpritePalette_092, 10092 + obj_pal gBattleAnimSpritePalette_093, 10093 + obj_pal gBattleAnimSpritePalette_094, 10094 + obj_pal gBattleAnimSpritePalette_095, 10095 + obj_pal gBattleAnimSpritePalette_096, 10096 + obj_pal gBattleAnimSpritePalette_097, 10097 + obj_pal gBattleAnimSpritePalette_094, 10098 + obj_pal gBattleAnimSpritePalette_099, 10099 + obj_pal gBattleAnimSpritePalette_100, 10100 + obj_pal gBattleAnimSpritePalette_101, 10101 + obj_pal gBattleAnimSpritePalette_101, 10102 + obj_pal gBattleAnimSpritePalette_103, 10103 + obj_pal gBattleAnimSpritePalette_104, 10104 + obj_pal gBattleAnimSpritePalette_105, 10105 + obj_pal gBattleAnimSpritePalette_105, 10106 + obj_pal gBattleAnimSpritePalette_107, 10107 + obj_pal gBattleAnimSpritePalette_107, 10108 + obj_pal gBattleAnimSpritePalette_109, 10109 + obj_pal gBattleAnimSpritePalette_109, 10110 + obj_pal gBattleAnimSpritePalette_111, 10111 + obj_pal gBattleAnimSpritePalette_112, 10112 + obj_pal gBattleAnimSpritePalette_113, 10113 + obj_pal gBattleAnimSpritePalette_114, 10114 + obj_pal gBattleAnimSpritePalette_115, 10115 + obj_pal gBattleAnimSpritePalette_116, 10116 + obj_pal gBattleAnimSpritePalette_117, 10117 + obj_pal gBattleAnimSpritePalette_118, 10118 + obj_pal gBattleAnimSpritePalette_119, 10119 + obj_pal gBattleAnimSpritePalette_120, 10120 + obj_pal gBattleAnimSpritePalette_121, 10121 + obj_pal gBattleAnimSpritePalette_122, 10122 + obj_pal gBattleAnimSpritePalette_122, 10123 + obj_pal gBattleAnimSpritePalette_124, 10124 + obj_pal gBattleAnimSpritePalette_125, 10125 + obj_pal gBattleAnimSpritePalette_126, 10126 + obj_pal gBattleAnimSpritePalette_127, 10127 + obj_pal gBattleAnimSpritePalette_128, 10128 + obj_pal gBattleAnimSpritePalette_128, 10129 + obj_pal gBattleAnimSpritePalette_130, 10130 + obj_pal gBattleAnimSpritePalette_130, 10131 + obj_pal gBattleAnimSpritePalette_132, 10132 + obj_pal gBattleAnimSpritePalette_133, 10133 + obj_pal gBattleAnimSpritePalette_133, 10134 + obj_pal gBattleAnimSpritePalette_135, 10135 + obj_pal gBattleAnimSpritePalette_136, 10136 + obj_pal gBattleAnimSpritePalette_135, 10137 + obj_pal gBattleAnimSpritePalette_135, 10138 + obj_pal gBattleAnimSpritePalette_139, 10139 + obj_pal gBattleAnimSpritePalette_140, 10140 + obj_pal gBattleAnimSpritePalette_141, 10141 + obj_pal gBattleAnimSpritePalette_141, 10142 + obj_pal gBattleAnimSpritePalette_143, 10143 + obj_pal gBattleAnimSpritePalette_144, 10144 + obj_pal gBattleAnimSpritePalette_139, 10145 + obj_pal gBattleAnimSpritePalette_115, 10146 + obj_pal gBattleAnimSpritePalette_147, 10147 + obj_pal gBattleAnimSpritePalette_148, 10148 + obj_pal gBattleAnimSpritePalette_148, 10149 + obj_pal gBattleAnimSpritePalette_150, 10150 + obj_pal gBattleAnimSpritePalette_150, 10151 + obj_pal gBattleAnimSpritePalette_152, 10152 + obj_pal gBattleAnimSpritePalette_153, 10153 + obj_pal gBattleAnimSpritePalette_154, 10154 + obj_pal gBattleAnimSpritePalette_155, 10155 + obj_pal gBattleAnimSpritePalette_156, 10156 + obj_pal gBattleAnimSpritePalette_157, 10157 + obj_pal gBattleAnimSpritePalette_158, 10158 + obj_pal gBattleAnimSpritePalette_159, 10159 + obj_pal gBattleAnimSpritePalette_160, 10160 + obj_pal gBattleAnimSpritePalette_161, 10161 + obj_pal gBattleAnimSpritePalette_162, 10162 + obj_pal gBattleAnimSpritePalette_163, 10163 + obj_pal gBattleAnimSpritePalette_164, 10164 + obj_pal gBattleAnimSpritePalette_165, 10165 + obj_pal gBattleAnimSpritePalette_166, 10166 + obj_pal gBattleAnimSpritePalette_167, 10167 + obj_pal gBattleAnimSpritePalette_168, 10168 + obj_pal gBattleAnimSpritePalette_169, 10169 + obj_pal gBattleAnimSpritePalette_170, 10170 + obj_pal gBattleAnimSpritePalette_171, 10171 + obj_pal gBattleAnimSpritePalette_172, 10172 + obj_pal gBattleAnimSpritePalette_001, 10173 + obj_pal gBattleAnimSpritePalette_174, 10174 + obj_pal gBattleAnimSpritePalette_175, 10175 + obj_pal gBattleAnimSpritePalette_176, 10176 + obj_pal gBattleAnimSpritePalette_177, 10177 + obj_pal gBattleAnimSpritePalette_178, 10178 + obj_pal gBattleAnimSpritePalette_179, 10179 + obj_pal gBattleAnimSpritePalette_179, 10180 + obj_pal gBattleAnimSpritePalette_179, 10181 + obj_pal gBattleAnimSpritePalette_182, 10182 + obj_pal gBattleAnimSpritePalette_183, 10183 + obj_pal gBattleAnimSpritePalette_184, 10184 + obj_pal gBattleAnimSpritePalette_185, 10185 + obj_pal gBattleAnimSpritePalette_186, 10186 + obj_pal gBattleAnimSpritePalette_187, 10187 + obj_pal gBattleAnimSpritePalette_188, 10188 + obj_pal gBattleAnimSpritePalette_189, 10189 + obj_pal gBattleAnimSpritePalette_190, 10190 + obj_pal gBattleAnimSpritePalette_191, 10191 + obj_pal gBattleAnimSpritePalette_192, 10192 + obj_pal gBattleAnimSpritePalette_193, 10193 + obj_pal gBattleAnimSpritePalette_194, 10194 + obj_pal gBattleAnimSpritePalette_195, 10195 + obj_pal gBattleAnimSpritePalette_196, 10196 + obj_pal gBattleAnimSpritePalette_197, 10197 + obj_pal gBattleAnimSpritePalette_198, 10198 + obj_pal gBattleAnimSpritePalette_199, 10199 + obj_pal gBattleAnimSpritePalette_200, 10200 + obj_pal gBattleAnimSpritePalette_201, 10201 + obj_pal gBattleAnimSpritePalette_202, 10202 + obj_pal gBattleAnimSpritePalette_203, 10203 + obj_pal gBattleAnimSpritePalette_204, 10204 + obj_pal gBattleAnimSpritePalette_205, 10205 + obj_pal gBattleAnimSpritePalette_206, 10206 + obj_pal gBattleAnimSpritePalette_207, 10207 + obj_pal gBattleAnimSpritePalette_167, 10208 + obj_pal gBattleAnimSpritePalette_209, 10209 + obj_pal gBattleAnimSpritePalette_210, 10210 + obj_pal gBattleAnimSpritePalette_211, 10211 + obj_pal gBattleAnimSpritePalette_211, 10212 + obj_pal gBattleAnimSpritePalette_211, 10213 + obj_pal gBattleAnimSpritePalette_064, 10214 + obj_pal gBattleAnimSpritePalette_215, 10215 + obj_pal gBattleAnimSpritePalette_216, 10216 + obj_pal gBattleAnimSpritePalette_217, 10217 + obj_pal gBattleAnimSpritePalette_218, 10218 + obj_pal gBattleAnimSpritePalette_219, 10219 + obj_pal gBattleAnimSpritePalette_220, 10220 + obj_pal gBattleAnimSpritePalette_221, 10221 + obj_pal gBattleAnimSpritePalette_222, 10222 + obj_pal gBattleAnimSpritePalette_223, 10223 + obj_pal gBattleAnimSpritePalette_224, 10224 + obj_pal gBattleAnimSpritePalette_225, 10225 + obj_pal gBattleAnimSpritePalette_226, 10226 + obj_pal gBattleAnimSpritePalette_226, 10227 + obj_pal gBattleAnimSpritePalette_228, 10228 + obj_pal gBattleAnimSpritePalette_229, 10229 + obj_pal gBattleAnimSpritePalette_230, 10230 + obj_pal gBattleAnimSpritePalette_231, 10231 + obj_pal gBattleAnimSpritePalette_231, 10232 + obj_pal gBattleAnimSpritePalette_233, 10233 + obj_pal gBattleAnimSpritePalette_234, 10234 + obj_pal gBattleAnimSpritePalette_235, 10235 + obj_pal gBattleAnimSpritePalette_236, 10236 + obj_pal gBattleAnimSpritePalette_237, 10237 + obj_pal gBattleAnimSpritePalette_238, 10238 + obj_pal gBattleAnimSpritePalette_239, 10239 + obj_pal gBattleAnimSpritePalette_240, 10240 + obj_pal gBattleAnimSpritePalette_241, 10241 + obj_pal gBattleAnimSpritePalette_242, 10242 + obj_pal gBattleAnimSpritePalette_243, 10243 + obj_pal gBattleAnimSpritePalette_244, 10244 + obj_pal gBattleAnimSpritePalette_245, 10245 + obj_pal gBattleAnimSpritePalette_245, 10246 + obj_pal gBattleAnimSpritePalette_064, 10247 + obj_pal gBattleAnimSpritePalette_248, 10248 + obj_pal gBattleAnimSpritePalette_249, 10249 + obj_pal gBattleAnimSpritePalette_249, 10250 + obj_pal gBattleAnimSpritePalette_251, 10251 + obj_pal gBattleAnimSpritePalette_252, 10252 + obj_pal gBattleAnimSpritePalette_253, 10253 + obj_pal gBattleAnimSpritePalette_254, 10254 + obj_pal gBattleAnimSpritePalette_255, 10255 + obj_pal gBattleAnimSpritePalette_256, 10256 + obj_pal gBattleAnimSpritePalette_257, 10257 + obj_pal gBattleAnimSpritePalette_258, 10258 + obj_pal gBattleAnimSpritePalette_259, 10259 + obj_pal gBattleAnimSpritePalette_260, 10260 + obj_pal gBattleAnimSpritePalette_261, 10261 + obj_pal gBattleAnimSpritePalette_262, 10262 + obj_pal gBattleAnimSpritePalette_263, 10263 + obj_pal gBattleAnimSpritePalette_264, 10264 + obj_pal gBattleAnimSpritePalette_265, 10265 + obj_pal gBattleAnimSpritePalette_266, 10266 + obj_pal gBattleAnimSpritePalette_267, 10267 + obj_pal gBattleAnimSpritePalette_268, 10268 + obj_pal gBattleAnimSpritePalette_269, 10269 + obj_pal gBattleAnimSpritePalette_270, 10270 + obj_pal gBattleAnimSpritePalette_271, 10271 + obj_pal gBattleAnimSpritePalette_272, 10272 + obj_pal gBattleAnimSpritePalette_272, 10273 + obj_pal gBattleAnimSpritePalette_274, 10274 + obj_pal gBattleAnimSpritePalette_274, 10275 + obj_pal gBattleAnimSpritePalette_274, 10276 + obj_pal gBattleAnimSpritePalette_277, 10277 + obj_pal gBattleAnimSpritePalette_278, 10278 + obj_pal gBattleAnimSpritePalette_279, 10279 + obj_pal gBattleAnimSpritePalette_280, 10280 + obj_pal gBattleAnimSpritePalette_281, 10281 + obj_pal gBattleAnimSpritePalette_282, 10282 + obj_pal gBattleAnimSpritePalette_283, 10283 + obj_pal gBattleAnimSpritePalette_284, 10284 + obj_pal gBattleAnimSpritePalette_285, 10285 + obj_pal gBattleAnimSpritePalette_286, 10286 + obj_pal gBattleAnimSpritePalette_287, 10287 + obj_pal gBattleAnimSpritePalette_288, 10288 + + .align 2 +gBattleAnimBackgroundTable:: @ 837F374 + .4byte gBattleAnimBackgroundImage_00, gBattleAnimBackgroundPalette_00, gBattleAnimBackgroundTilemap_00 + .4byte gBattleAnimBackgroundImage_00, gBattleAnimBackgroundPalette_00, gBattleAnimBackgroundTilemap_00 + .4byte gBattleAnimBackgroundImage_02, gBattleAnimBackgroundPalette_02, gBattleAnimBackgroundTilemap_02 + .4byte gBattleAnimBackgroundImage_03, gBattleAnimBackgroundPalette_03, gBattleAnimBackgroundTilemap_03 + .4byte gBattleAnimBackgroundImage_04, gBattleAnimBackgroundPalette_04, gBattleAnimBackgroundTilemap_04 + .4byte gBattleAnimBackgroundImage_04, gBattleAnimBackgroundPalette_04, gBattleAnimBackgroundTilemap_05 + .4byte gBattleAnimBackgroundImage_04, gBattleAnimBackgroundPalette_04, gBattleAnimBackgroundTilemap_06 + .4byte gBattleAnimBackgroundImage_07, gBattleAnimBackgroundPalette_07, gBattleAnimBackgroundTilemap_07 + .4byte gBattleAnimBackgroundImage_07, gBattleAnimBackgroundPalette_07, gBattleAnimBackgroundTilemap_08 + .4byte gBattleAnimBackgroundImage_09, gBattleAnimBackgroundPalette_09, gBattleAnimBackgroundTilemap_09 + .4byte gBattleAnimBackgroundImage_09, gBattleAnimBackgroundPalette_09, gBattleAnimBackgroundTilemap_10 + .4byte gBattleAnimBackgroundImage_11, gBattleAnimBackgroundPalette_11, gBattleAnimBackgroundTilemap_11 + .4byte gBattleAnimBackgroundImage_12, gBattleAnimBackgroundPalette_12, gBattleAnimBackgroundTilemap_12 + .4byte gBattleAnimBackgroundImage_12, gBattleAnimBackgroundPalette_12, gBattleAnimBackgroundTilemap_13 + .4byte gBattleAnimBackgroundImage_12, gBattleAnimBackgroundPalette_12, gBattleAnimBackgroundTilemap_14 + .4byte gBattleAnimBackgroundImage_15, gBattleAnimBackgroundPalette_15, gBattleAnimBackgroundTilemap_15 + .4byte gBattleAnimBackgroundImage_16, gBattleAnimBackgroundPalette_16, gBattleAnimBackgroundTilemap_16 + .4byte gBattleAnimBackgroundImage_17, gBattleAnimBackgroundPalette_17, gBattleAnimBackgroundTilemap_17 + .4byte gBattleAnimBackgroundImage_07, gBattleAnimBackgroundPalette_18, gBattleAnimBackgroundTilemap_07 + .4byte gBattleAnimBackgroundImage_07, gBattleAnimBackgroundPalette_18, gBattleAnimBackgroundTilemap_08 + .4byte gBattleAnimBackgroundImage_20, gBattleAnimBackgroundPalette_20, gBattleAnimBackgroundTilemap_20 + .4byte gBattleAnimBackgroundImage_21, gBattleAnimBackgroundPalette_21, gBattleAnimBackgroundTilemap_21 + .4byte gBattleAnimBackgroundImage_09, gBattleAnimBackgroundPalette_22, gBattleAnimBackgroundTilemap_09 + .4byte gBattleAnimBackgroundImage_09, gBattleAnimBackgroundPalette_22, gBattleAnimBackgroundTilemap_10 + .4byte gBattleAnimBackgroundImage_04, gBattleAnimBackgroundPalette_24, gBattleAnimBackgroundTilemap_04 + .4byte gBattleAnimBackgroundImage_04, gBattleAnimBackgroundPalette_24, gBattleAnimBackgroundTilemap_05 + .4byte gBattleAnimBackgroundImage_04, gBattleAnimBackgroundPalette_24, gBattleAnimBackgroundTilemap_06 + + .align 2 +gUnknown_0837F4B8:: @ 837F4B8 + .4byte ma00_load_graphics + .4byte ma01_080728D0 + .4byte ma02_instanciate_template + .4byte sub_8075BB8 + .4byte ma04_wait_countdown + .4byte sub_8075C74 + .4byte nullsub_53 + .4byte nullsub_88 + .4byte sub_8075CB0 + .4byte ma09_play_sound + .4byte sub_8075DE0 + .4byte ma0B_0807324C + .4byte sub_8076A3C + .4byte sub_8076AA0 + .4byte ma0E_call + .4byte sub_8076AF0 + .4byte ma10_080736AC + .4byte ma11_if_else + .4byte ma12_cond_if + .4byte sub_8076BBC + .4byte ma14_load_background + .4byte ma15_load_battle_screen_elements + .4byte ma16_wait_for_battle_screen_elements_s2 + .4byte sub_8076F44 + .4byte ma18_load_background_probably + .4byte ma19_08073BC8 + .4byte ma1A_8073C00 + .4byte ma1B_8073C2C + .4byte ma1C_8073ED0 + .4byte ma1D_08073FB4 + .4byte sub_8076A78 + .4byte sub_8077610 + .4byte ma20_wait_for_something + .4byte ma21_08074164 + .4byte sub_80767C4 + .4byte ma23_8073484 + .4byte sub_807775C + .4byte sub_8076C4C + .4byte sub_8077320 + .4byte sub_80773B4 + .4byte sub_807779C + .4byte sub_8077808 + .4byte sub_807784C + .4byte ma2B_make_side_invisible + .4byte ma2C_make_side_visible + .4byte sub_807794C + .4byte sub_80779FC + .4byte ma2F_stop_music + +gUnknown_0837F578:: @ 837F578 + .incbin "baserom.gba", 0x0037f578, 0x20 + +@ One entry for each of the four Castform forms. +@ Coords are probably front pic coords or back pic coords, but this data does not seem to be +@ used during battle, party summary, or pokedex screens. + .align 2 +gUnknownCastformCoords_0837F598:: @ 837F598 + .byte 68, 17, 0, 0 + .byte 102, 9, 0, 0 + .byte 70, 9, 0, 0 + .byte 134, 8, 0, 0 + +@ One entry for each of the four Castform forms. Probably a palette index. +gUnknownCastformData_0837F5A8:: @ 837F5A8 + .byte 0xD, 0xE, 0xD, 0xD + +gUnknown_0837F5AC:: @ 837F5AC + .byte 0, 0, 0, 0 + + .align 2 +gSpriteTemplate_837F5B0:: @ 837F5B0 + spr_template 55125, 55125, gOamData_837DF9C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gSpriteTemplate_837F5C8:: @ 837F5C8 + spr_template 55126, 55126, gOamData_837DF9C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gUnknown_0837F5E0:: @ 837F5E0 + obj_tiles gMiscBlank_Gfx, 2048, 0xd755 + obj_tiles gMiscBlank_Gfx, 2048, 0xd756 + + .include "data/maps/events/PetalburgCity.inc" + .include "data/maps/events/SlateportCity.inc" + .include "data/maps/events/MauvilleCity.inc" + .include "data/maps/events/RustboroCity.inc" + .include "data/maps/events/FortreeCity.inc" + .include "data/maps/events/LilycoveCity.inc" + .include "data/maps/events/MossdeepCity.inc" + .include "data/maps/events/SootopolisCity.inc" + .include "data/maps/events/EverGrandeCity.inc" + .include "data/maps/events/LittlerootTown.inc" + .include "data/maps/events/OldaleTown.inc" + .include "data/maps/events/DewfordTown.inc" + .include "data/maps/events/LavaridgeTown.inc" + .include "data/maps/events/FallarborTown.inc" + .include "data/maps/events/VerdanturfTown.inc" + .include "data/maps/events/PacifidlogTown.inc" + .include "data/maps/events/Route101.inc" + .include "data/maps/events/Route102.inc" + .include "data/maps/events/Route103.inc" + .include "data/maps/events/Route104.inc" + .include "data/maps/events/Route105.inc" + .include "data/maps/events/Route106.inc" + .include "data/maps/events/Route107.inc" + .include "data/maps/events/Route108.inc" + .include "data/maps/events/Route109.inc" + .include "data/maps/events/Route110.inc" + .include "data/maps/events/Route111.inc" + .include "data/maps/events/Route112.inc" + .include "data/maps/events/Route113.inc" + .include "data/maps/events/Route114.inc" + .include "data/maps/events/Route115.inc" + .include "data/maps/events/Route116.inc" + .include "data/maps/events/Route117.inc" + .include "data/maps/events/Route118.inc" + .include "data/maps/events/Route119.inc" + .include "data/maps/events/Route120.inc" + .include "data/maps/events/Route121.inc" + .include "data/maps/events/Route122.inc" + .include "data/maps/events/Route123.inc" + .include "data/maps/events/Route124.inc" + .include "data/maps/events/Route125.inc" + .include "data/maps/events/Route126.inc" + .include "data/maps/events/Route127.inc" + .include "data/maps/events/Route128.inc" + .include "data/maps/events/Route129.inc" + .include "data/maps/events/Route130.inc" + .include "data/maps/events/Route131.inc" + .include "data/maps/events/Route132.inc" + .include "data/maps/events/Route133.inc" + .include "data/maps/events/Route134.inc" + .include "data/maps/events/Underwater1.inc" + .include "data/maps/events/Underwater2.inc" + .include "data/maps/events/Underwater3.inc" + .include "data/maps/events/Underwater4.inc" + .include "data/maps/events/LittlerootTown_BrendansHouse_1F.inc" + .include "data/maps/events/LittlerootTown_BrendansHouse_2F.inc" + .include "data/maps/events/LittlerootTown_MaysHouse_1F.inc" + .include "data/maps/events/LittlerootTown_MaysHouse_2F.inc" + .include "data/maps/events/LittlerootTown_ProfessorBirchsLab.inc" + .include "data/maps/events/OldaleTown_House1.inc" + .include "data/maps/events/OldaleTown_House2.inc" + .include "data/maps/events/OldaleTown_PokemonCenter_1F.inc" + .include "data/maps/events/OldaleTown_PokemonCenter_2F.inc" + .include "data/maps/events/OldaleTown_Mart.inc" + .include "data/maps/events/DewfordTown_House1.inc" + .include "data/maps/events/DewfordTown_PokemonCenter_1F.inc" + .include "data/maps/events/DewfordTown_PokemonCenter_2F.inc" + .include "data/maps/events/DewfordTown_Gym.inc" + .include "data/maps/events/DewfordTown_Hall.inc" + .include "data/maps/events/DewfordTown_House2.inc" + .include "data/maps/events/LavaridgeTown_HerbShop.inc" + .include "data/maps/events/LavaridgeTown_Gym_1F.inc" + .include "data/maps/events/LavaridgeTown_Gym_B1F.inc" + .include "data/maps/events/LavaridgeTown_House.inc" + .include "data/maps/events/LavaridgeTown_Mart.inc" + .include "data/maps/events/LavaridgeTown_PokemonCenter_1F.inc" + .include "data/maps/events/LavaridgeTown_PokemonCenter_2F.inc" + .include "data/maps/events/FallarborTown_Mart.inc" + .include "data/maps/events/FallarborTown_ContestLobby.inc" + .include "data/maps/events/FallarborTown_ContestHall.inc" + .include "data/maps/events/FallarborTown_PokemonCenter_1F.inc" + .include "data/maps/events/FallarborTown_PokemonCenter_2F.inc" + .include "data/maps/events/FallarborTown_House1.inc" + .include "data/maps/events/FallarborTown_House2.inc" + .include "data/maps/events/VerdanturfTown_ContestLobby.inc" + .include "data/maps/events/VerdanturfTown_ContestHall.inc" + .include "data/maps/events/VerdanturfTown_Mart.inc" + .include "data/maps/events/VerdanturfTown_PokemonCenter_1F.inc" + .include "data/maps/events/VerdanturfTown_PokemonCenter_2F.inc" + .include "data/maps/events/VerdanturfTown_WandasHouse.inc" + .include "data/maps/events/VerdanturfTown_FriendshipRatersHouse.inc" + .include "data/maps/events/VerdanturfTown_House.inc" + .include "data/maps/events/PacifidlogTown_PokemonCenter_1F.inc" + .include "data/maps/events/PacifidlogTown_PokemonCenter_2F.inc" + .include "data/maps/events/PacifidlogTown_House1.inc" + .include "data/maps/events/PacifidlogTown_House2.inc" + .include "data/maps/events/PacifidlogTown_House3.inc" + .include "data/maps/events/PacifidlogTown_House4.inc" + .include "data/maps/events/PacifidlogTown_House5.inc" + .include "data/maps/events/PetalburgCity_WallysHouse.inc" + .include "data/maps/events/PetalburgCity_Gym.inc" + .include "data/maps/events/PetalburgCity_House1.inc" + .include "data/maps/events/PetalburgCity_House2.inc" + .include "data/maps/events/PetalburgCity_PokemonCenter_1F.inc" + .include "data/maps/events/PetalburgCity_PokemonCenter_2F.inc" + .include "data/maps/events/PetalburgCity_Mart.inc" + .include "data/maps/events/SlateportCity_SternsShipyard_1F.inc" + .include "data/maps/events/SlateportCity_SternsShipyard_2F.inc" + .include "data/maps/events/SlateportCity_ContestLobby.inc" + .include "data/maps/events/SlateportCity_ContestHall.inc" + .include "data/maps/events/SlateportCity_House1.inc" + .include "data/maps/events/SlateportCity_PokemonFanClub.inc" + .include "data/maps/events/SlateportCity_OceanicMuseum_1F.inc" + .include "data/maps/events/SlateportCity_OceanicMuseum_2F.inc" + .include "data/maps/events/SlateportCity_Harbor.inc" + .include "data/maps/events/SlateportCity_House2.inc" + .include "data/maps/events/SlateportCity_PokemonCenter_1F.inc" + .include "data/maps/events/SlateportCity_PokemonCenter_2F.inc" + .include "data/maps/events/SlateportCity_Mart.inc" + .include "data/maps/events/MauvilleCity_Gym.inc" + .include "data/maps/events/MauvilleCity_BikeShop.inc" + .include "data/maps/events/MauvilleCity_House1.inc" + .include "data/maps/events/MauvilleCity_GameCorner.inc" + .include "data/maps/events/MauvilleCity_House2.inc" + .include "data/maps/events/MauvilleCity_PokemonCenter_1F.inc" + .include "data/maps/events/MauvilleCity_PokemonCenter_2F.inc" + .include "data/maps/events/MauvilleCity_Mart.inc" + .include "data/maps/events/RustboroCity_DevonCorp_1F.inc" + .include "data/maps/events/RustboroCity_DevonCorp_2F.inc" + .include "data/maps/events/RustboroCity_DevonCorp_3F.inc" + .include "data/maps/events/RustboroCity_Gym.inc" + .include "data/maps/events/RustboroCity_PokemonSchool.inc" + .include "data/maps/events/RustboroCity_PokemonCenter_1F.inc" + .include "data/maps/events/RustboroCity_PokemonCenter_2F.inc" + .include "data/maps/events/RustboroCity_Mart.inc" + .include "data/maps/events/RustboroCity_Flat1_1F.inc" + .include "data/maps/events/RustboroCity_Flat1_2F.inc" + .include "data/maps/events/RustboroCity_House1.inc" + .include "data/maps/events/RustboroCity_CuttersHouse.inc" + .include "data/maps/events/RustboroCity_House2.inc" + .include "data/maps/events/RustboroCity_Flat2_1F.inc" + .include "data/maps/events/RustboroCity_Flat2_2F.inc" + .include "data/maps/events/RustboroCity_Flat2_3F.inc" + .include "data/maps/events/RustboroCity_House3.inc" + .include "data/maps/events/FortreeCity_House1.inc" + .include "data/maps/events/FortreeCity_Gym.inc" + .include "data/maps/events/FortreeCity_PokemonCenter_1F.inc" + .include "data/maps/events/FortreeCity_PokemonCenter_2F.inc" + .include "data/maps/events/FortreeCity_Mart.inc" + .include "data/maps/events/FortreeCity_House2.inc" + .include "data/maps/events/FortreeCity_House3.inc" + .include "data/maps/events/FortreeCity_House4.inc" + .include "data/maps/events/FortreeCity_House5.inc" + .include "data/maps/events/FortreeCity_DecorationShop.inc" + .include "data/maps/events/LilycoveCity_CoveLilyMotel_1F.inc" + .include "data/maps/events/LilycoveCity_CoveLilyMotel_2F.inc" + .include "data/maps/events/LilycoveCity_LilycoveMuseum_1F.inc" + .include "data/maps/events/LilycoveCity_LilycoveMuseum_2F.inc" + .include "data/maps/events/LilycoveCity_ContestLobby.inc" + .include "data/maps/events/LilycoveCity_ContestHall.inc" + .include "data/maps/events/LilycoveCity_PokemonCenter_1F.inc" + .include "data/maps/events/LilycoveCity_PokemonCenter_2F.inc" + .include "data/maps/events/LilycoveCity_UnusedMart.inc" + .include "data/maps/events/LilycoveCity_PokemonTrainerFanClub.inc" + .include "data/maps/events/LilycoveCity_Harbor.inc" + .include "data/maps/events/LilycoveCity_EmptyMap.inc" + .include "data/maps/events/LilycoveCity_MoveDeletersHouse.inc" + .include "data/maps/events/LilycoveCity_House1.inc" + .include "data/maps/events/LilycoveCity_House2.inc" + .include "data/maps/events/LilycoveCity_House3.inc" + .include "data/maps/events/LilycoveCity_House4.inc" + .include "data/maps/events/LilycoveCity_DepartmentStore_1F.inc" + .include "data/maps/events/LilycoveCity_DepartmentStore_2F.inc" + .include "data/maps/events/LilycoveCity_DepartmentStore_3F.inc" + .include "data/maps/events/LilycoveCity_DepartmentStore_4F.inc" + .include "data/maps/events/LilycoveCity_DepartmentStore_5F.inc" + .include "data/maps/events/LilycoveCity_DepartmentStoreRooftop.inc" + .include "data/maps/events/LilycoveCity_DepartmentStoreElevator.inc" + .include "data/maps/events/MossdeepCity_Gym.inc" + .include "data/maps/events/MossdeepCity_House1.inc" + .include "data/maps/events/MossdeepCity_House2.inc" + .include "data/maps/events/MossdeepCity_PokemonCenter_1F.inc" + .include "data/maps/events/MossdeepCity_PokemonCenter_2F.inc" + .include "data/maps/events/MossdeepCity_Mart.inc" + .include "data/maps/events/MossdeepCity_House3.inc" + .include "data/maps/events/MossdeepCity_StevensHouse.inc" + .include "data/maps/events/MossdeepCity_House4.inc" + .include "data/maps/events/MossdeepCity_SpaceCenter_1F.inc" + .include "data/maps/events/MossdeepCity_SpaceCenter_2F.inc" + .include "data/maps/events/MossdeepCity_GameCorner_1F.inc" + .include "data/maps/events/MossdeepCity_GameCorner_B1F.inc" + .include "data/maps/events/SootopolisCity_Gym_1F.inc" + .include "data/maps/events/SootopolisCity_Gym_B1F.inc" + .include "data/maps/events/SootopolisCity_PokemonCenter_1F.inc" + .include "data/maps/events/SootopolisCity_PokemonCenter_2F.inc" + .include "data/maps/events/SootopolisCity_Mart.inc" + .include "data/maps/events/SootopolisCity_House1.inc" + .include "data/maps/events/SootopolisCity_House2.inc" + .include "data/maps/events/SootopolisCity_House3.inc" + .include "data/maps/events/SootopolisCity_House4.inc" + .include "data/maps/events/SootopolisCity_House5.inc" + .include "data/maps/events/SootopolisCity_House6.inc" + .include "data/maps/events/SootopolisCity_House7.inc" + .include "data/maps/events/SootopolisCity_House8.inc" + .include "data/maps/events/EverGrandeCity_SidneysRoom.inc" + .include "data/maps/events/EverGrandeCity_PhoebesRoom.inc" + .include "data/maps/events/EverGrandeCity_GlaciasRoom.inc" + .include "data/maps/events/EverGrandeCity_DrakesRoom.inc" + .include "data/maps/events/EverGrandeCity_ChampionsRoom.inc" + .include "data/maps/events/EverGrandeCity_Corridor1.inc" + .include "data/maps/events/EverGrandeCity_Corridor2.inc" + .include "data/maps/events/EverGrandeCity_Corridor3.inc" + .include "data/maps/events/EverGrandeCity_Corridor4.inc" + .include "data/maps/events/EverGrandeCity_Corridor5.inc" + .include "data/maps/events/EverGrandeCity_PokemonLeague.inc" + .include "data/maps/events/EverGrandeCity_HallOfFame.inc" + .include "data/maps/events/EverGrandeCity_PokemonCenter_1F.inc" + .include "data/maps/events/EverGrandeCity_PokemonCenter_2F.inc" + .include "data/maps/events/Route104_MrBrineysHouse.inc" + .include "data/maps/events/Route104_PrettyPetalFlowerShop.inc" + .include "data/maps/events/Route111_WinstrateFamilysHouse.inc" + .include "data/maps/events/Route111_OldLadysRestStop.inc" + .include "data/maps/events/Route112_CableCarStation.inc" + .include "data/maps/events/MtChimney_CableCarStation.inc" + .include "data/maps/events/Route114_FossilManiacsHouse.inc" + .include "data/maps/events/Route114_FossilManiacsTunnel.inc" + .include "data/maps/events/Route114_LanettesHouse.inc" + .include "data/maps/events/Route116_TunnelersRestHouse.inc" + .include "data/maps/events/Route117_PokemonDayCare.inc" + .include "data/maps/events/Route121_SafariZoneEntrance.inc" + .include "data/maps/events/MeteorFalls_1F_1R.inc" + .include "data/maps/events/MeteorFalls_1F_2R.inc" + .include "data/maps/events/MeteorFalls_B1F_1R.inc" + .include "data/maps/events/MeteorFalls_B1F_2R.inc" + .include "data/maps/events/RusturfTunnel.inc" + .include "data/maps/events/Underwater_SootopolisCity.inc" + .include "data/maps/events/DesertRuins.inc" + .include "data/maps/events/GraniteCave_1F.inc" + .include "data/maps/events/GraniteCave_B1F.inc" + .include "data/maps/events/GraniteCave_B2F.inc" + .include "data/maps/events/GraniteCave_StevensRoom.inc" + .include "data/maps/events/PetalburgWoods.inc" + .include "data/maps/events/MtChimney.inc" + .include "data/maps/events/JaggedPass.inc" + .include "data/maps/events/FieryPath.inc" + .include "data/maps/events/MtPyre_1F.inc" + .include "data/maps/events/MtPyre_2F.inc" + .include "data/maps/events/MtPyre_3F.inc" + .include "data/maps/events/MtPyre_4F.inc" + .include "data/maps/events/MtPyre_5F.inc" + .include "data/maps/events/MtPyre_6F.inc" + .include "data/maps/events/MtPyre_Exterior.inc" + .include "data/maps/events/MtPyre_Summit.inc" + .include "data/maps/events/AquaHideout_1F.inc" + .include "data/maps/events/AquaHideout_B1F.inc" + .include "data/maps/events/AquaHideout_B2F.inc" + .include "data/maps/events/Underwater_SeafloorCavern.inc" + .include "data/maps/events/SeafloorCavern_Entrance.inc" + .include "data/maps/events/SeafloorCavern_Room1.inc" + .include "data/maps/events/SeafloorCavern_Room2.inc" + .include "data/maps/events/SeafloorCavern_Room3.inc" + .include "data/maps/events/SeafloorCavern_Room4.inc" + .include "data/maps/events/SeafloorCavern_Room5.inc" + .include "data/maps/events/SeafloorCavern_Room6.inc" + .include "data/maps/events/SeafloorCavern_Room7.inc" + .include "data/maps/events/SeafloorCavern_Room8.inc" + .include "data/maps/events/SeafloorCavern_Room9.inc" + .include "data/maps/events/CaveOfOrigin_Entrance.inc" + .include "data/maps/events/CaveOfOrigin_1F.inc" + .include "data/maps/events/CaveOfOrigin_B1F.inc" + .include "data/maps/events/CaveOfOrigin_B2F.inc" + .include "data/maps/events/CaveOfOrigin_B3F.inc" + .include "data/maps/events/CaveOfOrigin_B4F.inc" + .include "data/maps/events/VictoryRoad_1F.inc" + .include "data/maps/events/VictoryRoad_B1F.inc" + .include "data/maps/events/VictoryRoad_B2F.inc" + .include "data/maps/events/ShoalCave_LowTideEntranceRoom.inc" + .include "data/maps/events/ShoalCave_LowTideInnerRoom.inc" + .include "data/maps/events/ShoalCave_LowTideStairsRoom.inc" + .include "data/maps/events/ShoalCave_LowTideLowerRoom.inc" + .include "data/maps/events/ShoalCave_HighTideEntranceRoom.inc" + .include "data/maps/events/ShoalCave_HighTideInnerRoom.inc" + .include "data/maps/events/NewMauville_Entrance.inc" + .include "data/maps/events/NewMauville_Inside.inc" + .include "data/maps/events/AbandonedShip_Deck.inc" + .include "data/maps/events/AbandonedShip_Corridors_1F.inc" + .include "data/maps/events/AbandonedShip_Rooms_1F.inc" + .include "data/maps/events/AbandonedShip_Corridors_B1F.inc" + .include "data/maps/events/AbandonedShip_Rooms_B1F.inc" + .include "data/maps/events/AbandonedShip_Rooms2_B1F.inc" + .include "data/maps/events/AbandonedShip_Underwater1.inc" + .include "data/maps/events/AbandonedShip_Room_B1F.inc" + .include "data/maps/events/AbandonedShip_Rooms2_1F.inc" + .include "data/maps/events/AbandonedShip_CaptainsOffice.inc" + .include "data/maps/events/AbandonedShip_Underwater2.inc" + .include "data/maps/events/AbandonedShip_HiddenFloorCorridors.inc" + .include "data/maps/events/AbandonedShip_HiddenFloorRooms.inc" + .include "data/maps/events/IslandCave.inc" + .include "data/maps/events/AncientTomb.inc" + .include "data/maps/events/Underwater_Route134.inc" + .include "data/maps/events/Underwater_SealedChamber.inc" + .include "data/maps/events/SealedChamber_OuterRoom.inc" + .include "data/maps/events/SealedChamber_InnerRoom.inc" + .include "data/maps/events/ScorchedSlab.inc" + .include "data/maps/events/MagmaHideout_1F.inc" + .include "data/maps/events/MagmaHideout_B1F.inc" + .include "data/maps/events/MagmaHideout_B2F.inc" + .include "data/maps/events/SkyPillar_Entrance.inc" + .include "data/maps/events/SkyPillar_Outside.inc" + .include "data/maps/events/SkyPillar_1F.inc" + .include "data/maps/events/SkyPillar_2F.inc" + .include "data/maps/events/SkyPillar_3F.inc" + .include "data/maps/events/SkyPillar_4F.inc" + .include "data/maps/events/ShoalCave_LowTideIceRoom.inc" + .include "data/maps/events/SkyPillar_5F.inc" + .include "data/maps/events/SkyPillar_Top.inc" + .include "data/maps/events/SecretBase_RedCave1.inc" + .include "data/maps/events/SecretBase_BrownCave1.inc" + .include "data/maps/events/SecretBase_BlueCave1.inc" + .include "data/maps/events/SecretBase_YellowCave1.inc" + .include "data/maps/events/SecretBase_Tree1.inc" + .include "data/maps/events/SecretBase_Shrub1.inc" + .include "data/maps/events/SecretBase_RedCave2.inc" + .include "data/maps/events/SecretBase_BrownCave2.inc" + .include "data/maps/events/SecretBase_BlueCave2.inc" + .include "data/maps/events/SecretBase_YellowCave2.inc" + .include "data/maps/events/SecretBase_Tree2.inc" + .include "data/maps/events/SecretBase_Shrub2.inc" + .include "data/maps/events/SecretBase_RedCave3.inc" + .include "data/maps/events/SecretBase_BrownCave3.inc" + .include "data/maps/events/SecretBase_BlueCave3.inc" + .include "data/maps/events/SecretBase_YellowCave3.inc" + .include "data/maps/events/SecretBase_Tree3.inc" + .include "data/maps/events/SecretBase_Shrub3.inc" + .include "data/maps/events/SecretBase_RedCave4.inc" + .include "data/maps/events/SecretBase_BrownCave4.inc" + .include "data/maps/events/SecretBase_BlueCave4.inc" + .include "data/maps/events/SecretBase_YellowCave4.inc" + .include "data/maps/events/SecretBase_Tree4.inc" + .include "data/maps/events/SecretBase_Shrub4.inc" + .include "data/maps/events/SingleBattleColosseum.inc" + .include "data/maps/events/TradeCenter.inc" + .include "data/maps/events/RecordCorner.inc" + .include "data/maps/events/DoubleBattleColosseum.inc" + .include "data/maps/events/LinkContestRoom1.inc" + .include "data/maps/events/LinkContestRoom2.inc" + .include "data/maps/events/LinkContestRoom3.inc" + .include "data/maps/events/LinkContestRoom4.inc" + .include "data/maps/events/LinkContestRoom5.inc" + .include "data/maps/events/LinkContestRoom6.inc" + .include "data/maps/events/UnknownMap_25_29.inc" + .include "data/maps/events/UnknownMap_25_30.inc" + .include "data/maps/events/UnknownMap_25_31.inc" + .include "data/maps/events/UnknownMap_25_32.inc" + .include "data/maps/events/UnknownMap_25_33.inc" + .include "data/maps/events/UnknownMap_25_34.inc" + .include "data/maps/events/InsideOfTruck.inc" + .include "data/maps/events/SSTidalCorridor.inc" + .include "data/maps/events/SSTidalLowerDeck.inc" + .include "data/maps/events/SSTidalRooms.inc" + .include "data/maps/events/SafariZone_Northwest.inc" + .include "data/maps/events/SafariZone_Northeast.inc" + .include "data/maps/events/SafariZone_Southwest.inc" + .include "data/maps/events/SafariZone_Southeast.inc" + .include "data/maps/events/BattleTower_Outside.inc" + .include "data/maps/events/BattleTower_Lobby.inc" + .include "data/maps/events/BattleTower_Elevator.inc" + .include "data/maps/events/BattleTower_Corridor.inc" + .include "data/maps/events/BattleTower_BattleRoom.inc" + .include "data/maps/events/SouthernIsland_Exterior.inc" + .include "data/maps/events/SouthernIsland_Interior.inc" + .include "data/maps/events/SafariZone_RestHouse.inc" + .include "data/maps/events/Route104_Prototype.inc" + .include "data/maps/events/Route104_PrototypePrettyPetalFlowerShop.inc" + .include "data/maps/events/Route109_SeashoreHouse.inc" + .include "data/maps/events/Route110_TrickHouseEntrance.inc" + .include "data/maps/events/Route110_TrickHouseEnd.inc" + .include "data/maps/events/Route110_TrickHouseCorridor.inc" + .include "data/maps/events/Route110_TrickHousePuzzle1.inc" + .include "data/maps/events/Route110_TrickHousePuzzle2.inc" + .include "data/maps/events/Route110_TrickHousePuzzle3.inc" + .include "data/maps/events/Route110_TrickHousePuzzle4.inc" + .include "data/maps/events/Route110_TrickHousePuzzle5.inc" + .include "data/maps/events/Route110_TrickHousePuzzle6.inc" + .include "data/maps/events/Route110_TrickHousePuzzle7.inc" + .include "data/maps/events/Route110_TrickHousePuzzle8.inc" + .include "data/maps/events/Route110_SeasideCyclingRoadSouthEntrance.inc" + .include "data/maps/events/Route110_SeasideCyclingRoadNorthEntrance.inc" + .include "data/maps/events/Route113_GlassWorkshop.inc" + .include "data/maps/events/Route123_BerryMastersHouse.inc" + .include "data/maps/events/Route119_WeatherInstitute_1F.inc" + .include "data/maps/events/Route119_WeatherInstitute_2F.inc" + .include "data/maps/events/Route119_House.inc" +Route124_DivingTreasureHuntersHouse_MapObjects:: @ 839300C + object_event 1, MAP_OBJ_GFX_MAN_6, 0, 5, 0, 4, 0, 0, 9, 0, 0, 0, 0, 0, 0, Route124_DivingTreasureHuntersHouse_EventScript_163E04, 0, 0, 0 + +Route124_DivingTreasureHuntersHouse_MapWarps:: @ 8393024 + warp_def 3, 8, 0, 0, Route124 + warp_def 4, 8, 0, 0, Route124 + +Route124_DivingTreasureHuntersHouse_MapBGEvents:: @ 8393034 + bg_event 7, 1, 0, 0, 0, Route124_DivingTreasureHuntersHouse_EventScript_164335 + +Route124_DivingTreasureHuntersHouse_MapEvents:: @ 8393040 + map_events Route124_DivingTreasureHuntersHouse_MapObjects, Route124_DivingTreasureHuntersHouse_MapWarps, 0x0, Route124_DivingTreasureHuntersHouse_MapBGEvents + + .align 2 +gSpriteAnim_8393054:: @ 8393054 + obj_image_anim_frame 0, 3 + obj_image_anim_frame 4, 3 + obj_image_anim_frame 8, 3 + obj_image_anim_frame 12, 3 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnimTable_8393068:: @ 8393068 + .4byte gSpriteAnim_8393054 + + .align 2 +gSpriteTemplate_839306C:: @ 839306C + spr_template 10004, 10004, gOamData_837DF2C, gSpriteAnimTable_8393068, NULL, gDummySpriteAffineAnimTable, sub_807A5C4 + + .align 2 +gSpriteTemplate_8393084:: @ 8393084 + spr_template 10004, 10004, gOamData_837DF2C, gSpriteAnimTable_8393068, NULL, gDummySpriteAffineAnimTable, sub_807A544 + + .align 2 +gSpriteAnim_839309C:: @ 839309C + obj_image_anim_frame 0, 3 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnimTable_83930A4:: @ 83930A4 + .4byte gSpriteAnim_839309C + + .align 2 +gBattleAnimSpriteTemplate_83930A8:: @ 83930A8 + spr_template 10283, 10283, gOamData_837DF34, gSpriteAnimTable_83930A4, NULL, gDummySpriteAffineAnimTable, sub_807A908 + + .align 2 +gBattleAnimSpriteTemplate_83930C0:: @ 83930C0 + spr_template 10283, 10283, gOamData_837DF34, gSpriteAnimTable_83930A4, NULL, gDummySpriteAffineAnimTable, sub_807A9BC + + .align 2 +gSpriteAnim_83930D8:: @ 83930D8 + obj_image_anim_frame 0, 3 + obj_image_anim_frame 16, 3 + obj_image_anim_frame 32, 3 + obj_image_anim_frame 48, 3 + obj_image_anim_frame 64, 3 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83930F0:: @ 83930F0 + .4byte gSpriteAnim_83930D8 + + .align 2 +gBattleAnimSpriteTemplate_83930F4:: @ 83930F4 + spr_template 10071, 10071, gOamData_837DF34, gSpriteAnimTable_83930F0, NULL, gDummySpriteAffineAnimTable, sub_807A63C + + .align 2 +gSpriteTemplate_839310C:: @ 839310C + spr_template 10051, 10051, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_807A5C4 + + .align 2 +gSpriteAnim_8393124:: @ 8393124 + obj_image_anim_frame 0, 5 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnim_839312C:: @ 839312C + obj_image_anim_frame 0, 5 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnim_8393134:: @ 8393134 + obj_image_anim_frame 0, 5 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnimTable_839313C:: @ 839313C + .4byte gSpriteAnim_8393124 + .4byte gSpriteAnim_839312C + .4byte gSpriteAnim_8393134 + + .align 2 +gSpriteTemplate_8393148:: @ 8393148 + spr_template 10135, 10135, gOamData_837DF34, gSpriteAnimTable_839313C, NULL, gDummySpriteAffineAnimTable, sub_807A5C4 + + .align 2 +gSpriteAnim_8393160:: @ 8393160 + obj_image_anim_frame 0, 15 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnimTable_8393168:: @ 8393168 + .4byte gSpriteAnim_8393160 + + .align 2 +gSpriteAffineAnim_839316C:: @ 839316C + obj_rot_scal_anim_frame 0x60, 0x60, 0, 0 + obj_rot_scal_anim_frame 0x2, 0x2, 0, 1 + obj_rot_scal_anim_jump 1 + + .align 2 +gSpriteAffineAnimTable_8393184:: @ 8393184 + .4byte gSpriteAffineAnim_839316C + + .align 2 +gSpriteTemplate_8393188:: @ 8393188 + spr_template 10004, 10004, gOamData_837DFEC, gSpriteAnimTable_8393168, NULL, gSpriteAffineAnimTable_8393184, sub_807A544 + + .string "TASK OVER\n" + .string "タスクがオーバーしました$" + + .align 2 +Unknown_083931B8: + .incbin "baserom.gba", 0x003931b8, 0x20 + +gUnknown_083931D8:: @ 83931D8 + .4byte 4, Unknown_083931B8 + + .align 2 +gSpriteTemplate_83931E0:: @ 83931E0 + spr_template 10010, 10010, gOamData_837E05C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gSpriteTemplate_83931F8:: @ 83931F8 + spr_template 10136, 10136, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_807B870 + + .align 2 +gUnknown_08393210:: @ 8393210 + .ifdef SAPPHIRE + .incbin "graphics/title_screen/kyogre_dark.gbapal" + .incbin "graphics/title_screen/kyogre_glow.gbapal" + .else + .incbin "graphics/title_screen/groudon_dark.gbapal" + .incbin "graphics/title_screen/groudon_glow.gbapal" + .endif + + .align 2 +gUnknown_08393250:: @ 8393250 + .ifdef SAPPHIRE + .incbin "graphics/title_screen/kyogre.4bpp.lz" + .else + .incbin "graphics/title_screen/groudon.4bpp.lz" + .endif + + .align 2 +gUnknown_083939EC:: @ 83939EC + .ifdef SAPPHIRE + .incbin "graphics/title_screen/kyogre_map.bin.lz" + .else + .incbin "graphics/title_screen/groudon_map.bin.lz" + .endif + + .align 2 +gUnknown_08393BF8:: @ 8393BF8 + .ifdef SAPPHIRE + .incbin "graphics/title_screen/water_map.bin.lz" + .else + .incbin "graphics/title_screen/lava_map.bin.lz" + .endif + + .align 2 +LogoShineTiles: @ 8393D14 + .incbin "graphics/title_screen/logo_shine.4bpp.lz" + +gUnknown_08393E64:: @ 8393E64 + .incbin "baserom.gba", 0x00393e64, 0x40 + + .align 2 +gOamData_8393EA4:: @ 8393EA4 + .2byte 0x60A0 + .2byte 0xC000 + .2byte 0x0000 + + .align 2 +gOamData_8393EAC:: @ 8393EAC + .2byte 0x60A0 + .2byte 0xC000 + .2byte 0x0000 + + .align 2 +gSpriteAnim_8393EB4:: @ 8393EB4 + obj_image_anim_frame 0, 30 + obj_image_anim_end + + .align 2 +gSpriteAnim_8393EBC:: @ 8393EBC + obj_image_anim_frame 64, 30 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_8393EC4:: @ 8393EC4 + .4byte gSpriteAnim_8393EB4 + + .align 2 +gSpriteAnimTable_8393EC8:: @ 8393EC8 + .4byte gSpriteAnim_8393EBC + + .align 2 +gSpriteTemplate_8393ECC:: @ 8393ECC + spr_template 1000, 1000, gOamData_8393EA4, gSpriteAnimTable_8393EC4, NULL, gDummySpriteAffineAnimTable, SpriteCallback_VersionBannerLeft + + .align 2 +gSpriteTemplate_8393EE4:: @ 8393EE4 + spr_template 1000, 1000, gOamData_8393EAC, gSpriteAnimTable_8393EC8, NULL, gDummySpriteAffineAnimTable, SpriteCallback_VersionBannerRight + + .align 2 +gUnknown_08393EFC:: @ 8393EFC + obj_tiles gVersionTiles, 0x1000, 1000 + null_obj_tiles + + .align 2 +gOamData_8393F0C:: @ 8393F0C + .2byte 0x40A0 + .2byte 0x4000 + .2byte 0x0000 + + .align 2 +gSpriteAnim_8393F14:: @ 8393F14 + obj_image_anim_frame 0, 4 + obj_image_anim_end + + .align 2 +gSpriteAnim_8393F1C:: @ 8393F1C + obj_image_anim_frame 4, 4 + obj_image_anim_end + + .align 2 +gSpriteAnim_8393F24:: @ 8393F24 + obj_image_anim_frame 8, 4 + obj_image_anim_end + + .align 2 +gSpriteAnim_8393F2C:: @ 8393F2C + obj_image_anim_frame 12, 4 + obj_image_anim_end + + .align 2 +gSpriteAnim_8393F34:: @ 8393F34 + obj_image_anim_frame 16, 4 + obj_image_anim_end + + .align 2 +gSpriteAnim_8393F3C:: @ 8393F3C + obj_image_anim_frame 20, 4 + obj_image_anim_end + + .align 2 +gSpriteAnim_8393F44:: @ 8393F44 + obj_image_anim_frame 24, 4 + obj_image_anim_end + + .align 2 +gSpriteAnim_8393F4C:: @ 8393F4C + obj_image_anim_frame 28, 4 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_8393F54:: @ 8393F54 + .4byte gSpriteAnim_8393F14 + .4byte gSpriteAnim_8393F1C + .4byte gSpriteAnim_8393F24 + .4byte gSpriteAnim_8393F2C + .4byte gSpriteAnim_8393F34 + .4byte gSpriteAnim_8393F3C + .4byte gSpriteAnim_8393F44 + .4byte gSpriteAnim_8393F4C + + .align 2 +gSpriteTemplate_8393F74:: @ 8393F74 + spr_template 1001, 1001, gOamData_8393F0C, gSpriteAnimTable_8393F54, NULL, gDummySpriteAffineAnimTable, SpriteCallback_PressStartCopyrightBanner + + .align 2 +gUnknown_08393F8C:: @ 8393F8C + obj_tiles gTitleScreenPressStart_Gfx, 0x520, 1001 + null_obj_tiles + + .align 2 +gUnknown_08393F9C:: @ 8393F9C + obj_pal gTitleScreenLogoShinePalette, 1001 + obj_pal 0x0, 0x0 + + .align 2 +gOamData_8393FAC:: @ 8393FAC + .2byte 0x00A0 + .2byte 0xC000 + .2byte 0x0000 + + .align 2 +gSpriteAnim_8393FB4:: @ 8393FB4 + obj_image_anim_frame 0, 4 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_8393FBC:: @ 8393FBC + .4byte gSpriteAnim_8393FB4 + + .align 2 +gSpriteTemplate_8393FC0:: @ 8393FC0 + spr_template 1002, 1001, gOamData_8393FAC, gSpriteAnimTable_8393FBC, NULL, gDummySpriteAffineAnimTable, SpriteCallback_PokemonLogoShine + + .align 2 +gUnknown_08393FD8:: @ 8393FD8 + obj_tiles LogoShineTiles, 0x800, 1002 + null_obj_tiles + + .align 2 +DroughtPaletteData_0: @ 8393FE8 + .incbin "graphics/weather/drought0.bin.lz" + + .align 2 +DroughtPaletteData_1: @ 839480C + .incbin "graphics/weather/drought1.bin.lz" + + .align 2 +DroughtPaletteData_2: @ 8395004 + .incbin "graphics/weather/drought2.bin.lz" + + .align 2 +DroughtPaletteData_3: @ 83957A0 + .incbin "graphics/weather/drought3.bin.lz" + + .align 2 +DroughtPaletteData_4: @ 8395FBC + .incbin "graphics/weather/drought4.bin.lz" + + .align 2 +DroughtPaletteData_5: @ 8396784 + .incbin "graphics/weather/drought5.bin.lz" + + .align 2 +gUnknown_08396FA8:: @ 8396FA8 + .4byte DroughtPaletteData_0 + .4byte DroughtPaletteData_1 + .4byte DroughtPaletteData_2 + .4byte DroughtPaletteData_3 + .4byte DroughtPaletteData_4 + .4byte DroughtPaletteData_5 + @.4byte unk_20000000 + .incbin "baserom.gba", 0x00396fc0, 0x4 @ pointer to unk_2000000? + + .align 2 +gUnknown_08396FC4:: @ 8396FC4 + .4byte 0x0202f7e8 + + .align 2 +gUnknown_08396FC8:: @ 8396FC8 + .4byte sub_807CAE8, nullsub_38, sub_807CAE8, sub_807CB0C + .4byte sub_807DE78, sub_807DEF4, sub_807DEC4, sub_807DF54 + .4byte sub_807DF9C, nullsub_55, sub_807DFC0, sub_807DFD0 + .4byte sub_807E364, sub_807E400, sub_807E3D0, sub_807E460 + .4byte sub_807E9C8, snowflakes_progress2, sub_807EA18, sub_807EAC0 + .4byte sub_807EE80, sub_807EFC0, sub_807EEF4, sub_807F34C + .4byte sub_807F49C, sub_807F52C, sub_807F4FC, sub_807F5EC + .4byte sub_807F7F8, sub_807F888, sub_807F858, sub_807F934 + .4byte sub_807FE9C, sub_807FF4C, sub_807FF1C, sub_807FFC8 + .4byte sub_807FB24, sub_807FBD8, sub_807FBA8, sub_807FC3C + .4byte sub_807F49C, sub_807F52C, sub_807F4FC, sub_807F5EC + .4byte sub_8080430, nullsub_56, sub_8080460, sub_8080470 + .4byte sub_807E110, sub_807E174, sub_807E144, sub_807E258 + .4byte sub_807EF24, sub_807EFC0, sub_807EF90, sub_807F34C + .4byte sub_8080474, sub_80804F8, sub_80804C8, sub_808056C + + .align 2 +gUnknown_083970B8:: @ 83970B8 + .4byte sub_807CC24 + .4byte sub_807CCAC + .4byte nullsub_39 + .4byte nullsub_39 + +gUnknown_083970C8:: @ 83970C8 + .incbin "baserom.gba", 0x003970c8, 0x20 + + .align 2 +gUnknown_083970E8:: @ 83970E8 + .incbin "graphics/weather/0.gbapal" + + .align 2 +gUnknown_08397108:: @ 8397108 + .incbin "graphics/weather/1.gbapal" + + .align 2 +gUnknown_08397128:: @ 8397128 + .incbin "graphics/weather/2.gbapal" + + .align 2 +WeatherFog0Tiles: @ 8397148 + .incbin "graphics/weather/fog0.4bpp" + + .align 2 +gWeatherFog1Tiles:: @ 8397948 + .incbin "graphics/weather/fog1.4bpp" + + .align 2 +WeatherCloudTiles: @ 8398148 + .incbin "graphics/weather/cloud.4bpp" + + .align 2 +gSpriteImage_8398948:: @ 8398948 + .incbin "graphics/weather/snow0.4bpp" + + .align 2 +gSpriteImage_8398968:: @ 8398968 + .incbin "graphics/weather/snow1.4bpp" + + .align 2 +WeatherBubbleTiles: @ 8398988 + .incbin "graphics/weather/bubble.4bpp" + + .align 2 +WeatherAshTiles: @ 83989C8 + .incbin "graphics/weather/ash.4bpp" + + .align 2 +WeatherRainTiles: @ 83999C8 + .incbin "graphics/weather/rain.4bpp" + + .align 2 +WeatherSandstormTiles: @ 8399FC8 + .incbin "graphics/weather/sandstorm.4bpp" + + .align 1 +gUnknown_0839A9C8:: @ 839A9C8 + .2byte 0, 66 + .2byte 5, 73 + .2byte 10, 78 + + .align 2 +gUnknown_0839A9D4:: @ 839A9D4 + obj_tiles WeatherCloudTiles, 0x800, 0x1200 + + .align 2 +gOamData_839A9DC:: @ 839A9DC + .2byte 0x0400 + .2byte 0xC000 + .2byte 0x0C00 + + .align 2 +gSpriteAnim_839A9E4:: @ 839A9E4 + obj_image_anim_frame 0, 16 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_839A9EC:: @ 839A9EC + .4byte gSpriteAnim_839A9E4 + + .align 2 +gSpriteTemplate_839A9F0:: @ 839A9F0 + spr_template 4608, 4609, gOamData_839A9DC, gSpriteAnimTable_839A9EC, NULL, gDummySpriteAffineAnimTable, sub_807E0F4 + + .align 1 +gUnknown_0839AA08:: @ 839AA08 + .2byte 0, 0 + .2byte 0, 160 + .2byte 0, 64 + .2byte 144, 224 + .2byte 144, 128 + .2byte 32, 32 + .2byte 32, 192 + .2byte 32, 96 + .2byte 72, 128 + .2byte 72, 32 + .2byte 72, 192 + .2byte 216, 96 + .2byte 216, 0 + .2byte 104, 160 + .2byte 104, 64 + .2byte 104, 224 + .2byte 144, 0 + .2byte 144, 160 + .2byte 144, 64 + .2byte 32, 224 + .2byte 32, 128 + .2byte 72, 32 + .2byte 72, 192 + .2byte 48, 96 + + .align 2 +gOamData_839AA68:: @ 839AA68 + .2byte 0x8000 + .2byte 0x8000 + .2byte 0x2400 + + .align 2 +gSpriteAnim_839AA70:: @ 839AA70 + obj_image_anim_frame 0, 16 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnim_839AA78:: @ 839AA78 + obj_image_anim_frame 8, 3 + obj_image_anim_frame 32, 2 + obj_image_anim_frame 40, 2 + obj_image_anim_end + + .align 2 +gSpriteAnim_839AA88:: @ 839AA88 + obj_image_anim_frame 8, 3 + obj_image_anim_frame 16, 3 + obj_image_anim_frame 24, 4 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_839AA98:: @ 839AA98 + .4byte gSpriteAnim_839AA70 + .4byte gSpriteAnim_839AA78 + .4byte gSpriteAnim_839AA88 + + .align 2 +gSpriteTemplate_839AAA4:: @ 839AAA4 + spr_template 4614, 4608, gOamData_839AA68, gSpriteAnimTable_839AA98, NULL, gDummySpriteAffineAnimTable, sub_807E5C0 + +gUnknown_0839AABC:: @ 839AABC + .incbin "baserom.gba", 0x0039aabc, 0x8 + +gUnknown_0839AAC4:: @ 839AAC4 + .incbin "baserom.gba", 0x0039aac4, 0x8 + + .align 2 +gUnknown_0839AACC:: @ 839AACC + obj_tiles WeatherRainTiles, 0x600, 0x1206 + + .align 2 +gOamData_839AAD4:: @ 839AAD4 + .2byte 0x0000 + .2byte 0x0000 + .2byte 0x0400 + + .align 2 +gSpriteImageTable_839AADC:: @ 839AADC + obj_frame_tiles gSpriteImage_8398948, 0x20 + obj_frame_tiles gSpriteImage_8398968, 0x20 + + .align 2 +gSpriteAnim_839AAEC:: @ 839AAEC + obj_image_anim_frame 0, 16 + obj_image_anim_end + + .align 2 +gSpriteAnim_839AAF4:: @ 839AAF4 + obj_image_anim_frame 1, 16 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_839AAFC:: @ 839AAFC + .4byte gSpriteAnim_839AAEC + .4byte gSpriteAnim_839AAF4 + + .align 2 +gSpriteTemplate_839AB04:: @ 839AB04 + spr_template 0xFFFF, 4608, gOamData_839AAD4, gSpriteAnimTable_839AAFC, gSpriteImageTable_839AADC, gDummySpriteAffineAnimTable, sub_807ED48 + + .align 2 + .incbin "baserom.gba", 0x0039ab1c, 0x10 + + .align 2 +gOamData_839AB2C:: @ 839AB2C + .2byte 0x0400 + .2byte 0xC000 + .2byte 0x0800 + + .align 2 +gSpriteAnim_839AB34:: @ 839AB34 + obj_image_anim_frame 0, 16 + obj_image_anim_end + + .align 2 +gSpriteAnim_839AB3C:: @ 839AB3C + obj_image_anim_frame 32, 16 + obj_image_anim_end + + .align 2 +gSpriteAnim_839AB44:: @ 839AB44 + obj_image_anim_frame 64, 16 + obj_image_anim_end + + .align 2 +gSpriteAnim_839AB4C:: @ 839AB4C + obj_image_anim_frame 96, 16 + obj_image_anim_end + + .align 2 +gSpriteAnim_839AB54:: @ 839AB54 + obj_image_anim_frame 128, 16 + obj_image_anim_end + + .align 2 +gSpriteAnim_839AB5C:: @ 839AB5C + obj_image_anim_frame 160, 16 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_839AB64:: @ 839AB64 + .4byte gSpriteAnim_839AB34 + .4byte gSpriteAnim_839AB3C + .4byte gSpriteAnim_839AB44 + .4byte gSpriteAnim_839AB4C + .4byte gSpriteAnim_839AB54 + .4byte gSpriteAnim_839AB5C + + .align 2 +gSpriteAffineAnim_839AB7C:: @ 839AB7C + obj_rot_scal_anim_frame 0x200, 0x200, 0, 0 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_839AB8C:: @ 839AB8C + .4byte gSpriteAffineAnim_839AB7C + + .align 2 +gSpriteTemplate_839AB90:: @ 839AB90 + spr_template 4609, 4608, gOamData_839AB2C, gSpriteAnimTable_839AB64, NULL, gSpriteAffineAnimTable_839AB8C, sub_807F688 + + .align 2 +gUnknown_0839ABA8:: @ 839ABA8 + obj_tiles gWeatherFog1Tiles, 0x800, 0x1201 + + .align 2 +gUnknown_0839ABB0:: @ 839ABB0 + obj_tiles WeatherAshTiles, 0x1000, 0x1202 + + .align 2 +gOamData_839ABB8:: @ 839ABB8 + .2byte 0x0400 + .2byte 0xC000 + .2byte 0xF400 + + .align 2 +gSpriteAnim_839ABC0:: @ 839ABC0 + obj_image_anim_frame 0, 60 + obj_image_anim_frame 64, 60 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnimTable_839ABCC:: @ 839ABCC + .4byte gSpriteAnim_839ABC0 + + .align 2 +gSpriteTemplate_839ABD0:: @ 839ABD0 + spr_template 4610, 4608, gOamData_839ABB8, gSpriteAnimTable_839ABCC, NULL, gDummySpriteAffineAnimTable, sub_807FAA8 + + .align 2 +gUnknown_0839ABE8:: @ 839ABE8 + obj_tiles WeatherFog0Tiles, 0x800, 0x1203 + + .align 2 +gOamData_839ABF0:: @ 839ABF0 + .2byte 0x0400 + .2byte 0xC000 + .2byte 0x0800 + + .align 2 +gSpriteAnim_839ABF8:: @ 839ABF8 + obj_image_anim_frame 0, 16 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_839AC00:: @ 839AC00 + .4byte gSpriteAnim_839ABF8 + + .align 2 +gSpriteTemplate_839AC04:: @ 839AC04 + spr_template 4611, 4608, gOamData_839ABF0, gSpriteAnimTable_839AC00, NULL, gDummySpriteAffineAnimTable, sub_807FE3C + + .align 2 +gOamData_839AC1C:: @ 839AC1C + .2byte 0x0400 + .2byte 0xC000 + .2byte 0x0400 + + .align 2 +gSpriteAnim_839AC24:: @ 839AC24 + obj_image_anim_frame 0, 3 + obj_image_anim_end + + .align 2 +gSpriteAnim_839AC2C:: @ 839AC2C + obj_image_anim_frame 64, 3 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_839AC34:: @ 839AC34 + .4byte gSpriteAnim_839AC24 + .4byte gSpriteAnim_839AC2C + + .align 2 +gSpriteTemplate_839AC3C:: @ 839AC3C + spr_template 4612, 4609, gOamData_839AC1C, gSpriteAnimTable_839AC34, NULL, gDummySpriteAffineAnimTable, sub_8080338 + + .align 2 +gUnknown_0839AC54:: @ 839AC54 + obj_tiles WeatherSandstormTiles, 0xA00, 0x1204 + +gUnknown_0839AC5C:: @ 839AC5C + .incbin "baserom.gba", 0x0039ac5c, 0xc + +gUnknown_0839AC68:: @ 839AC68 + .incbin "baserom.gba", 0x0039ac68, 0x8 + + .align 2 +gUnknown_0839AC70:: @ 839AC70 + obj_tiles WeatherBubbleTiles, 0x40, 0x1205 + + .align 1 +gUnknown_0839AC78:: @ 839AC78 + .2byte 120, 160 + .2byte 376, 160 + .2byte 40, 140 + .2byte 296, 140 + .2byte 180, 130 + .2byte 436, 130 + .2byte 60, 160 + .2byte 436, 160 + .2byte 220, 180 + .2byte 476, 180 + .2byte 10, 90 + .2byte 266, 90 + .2byte 256, 160 + + .align 2 +gSpriteAnim_839ACAC:: @ 839ACAC + obj_image_anim_frame 0, 16 + obj_image_anim_frame 1, 16 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_839ACB8:: @ 839ACB8 + .4byte gSpriteAnim_839ACAC + + .align 2 +gSpriteTemplate_839ACBC:: @ 839ACBC + spr_template 4613, 4608, gOamData_837DF24, gSpriteAnimTable_839ACB8, NULL, gDummySpriteAffineAnimTable, unc_0807DAB4 + +gUnknown_0839ACD4:: @ 839ACD4 + .byte 2, 3, 5, 3 + +gUnknown_0839ACD8:: @ 839ACD8 + .byte 2, 2, 3, 2 + +gUnknown_0839ACDC:: @ 839ACDC + .incbin "baserom.gba", 0x0039acdc, 0xc + + .align 2 +gUnknown_0839ACE8:: @ 839ACE8 + .byte 4 + + .align 2 +gUnknown_0839ACEC:: @ 839ACEC + .4byte REG_WIN0H + .4byte ((DMA_ENABLE | DMA_START_HBLANK | DMA_REPEAT | DMA_DEST_RELOAD) << 16) | 1 + .4byte 1 + +gBattleTransitionTable_Wild:: @ 839ACF8 + .byte 8, 9, 5, 10, 0, 10, 7, 6 + +gBattleTransitionTable_Trainer:: @ 839AD00 + .byte 4, 11, 2, 3, 0, 10, 1, 6 + + .align 2 +gTrainerBattleSpecs_0:: @ 839AD08 + .4byte gTrainerBattleMode, 0 + .4byte gTrainerBattleOpponent, 1 + .4byte gTrainerMapObjectLocalId, 1 + .4byte gTrainerIntroSpeech, 2 + .4byte gTrainerDefeatSpeech, 2 + .4byte gTrainerVictorySpeech, 5 + .4byte gTrainerCannotBattleSpeech, 5 + .4byte gTrainerBattleEndScript, 5 + .4byte gTrainerBattleScriptReturnAddress, 6 + + .align 2 +gTrainerBattleSpecs_1:: @ 839AD50 + .4byte gTrainerBattleMode, 0 + .4byte gTrainerBattleOpponent, 1 + .4byte gTrainerMapObjectLocalId, 1 + .4byte gTrainerIntroSpeech, 2 + .4byte gTrainerDefeatSpeech, 2 + .4byte gTrainerVictorySpeech, 5 + .4byte gTrainerCannotBattleSpeech, 5 + .4byte gTrainerBattleEndScript, 2 + .4byte gTrainerBattleScriptReturnAddress, 6 + + .align 2 +gTrainerBattleSpecs_2:: @ 839AD98 + .4byte gTrainerBattleMode, 0 + .4byte gTrainerBattleOpponent, 1 + .4byte gTrainerMapObjectLocalId, 1 + .4byte gTrainerIntroSpeech, 2 + .4byte gTrainerDefeatSpeech, 2 + .4byte gTrainerVictorySpeech, 5 + .4byte gTrainerCannotBattleSpeech, 2 + .4byte gTrainerBattleEndScript, 5 + .4byte gTrainerBattleScriptReturnAddress, 6 + + .align 2 +gTrainerBattleSpecs_3:: @ 839ADE0 + .4byte gTrainerBattleMode, 0 + .4byte gTrainerBattleOpponent, 1 + .4byte gTrainerMapObjectLocalId, 1 + .4byte gTrainerIntroSpeech, 5 + .4byte gTrainerDefeatSpeech, 2 + .4byte gTrainerVictorySpeech, 5 + .4byte gTrainerCannotBattleSpeech, 5 + .4byte gTrainerBattleEndScript, 5 + .4byte gTrainerBattleScriptReturnAddress, 6 + + .align 2 +gTrainerBattleSpecs_4:: @ 839AE28 + .4byte gTrainerBattleMode, 0 + .4byte gTrainerBattleOpponent, 1 + .4byte gTrainerMapObjectLocalId, 1 + .4byte gTrainerIntroSpeech, 2 + .4byte gTrainerDefeatSpeech, 2 + .4byte gTrainerVictorySpeech, 5 + .4byte gTrainerCannotBattleSpeech, 2 + .4byte gTrainerBattleEndScript, 2 + .4byte gTrainerBattleScriptReturnAddress, 6 + +@ 839AE70 + .include "data/trainer_eye_trainers.inc" + + .align 2 +gBadgeFlags:: @ 839B1F0 + .2byte 0x0807, 0x0808, 0x0809, 0x080a, 0x080b, 0x080c, 0x080d, 0x080e + +TrainerCardColorName_Bronze: + .string "BRONZE$", 7 +TrainerCardColorName_Copper: + .string "COPPER$", 7 +TrainerCardColorName_Silver: + .string "SILVER$", 7 +TrainerCardColorName_Gold: + .string "GOLD$", 7 + + .align 2 +gTrainerCardColorNames:: @ 839B21C + .4byte TrainerCardColorName_Bronze + .4byte TrainerCardColorName_Copper + .4byte TrainerCardColorName_Silver + .4byte TrainerCardColorName_Gold + +@ These seem to be strings for keypad test code. +gUnknown_0839B22C:: @ 839B22C + .string " A$" @ A + .string " B$" @ B + .string "SL$" @ SELECT + .string "ST$" @ START + .string "RK$" @ right + .string "LK$" @ left + .string "UK$" @ up + .string "DK$" @ down + .string "RT$" @ R + .string "LT$" @ L + +gUnknown_0839B24A:: @ 839B24A + .string "ND$" + +gUnknown_0839B24D:: @ 839B24D + .string "の こどもは\n$" @ "'s child <topic-particle>" + +gUnknown_0839B255:: @ 839B255 + .string " $" + +gUnknown_0839B257:: @ 839B257 + .string "ながいなまえぽけもん$" @ "long name pokemon" (used as test name) + +Text_39B262: @ 839B262 + .string "Search a child$" + +Text_39B271: @ 839B271 + .string "Egg$" + +Text_39B275: @ 839B275 + .string "Egg (male)$" + +Text_39B280: @ 839B280 + .string "1000 steps$" + +Text_39B28B: @ 839B28B + .string "10000 steps$" + +Text_39B297: @ 839B297 + .string "MOVE TUTOR$" + +Text_39B2A2: @ 839B2A2 + .string "Breed an egg$" + +Text_39B2AF: @ 839B2AF + .string "Long name$" + +Text_39B2B9: @ 839B2B9 + .string "ポロックけす$" @ "{POKEBLOCK} CASE$" + + .align 2 +gMoriDebugMenuActions:: @ 839B2C0 + .4byte Text_39B262, MoriDebugMenu_SearchChild + .4byte Text_39B271, MoriDebugMenu_Egg + .4byte Text_39B275, MoriDebugMenu_MaleEgg + .4byte Text_39B280, MoriDebugMenu_1000Steps + .4byte Text_39B28B, MoriDebugMenu_10000Steps + .4byte Text_39B297, MoriDebugMenu_MoveTutor + .4byte Text_39B2A2, MoriDebugMenu_BreedEgg + .4byte Text_39B2AF, MoriDebugMenu_LongName + .4byte Text_39B2B9, MoriDebugMenu_PokeblockCase + + .align 2 +gSpriteImage_839B308:: @ 839B308 + .incbin "graphics/unknown_sprites/839B4E0/0.4bpp" + + .align 2 +gSpriteImage_839B388:: @ 839B388 + .incbin "graphics/unknown_sprites/839B4E0/1.4bpp" + + .align 2 +gSpriteImage_839B408:: @ 839B408 + .incbin "graphics/unknown_sprites/839B408.4bpp" + + .align 2 +gIsTrainerInRange:: @ 839B488 + .4byte IsTrainerInRangeSouth + .4byte IsTrainerInRangeNorth + .4byte IsTrainerInRangeWest + .4byte IsTrainerInRangeEast + + .align 2 +gTrainerSeeFuncList:: @ 839B498 + .4byte sub_8084394 + .4byte sub_8084398 + .4byte sub_80843DC + .4byte sub_808441C + .4byte sub_8084478 + .4byte sub_8084534 + .4byte sub_8084578 + .4byte sub_80845AC + .4byte sub_80845C8 + .4byte sub_80845FC + .4byte sub_8084654 + .4byte sub_80846C8 + + .align 2 +gTrainerSeeFuncList2:: @ 839B4C8 + .4byte sub_80845C8 + .4byte sub_80845FC + .4byte sub_8084654 + .4byte sub_80846C8 + + .align 2 +gOamData_839B4D8:: @ 839B4D8 + .2byte 0x0000 + .2byte 0x4000 + .2byte 0x0400 + + .align 2 +gSpriteImageTable_839B4E0:: @ 839B4E0 + obj_frame_tiles gSpriteImage_839B308, 0x80 + obj_frame_tiles gSpriteImage_839B388, 0x80 + + .align 2 +gSpriteImageTable_839B4F0:: @ 839B4F0 + obj_frame_tiles gSpriteImage_839B408, 0x80 + + .align 2 +gSpriteAnim_839B4F8:: @ 839B4F8 + obj_image_anim_frame 0, 60 + obj_image_anim_end + + .align 2 +gSpriteAnim_839B500:: @ 839B500 + obj_image_anim_frame 1, 60 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_839B508:: @ 839B508 + .4byte gSpriteAnim_839B4F8 + .4byte gSpriteAnim_839B500 + + .align 2 +gSpriteTemplate_839B510:: @ 839B510 + spr_template 0xFFFF, 0xFFFF, gOamData_839B4D8, gSpriteAnimTable_839B508, gSpriteImageTable_839B4E0, gDummySpriteAffineAnimTable, objc_exclamation_mark_probably + + .align 2 +gSpriteTemplate_839B528:: @ 839B528 + spr_template 0xFFFF, 4100, gOamData_839B4D8, gSpriteAnimTable_839B508, gSpriteImageTable_839B4F0, gDummySpriteAffineAnimTable, objc_exclamation_mark_probably + +@ 839B540 + .include "data/wild_mons.inc" + + .align 2 +gWildFeebasRoute119Data:: @ 839DBFC + .byte 20, 25 @ Min/Max level + .2byte SPECIES_FEEBAS + + .align 2 +gRoute119WaterTileData:: @ 839DC00 + .2byte 0x0, 0x2D, 0x0 + .2byte 0x2E, 0x5B, 0x83 + .2byte 0x5C, 0x8B, 0x12A + + .align 2 +gSpriteImage_839DC14:: @ 839DC14 + .incbin "graphics/birch_speech/birch.4bpp" + + .align 2 +gBirchPalette:: @ 839E414 + .incbin "graphics/birch_speech/birch.gbapal" + + .align 2 +gSpriteImage_839E434:: @ 839E434 + .incbin "graphics/misc/pokeball_glow.4bpp" + + .align 2 +gFieldEffectObjectPalette4: @ 839E454 + .incbin "graphics/field_effect_objects/palettes/04.gbapal" + + .align 2 +gSpriteImage_839E474:: @ 839E474 + .incbin "graphics/misc/pokecenter_monitor/0.4bpp" + + .align 2 +gSpriteImage_839E534:: @ 839E534 + .incbin "graphics/misc/pokecenter_monitor/1.4bpp" + + .align 2 +gSpriteImage_839E5F4:: @ 839E5F4 + .incbin "graphics/misc/big_hof_monitor.4bpp" + + .align 2 +gSpriteImage_839E7F4:: @ 839E7F4 + .incbin "graphics/misc/small_hof_monitor.4bpp" + + .align 2 +gFieldEffectObjectPalette5: @ 839E8F4 + .incbin "graphics/field_effect_objects/palettes/05.gbapal" + +@ Graphics for the lights streaking past your Pokémon when it uses a field move. + + .align 2 +gFieldMoveStreaksTiles:: @ 839E914 + .incbin "graphics/misc/field_move_streaks.4bpp" + + .align 2 +gFieldMoveStreaksPalette:: @ 839EB14 + .incbin "graphics/misc/field_move_streaks.gbapal" + + .align 2 +gFieldMoveStreaksTilemap:: @ 839EB34 + .incbin "graphics/misc/field_move_streaks_map.bin" + +@ The following light streaks effect is used when the map is dark (e.g. a cave). + + .align 2 +gDarknessFieldMoveStreaksTiles:: @ 839EDB4 + .incbin "graphics/misc/darkness_field_move_streaks.4bpp" + + .align 2 +gDarknessFieldMoveStreaksPalette:: @ 839EE34 + .incbin "graphics/misc/darkness_field_move_streaks.gbapal" + + .align 2 +gDarknessFieldMoveStreaksTilemap:: @ 839EE54 + .incbin "graphics/misc/darkness_field_move_streaks_map.bin" + + .align 2 +gFieldEffectScriptFuncs:: @ 839F0D4 + .4byte FieldEffectCmd_loadtiles + .4byte FieldEffectCmd_loadfadedpal + .4byte FieldEffectCmd_loadpal + .4byte FieldEffectCmd_callnative + .4byte FieldEffectCmd_end + .4byte FieldEffectCmd_loadgfx_callnative + .4byte FieldEffectCmd_loadtiles_callnative + .4byte FieldEffectCmd_loadfadedpal_callnative + + .align 2 +gOamData_839F0F4:: @ 839F0F4 + .2byte 0x0000 + .2byte 0xC000 + .2byte 0x0000 + + .align 2 +gOamData_839F0FC:: @ 839F0FC + .2byte 0x0000 + .2byte 0x0000 + .2byte 0x0000 + + .align 2 +gOamData_839F104:: @ 839F104 + .2byte 0x0000 + .2byte 0x4000 + .2byte 0x0000 + + .align 2 +gSpriteImageTable_839F10C:: @ 839F10C + obj_frame_tiles gSpriteImage_839DC14, 0x800 + + .align 2 +gUnknown_0839F114:: @ 839F114 + obj_pal gBirchPalette, 0x1006 + + .align 2 +gSpriteAnim_839F11C:: @ 839F11C + obj_image_anim_frame 0, 1 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_839F124:: @ 839F124 + .4byte gSpriteAnim_839F11C + + .align 2 +gSpriteTemplate_839F128:: @ 839F128 + spr_template 0xFFFF, 4102, gOamData_839F0F4, gSpriteAnimTable_839F124, gSpriteImageTable_839F10C, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gFieldEffectObjectPaletteInfo4:: @ 839F140 + obj_pal gFieldEffectObjectPalette4, 0x1007 + + .align 2 +gFieldEffectObjectPaletteInfo5:: @ 839F148 + obj_pal gFieldEffectObjectPalette5, 0x1010 + + .align 2 +gOamData_839F150:: @ 839F150 + .2byte 0x4000 + .2byte 0x8000 + .2byte 0x0000 + + .align 2 +gSpriteImageTable_839F158:: @ 839F158 + obj_frame_tiles gSpriteImage_839E434, 0x20 + + .align 2 +gSpriteImageTable_839F160:: @ 839F160 + obj_frame_tiles gSpriteImage_839E474, 0xc0 + obj_frame_tiles gSpriteImage_839E534, 0xc0 + + .align 2 +gSpriteImageTable_839F170:: @ 839F170 + obj_frame_tiles gSpriteImage_839E5F4, 0x200 + + .align 2 +gSpriteImageTable_839F178:: @ 839F178 + obj_frame_tiles gSpriteImage_839E7F4, 0x200 + + .align 2 +Unknown_39F180:: @ 839F180 + .incbin "baserom.gba", 0x0039f180, 0x20 + + .align 2 +gUnknown_0839F1A0:: @ 839F1A0 + .4byte 4, Unknown_39F180 + + .align 2 +Unknown_39F1A8:: @ 39F1A8 + .incbin "baserom.gba", 0x0039f1a8, 0x20 + + .align 2 +gUnknown_0839F1C8:: @ 839F1C8 + .4byte 4, Unknown_39F1A8 + + .align 2 +gSpriteAnim_839F1D0:: @ 839F1D0 + obj_image_anim_frame 0, 1 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnim_839F1D8:: @ 839F1D8 + obj_image_anim_frame 0, 16 + obj_image_anim_frame 1, 16 + obj_image_anim_frame 0, 16 + obj_image_anim_frame 1, 16 + obj_image_anim_frame 0, 16 + obj_image_anim_frame 1, 16 + obj_image_anim_frame 0, 16 + obj_image_anim_frame 1, 16 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_839F1FC:: @ 839F1FC + .4byte gSpriteAnim_839F1D0 + .4byte gSpriteAnim_839F1D8 + + .align 2 +gSpriteAnimTable_839F204:: @ 839F204 + .4byte gSpriteAnim_839F1D0 + + .align 2 +gSpriteTemplate_839F208:: @ 839F208 + spr_template 0xFFFF, 4103, gOamData_839F0FC, gSpriteAnimTable_839F1FC, gSpriteImageTable_839F158, gDummySpriteAffineAnimTable, SpriteCB_PokeballGlow + + .align 2 +gSpriteTemplate_839F220:: @ 839F220 + spr_template 0xFFFF, 4100, gOamData_839F104, gSpriteAnimTable_839F1FC, gSpriteImageTable_839F160, gDummySpriteAffineAnimTable, SpriteCB_PokecenterMonitor + + .align 2 +gSpriteTemplate_839F238:: @ 839F238 + spr_template 0xFFFF, 4112, gOamData_839F104, gSpriteAnimTable_839F204, gSpriteImageTable_839F170, gDummySpriteAffineAnimTable, SpriteCB_HallOfFameMonitor + + .align 2 +gSpriteTemplate_839F250:: @ 839F250 + spr_template 0xFFFF, 4112, gOamData_839F150, gSpriteAnimTable_839F204, gSpriteImageTable_839F178, gDummySpriteAffineAnimTable, SpriteCB_HallOfFameMonitor + + .align 2 +gUnknown_0839F268:: @ 839F268 + .4byte PokecenterHealEffect_0 + .4byte PokecenterHealEffect_1 + .4byte PokecenterHealEffect_2 + .4byte PokecenterHealEffect_3 + + .align 2 +gUnknown_0839F278:: @ 839F278 + .4byte HallOfFameRecordEffect_0 + .4byte HallOfFameRecordEffect_1 + .4byte HallOfFameRecordEffect_2 + .4byte HallOfFameRecordEffect_3 + + .align 2 +gUnknown_0839F288:: @ 839F288 + .4byte PokeballGlowEffect_0 + .4byte PokeballGlowEffect_1 + .4byte PokeballGlowEffect_2 + .4byte PokeballGlowEffect_3 + .4byte PokeballGlowEffect_4 + .4byte PokeballGlowEffect_5 + .4byte PokeballGlowEffect_6 + .4byte PokeballGlowEffect_7 + +gUnknown_0839F2A8:: @ 839F2A8 + .incbin "baserom.gba", 0x0039f2a8, 0x18 + +gUnknown_0839F2C0:: @ 839F2C0 + .incbin "baserom.gba", 0x0039f2c0, 0x4 + +gUnknown_0839F2C4:: @ 839F2C4 + .incbin "baserom.gba", 0x0039f2c4, 0x4 + +gUnknown_0839F2C8:: @ 839F2C8 + .space 4 + + .align 2 +gUnknown_0839F2CC:: @ 839F2CC + .4byte sub_80867AC + .4byte sub_8086854 + .4byte sub_8086870 + .4byte sub_80868E4 + .4byte sub_808699C + .4byte sub_80869B8 + .4byte sub_80869F8 + + .align 2 +gUnknown_0839F2E8:: @ 839F2E8 + .4byte sub_8086AA0 + .4byte sub_8086AC0 + .4byte sub_8086B30 + .4byte sub_8086B54 + .4byte sub_8086B64 + .4byte sub_8086B88 + + .align 2 +gUnknown_0839F300:: @ 839F300 + .4byte sub_8086CF4 + .4byte sub_8086D70 + .4byte sub_8086DB0 + .4byte sub_8086E10 + .4byte sub_8086E50 + .4byte sub_8086EB0 + .4byte sub_8086ED4 + + .align 2 +gUnknown_0839F31C:: @ 839F31C + .4byte sub_8086FB0 + .4byte waterfall_1_do_anim_probably + .4byte waterfall_2_wait_anim_finish_probably + .4byte sub_8087030 + .4byte sub_8087058 + + .align 2 +gUnknown_0839F330:: @ 839F330 + .4byte sub_8087124 + .4byte dive_2_unknown + .4byte dive_3_unknown + + .align 2 +gUnknown_0839F33C:: @ 839F33C + .4byte sub_808722C + .4byte sub_8087264 + .4byte sub_8087298 + .4byte sub_80872E4 + .4byte sub_80873D8 + .4byte sub_80873F4 + + .align 2 +gUnknown_0839F354:: @ 839F354 + .4byte sub_80874CC + .4byte sub_80874FC + .4byte sub_8087548 + .4byte sub_808759C + + .align 2 +gUnknown_0839F364:: @ 839F364 + .4byte sub_80876C8 + .4byte sub_80876F8 + .4byte sub_8087774 + .4byte sub_80877AC + .4byte sub_80877D4 + + .align 2 +gUnknown_0839F378:: @ 839F378 + .4byte sub_80878F4 + .4byte sub_8087914 + +gUnknown_0839F380:: @ 839F380 + .incbin "baserom.gba", 0x0039f380, 0x8 + + .align 2 +gUnknown_0839F388:: @ 839F388 + .4byte sub_8087AA4 + .4byte sub_8087AC8 + + .align 2 +gUnknown_0839F390:: @ 839F390 + .4byte sub_8087BEC + .4byte sub_8087C14 + .4byte sub_8087CA4 + .4byte sub_8087D78 + + .align 2 +gUnknown_0839F3A0:: @ 839F3A0 + .4byte sub_8087E4C + .4byte sub_8087ED8 + .4byte sub_8087FDC + + .align 2 +gUnknown_0839F3AC:: @ 839F3AC + .4byte sub_8088150 + .4byte sub_80881C0 + .4byte sub_8088228 + .4byte sub_80882B4 + .4byte sub_80882E4 + .4byte sub_8088338 + .4byte sub_8088380 + + .align 2 +gUnknown_0839F3C8:: @ 839F3C8 + .4byte sub_80884AC + .4byte sub_80884E8 + .4byte sub_8088554 + .4byte sub_80885A8 + .4byte sub_80885D8 + .4byte sub_808860C + .4byte sub_808862C + + .align 2 +gUnknown_0839F3E4:: @ 839F3E4 + .4byte sub_8088984 + .4byte sub_80889E4 + .4byte sub_8088A30 + .4byte sub_8088A78 + .4byte sub_8088AF4 + + .align 2 +gUnknown_0839F3F8:: @ 839F3F8 + .4byte sub_8088CA0 + .4byte sub_8088CF8 + .4byte sub_8088D3C + .4byte sub_8088D94 + .4byte sub_8088DD8 + .4byte sub_8088E2C + .4byte sub_8088EB4 + .4byte sub_8088F10 + .4byte sub_8088F30 +Unknown_839F41C: + .incbin "baserom.gba", 0x0039f41c, 0x18 +Unknown_839F434: + .incbin "baserom.gba", 0x0039f434, 0x18 + + .align 2 +gUnknown_0839F44C:: @ 839F44C + .4byte Unknown_839F41C + .4byte Unknown_839F434 + + .align 2 +gUnknown_0839F454:: @ 839F454 + .4byte sub_80892A0 + .4byte sub_8089354 + .4byte sub_80893C0 + .4byte sub_8089414 + .4byte sub_808948C + .4byte sub_80894C4 + .4byte fishE + +gUnknown_0839F470:: @ 839F470 + .incbin "baserom.gba", 0x0039f470, 0x24 + + .align 2 +gPokemonMenuActions:: @ 839F494 + .4byte OtherText_Summary, PokemonMenu_Summary + .4byte OtherText_Switch2, PokemonMenu_Switch + .4byte OtherText_Item, PokemonMenu_Item + .4byte gOtherText_CancelNoTerminator, PokemonMenu_Cancel + .4byte OtherText_Give2, PokemonMenu_GiveItem + .4byte OtherText_Take2, PokemonMenu_TakeItem + .4byte OtherText_Take, PokemonMenu_TakeMail + .4byte OtherText_Mail, PokemonMenu_Mail + .4byte OtherText_Read2, PokemonMenu_ReadMail + .4byte gOtherText_CancelNoTerminator, PokemonMenu_CancelSubmenu + .4byte gMoveNames + 13 * MOVE_CUT, PokemonMenu_FieldMove + .4byte gMoveNames + 13 * MOVE_FLASH, PokemonMenu_FieldMove + .4byte gMoveNames + 13 * MOVE_ROCK_SMASH, PokemonMenu_FieldMove + .4byte gMoveNames + 13 * MOVE_STRENGTH, PokemonMenu_FieldMove + .4byte gMoveNames + 13 * MOVE_SURF, PokemonMenu_FieldMove + .4byte gMoveNames + 13 * MOVE_FLY, PokemonMenu_FieldMove + .4byte gMoveNames + 13 * MOVE_DIVE, PokemonMenu_FieldMove + .4byte gMoveNames + 13 * MOVE_WATERFALL, PokemonMenu_FieldMove + .4byte gMoveNames + 13 * MOVE_TELEPORT, PokemonMenu_FieldMove + .4byte gMoveNames + 13 * MOVE_DIG, PokemonMenu_FieldMove + .4byte gMoveNames + 13 * MOVE_SECRET_POWER, PokemonMenu_FieldMove + .4byte gMoveNames + 13 * MOVE_MILK_DRINK, PokemonMenu_FieldMove + .4byte gMoveNames + 13 * MOVE_SOFT_BOILED, PokemonMenu_FieldMove + .4byte gMoveNames + 13 * MOVE_SWEET_SCENT, PokemonMenu_FieldMove + +gUnknown_0839F554:: @ 839F554 + .incbin "baserom.gba", 0x39f554, 0x1e + +Unknown_39F572: @ 839F572 + .byte 4, 5, 9, 0 + + .align 2 +gUnknown_0839F578:: @ 839F578 + .byte 3, 6, 0, 0 + .4byte Unknown_39F572 + +Unknown_39F580: @ 839F580 + .byte 8, 6, 9, 0 + + .align 2 +gUnknown_0839F584:: @ 839F584 + .byte 3, 9, 0, 0 + .4byte Unknown_39F580 + + .align 2 +gFieldMoveFuncs:: @ 839F58C + .4byte SetUpFieldMove_Cut, 0x6 + .4byte SetUpFieldMove_Flash, 0x9 + .4byte SetUpFieldMove_RockSmash, 0x9 + .4byte SetUpFieldMove_Strength, 0x9 + .4byte SetUpFieldMove_Surf, 0x7 + .4byte SetUpFieldMove_Fly, 0x9 + .4byte SetUpFieldMove_Dive, 0x9 + .4byte SetUpFieldMove_Waterfall, 0x9 + .4byte SetUpFieldMove_Teleport, 0x9 + .4byte SetUpFieldMove_Dig, 0x9 + .4byte SetUpFieldMove_SecretPower, 0x9 + .4byte SetUpFieldMove_SoftBoiled, 0x10 + .4byte SetUpFieldMove_SoftBoiled, 0x10 + .4byte SetUpFieldMove_SweetScent, 0x9 + + .align 2 +gUnknown_0839F5FC:: @ 839F5FC + .incbin "baserom.gba", 0x0039f5fc, 0x40 + + .align 2 +gUnknown_0839F63C:: @ 839F63C + .incbin "baserom.gba", 0x0039f63c, 0x40 + + .align 2 +gUnknown_0839F67C:: @ 839F67C + .incbin "graphics/pokedex/search.gbapal" + + .align 2 +gUnknown_0839F73C:: @ 839F73C + .incbin "graphics/pokedex/national.gbapal" + + .space 0xA4 + + .align 2 +gUnknown_0839F8A0:: @ 839F8A0 + .incbin "baserom.gba", 0x0039f8a0, 0xe8 + + .align 2 +gUnknown_0839F988:: @ 839F988 + .incbin "baserom.gba", 0x0039f988, 0xf4 + +gUnknown_0839FA7C:: @ 839FA7C + .incbin "graphics/pokedex/noball.4bpp.lz" + +@ 839FAC4 + .include "data/pokedex_orders.inc" + + .align 2 +gOamData_83A0404:: @ 83A0404 + .2byte 0x00A0 + .2byte 0x0000 + .2byte 0x0400 + + .align 2 +gOamData_83A040C:: @ 83A040C + .2byte 0x40A0 + .2byte 0x0000 + .2byte 0x0000 + + .align 2 +gOamData_83A0414:: @ 83A0414 + .2byte 0x40A0 + .2byte 0xC000 + .2byte 0x0000 + + .align 2 +gOamData_83A041C:: @ 83A041C + .2byte 0x08A0 + .2byte 0x8000 + .2byte 0x0400 + + .align 2 +gOamData_83A0424:: @ 83A0424 + .2byte 0x40A0 + .2byte 0xC000 + .2byte 0x0000 + + .align 2 +gOamData_83A042C:: @ 83A042C + .2byte 0x80A0 + .2byte 0x0000 + .2byte 0x0000 + + .align 2 +gSpriteAnim_83A0434:: @ 83A0434 + obj_image_anim_frame 3, 30 + obj_image_anim_end + + .align 2 +gSpriteAnim_83A043C:: @ 83A043C + obj_image_anim_frame 1, 30 + obj_image_anim_end + + .align 2 +gSpriteAnim_83A0444:: @ 83A0444 + obj_image_anim_frame 16, 30 + obj_image_anim_end + + .align 2 +gSpriteAnim_83A044C:: @ 83A044C + obj_image_anim_frame 32, 30 + obj_image_anim_end + + .align 2 +gSpriteAnim_83A0454:: @ 83A0454 + obj_image_anim_frame 64, 30 + obj_image_anim_end + + .align 2 +gSpriteAnim_83A045C:: @ 83A045C + obj_image_anim_frame 96, 30 + obj_image_anim_end + + .align 2 +gSpriteAnim_83A0464:: @ 83A0464 + obj_image_anim_frame 128, 30 + obj_image_anim_end + + .align 2 +gSpriteAnim_83A046C:: @ 83A046C + obj_image_anim_frame 160, 30 + obj_image_anim_end + + .align 2 +gSpriteAnim_83A0474:: @ 83A0474 + obj_image_anim_frame 192, 30 + obj_image_anim_end + + .align 2 +gSpriteAnim_83A047C:: @ 83A047C + obj_image_anim_frame 224, 30 + obj_image_anim_end + + .align 2 +gSpriteAnim_83A0484:: @ 83A0484 + obj_image_anim_frame 226, 30 + obj_image_anim_end + + .align 2 +gSpriteAnim_83A048C:: @ 83A048C + obj_image_anim_frame 228, 30 + obj_image_anim_end + + .align 2 +gSpriteAnim_83A0494:: @ 83A0494 + obj_image_anim_frame 230, 30 + obj_image_anim_end + + .align 2 +gSpriteAnim_83A049C:: @ 83A049C + obj_image_anim_frame 232, 30 + obj_image_anim_end + + .align 2 +gSpriteAnim_83A04A4:: @ 83A04A4 + obj_image_anim_frame 234, 30 + obj_image_anim_end + + .align 2 +gSpriteAnim_83A04AC:: @ 83A04AC + obj_image_anim_frame 236, 30 + obj_image_anim_end + + .align 2 +gSpriteAnim_83A04B4:: @ 83A04B4 + obj_image_anim_frame 238, 30 + obj_image_anim_end + + .align 2 +gSpriteAnim_83A04BC:: @ 83A04BC + obj_image_anim_frame 240, 30 + obj_image_anim_end + + .align 2 +gSpriteAnim_83A04C4:: @ 83A04C4 + obj_image_anim_frame 242, 30 + obj_image_anim_end + + .align 2 +gSpriteAnim_83A04CC:: @ 83A04CC + obj_image_anim_frame 4, 30 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83A04D4:: @ 83A04D4 + .4byte gSpriteAnim_83A0434 + + .align 2 +gSpriteAnimTable_83A04D8:: @ 83A04D8 + .4byte gSpriteAnim_83A043C + + .align 2 +gSpriteAnimTable_83A04DC:: @ 83A04DC + .4byte gSpriteAnim_83A0444 + + .align 2 +gSpriteAnimTable_83A04E0:: @ 83A04E0 + .4byte gSpriteAnim_83A044C + .4byte gSpriteAnim_83A0454 + .4byte gSpriteAnim_83A045C + .4byte gSpriteAnim_83A0464 + + .align 2 +gSpriteAnimTable_83A04F0:: @ 83A04F0 + .4byte gSpriteAnim_83A046C + .4byte gSpriteAnim_83A0474 + + .align 2 +gSpriteAnimTable_83A04F8:: @ 83A04F8 + .4byte gSpriteAnim_83A047C + .4byte gSpriteAnim_83A0484 + .4byte gSpriteAnim_83A048C + .4byte gSpriteAnim_83A0494 + .4byte gSpriteAnim_83A049C + .4byte gSpriteAnim_83A04A4 + .4byte gSpriteAnim_83A04AC + .4byte gSpriteAnim_83A04B4 + .4byte gSpriteAnim_83A04BC + .4byte gSpriteAnim_83A04C4 + + .align 2 +gSpriteAnimTable_83A0520:: @ 83A0520 + .4byte gSpriteAnim_83A04CC + + .align 2 +gSpriteTemplate_83A0524:: @ 83A0524 + spr_template 4096, 4096, gOamData_83A0404, gSpriteAnimTable_83A04D4, NULL, gDummySpriteAffineAnimTable, sub_808EF38 + + .align 2 +gSpriteTemplate_83A053C:: @ 83A053C + spr_template 4096, 4096, gOamData_83A040C, gSpriteAnimTable_83A04D8, NULL, gDummySpriteAffineAnimTable, sub_808EF8C + + .align 2 +gSpriteTemplate_83A0554:: @ 83A0554 + spr_template 4096, 4096, gOamData_83A0414, gSpriteAnimTable_83A04E0, NULL, gDummySpriteAffineAnimTable, sub_808F08C + + .align 2 +gSpriteTemplate_83A056C:: @ 83A056C + spr_template 4096, 4096, gOamData_83A041C, gSpriteAnimTable_83A04DC, NULL, gDummySpriteAffineAnimTable, sub_808F0B4 + + .align 2 +gSpriteTemplate_83A0584:: @ 83A0584 + spr_template 4096, 4096, gOamData_83A0424, gSpriteAnimTable_83A04F0, NULL, gDummySpriteAffineAnimTable, sub_808ED94 + + .align 2 +gSpriteTemplate_83A059C:: @ 83A059C + spr_template 4096, 4096, gOamData_83A042C, gSpriteAnimTable_83A04F8, NULL, gDummySpriteAffineAnimTable, sub_808ED94 + + .align 2 +gSpriteTemplate_83A05B4:: @ 83A05B4 + spr_template 4096, 4096, gOamData_83A042C, gSpriteAnimTable_83A0520, NULL, gDummySpriteAffineAnimTable, sub_808F168 + + .align 2 +gUnknown_083A05CC:: @ 83A05CC + obj_tiles gPokedexMenu2_Gfx, 0x1F00, 0x1000 + null_obj_tiles + + .align 2 +gUnknown_083A05DC:: @ 83A05DC + obj_pal gPokedexMenu_Pal, 0x1000 + null_obj_pal + +gUnknown_083A05EC:: @ 83A05EC + .byte 2, 4, 8, 16, 32 + +gUnknown_083A05F1:: @ 83A05F1 + .byte 16, 8, 4, 2, 1 + + .align 2 +gUnknown_083A05F8:: @ 83A05F8 + .string "$" + +@ 83A05F9 + .include "data/pokedex_entries.inc" + +gUnknown_083B4EC4:: @ 83B4EC4 + .space 32 + +@ 83B4EE4 + .include "data/graphics/pokemon/footprint_table.inc" + +gUnknown_083B5558:: @ 83B5558 + .incbin "baserom.gba", 0x3b5558, 0x24 + + .align 2 +gOamData_83B557C:: @ 83B557C + .2byte 0x0000 + .2byte 0xC000 + .2byte 0x0400 + + .align 2 +gUnknown_083B5584:: @ 83B5584 + .4byte 0x02008000 + .4byte 0x0200c000 + .4byte 0x02010000 + .4byte 0x02014000 + + .align 2 +gSpriteImageTable_83B5594:: @ 83B5594 + obj_frame_tiles 0x02008000, 0x800 + obj_frame_tiles 0x02008800, 0x800 + obj_frame_tiles 0x02009000, 0x800 + obj_frame_tiles 0x02009800, 0x800 + obj_frame_tiles 0x0200A000, 0x800 + obj_frame_tiles 0x0200A800, 0x800 + obj_frame_tiles 0x0200B000, 0x800 + obj_frame_tiles 0x0200B800, 0x800 + obj_frame_tiles 0x0200C000, 0x800 + obj_frame_tiles 0x0200C800, 0x800 + obj_frame_tiles 0x0200D000, 0x800 + obj_frame_tiles 0x0200D800, 0x800 + obj_frame_tiles 0x0200E000, 0x800 + obj_frame_tiles 0x0200E800, 0x800 + obj_frame_tiles 0x0200F000, 0x800 + obj_frame_tiles 0x0200F800, 0x800 + + .align 2 +gSpriteImageTable_83B5614:: @ 83B5614 + obj_frame_tiles 0x0200C000, 0x800 + obj_frame_tiles 0x0200C800, 0x800 + obj_frame_tiles 0x0200D000, 0x800 + obj_frame_tiles 0x0200D800, 0x800 + obj_frame_tiles 0x0200E000, 0x800 + obj_frame_tiles 0x0200E800, 0x800 + obj_frame_tiles 0x0200F000, 0x800 + obj_frame_tiles 0x0200F800, 0x800 + obj_frame_tiles 0x02010000, 0x800 + obj_frame_tiles 0x02010800, 0x800 + obj_frame_tiles 0x02011000, 0x800 + obj_frame_tiles 0x02011800, 0x800 + obj_frame_tiles 0x02012000, 0x800 + obj_frame_tiles 0x02012800, 0x800 + obj_frame_tiles 0x02013000, 0x800 + obj_frame_tiles 0x02013800, 0x800 + + .align 2 +gSpriteImageTable_83B5694:: @ 83B5694 + obj_frame_tiles 0x02010000, 0x800 + obj_frame_tiles 0x02010800, 0x800 + obj_frame_tiles 0x02011000, 0x800 + obj_frame_tiles 0x02011800, 0x800 + obj_frame_tiles 0x02012000, 0x800 + obj_frame_tiles 0x02012800, 0x800 + obj_frame_tiles 0x02013000, 0x800 + obj_frame_tiles 0x02013800, 0x800 + obj_frame_tiles 0x02014000, 0x800 + obj_frame_tiles 0x02014800, 0x800 + obj_frame_tiles 0x02015000, 0x800 + obj_frame_tiles 0x02015800, 0x800 + obj_frame_tiles 0x02016000, 0x800 + obj_frame_tiles 0x02016800, 0x800 + obj_frame_tiles 0x02017000, 0x800 + obj_frame_tiles 0x02017800, 0x800 + + .align 2 +gSpriteImageTable_83B5714:: @ 83B5714 + obj_frame_tiles 0x02014000, 0x800 + obj_frame_tiles 0x02014800, 0x800 + obj_frame_tiles 0x02015000, 0x800 + obj_frame_tiles 0x02015800, 0x800 + obj_frame_tiles 0x02016000, 0x800 + obj_frame_tiles 0x02016800, 0x800 + obj_frame_tiles 0x02017000, 0x800 + obj_frame_tiles 0x02017800, 0x800 + obj_frame_tiles 0x02018000, 0x800 + obj_frame_tiles 0x02018800, 0x800 + obj_frame_tiles 0x02019000, 0x800 + obj_frame_tiles 0x02019800, 0x800 + obj_frame_tiles 0x0201A000, 0x800 + obj_frame_tiles 0x0201A800, 0x800 + obj_frame_tiles 0x0201B000, 0x800 + obj_frame_tiles 0x0201B800, 0x800 + + .align 2 +gUnknown_083B5794:: @ 83B5794 + .4byte gSpriteImageTable_83B5594 + .4byte gSpriteImageTable_83B5614 + .4byte gSpriteImageTable_83B5694 + .4byte gSpriteImageTable_83B5714 + + .align 2 +gUnknown_083B57A4:: @ 83B57A4 + spr_template 0xFFFF, 0, gOamData_83B557C, NULL, gSpriteImageTable_83B5594, gDummySpriteAffineAnimTable, nullsub_59 + +gUnknown_083B57BC:: @ 83B57BC + .incbin "baserom.gba", 0x003b57bc, 0x28 + + .align 2 +gUnknown_083B57E4:: @ 83B57E4 + .4byte DexText_SearchForPoke + .2byte 0, 5 + .4byte DexText_SwitchDex + .2byte 6, 5 + .4byte DexText_ReturnToDex + .2byte 12, 5 + + .align 2 +gUnknown_083B57FC:: @ 83B57FC + .4byte DexText_ListByABC + .byte 0, 2, 5, 5, 2, 12, 0, 0 + .4byte DexText_ListByColor + .byte 0, 4, 5, 5, 4, 12, 0, 0 + .4byte DexText_ListByType + .byte 0, 6, 5, 5, 6, 6, 0, 0 + .4byte DexText_ListByType + .byte 0, 6, 5, 11, 6, 6, 0, 0 + .4byte DexText_SelectDexList + .byte 0, 8, 5, 5, 8, 12, 0, 0 + .4byte DexText_SelectDexMode + .byte 0, 10, 5, 5, 10, 12, 0, 0 + .4byte DexText_ExecuteSearchSwitch + .byte 0, 12, 5, 0, 0, 0, 0, 0 + +gUnknown_083B5850:: @ 83B5850 + .incbin "baserom.gba", 0x003b5850, 0x1c + +gUnknown_083B586C:: @ 83B586C + .incbin "baserom.gba", 0x003b586c, 0x1c + +gUnknown_083B5888:: @ 83B5888 + .incbin "baserom.gba", 0x003b5888, 0x1c + +gUnknown_083B58A4:: @ 83B58A4 + .incbin "baserom.gba", 0x003b58a4, 0x1c + + .align 2 +gUnknown_083B58C0:: @ 83B58C0 + .4byte DexText_HoennDex2, DexText_HoennDex + .4byte DexText_NationalDex2, DexText_NationalDex + .4byte 0x0, 0x0 + + .align 2 +gUnknown_083B58D8:: @ 83B58D8 + .4byte DexText_ListByNumber, DexText_NumericalMode + .4byte DexText_ListByABC2, DexText_ABCMode + .4byte DexText_ListByHeavyToLightest, DexText_HeaviestMode + .4byte DexText_ListByLightToHeaviest, DexText_LightestMode + .4byte DexText_ListByTallToSmallest, DexText_TallestMode + .4byte DexText_ListBySmallToTallest, DexText_SmallestMode + .4byte 0x0, 0x0 + + .align 2 +gUnknown_083B5910:: @ 83B5910 + .4byte DexText_Terminator5, DexText_DontSpecify + .4byte DexText_Terminator5, DexText_ABC + .4byte DexText_Terminator5, DexText_DEF + .4byte DexText_Terminator5, DexText_GHI + .4byte DexText_Terminator5, DexText_JKL + .4byte DexText_Terminator5, DexText_MNO + .4byte DexText_Terminator5, DexText_PQR + .4byte DexText_Terminator5, DexText_STU + .4byte DexText_Terminator5, DexText_VWX + .4byte DexText_Terminator5, DexText_YZ + .4byte 0x0, 0x0 + + .align 2 +gUnknown_083B5968:: @ 83B5968 + .4byte DexText_Terminator5, DexText_DontSpecify + .4byte DexText_Terminator5, DexText_Red + .4byte DexText_Terminator5, DexText_Blue + .4byte DexText_Terminator5, DexText_Yellow + .4byte DexText_Terminator5, DexText_Green + .4byte DexText_Terminator5, DexText_Black + .4byte DexText_Terminator5, DexText_Brown + .4byte DexText_Terminator5, DexText_Purple + .4byte DexText_Terminator5, DexText_Gray + .4byte DexText_Terminator5, DexText_White + .4byte DexText_Terminator5, DexText_Pink + .4byte 0x0, 0x0 + + .align 2 +gUnknown_083B59C8:: @ 83B59C8 + .4byte DexText_Terminator5, DexText_None + .4byte DexText_Terminator5, gTypeNames + TYPE_NORMAL * 7 + .4byte DexText_Terminator5, gTypeNames + TYPE_FIGHTING * 7 + .4byte DexText_Terminator5, gTypeNames + TYPE_FLYING * 7 + .4byte DexText_Terminator5, gTypeNames + TYPE_POISON * 7 + .4byte DexText_Terminator5, gTypeNames + TYPE_GROUND * 7 + .4byte DexText_Terminator5, gTypeNames + TYPE_ROCK * 7 + .4byte DexText_Terminator5, gTypeNames + TYPE_BUG * 7 + .4byte DexText_Terminator5, gTypeNames + TYPE_GHOST * 7 + .4byte DexText_Terminator5, gTypeNames + TYPE_STEEL * 7 + .4byte DexText_Terminator5, gTypeNames + TYPE_FIRE * 7 + .4byte DexText_Terminator5, gTypeNames + TYPE_WATER * 7 + .4byte DexText_Terminator5, gTypeNames + TYPE_GRASS * 7 + .4byte DexText_Terminator5, gTypeNames + TYPE_ELECTRIC * 7 + .4byte DexText_Terminator5, gTypeNames + TYPE_PSYCHIC * 7 + .4byte DexText_Terminator5, gTypeNames + TYPE_ICE * 7 + .4byte DexText_Terminator5, gTypeNames + TYPE_DRAGON * 7 + .4byte DexText_Terminator5, gTypeNames + TYPE_DARK * 7 + .4byte 0x0, 0x0 + +gUnknown_083B5A60:: @ 83B5A60 + .byte 0, 1 + +gUnknown_083B5A62:: @ 83B5A62 + .byte 0, 1, 2, 3, 4, 5 + +gUnknown_083B5A68:: @ 83B5A68 + .byte -1, 0, 1, 2, 3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16, 17 + + .align 2 +gUnknown_083B5A7C:: @ 83B5A7C + .4byte gUnknown_083B5910 + .byte 6, 7, 10, 0 + .4byte gUnknown_083B5968 + .byte 8, 9, 11, 0 + .4byte gUnknown_083B59C8 + .byte 10, 11, 18, 0 + .4byte gUnknown_083B59C8 + .byte 12, 13, 18, 0 + .4byte gUnknown_083B58D8 + .byte 4, 5, 6, 0 + .4byte gUnknown_083B58C0 + .byte 2, 3, 2, 0 + +gUnknown_083B5AAC:: @ 83B5AAC + .incbin "baserom.gba", 0x003b5aac, 0x6 + +gUnknown_083B5AB2:: @ 83B5AB2 + .incbin "baserom.gba", 0x003b5ab2, 0x6 + + .align 2 +gBadgesTiles:: @ 83B5AB8 + .incbin "graphics/trainer_card/badges.4bpp" + + .align 2 + .4byte 0x02000000 @ XXX + + .align 2 +gUnknown_083B5EBC:: @ 83B5EBC + .4byte sub_8093864 + .4byte sub_80938A8 + .4byte sub_80938CC + .4byte sub_8093918 + .4byte sub_8093938 + .4byte sub_8093954 + .4byte sub_8093980 + + .align 2 +gUnknown_083B5ED8:: @ 83B5ED8 + .4byte sub_8093AA0 + .4byte sub_8093AF0 + .4byte sub_8093C0C + .4byte sub_8093C38 + .4byte sub_8093D50 + + .align 2 +gUnknown_083B5EEC:: @ 83B5EEC + .4byte gUnknown_08E8CAC0 + .4byte gUnknown_08E8D4C0 + +gUnknown_083B5EF4:: @ 83B5EF4 + .string " : $" + + .align 2 +gUnknown_083B5EF8:: @ 83B5EF8 + .4byte gMenuTrainerCard0Star_Pal + .4byte gMenuTrainerCard1Star_Pal + .4byte gMenuTrainerCard2Star_Pal + .4byte gMenuTrainerCard3Star_Pal + .4byte gMenuTrainerCard4Star_Pal + +gUnknown_083B5F0C:: @ 83B5F0C + .incbin "baserom.gba", 0x003b5f0c, 0x20 + + .align 2 +gBadgesPalette:: @ 83B5F2C + .incbin "graphics/trainer_card/badges.gbapal" + +gUnknown_083B5F4C:: @ 83B5F4C + .incbin "baserom.gba", 0x003b5f4c, 0x20 + +gUnknown_083B5F6C:: @ 83B5F6C + .incbin "baserom.gba", 0x003b5f6c, 0x20 + +gUnknown_083B5F8C:: @ 83B5F8C + .incbin "baserom.gba", 0x003b5f8c, 0x40 + + .align 2 +gUnknown_083B5FCC:: @ 83B5FCC + .4byte OtherText_Summary, sub_8095544 + .4byte gOtherText_CancelNoTerminator, sub_80958C4 + .4byte OtherText_Shift, sub_8095584 + .4byte OtherText_SendOut, sub_8095584 + +Unknown_83B5FEC: @ 83B5FEC + .byte 2, 0, 1 + +Unknown_83B5FEF: @ 83B5FEF + .byte 3, 0, 1 + +Unknown_83B5FF2: @ 83B5FF2 + .byte 0, 1 + + .align 2 +gUnknown_083B5FF4:: @ 83B5FF4 + .byte 3, 9 + .space 2 + .4byte Unknown_83B5FEC + + .byte 3, 9 + .space 2 + .4byte Unknown_83B5FEF + + .byte 2, 9 + .space 2 + .4byte Unknown_83B5FF2 + + .align 2 +gUnknown_083B600C:: @ 83B600C + .4byte PCText_WithdrawPoke, PCText_MovePokeToParty + .4byte PCText_DepositPoke, PCText_StorePokeInBox + .4byte PCText_MovePoke, PCText_OrganizeBoxesParty + .4byte PCText_SeeYa, PCText_ReturnToPrevMenu + + .align 2 +gSpriteAnim_83B602C:: @ 83B602C + obj_image_anim_frame 0, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83B6034:: @ 83B6034 + obj_image_anim_frame 4, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83B603C:: @ 83B603C + obj_image_anim_frame 6, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83B6044:: @ 83B6044 + obj_image_anim_frame 10, 5 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83B604C:: @ 83B604C + .4byte gSpriteAnim_83B602C + .4byte gSpriteAnim_83B6034 + .4byte gSpriteAnim_83B603C + .4byte gSpriteAnim_83B6044 + + .align 2 +gSpriteAffineAnim_83B605C:: @ 83B605C + obj_rot_scal_anim_frame 0xE0, 0xE0, 0, 0 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_83B606C:: @ 83B606C + .4byte gSpriteAffineAnim_83B605C + + .align 2 +gBoxSelectionPopupPalette:: @ 83B6070 + .incbin "graphics/pokemon_storage/box_selection_popup.gbapal" + + .align 2 +gBoxSelectionPopupCenterTiles:: @ 83B6090 + .incbin "graphics/pokemon_storage/box_selection_popup_center.4bpp" + + .align 2 +gBoxSelectionPopupSidesTiles:: @ 83B6890 + .incbin "graphics/pokemon_storage/box_selection_popup_sides.4bpp" + + .align 2 +gPokemonStorageScrollingBGPalette:: @ 83B6A10 + .incbin "graphics/pokemon_storage/scrolling_bg.gbapal" + + .align 2 +gPokemonStorageScrollingBGTile:: @ 83B6A30 + .incbin "graphics/pokemon_storage/scrolling_bg.4bpp" + + .align 2 +gPokemonStorageScrollingBGTilemap:: @ 83B6A50 + .incbin "graphics/pokemon_storage/scrolling_bg_map.bin.lz" + + .incbin "baserom.gba", 0x003b6b4c, 0x48 + + .align 2 +WaveformPalette: @ 83B6B94 + .incbin "graphics/pokemon_storage/waveform.gbapal" + + .align 2 +WaveformTiles: @ 83B6BB4 + .incbin "graphics/pokemon_storage/waveform.4bpp" + + .align 2 +gUnknown_083B6D74:: @ 83B6D74 + .incbin "baserom.gba", 0x003b6d74, 0x20 + + .align 2 +gUnknown_083B6D94:: @ 83B6D94 + .incbin "baserom.gba", 0x003b6d94, 0x20 + + .align 2 +gUnknown_083B6DB4:: @ 83B6DB4 + .4byte 0x02000000 + + .align 2 +gUnknown_083B6DB8:: @ 83B6DB8 + .4byte gTileBuffer + + .align 2 +gWaveformSpritePalette:: @ 83B6DBC + obj_pal WaveformPalette, 56013 + + .align 2 +gWaveformSpriteSheet:: @ 83B6DC4 + obj_tiles WaveformTiles, 0x1C0, 5 + + .align 2 +gUnknown_083B6DCC:: @ 83B6DCC + obj_tiles 0x02002784, 0x800, 2 + + .align 2 +gUnknown_083B6DD4:: @ 83B6DD4 + obj_pal 0x02002704, 56007 + + .align 2 +gSpriteTemplate_83B6DDC:: @ 83B6DDC + spr_template 2, 56007, gOamData_83B6EAC, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gUnknown_083B6DF4:: @ 83B6DF4 + .4byte PCText_ExitBox, 0 + .4byte PCText_WhatYouDo, 0 + .4byte PCText_PickATheme, 0 + .4byte PCText_PickAWallpaper, 0 + .4byte PCText_IsSelected, 1 + .4byte PCText_JumpToWhichBox, 0 + .4byte PCText_DepositInWhichBox, 0 + .4byte PCText_WasDeposited, 1 + .4byte PCText_BoxIsFull, 0 + .4byte PCText_ReleasePoke, 0 + .4byte PCText_WasReleased, 4 + .4byte PCText_ByeBye, 6 + .4byte PCText_MarkPoke, 0 + .4byte PCText_LastPoke, 0 + .4byte PCText_PartyFull, 0 + .4byte PCText_HoldingPoke, 0 + .4byte PCText_WhichOneWillTake, 0 + .4byte PCText_CantReleaseEgg, 0 + .4byte PCText_ContinueBox, 0 + .4byte PCText_CameBack, 1 + .4byte PCText_Worried, 0 + .4byte PCText_Surprise, 0 + .4byte PCText_PleaseRemoveMail, 0 + + .align 2 +gOamData_83B6EAC:: @ 83B6EAC + .2byte 0x0000 + .2byte 0xC000 + .2byte 0x0000 + + .align 2 +gOamData_83B6EB4:: @ 83B6EB4 + .2byte 0x4000 + .2byte 0x0000 + .2byte 0x0000 + + .align 2 +gSpriteAnim_83B6EBC:: @ 83B6EBC + obj_image_anim_frame 0, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83B6EC4:: @ 83B6EC4 + obj_image_anim_frame 2, 8 + obj_image_anim_frame 4, 8 + obj_image_anim_frame 6, 8 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnim_83B6ED4:: @ 83B6ED4 + obj_image_anim_frame 8, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83B6EDC:: @ 83B6EDC + obj_image_anim_frame 10, 8 + obj_image_anim_frame 4, 8 + obj_image_anim_frame 12, 8 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnimTable_83B6EEC:: @ 83B6EEC + .4byte gSpriteAnim_83B6EBC + .4byte gSpriteAnim_83B6EC4 + .4byte gSpriteAnim_83B6ED4 + .4byte gSpriteAnim_83B6EDC + + .align 2 +gSpriteTemplate_83B6EFC:: @ 83B6EFC + spr_template 5, 56013, gOamData_83B6EB4, gSpriteAnimTable_83B6EEC, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gSpriteTemplate_83B6F14:: @ 83B6F14 + spr_template 15, 56000, gOamData_83B6F2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gOamData_83B6F2C:: @ 83B6F2C + .2byte 0x0000 + .2byte 0x8000 + .2byte 0x0000 + + .align 2 +Unknown_83B6F34: @ 83B6F34 + .incbin "baserom.gba", 0x003b6f34, 0x10 + + .align 2 +Unknown_83B6F44: @ 83B6F44 + .incbin "baserom.gba", 0x003b6f44, 0x18 + + .align 2 +gUnknown_083B6F5C:: @ 83B6F5C + .4byte Unknown_83B6F34 + .4byte Unknown_83B6F44 + + .align 2 +gWallpaperPalettes_Forest: @ 83B6F64 + .incbin "graphics/pokemon_storage/box_bg1.gbapal" + .incbin "graphics/pokemon_storage/forest_frame.gbapal" + .incbin "graphics/pokemon_storage/forest_bg.gbapal" + + .align 2 +gWallpaperTiles_Forest: @ 83B6FC4 + .incbin "graphics/pokemon_storage/forest.4bpp.lz" + + .align 2 +gWallpaperTilemap_Forest: @ 83B7394 + .incbin "graphics/pokemon_storage/forest.bin.lz" + + .align 2 +gWallpaperPalettes_City: @ 83B7470 + .incbin "graphics/pokemon_storage/box_bg1.gbapal" + .incbin "graphics/pokemon_storage/city_frame.gbapal" + .incbin "graphics/pokemon_storage/city_bg.gbapal" + + .align 2 +gWallpaperTiles_City: @ 83B74D0 + .incbin "graphics/pokemon_storage/city.4bpp.lz" + + .align 2 +gWallpaperTilemap_City: @ 83B76D8 + .incbin "graphics/pokemon_storage/city.bin.lz" + + .align 2 +gWallpaperPalettes_Desert: @ 83B7788 + .incbin "graphics/pokemon_storage/box_bg1.gbapal" + .incbin "graphics/pokemon_storage/desert_frame.gbapal" + .incbin "graphics/pokemon_storage/desert_bg.gbapal" + + .align 2 +gWallpaperTiles_Desert: @ 83B77E8 + .incbin "graphics/pokemon_storage/desert.4bpp.lz" + + .align 2 +gWallpaperTilemap_Desert: @ 83B7AD4 + .incbin "graphics/pokemon_storage/desert.bin.lz" + + .align 2 +gWallpaperPalettes_Savanna: @ 83B7BB8 + .incbin "graphics/pokemon_storage/box_bg1.gbapal" + .incbin "graphics/pokemon_storage/savanna_frame.gbapal" + .incbin "graphics/pokemon_storage/savanna_bg.gbapal" + + .align 2 +gWallpaperTiles_Savanna: @ 83B7C18 + .incbin "graphics/pokemon_storage/savanna.4bpp.lz" + + .align 2 +gWallpaperTilemap_Savanna: @ 83B7E38 + .incbin "graphics/pokemon_storage/savanna.bin.lz" + + .align 2 +gWallpaperPalettes_Crag: @ 83B7F04 + .incbin "graphics/pokemon_storage/box_bg1.gbapal" + .incbin "graphics/pokemon_storage/crag_frame.gbapal" + .incbin "graphics/pokemon_storage/crag_bg.gbapal" + + .align 2 +gWallpaperTiles_Crag: @ 83B7F64 + .incbin "graphics/pokemon_storage/crag.4bpp.lz" + + .align 2 +gWallpaperTilemap_Crag: @ 83B82B4 + .incbin "graphics/pokemon_storage/crag.bin.lz" + + .align 2 +gWallpaperPalettes_Volcano: @ 83B838C + .incbin "graphics/pokemon_storage/box_bg1.gbapal" + .incbin "graphics/pokemon_storage/volcano_frame.gbapal" + .incbin "graphics/pokemon_storage/volcano_bg.gbapal" + + .align 2 +gWallpaperTiles_Volcano: @ 83B83EC + .incbin "graphics/pokemon_storage/volcano.4bpp.lz" + + .space 4 + + .align 2 +gWallpaperTilemap_Volcano: @ 83B8720 + .incbin "graphics/pokemon_storage/volcano.bin.lz" + + .align 2 +gWallpaperPalettes_Snow: @ 83B87F8 + .incbin "graphics/pokemon_storage/box_bg1.gbapal" + .incbin "graphics/pokemon_storage/snow_frame.gbapal" + .incbin "graphics/pokemon_storage/snow_bg.gbapal" + + .align 2 +gWallpaperTiles_Snow: @ 83B8858 + .incbin "graphics/pokemon_storage/snow.4bpp.lz" + + .align 2 +gWallpaperTilemap_Snow: @ 83B8B10 + .incbin "graphics/pokemon_storage/snow.bin.lz" + + .align 2 +gWallpaperPalettes_Cave: @ 83B8BDC + .incbin "graphics/pokemon_storage/box_bg1.gbapal" + .incbin "graphics/pokemon_storage/cave_frame.gbapal" + .incbin "graphics/pokemon_storage/cave_bg.gbapal" + + .align 2 +gWallpaperTiles_Cave: @ 83B8C3C + .incbin "graphics/pokemon_storage/cave.4bpp.lz" + + .align 2 +gWallpaperTilemap_Cave: @ 83B8F80 + .incbin "graphics/pokemon_storage/cave.bin.lz" + + .align 2 +gWallpaperPalettes_Beach: @ 83B905C + .incbin "graphics/pokemon_storage/box_bg1.gbapal" + .incbin "graphics/pokemon_storage/beach_frame.gbapal" + .incbin "graphics/pokemon_storage/beach_bg.gbapal" + + .align 2 +gWallpaperTiles_Beach: @ 83B90BC + .incbin "graphics/pokemon_storage/beach.4bpp.lz" + + .align 2 +gWallpaperTilemap_Beach: @ 83B9440 + .incbin "graphics/pokemon_storage/beach.bin.lz" + + .align 2 +gWallpaperPalettes_Seafloor: @ 83B9528 + .incbin "graphics/pokemon_storage/box_bg1.gbapal" + .incbin "graphics/pokemon_storage/seafloor_frame.gbapal" + .incbin "graphics/pokemon_storage/seafloor_bg.gbapal" + + .align 2 +gWallpaperTiles_Seafloor: @ 83B9588 + .incbin "graphics/pokemon_storage/seafloor.4bpp.lz" + + .align 2 +gWallpaperTilemap_Seafloor: @ 83B983C + .incbin "graphics/pokemon_storage/seafloor.bin.lz" + + .align 2 +gWallpaperPalettes_River: @ 83B9918 + .incbin "graphics/pokemon_storage/box_bg1.gbapal" + .incbin "graphics/pokemon_storage/river_frame.gbapal" + .incbin "graphics/pokemon_storage/river_bg.gbapal" + + .align 2 +gWallpaperTiles_River: @ 83B9978 + .incbin "graphics/pokemon_storage/river.4bpp.lz" + + .align 2 +gWallpaperTilemap_River: @ 83B9C0C + .incbin "graphics/pokemon_storage/river.bin.lz" + + .align 2 +gWallpaperPalettes_Sky: @ 83B9CF8 + .incbin "graphics/pokemon_storage/box_bg1.gbapal" + .incbin "graphics/pokemon_storage/sky_frame.gbapal" + .incbin "graphics/pokemon_storage/sky_bg.gbapal" + + .align 2 +gWallpaperTiles_Sky: @ 83B9D58 + .incbin "graphics/pokemon_storage/sky.4bpp.lz" + + .align 2 +gWallpaperTilemap_Sky: @ 83B9FF0 + .incbin "graphics/pokemon_storage/sky.bin.lz" + + .align 2 +gWallpaperPalettes_Polkadot: @ 83BA0D0 + .incbin "graphics/pokemon_storage/box_bg2.gbapal" + .incbin "graphics/pokemon_storage/polkadot_frame.gbapal" + .incbin "graphics/pokemon_storage/polkadot_bg.gbapal" + + .align 2 +gWallpaperTiles_Polkadot: @ 83BA130 + .incbin "graphics/pokemon_storage/polkadot.4bpp.lz" + + .align 2 +gWallpaperTilemap_Polkadot: @ 83BA32C + .incbin "graphics/pokemon_storage/polkadot.bin.lz" + + .align 2 +gWallpaperPalettes_Pokecenter: @ 83BA3E4 + .incbin "graphics/pokemon_storage/box_bg2.gbapal" + .incbin "graphics/pokemon_storage/pokecenter_frame.gbapal" + .incbin "graphics/pokemon_storage/pokecenter_bg.gbapal" + + .align 2 +gWallpaperTiles_Pokecenter: @ 83BA444 + .incbin "graphics/pokemon_storage/pokecenter.4bpp.lz" + + .align 2 +gWallpaperTilemap_Pokecenter: @ 83BA7E8 + .incbin "graphics/pokemon_storage/pokecenter.bin.lz" + + .align 2 +gWallpaperPalettes_Machine: @ 83BA8FC + .incbin "graphics/pokemon_storage/box_bg3.gbapal" + .incbin "graphics/pokemon_storage/machine_frame.gbapal" + .incbin "graphics/pokemon_storage/machine_bg.gbapal" + + .align 2 +gWallpaperTiles_Machine: @ 83BA95C + .incbin "graphics/pokemon_storage/machine.4bpp.lz" + + .align 2 +gWallpaperTilemap_Machine: @ 83BAC4C + .incbin "graphics/pokemon_storage/machine.bin.lz" + + .align 2 +gWallpaperPalettes_Plain: @ 83BAD18 + .incbin "graphics/pokemon_storage/box_bg4.gbapal" + .incbin "graphics/pokemon_storage/plain_frame.gbapal" + .incbin "graphics/pokemon_storage/plain_bg.gbapal" + + .align 2 +gWallpaperTiles_Plain: @ 83BAD78 + .incbin "graphics/pokemon_storage/plain.4bpp.lz" + + .align 2 +gWallpaperTilemap_Plain: @ 83BAE74 + .incbin "graphics/pokemon_storage/plain.bin.lz" + +@ 12×18 tilemap + .incbin "graphics/unused/tilemap_3BAEF8.bin" + +gUnknown_083BB0A8:: @ 83BB0A8 + .incbin "baserom.gba", 0x003bb0a8, 0x40 + + .align 2 +gWallpaperTable:: @ 83BB0E8 + @ Forest + .4byte gWallpaperTiles_Forest + .4byte 0x3D0 + .4byte gWallpaperTilemap_Forest + .4byte gWallpaperPalettes_Forest + + @ City + .4byte gWallpaperTiles_City + .4byte 0x208 + .4byte gWallpaperTilemap_City + .4byte gWallpaperPalettes_City + + @ Desert + .4byte gWallpaperTiles_Desert + .4byte 0x2EC + .4byte gWallpaperTilemap_Desert + .4byte gWallpaperPalettes_Desert + + @ Savanna + .4byte gWallpaperTiles_Savanna + .4byte 0x220 + .4byte gWallpaperTilemap_Savanna + .4byte gWallpaperPalettes_Savanna + + @ Crag + .4byte gWallpaperTiles_Crag + .4byte 0x350 + .4byte gWallpaperTilemap_Crag + .4byte gWallpaperPalettes_Crag + + @ Volcano + .4byte gWallpaperTiles_Volcano + .4byte 0x334 + .4byte gWallpaperTilemap_Volcano + .4byte gWallpaperPalettes_Volcano + + @ Snow + .4byte gWallpaperTiles_Snow + .4byte 0x2B8 + .4byte gWallpaperTilemap_Snow + .4byte gWallpaperPalettes_Snow + + @ Cave + .4byte gWallpaperTiles_Cave + .4byte 0x344 + .4byte gWallpaperTilemap_Cave + .4byte gWallpaperPalettes_Cave + + @ Beach + .4byte gWallpaperTiles_Beach + .4byte 0x384 + .4byte gWallpaperTilemap_Beach + .4byte gWallpaperPalettes_Beach + + @ Seafloor + .4byte gWallpaperTiles_Seafloor + .4byte 0x2B4 + .4byte gWallpaperTilemap_Seafloor + .4byte gWallpaperPalettes_Seafloor + + @ River + .4byte gWallpaperTiles_River + .4byte 0x294 + .4byte gWallpaperTilemap_River + .4byte gWallpaperPalettes_River + + @ Sky + .4byte gWallpaperTiles_Sky + .4byte 0x298 + .4byte gWallpaperTilemap_Sky + .4byte gWallpaperPalettes_Sky + + @ Polkadot + .4byte gWallpaperTiles_Polkadot + .4byte 0x1FC + .4byte gWallpaperTilemap_Polkadot + .4byte gWallpaperPalettes_Polkadot + + @ Pokecenter + .4byte gWallpaperTiles_Pokecenter + .4byte 0x3A4 + .4byte gWallpaperTilemap_Pokecenter + .4byte gWallpaperPalettes_Pokecenter + + @ Machine + .4byte gWallpaperTiles_Machine + .4byte 0x2F0 + .4byte gWallpaperTilemap_Machine + .4byte gWallpaperPalettes_Machine + + @ Plain + .4byte gWallpaperTiles_Plain + .4byte 0xFC + .4byte gWallpaperTilemap_Plain + .4byte gWallpaperPalettes_Plain + +PCPal_Arrow: + .incbin "graphics/pokemon_storage/arrow.gbapal" +PCGfx_Arrow: + .incbin "graphics/pokemon_storage/arrow.4bpp" + + .align 2 +gUnknown_083BB288:: @ 83BB288 + obj_tiles PCGfx_Arrow, 128, 0x0006 + + .align 2 +gUnknown_083BB290:: @ 83BB290 + obj_pal PCPal_Arrow, 0xDACF + + .align 2 +gOamData_83BB298:: @ 83BB298 + .2byte 0x4000 + .2byte 0x8000 + .2byte 0x0800 + + .align 2 +gSpriteAnim_83BB2A0:: @ 83BB2A0 + obj_image_anim_frame 0, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83BB2A8:: @ 83BB2A8 + obj_image_anim_frame 8, 5 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83BB2B0:: @ 83BB2B0 + .4byte gSpriteAnim_83BB2A0 + .4byte gSpriteAnim_83BB2A8 + + .align 2 +gSpriteTemplate_83BB2B8:: @ 83BB2B8 + spr_template 3, 56008, gOamData_83BB298, gSpriteAnimTable_83BB2B0, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gOamData_83BB2D0:: @ 83BB2D0 + .2byte 0x8000 + .2byte 0x0000 + .2byte 0x0800 + + .align 2 +gSpriteAnim_83BB2D8:: @ 83BB2D8 + obj_image_anim_frame 0, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83BB2E0:: @ 83BB2E0 + obj_image_anim_frame 2, 5 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83BB2E8:: @ 83BB2E8 + .4byte gSpriteAnim_83BB2D8 + .4byte gSpriteAnim_83BB2E0 + + .align 2 +gSpriteTemplate_83BB2F0:: @ 83BB2F0 + spr_template 6, 56015, gOamData_83BB2D0, gSpriteAnimTable_83BB2E8, NULL, gDummySpriteAffineAnimTable, sub_809A8C8 + + .align 2 +HandCursorPalette: @ 83BB308 + .incbin "graphics/pokemon_storage/hand_cursor_pal.bin" + + .align 2 +HandCursorAltPalette: @ 83BB328 + .incbin "graphics/pokemon_storage/hand_cursor_alt_pal.bin" + + .align 2 +HandCursorTiles: @ 83BB348 + .incbin "graphics/pokemon_storage/hand_cursor.4bpp" + + .align 2 +HandCursorShadowTiles: @ 83BBB48 + .incbin "graphics/pokemon_storage/hand_cursor_shadow.4bpp" + + .align 2 +gUnknown_083BBBC8:: @ 83BBBC8 + .4byte sub_809B150 + .4byte sub_809B1D8 + .4byte sub_809B24C + + .align 2 +gUnknown_083BBBD4:: @ 83BBBD4 + .4byte sub_809C464, 0 + .4byte sub_809C664, 1 + .4byte sub_809C85C, 2 + .4byte sub_809C944, 3 + .4byte NULL, 0 + + .align 2 +gHandCursorSpriteSheets:: @ 83BBBFC + obj_tiles HandCursorTiles, 0x800, 0 + obj_tiles HandCursorShadowTiles, 0x80, 1 + null_obj_tiles + + .align 2 +gHandCursorSpritePalettes:: @ 83BBC14 + obj_pal HandCursorPalette, 56006 + obj_pal HandCursorAltPalette, 56017 + null_obj_pal + + .align 2 +gOamData_83BBC2C:: @ 83BBC2C + .2byte 0x0000 + .2byte 0x8000 + .2byte 0x0400 + + .align 2 +gOamData_83BBC34:: @ 83BBC34 + .2byte 0x0000 + .2byte 0x4000 + .2byte 0x0800 + + .align 2 +gSpriteAnim_83BBC3C:: @ 83BBC3C + obj_image_anim_frame 0, 30 + obj_image_anim_frame 16, 30 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnim_83BBC48:: @ 83BBC48 + obj_image_anim_frame 0, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83BBC50:: @ 83BBC50 + obj_image_anim_frame 32, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83BBC58:: @ 83BBC58 + obj_image_anim_frame 48, 5 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83BBC60:: @ 83BBC60 + .4byte gSpriteAnim_83BBC3C + .4byte gSpriteAnim_83BBC48 + .4byte gSpriteAnim_83BBC50 + .4byte gSpriteAnim_83BBC58 + + .align 2 +gSpriteTemplate_83BBC70:: @ 83BBC70 + spr_template 0, 56006, gOamData_83BBC2C, gSpriteAnimTable_83BBC60, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gSpriteTemplate_83BBC88:: @ 83BBC88 + spr_template 1, 56006, gOamData_83BBC34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_809CB74 + + .align 2 +gUnknown_083BBCA0:: @ 83BBCA0 + .4byte PCText_Cancel2 + .4byte PCText_Deposit + .4byte PCText_Withdraw + .4byte PCText_Move + .4byte PCText_Switch + .4byte PCText_Place + .4byte PCText_Summary + .4byte PCText_Release + .4byte PCText_Mark + .4byte PCText_Jump + .4byte PCText_Wallpaper + .4byte PCText_Name + .4byte PCText_Scenery1 + .4byte PCText_Scenery2 + .4byte PCText_Scenery3 + .4byte PCText_Etc + .4byte PCText_Forest + .4byte PCText_City + .4byte PCText_Desert + .4byte PCText_Savanna + .4byte PCText_Crag + .4byte PCText_Volcano + .4byte PCText_Snow + .4byte PCText_Cave + .4byte PCText_Beach + .4byte PCText_Seafloor + .4byte PCText_River + .4byte PCText_Sky + .4byte PCText_Polka + .4byte PCText_PokeCenter + .4byte PCText_Machine + .4byte PCText_Plain + +@ 83BBD20 + .include "data/graphics/pokemon/icon_table.inc" + +@ 83BC400 + .include "data/graphics/pokemon/icon_palette_indices.inc" + +@ 83BC5B8 + .include "data/graphics/pokemon/icon_palette_table.inc" + + .align 2 +gOamData_83BC5E8:: @ 83BC5E8 + .2byte 0x0000 + .2byte 0x8000 + .2byte 0x0400 + + .align 2 +gSpriteAnim_83BC5F0:: @ 83BC5F0 + obj_image_anim_frame 0, 6 + obj_image_anim_frame 1, 6 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnim_83BC5FC:: @ 83BC5FC + obj_image_anim_frame 0, 8 + obj_image_anim_frame 1, 8 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnim_83BC608:: @ 83BC608 + obj_image_anim_frame 0, 14 + obj_image_anim_frame 1, 14 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnim_83BC614:: @ 83BC614 + obj_image_anim_frame 0, 22 + obj_image_anim_frame 1, 22 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnim_83BC620:: @ 83BC620 + obj_image_anim_frame 0, 29 + obj_image_anim_frame 0, 29 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnimTable_83BC62C:: @ 83BC62C + .4byte gSpriteAnim_83BC5F0 + .4byte gSpriteAnim_83BC5FC + .4byte gSpriteAnim_83BC608 + .4byte gSpriteAnim_83BC614 + .4byte gSpriteAnim_83BC620 + + .align 2 +gSpriteAffineAnim_83BC640:: @ 83BC640 + obj_rot_scal_anim_frame 0x0, 0x0, 0, 10 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_83BC650:: @ 83BC650 + obj_rot_scal_anim_frame 0xFFFE, 0xFFFE, 0, 122 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_83BC660:: @ 83BC660 + .4byte gSpriteAffineAnim_83BC640 + .4byte gSpriteAffineAnim_83BC650 + + .align 1 +gSpriteImageSizes:: @ 83BC668 + @ square + .2byte 0x20 @ 1×1 + .2byte 0x80 @ 2×2 + .2byte 0x200 @ 4×4 + .2byte 0x800 @ 8×8 + + @ horizontal rectangle + .2byte 0x40 @ 2×1 + .2byte 0x80 @ 4×1 + .2byte 0x100 @ 4×2 + .2byte 0x400 @ 8×4 + + @ vertical rectangle + .2byte 0x40 @ 1×2 + .2byte 0x80 @ 1×4 + .2byte 0x100 @ 2×4 + .2byte 0x400 @ 4×8 + +@ 83BC680 + .include "data/text/move_descriptions.inc" + +@ 83C0F60 + .include "data/text/nature_names.inc" + + .align 2 +gUnknown_083C1068:: @ 83C1068 + .4byte gEmptyString_81E72B0 + .4byte OtherText_PokeInfo + .4byte OtherText_PokeSkills + .4byte OtherText_BattleMoves + .4byte OtherText_ContestMoves + .4byte OtherText_Switch + .4byte OtherText_Info + .4byte gOtherText_CancelNoTerminator + + .align 2 +gSpriteAffineAnim_83C1088:: @ 83C1088 + obj_rot_scal_anim_frame 0xFF00, 0x100, 0, 0 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_83C1098:: @ 83C1098 + .4byte gSpriteAffineAnim_83C1088 + + .align 2 +gOamData_83C109C:: @ 83C109C + .2byte 0x4000 + .2byte 0x8000 + .2byte 0x0400 + + .align 2 +gSpriteAnim_83C10A4:: @ 83C10A4 + obj_image_anim_frame 0, 0 + obj_image_anim_end + + .align 2 +gSpriteAnim_83C10AC:: @ 83C10AC + obj_image_anim_frame 8, 0 + obj_image_anim_end + + .align 2 +gSpriteAnim_83C10B4:: @ 83C10B4 + obj_image_anim_frame 16, 0 + obj_image_anim_end + + .align 2 +gSpriteAnim_83C10BC:: @ 83C10BC + obj_image_anim_frame 24, 0 + obj_image_anim_end + + .align 2 +gSpriteAnim_83C10C4:: @ 83C10C4 + obj_image_anim_frame 32, 0 + obj_image_anim_end + + .align 2 +gSpriteAnim_83C10CC:: @ 83C10CC + obj_image_anim_frame 40, 0 + obj_image_anim_end + + .align 2 +gSpriteAnim_83C10D4:: @ 83C10D4 + obj_image_anim_frame 48, 0 + obj_image_anim_end + + .align 2 +gSpriteAnim_83C10DC:: @ 83C10DC + obj_image_anim_frame 56, 0 + obj_image_anim_end + + .align 2 +gSpriteAnim_83C10E4:: @ 83C10E4 + obj_image_anim_frame 64, 0 + obj_image_anim_end + + .align 2 +gSpriteAnim_83C10EC:: @ 83C10EC + obj_image_anim_frame 72, 0 + obj_image_anim_end + + .align 2 +gSpriteAnim_83C10F4:: @ 83C10F4 + obj_image_anim_frame 80, 0 + obj_image_anim_end + + .align 2 +gSpriteAnim_83C10FC:: @ 83C10FC + obj_image_anim_frame 88, 0 + obj_image_anim_end + + .align 2 +gSpriteAnim_83C1104:: @ 83C1104 + obj_image_anim_frame 96, 0 + obj_image_anim_end + + .align 2 +gSpriteAnim_83C110C:: @ 83C110C + obj_image_anim_frame 104, 0 + obj_image_anim_end + + .align 2 +gSpriteAnim_83C1114:: @ 83C1114 + obj_image_anim_frame 112, 0 + obj_image_anim_end + + .align 2 +gSpriteAnim_83C111C:: @ 83C111C + obj_image_anim_frame 120, 0 + obj_image_anim_end + + .align 2 +gSpriteAnim_83C1124:: @ 83C1124 + obj_image_anim_frame 128, 0 + obj_image_anim_end + + .align 2 +gSpriteAnim_83C112C:: @ 83C112C + obj_image_anim_frame 136, 0 + obj_image_anim_end + + .align 2 +gSpriteAnim_83C1134:: @ 83C1134 + obj_image_anim_frame 144, 0 + obj_image_anim_end + + .align 2 +gSpriteAnim_83C113C:: @ 83C113C + obj_image_anim_frame 152, 0 + obj_image_anim_end + + .align 2 +gSpriteAnim_83C1144:: @ 83C1144 + obj_image_anim_frame 160, 0 + obj_image_anim_end + + .align 2 +gSpriteAnim_83C114C:: @ 83C114C + obj_image_anim_frame 168, 0 + obj_image_anim_end + + .align 2 +gSpriteAnim_83C1154:: @ 83C1154 + obj_image_anim_frame 176, 0 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83C115C:: @ 83C115C + .4byte gSpriteAnim_83C10A4 + .4byte gSpriteAnim_83C10AC + .4byte gSpriteAnim_83C10B4 + .4byte gSpriteAnim_83C10BC + .4byte gSpriteAnim_83C10C4 + .4byte gSpriteAnim_83C10CC + .4byte gSpriteAnim_83C10D4 + .4byte gSpriteAnim_83C10DC + .4byte gSpriteAnim_83C10E4 + .4byte gSpriteAnim_83C10EC + .4byte gSpriteAnim_83C10F4 + .4byte gSpriteAnim_83C10FC + .4byte gSpriteAnim_83C1104 + .4byte gSpriteAnim_83C110C + .4byte gSpriteAnim_83C1114 + .4byte gSpriteAnim_83C111C + .4byte gSpriteAnim_83C1124 + .4byte gSpriteAnim_83C112C + .4byte gSpriteAnim_83C1134 + .4byte gSpriteAnim_83C113C + .4byte gSpriteAnim_83C1144 + .4byte gSpriteAnim_83C114C + .4byte gSpriteAnim_83C1154 + + .align 2 +gUnknown_083C11B8:: @ 83C11B8 + obj_tiles gMoveTypes_Gfx, 5888, 0x7532 + + .align 2 +gSpriteTemplate_83C11C0:: @ 83C11C0 + spr_template 30002, 30002, gOamData_83C109C, gSpriteAnimTable_83C115C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + +gUnknown_083C11D8:: @ 83C11D8 + .incbin "baserom.gba", 0x003c11d8, 0x18 + + .align 2 +gOamData_83C11F0:: @ 83C11F0 + .2byte 0x0000 + .2byte 0x4000 + .2byte 0x0400 + + .align 2 +gSpriteAnim_83C11F8:: @ 83C11F8 + obj_image_anim_frame 0, 0 + obj_image_anim_end + + .align 2 +gSpriteAnim_83C1200:: @ 83C1200 + obj_image_anim_frame 4, 0 + obj_image_anim_end + + .align 2 +gSpriteAnim_83C1208:: @ 83C1208 + obj_image_anim_frame 8, 0 + obj_image_anim_end + + .align 2 +gSpriteAnim_83C1210:: @ 83C1210 + obj_image_anim_frame 12, 0 + obj_image_anim_end + + .align 2 +gSpriteAnim_83C1218:: @ 83C1218 + obj_image_anim_frame 16, 0 + obj_image_anim_end + + .align 2 +gSpriteAnim_83C1220:: @ 83C1220 + obj_image_anim_frame 16, 0, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_end + + .align 2 +gSpriteAnim_83C1228:: @ 83C1228 + obj_image_anim_frame 20, 0 + obj_image_anim_end + + .align 2 +gSpriteAnim_83C1230:: @ 83C1230 + obj_image_anim_frame 24, 0 + obj_image_anim_end + + .align 2 +gSpriteAnim_83C1238:: @ 83C1238 + obj_image_anim_frame 24, 0, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_end + + .align 2 +gSpriteAnim_83C1240:: @ 83C1240 + obj_image_anim_frame 28, 0 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83C1248:: @ 83C1248 + .4byte gSpriteAnim_83C11F8 + .4byte gSpriteAnim_83C1200 + .4byte gSpriteAnim_83C1208 + .4byte gSpriteAnim_83C1210 + .4byte gSpriteAnim_83C1218 + .4byte gSpriteAnim_83C1220 + .4byte gSpriteAnim_83C1228 + .4byte gSpriteAnim_83C1230 + .4byte gSpriteAnim_83C1238 + .4byte gSpriteAnim_83C1240 + + .align 2 +gUnknown_083C1270:: @ 83C1270 + obj_tiles gMenuSummaryGfx, 1024, 0x7530 + + .align 2 +gUnknown_083C1278:: @ 83C1278 + obj_pal gMenuSummaryPal, 0x7530 + + .align 2 +gSpriteTemplate_83C1280:: @ 83C1280 + spr_template 30000, 30000, gOamData_83C11F0, gSpriteAnimTable_83C1248, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gOamData_83C1298:: @ 83C1298 + .2byte 0x4000 + .2byte 0x4000 + .2byte 0x0C00 + + .align 2 +gSpriteAnim_83C12A0:: @ 83C12A0 + obj_image_anim_frame 0, 0 + obj_image_anim_end + + .align 2 +gSpriteAnim_83C12A8:: @ 83C12A8 + obj_image_anim_frame 4, 0 + obj_image_anim_end + + .align 2 +gSpriteAnim_83C12B0:: @ 83C12B0 + obj_image_anim_frame 8, 0 + obj_image_anim_end + + .align 2 +gSpriteAnim_83C12B8:: @ 83C12B8 + obj_image_anim_frame 12, 0 + obj_image_anim_end + + .align 2 +gSpriteAnim_83C12C0:: @ 83C12C0 + obj_image_anim_frame 16, 0 + obj_image_anim_end + + .align 2 +gSpriteAnim_83C12C8:: @ 83C12C8 + obj_image_anim_frame 20, 0 + obj_image_anim_end + + .align 2 +gSpriteAnim_83C12D0:: @ 83C12D0 + obj_image_anim_frame 24, 0 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83C12D8:: @ 83C12D8 + .4byte gSpriteAnim_83C12A0 + .4byte gSpriteAnim_83C12A8 + .4byte gSpriteAnim_83C12B0 + .4byte gSpriteAnim_83C12B8 + .4byte gSpriteAnim_83C12C0 + .4byte gSpriteAnim_83C12C8 + .4byte gSpriteAnim_83C12D0 + + .align 2 +gUnknown_083C12F4:: @ 83C12F4 + obj_tiles gStatusGfx_Icons, 896, 0x7531 + + .align 2 +gUnknown_083C12FC:: @ 83C12FC + obj_pal gStatusPal_Icons, 0x7531 + + .align 2 +gSpriteTemplate_83C1304:: @ 83C1304 + spr_template 30001, 30001, gOamData_83C1298, gSpriteAnimTable_83C12D8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gSummaryScreenMonMarkingsPalette:: @ 83C131C + .incbin "graphics/summary_screen/mon_markings.gbapal" + + .align 2 +gSummaryScreenTextTiles:: @ 83C133C + .incbin "graphics/summary_screen/text.4bpp" + + .align 2 +gSummaryScreenButtonTiles:: @ 83C147C + .incbin "graphics/summary_screen/buttons.4bpp" + + .align 1 +gUnknown_083C157C:: @ 83C157C + .2byte 0x5F5A @ palette color + + .align 1 +gUnknown_083C157E:: @ 83C157E + .2byte 0x6FDE @ palette color + + .align 2 +gUnknown_083C1580:: @ 83C1580 + .4byte sub_809FC0C + .4byte sub_809FEB8 + + .align 2 +gUnknown_083C1588:: @ 83C1588 + .4byte sub_809F63C + .4byte sub_809F650 + .4byte sub_809F664 + .4byte sub_809F664 + + .align 2 +gUnknown_083C1598:: @ 83C1598 + .4byte sub_809FE6C + .4byte sub_80A0090 + .4byte sub_80A015C + .4byte sub_80A015C + +gUnknown_083C15A8:: @ 83C15A8 + .byte 0, 2, 3, 1, 4, 5 + +gUnknown_083C15AE:: @ 83C15AE + .string "{STR_VAR_1}{CLEAR_TO 64}$" + +gUnknown_083C15B4:: @ 83C15B4 + .string "{STR_VAR_1}{CLEAR_TO 72}$" + + .align 2 +gUnknown_083C15BC:: @ 83C15BC + .byte 9, 1, 0, 2 + .byte 10, 3, 0, 4 + .byte 8, 5, 0, 6 + .byte 11, 7, 0, 8 + .byte 14, 9, 0, 10 + .byte 12, 11, 0, 12 + .byte 13, 13, 0, 14 + .byte -1, 15, 0, 10 + + .align 2 +gOamData_CutGrass:: @ 83C15DC + .2byte 0 + .2byte 0 + .2byte 0x1401 + + .align 2 +gSpriteAnim_CutGrass:: @ 83C15E4 + obj_image_anim_frame 0, 30 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnimTable_CutGrass:: @ 83C15EC + .4byte gSpriteAnim_CutGrass + + .align 2 +gSpriteImageTable_CutGrass:: @ 83C15F0 + obj_frame_tiles gFieldEffectPic_CutGrass, 0x20 + + .align 2 +gFieldEffectObjectPaletteInfo6:: @ 83C15F8 + obj_pal gFieldEffectObjectPalette6, 0x1000 + + .align 2 +gSpriteTemplate_CutGrass:: @ 83C1600 + spr_template 0xFFFF, 0x1000, gOamData_CutGrass, gSpriteAnimTable_CutGrass, gSpriteImageTable_CutGrass, gDummySpriteAffineAnimTable, sub_80A2A48 + +@ pointer to items, capacity + .align 2 +gBagPockets:: @ 83C1618 + .4byte gSaveBlock1 + 0x560, 20 @ Items + .4byte gSaveBlock1 + 0x600, 16 @ Poké Balls + .4byte gSaveBlock1 + 0x640, 64 @ TMs & HMs + .4byte gSaveBlock1 + 0x740, 46 @ Berries + .4byte gSaveBlock1 + 0x5B0, 20 @ Key Items + + .align 2 +gUnknown_083C1640:: @ 83C1640 + .4byte OtherText_Use, sub_80A5B78 + .4byte OtherText_Toss, sub_80A5F14 + .4byte gOtherText_CancelNoTerminator, sub_80A5F80 + .4byte OtherText_Register, sub_80A5FAC + .4byte OtherText_Use, ItemMenu_UseInBattle + .4byte gOtherText_CancelNoTerminator, sub_80A7124 + .4byte OtherText_Give2, ItemMenu_Give + .4byte OtherText_CheckTag, sub_80A6178 + .4byte gOtherText_CancelWithTerminator, 0x0 + .4byte OtherText_Confirm, sub_80A69E0 + +@ 6-byte entries; format of entry is unknown +gUnknown_083C1690:: @ 83C1690 + .byte 0, 1, 6, 2, 0, 0 + .byte 6, 1, 8, 2, 0, 0 + .byte 0, 8, 6, 2, 0, 0 + .byte 7, 0, 1, 8, 6, 2 + .byte 0, 8, 3, 2, 0, 0 + +gUnknown_083C16AE:: @ 83C16AE + .byte 6, 2 + .byte 6, 2 + .byte 6, 2 + .byte 6, 2 + .byte 2, 0 + +gUnknown_083C16B8:: @ 83C16B8 + .byte 7, 9, 8, 2 + + .align 2 +gUnknown_083C16BC:: @ 83C16BC + .4byte sub_80A59D0 + .4byte sub_80A599C + .4byte sub_80A7024 + .4byte sub_80A70D8 + .4byte sub_80A6214 + .4byte sub_80A61EC + .4byte sub_80A6354 + .4byte sub_80A631C + .4byte sub_80A6918 + .4byte sub_80A68F0 + .4byte sub_80A59D0 + .4byte sub_80A69B8 + .4byte sub_80A6C6C + .4byte sub_80A6A4C + + .align 2 +gUnknown_083C16F4:: @ 83C16F4 + .4byte sub_80A5E60 + .4byte sub_80A5E90 + + .align 2 +gUnknown_083C16FC:: @ 83C16FC + .4byte sub_80A65AC + .4byte sub_80A6618 + +gUnknown_083C1704:: @ 83C1704 + .incbin "baserom.gba", 0x003c1704, 0x4 + +gUnknown_083C1708:: @ 83C1708 + .byte 4, 5 + +gUnknown_083C170A:: @ 83C170A + .byte 5, 0 + + .align 2 +gPalette_83C170C:: @ 83C170C + .incbin "baserom.gba", 0x003c170c, 0x20 + + .align 2 +gSpriteImage_83C172C:: @ 83C172C + .incbin "graphics/unknown_sprites/83C172C.4bpp" + + .align 2 + .incbin "graphics/unused/cherry.4bpp" + + .align 2 + .incbin "graphics/unused/cherry.gbapal" + + .align 2 +gOamData_83C1C4C:: @ 83C1C4C + .2byte 0x0000 + .2byte 0xC000 + .2byte 0x7800 + + .align 2 +gSpriteAnim_83C1C54:: @ 83C1C54 + obj_image_anim_frame 0, 4 + obj_image_anim_end + + .align 2 +gSpriteAnim_83C1C5C:: @ 83C1C5C + obj_image_anim_frame 64, 4 + obj_image_anim_end + + .align 2 +gSpriteAnim_83C1C64:: @ 83C1C64 + obj_image_anim_frame 128, 4 + obj_image_anim_end + + .align 2 +gSpriteAnim_83C1C6C:: @ 83C1C6C + obj_image_anim_frame 192, 4 + obj_image_anim_end + + .align 2 +gSpriteAnim_83C1C74:: @ 83C1C74 + obj_image_anim_frame 256, 4 + obj_image_anim_end + + .align 2 +gSpriteAnim_83C1C7C:: @ 83C1C7C + obj_image_anim_frame 320, 4 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83C1C84:: @ 83C1C84 + .4byte gSpriteAnim_83C1C54 + .4byte gSpriteAnim_83C1C5C + .4byte gSpriteAnim_83C1C6C + .4byte gSpriteAnim_83C1C74 + .4byte gSpriteAnim_83C1C7C + .4byte gSpriteAnim_83C1C64 + + .align 2 +gSpriteAffineAnim_83C1C9C:: @ 83C1C9C + obj_rot_scal_anim_frame 0x0, 0x0, -2, 2 + obj_rot_scal_anim_frame 0x0, 0x0, 2, 4 + obj_rot_scal_anim_frame 0x0, 0x0, -2, 4 + obj_rot_scal_anim_frame 0x0, 0x0, 2, 2 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_83C1CC4:: @ 83C1CC4 + .4byte gSpriteAffineAnim_83C1C9C + + .align 2 +gUnknown_083C1CC8:: @ 83C1CC8 + obj_tiles gBagMaleTiles, 0x3000, 30000 + + .align 2 +gUnknown_083C1CD0:: @ 83C1CD0 + obj_tiles gBagFemaleTiles, 0x3000, 30000 + + .align 2 +gUnknown_083C1CD8:: @ 83C1CD8 + obj_pal gBagPalette, 30000 + + .align 2 +gSpriteTemplate_83C1CE0:: @ 83C1CE0 + spr_template 30000, 30000, gOamData_83C1C4C, gSpriteAnimTable_83C1C84, NULL, gSpriteAffineAnimTable_83C1CC4, sub_80A7998 + + .align 2 +gOamData_83C1CF8:: @ 83C1CF8 + .2byte 0x0000 + .2byte 0x4800 + .2byte 0x8800 + + .align 2 +gSpriteAffineAnim_83C1D00:: @ 83C1D00 + obj_rot_scal_anim_frame 0x0, 0x0, 8, 32 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_83C1D10:: @ 83C1D10 + obj_rot_scal_anim_frame 0x0, 0x0, -8, 32 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_83C1D20:: @ 83C1D20 + .4byte gSpriteAffineAnim_83C1D00 + .4byte gSpriteAffineAnim_83C1D10 + + .align 2 +gSpriteImageTable_83C1D28:: @ 83C1D28 + obj_frame_tiles gSpriteImage_83C172C, 0x80 + + .align 2 +gUnknown_083C1D30:: @ 83C1D30 + obj_pal gPalette_83C170C, 8 + + .align 2 +gSpriteTemplate_83C1D38:: @ 83C1D38 + spr_template 0xFFFF, 8, gOamData_83C1CF8, gSpriteAnimTable_83C1C84, gSpriteImageTable_83C1D28, gSpriteAffineAnimTable_83C1D20, sub_80A7B28 + + .align 2 +gOamData_83C1D50:: @ 83C1D50 + .2byte 0x0000 + .2byte 0xC000 + .2byte 0x7400 + + .align 2 +gOamData_83C1D58:: @ 83C1D58 + .2byte 0x0300 + .2byte 0xC000 + .2byte 0x7000 + + .align 2 +gSpriteAnim_83C1D60:: @ 83C1D60 + obj_image_anim_frame 0, 0 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83C1D68:: @ 83C1D68 + .4byte gSpriteAnim_83C1D60 + + .align 2 +gSpriteImageTable_83C1D6C:: @ 83C1D6C + obj_frame_tiles 0x02000000, 0x800 + + .align 2 +gSpriteTemplate_83C1D74:: @ 83C1D74 + spr_template 0xFFFF, 30020, gOamData_83C1D50, gSpriteAnimTable_83C1D68, gSpriteImageTable_83C1D6C, gDummySpriteAffineAnimTable, sub_80A7DC4 + + .align 2 +gSpriteAffineAnim_83C1D8C:: @ 83C1D8C + obj_rot_scal_anim_frame 0xFFFF, 0xFFFF, -3, 96 + obj_rot_scal_anim_frame 0x0, 0x0, 0, 16 + obj_rot_scal_anim_frame 0xFFFE, 0xFFFE, -1, 64 + obj_rot_scal_anim_frame 0xFFF8, 0x0, 0, 16 + obj_rot_scal_anim_frame 0x0, 0xFFF8, 0, 16 + obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 + obj_rot_scal_anim_jump 0 + + .align 2 +gSpriteAffineAnim_83C1DC4:: @ 83C1DC4 + obj_rot_scal_anim_frame 0xFFFF, 0xFFFF, 3, 96 + obj_rot_scal_anim_frame 0x0, 0x0, 0, 16 + obj_rot_scal_anim_frame 0xFFFE, 0xFFFE, 1, 64 + obj_rot_scal_anim_frame 0xFFF8, 0x0, 0, 16 + obj_rot_scal_anim_frame 0x0, 0xFFF8, 0, 16 + obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 + obj_rot_scal_anim_jump 0 + + .align 2 +gSpriteAffineAnimTable_83C1DFC:: @ 83C1DFC + .4byte gSpriteAffineAnim_83C1D8C + .4byte gSpriteAffineAnim_83C1DC4 + + .align 2 +gSpriteTemplate_83C1E04:: @ 83C1E04 + spr_template 0xFFFF, 30020, gOamData_83C1D58, gSpriteAnimTable_83C1D68, gSpriteImageTable_83C1D6C, gSpriteAffineAnimTable_83C1DFC, SpriteCallbackDummy + +@ 83C1E1C + .include "data/graphics/berries/graphics_table.inc" + + .align 2 +gUnknown_083C1F74:: @ 83C1F74 + obj_tiles gBerryCheckCircle_Gfx, 2048, 0x2710 + + .align 2 +gUnknown_083C1F7C:: @ 83C1F7C + obj_pal gBerryCheck_Pal, 0x2710 + + .align 2 +gOamData_83C1F84:: @ 83C1F84 + .2byte 0x0000 + .2byte 0x8000 + .2byte 0x0400 + + .align 2 +gSpriteAnim_83C1F8C:: @ 83C1F8C + obj_image_anim_frame 0, 0 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83C1F94:: @ 83C1F94 + .4byte gSpriteAnim_83C1F8C + + .align 2 +gSpriteTemplate_83C1F98:: @ 83C1F98 + spr_template 10000, 10000, gOamData_83C1F84, gSpriteAnimTable_83C1F94, NULL, gDummySpriteAffineAnimTable, sub_80A7DC4 + + .align 2 +gBattleAnimSpriteTemplate_83C1FB0:: @ 83C1FB0 + spr_template 0, 0, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80A8530 + + .align 2 +gBattleAnimSpriteTemplate_83C1FC8:: @ 83C1FC8 + spr_template 0, 0, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80A85C8 + + .align 2 +gBattleAnimSpriteTemplate_83C1FE0:: @ 83C1FE0 + spr_template 0, 0, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80A8638 + + .align 2 +gBattleAnimSpriteTemplate_83C1FF8:: @ 83C1FF8 + spr_template 0, 0, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80A8764 + + .align 2 +gBattleAnimSpriteTemplate_83C2010:: @ 83C2010 + spr_template 0, 0, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80A8818 + +@ 83C2028 + .include "data/text/item_descriptions.inc" + +@ 83C5564 + .include "data/items.inc" + +@ 83C9150 + .string "テストです$" @ "test" + +gMatsudaDebugMenu_ActionContestText: + .string "Contest$" + +gMatsudaDebugMenu_ActionContestResultsText: + .string "Contest results$" + .string "パラメータへんこう$" @ "Change parameter" + .string "わざ へんこう$" @ "Change move" + +gMatsudaDebugMenu_ActionContestCommText: + .string "Contest (comm.)$" + +gMatsudaDebugMenu_ActionCommTestText: + .string "Init comm. data$" + +gMatsudaDebugMenu_ActionSetHighScoreText: + .string "Set highest score$" + +gMatsudaDebugMenu_ActionResetHighScoreText: + .string "Reset highest score$" + +gMatsudaDebugMenu_ActionSetAllArtMuseumText: + .string "Set all art museum items$" + + .align 2 +gMatsudaDebugMenuActions:: @ 83C91F0 + .4byte gMatsudaDebugMenu_ActionContestText, MatsudaDebugMenu_Contest + .4byte gMatsudaDebugMenu_ActionContestResultsText, MatsudaDebugMenu_ContestResults + .4byte gMatsudaDebugMenu_ActionContestCommText, MatsudaDebugMenu_ContestComm + .4byte gMatsudaDebugMenu_ActionCommTestText, MatsudaDebugMenu_CommTest + .4byte gMatsudaDebugMenu_ActionSetHighScoreText, MatsudaDebugMenu_SetHighScore + .4byte gMatsudaDebugMenu_ActionResetHighScoreText, MatsudaDebugMenu_ResetHighScore + .4byte gMatsudaDebugMenu_ActionSetAllArtMuseumText, MatsudaDebugMenu_SetArtMuseumItems + +gMatsudaDebugMenu_UnknownByteArray:: @ 83C9228 + .byte 0xFC, 0x02, 0x0F, 0x00, 0xFF + +Unknown_083C922D: + .incbin "graphics/unknown/ball.4bpp" + + .align 1 +Unknown_083C924E: + .incbin "graphics/unknown/ball.gbapal" + +gUnknown_083C926E:: @ 83C926E + .incbin "baserom.gba", 0x003c926e, 0x8 + +gMatsudaDebugMenuContestTopLeft:: @ 83C9276 + .byte 0, 6 + .byte 15, 6 + .byte 0, 8 + .byte 15, 8 + .byte 0, 10 + .byte 15, 10 + +gUnknown_083C9282:: @ 83C9282 + .incbin "baserom.gba", 0x003c9282, 0xc + +gUnknown_083C928E:: @ 83C928E + .incbin "baserom.gba", 0x003c928e, 0x8 + +gUnknown_083C9296:: @ 83C9296 + .byte 0x08, 0x80, 0x08, 0x80, 0x10, 0x10, 0x30, 0xA8, 0x30, 0xA8, 0x30, 0xA8, 0x08, 0x80, 0x08, 0x80, 0x10, 0x88 + +gUnknown_083C92A8:: @ 83C92A8 + .byte 0x08, 0x18, 0x28, 0x38, 0x48, 0x58, 0x78, 0x88, 0x98 + + .align 2 +gUnknown_083C92B4:: @ 83C92B4 + obj_tiles Unknown_083C922D, 32, 0x04b0 + + .align 2 +gUnknown_083C92BC:: @ 83C92BC + obj_pal Unknown_083C924E, 0x04B0 + + .align 2 +gOamData_83C92C4:: @ 83C92C4 + .2byte 0x0000 + .2byte 0x0000 + .2byte 0x0000 + + .align 2 +gSpriteTemplate_83C92CC:: @ 83C92CC + spr_template 1200, 1200, gOamData_83C92C4, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80AA754 + + .align 2 +gUnknown_083C92E4:: @ 83C92E4 + .4byte sub_80AA8C8 + .4byte sub_80AA8D8 + .4byte sub_80AA8E8 + .4byte sub_80AA8F8 + .4byte sub_80AAC5C + .4byte sub_80AAC5C + .4byte sub_80AA930 + .4byte sub_80AA974 + .4byte sub_80AA9B8 + .4byte sub_80AA9FC + .4byte sub_80AAA40 + .4byte sub_80AAA84 + .4byte sub_80AAAF0 + .4byte sub_80AAB30 + .4byte sub_80AAB70 + .4byte sub_80AABB0 + .4byte sub_80AABF0 + .4byte sub_80AAD44 + +gMatsudaDebugMenu_StartText:: @ 83C932C + .string "{COLOR CYAN}{HIGHLIGHT RED}$" + .string "かいし$" @ Start + +gMatsudaDebugMenu_GoBackText:: @ 83C9337 + .string "もどる$" @ Go Back + +gMatsudaDebugMenu_BattlePointsText:: @ 83C933B + .string "{COLOR MAGENTA}BP.$" + +MatsudaDebugMenuText_Cool: + .string "かっこよさ$" @ coolness +MatsudaDebugMenuText_Cute: + .string "かわいさ$" @ cuteness +MatsudaDebugMenuText_Beauty: + .string "うつくしさ$" @ beauty +MatsudaDebugMenuText_Smart: + .string "かしこさ$" @ smartness +MatsudaDebugMenuText_Tough: + .string "たくましさ$" @ toughness +MatsudaDebugMenuText_Sheen: + .string "けづや$" @ sheen + + .align 2 +gMatsudaDebugMenuTextList1:: @ 83C9364 + .4byte MatsudaDebugMenuText_Cool + .4byte MatsudaDebugMenuText_Cute + .4byte MatsudaDebugMenuText_Beauty + .4byte MatsudaDebugMenuText_Smart + .4byte MatsudaDebugMenuText_Tough + .4byte MatsudaDebugMenuText_Sheen + +MatsudaDebugMenuText_CoolContest: + .string "かっこよさコンテスト$" @ Cool Contest +MatsudaDebugMenuText_BeautyContest: + .string "うつくしさコンテスト$" @ Beauty Contest +MatsudaDebugMenuText_CuteContest: + .string "かわいさコンテスト $" @ Cute Contest +MatsudaDebugMenuText_SmartContest: + .string "かしこさコンテスト $" @ Smart Contest +MatsudaDebugMenuText_ToughContest: + .string "たくましさコンテスト$" @ Tough Contest + + .align 2 +gMatsudaDebugMenuTextList2:: @ 83C93B4 + .4byte MatsudaDebugMenuText_CoolContest + .4byte MatsudaDebugMenuText_BeautyContest + .4byte MatsudaDebugMenuText_CuteContest + .4byte MatsudaDebugMenuText_SmartContest + .4byte MatsudaDebugMenuText_ToughContest + +MatsudaDebugMenuText_Fallarbor: + .string "ハジツゲ/ノーマル$" @ Fallarbor / Normal +MatsudaDebugMenuText_Verdanturf: + .string "シダケ/スーパー $" @ Verdanturf / Super +MatsudaDebugMenuText_Slateport: + .string "カイナ/ハイパー $" @ Slateport / Hyper +MatsudaDebugMenuText_Lilycove: + .string "ミナモ/マスター $" @ Lilycove / Master + + .align 2 +gMatsudaDebugMenuTextList3:: @ 83C93F0 + .4byte MatsudaDebugMenuText_Fallarbor @ Normal + .4byte MatsudaDebugMenuText_Verdanturf @ Super + .4byte MatsudaDebugMenuText_Slateport @ Hyper + .4byte MatsudaDebugMenuText_Lilycove @ Master + +gUnknown_083C9400:: @ 83C9400 + .incbin "baserom.gba", 0x003c9400, 0x8 + +@ 83C9408 + .include "data/contest_opponents.inc" + +gUnknown_083CA308:: @ 83CA308 + .byte 19, 0 + .byte 19, 5 + .byte 19, 10 + .byte 19, 15 + +gUnknown_083CA310:: @ 83CA310 + .byte 25, 0 + .byte 25, 5 + .byte 25, 10 + .byte 25, 15 + +gUnknown_083CA318:: @ 83CA318 + .byte 20, 2 + .byte 20, 7 + .byte 20, 12 + .byte 20, 17 + .byte 24, 2 + .byte 24, 7 + .byte 24, 12 + .byte 24, 17 + .byte 220, 24 + .byte 220, 64 + .byte 220, 104 + .byte 220, 144 + +gUnknown_083CA330:: @ 83CA330 + .byte 224, 24 + .byte 224, 64 + .byte 224, 104 + .byte 224, 144 + +gUnknown_083CA338:: @ 83CA338 + .byte 36, 76, 116, 156 + +gUnknown_083CA33C:: @ 83CA33C + .byte 36, 76, 116, 156 + +gUnknown_083CA340:: @ 83CA340 + .byte 0, 31, 9, 39 + .byte 0, 33, 9, 39 + .byte 0, 35, 9, 39 + .byte 0, 37, 9, 39 + + .align 2 +gUnknown_083CA350:: @ 83CA350 + obj_tiles gTiles_8D1975C, 0x20, 20004 + + .align 2 +gOamData_83CA358:: @ 83CA358 + .2byte 0x0000 + .2byte 0x0000 + .2byte 0x0000 + + .align 2 +gSpriteAffineAnim_83CA360:: @ 83CA360 + obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_83CA370:: @ 83CA370 + obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 + obj_rot_scal_anim_frame 0xFFF6, 0xFFF6, -20, 20 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_83CA388:: @ 83CA388 + obj_rot_scal_anim_frame 0x38, 0x38, 0, 0 + obj_rot_scal_anim_frame 0xA, 0xA, 20, 20 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_83CA3A0:: @ 83CA3A0 + .4byte gSpriteAffineAnim_83CA360 + .4byte gSpriteAffineAnim_83CA370 + .4byte gSpriteAffineAnim_83CA388 + + .align 2 +gSpriteTemplate_83CA3AC:: @ 83CA3AC + spr_template 20004, 44000, gOamData_83CA358, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83CA3A0, SpriteCallbackDummy + + .align 2 +gUnknown_083CA3C4:: @ 83CA3C4 + obj_tiles gContestNextTurnGfx, 256, 0x4e26 + obj_tiles gContestNextTurnGfx, 256, 0x4e27 + obj_tiles gContestNextTurnGfx, 256, 0x4e28 + obj_tiles gContestNextTurnGfx, 256, 0x4e29 + + .align 2 +gUnknown_083CA3E4:: @ 83CA3E4 + obj_pal gContestPal, 0x4E26 + + .align 2 +gOamData_83CA3EC:: @ 83CA3EC + .2byte 0x4000 + .2byte 0x4000 + .2byte 0x0000 + + .align 2 +gSpriteTemplate_83CA3F4:: @ 83CA3F4 + spr_template 20006, 20006, gOamData_83CA3EC, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gSpriteTemplate_83CA40C:: @ 83CA40C + spr_template 20007, 20006, gOamData_83CA3EC, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gSpriteTemplate_83CA424:: @ 83CA424 + spr_template 20008, 20006, gOamData_83CA3EC, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gSpriteTemplate_83CA43C:: @ 83CA43C + spr_template 20009, 20006, gOamData_83CA3EC, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +Unknown_3CA454: @ 83CA454 + .incbin "baserom.gba", 0x3ca454, 0x10 + + .align 2 +gUnknown_083CA464:: @ 83CA464 + .4byte 0x2, Unknown_3CA454 + + .align 2 +gUnknown_083CA46C:: @ 83CA46C + obj_tiles gContestApplauseGfx, 1024, 0xabe2 + + .align 2 +gUnknown_083CA474:: @ 83CA474 + obj_pal gContestPal, 0xABE2 + + .align 2 +gOamData_83CA47C:: @ 83CA47C + .2byte 0x4000 + .2byte 0xC000 + .2byte 0x0000 + + .align 2 +gSpriteTemplate_83CA484:: @ 83CA484 + spr_template 44002, 44002, gOamData_83CA47C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gOamData_83CA49C:: @ 83CA49C + .2byte 0x0000 + .2byte 0xC000 + .2byte 0x2C00 + + .align 2 +gSpriteTemplate_83CA4A4:: @ 83CA4A4 + spr_template 20005, 20005, gOamData_83CA49C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gUnknown_083CA4BC:: @ 83CA4BC + obj_tiles gContestJudgeGfx, 2048, 0x4e25 + + .align 2 +gUnknown_083CA4C4:: @ 83CA4C4 + obj_tiles gContestJudgeSymbolsGfx, 896, 0xabe0 + + .align 2 +gUnknown_083CA4CC:: @ 83CA4CC + obj_pal gContest3Pal, 0xabe0 + + .align 2 +gUnknown_083CA4D4:: @ 83CA4D4 + spr_template 0xABE0, 0xABE0, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .include "data/text/contest_strings.inc" + +gUnknownText_MissedTurn:: @ 83CC355 + .string "Missed turn$" + +gUnknownText_LinkStandbyAndWinner:: @ 83CC361 + .string "Link standby...$" + .string "{COLOR WHITE2}$" + .string "The winner is {STR_VAR_1}’s {STR_VAR_2}!\nCongratulations!$" + +@ unknown, unreferenced data + .byte 0x00 + .byte 0x9C + .byte 0x77 + +gUnknownText_UnknownFormatting2:: @ 83CC3A0 + .string "{COLOR GREEN}{SHADOW RED}$" + +gUnknownText_UnknownFormatting3:: @ 83CC3A7 + .string "{COLOR LIGHT_GREY}$" + + .align 2 +gUnknown_083CC3AC:: @ 83CC3AC + obj_tiles gContestNumbers_UnusedGfx, 512, 0x4e20 + + .align 2 +gUnknown_083CC3B4:: @ 83CC3B4 + obj_pal gContestNumbers_UnusedPal, 0x4E20 + obj_pal gContestNumbers_UnusedPal, 0x4E21 + obj_pal gContestNumbers_UnusedPal, 0x4E22 + obj_pal gContestNumbers_UnusedPal, 0x4E23 + + .align 2 +gSpriteAnim_83CC3D4:: @ 83CC3D4 + obj_image_anim_frame 0, 1 + obj_image_anim_end + + .align 2 +gSpriteAnim_83CC3DC:: @ 83CC3DC + obj_image_anim_frame 4, 1 + obj_image_anim_end + + .align 2 +gSpriteAnim_83CC3E4:: @ 83CC3E4 + obj_image_anim_frame 8, 1 + obj_image_anim_end + + .align 2 +gSpriteAnim_83CC3EC:: @ 83CC3EC + obj_image_anim_frame 12, 1 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83CC3F4:: @ 83CC3F4 + .4byte gSpriteAnim_83CC3D4 + .4byte gSpriteAnim_83CC3DC + .4byte gSpriteAnim_83CC3E4 + .4byte gSpriteAnim_83CC3EC + + .align 2 +gSpriteAffineAnim_83CC404:: @ 83CC404 + obj_rot_scal_anim_frame 0x0, 0x0, 0, 1 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_83CC414:: @ 83CC414 + obj_rot_scal_anim_frame 0xFFF1, 0xFFF1, 0, 15 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_83CC424:: @ 83CC424 + obj_rot_scal_anim_frame 0x1F, 0x1F, 0, 0 + obj_rot_scal_anim_frame 0xF, 0xF, 0, 15 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_83CC43C:: @ 83CC43C + .4byte gSpriteAffineAnim_83CC404 + .4byte gSpriteAffineAnim_83CC414 + .4byte gSpriteAffineAnim_83CC424 + + .align 2 + .incbin "baserom.gba", 0x003cc448, 0x4 + + .align 2 +gOamData_83CC44C:: @ 83CC44C + .2byte 0x0000 + .2byte 0x4000 + .2byte 0x0000 + + .align 2 +gSpriteTemplate_83CC454:: @ 83CC454 + spr_template 20000, 20000, gOamData_83CC44C, gSpriteAnimTable_83CC3F4, NULL, gSpriteAffineAnimTable_83CC43C, SpriteCallbackDummy + + .align 2 +gSpriteTemplate_83CC46C:: @ 83CC46C + spr_template 20000, 20001, gOamData_83CC44C, gSpriteAnimTable_83CC3F4, NULL, gSpriteAffineAnimTable_83CC43C, SpriteCallbackDummy + + .align 2 +gSpriteTemplate_83CC484:: @ 83CC484 + spr_template 20000, 20002, gOamData_83CC44C, gSpriteAnimTable_83CC3F4, NULL, gSpriteAffineAnimTable_83CC43C, SpriteCallbackDummy + + .align 2 +gSpriteTemplate_83CC49C:: @ 83CC49C + spr_template 20000, 20003, gOamData_83CC44C, gSpriteAnimTable_83CC3F4, NULL, gSpriteAffineAnimTable_83CC43C, SpriteCallbackDummy + + .align 2 +gUnknown_083CC4B4:: @ 83CC4B4 + obj_tiles gBlankGfxCompressed, 4096, 0x80e8 + obj_tiles gBlankGfxCompressed, 4096, 0x80e9 + obj_tiles gBlankGfxCompressed, 4096, 0x80ea + obj_tiles gBlankGfxCompressed, 4096, 0x80eb + +gUnknown_083CC4D4:: @ 83CC4D4 + .incbin "baserom.gba", 0x003cc4d4, 0x20 + + .align 2 +gOamData_83CC4F4:: @ 83CC4F4 + .2byte 0x0700 + .2byte 0xC000 + .2byte 0x0000 + + .align 2 +gSpriteAffineAnim_83CC4FC:: @ 83CC4FC + obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_83CC50C:: @ 83CC50C + obj_rot_scal_anim_frame 0x3, 0x3, 0, 15 + obj_rot_scal_anim_frame 0xFFFD, 0xFFFD, 0, 15 + obj_rot_scal_anim_frame 0x3, 0x3, 0, 15 + obj_rot_scal_anim_frame 0xFFFD, 0xFFFD, 0, 15 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_83CC534:: @ 83CC534 + .4byte gSpriteAffineAnim_83CC4FC + .4byte gSpriteAffineAnim_83CC50C + + .align 2 +gSpriteTemplate_83CC53C:: @ 83CC53C + spr_template 33000, 33000, gOamData_83CC4F4, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83CC534, SpriteCallbackDummy + + .align 2 +gSpriteTemplate_83CC554:: @ 83CC554 + spr_template 33001, 33001, gOamData_83CC4F4, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83CC534, SpriteCallbackDummy + + .align 2 +gSpriteTemplate_83CC56C:: @ 83CC56C + spr_template 33002, 33002, gOamData_83CC4F4, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83CC534, SpriteCallbackDummy + + .align 2 +gSpriteTemplate_83CC584:: @ 83CC584 + spr_template 33003, 33003, gOamData_83CC4F4, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83CC534, SpriteCallbackDummy + +gUnknown_083CC59C:: @ 83CC59C + .incbin "baserom.gba", 0x003cc59c, 0x6 + +gUnknown_083CC5A2:: @ 83CC5A2 + .string "/$" + +gUnknown_083CC5A4:: @ 83CC5A4 + .incbin "baserom.gba", 0x003cc5a4, 0x10 + +@ 83CC5B4 + .include "data/contest_excitement_table.inc" + + .align 2 +gUnknown_083CC5D0:: @ 83CC5D0 + .incbin "baserom.gba", 0x003cc5d0, 0x100 + + .align 2 +gUnknown_083CC6D0:: @ 83CC6D0 + .4byte MartText_Buy, sub_80B2EFC + .4byte MartText_Sell, sub_80B2F30 + .4byte MartText_Quit2, HandleShopMenuQuit + +gUnknown_083CC6E8:: @ 83CC6E8 + .byte 0, 1, 2 + +gUnknown_083CC6EB:: @ 83CC6EB + .byte 0, 2 + +@ unknown, unreferenced data + .align 1 + .2byte 0x2 + .2byte 0x3 + .2byte 0x4 + .2byte 0xD + .2byte 0x121 + .2byte 0xE + .2byte 0xE + .2byte 0xE + .2byte 0xE + .2byte 0xE + .2byte 0xE + .2byte 0x0 + .2byte 0x0 + + .align 2 +gUnknown_083CC708:: @ 83CC708 + .4byte sub_80B3BF4 + .4byte sub_80B3D7C + +gUnknown_083CC710:: @ 83CC710 + .incbin "baserom.gba", 0x003cc710, 0x4 + +gUnknown_083CC714:: @ 83CC714 + .incbin "baserom.gba", 0x003cc714, 0x6 + +gUnknown_083CC71A:: @ 83CC71A + .incbin "baserom.gba", 0x003cc71a, 0x6 + +gUnknown_083CC720:: @ 83CC720 + .incbin "baserom.gba", 0x003cc720, 0x6 + +gUnknown_083CC726:: @ 83CC726 + .incbin "baserom.gba", 0x003cc726, 0x6 + +gUnknown_083CC72C:: @ 83CC72C + .incbin "baserom.gba", 0x003cc72c, 0x6 + +gUnknown_083CC732:: @ 83CC732 + .incbin "baserom.gba", 0x003cc732, 0x6 + +gUnknown_083CC738:: @ 83CC738 + .incbin "baserom.gba", 0x003cc738, 0x8 + +@ 83CC740 + .include "data/text/berry_descriptions.inc" + +@ 83CD2CC + .include "data/berries.inc" + + .align 2 +gUnknown_083CD780:: @ 83CD780 + .4byte 0, 0 + +@ 83CD788 + .include "data/multichoice.inc" + + .align 2 +gUnknown_083CE048:: @ 83CE048 + .4byte OtherText_Cool2 + .4byte OtherText_Beauty3 + .4byte OtherText_Cute2 + .4byte OtherText_Smart2 + .4byte OtherText_Tough2 + .4byte OtherText_Normal + .4byte OtherText_Super + .4byte OtherText_Hyper + .4byte OtherText_Master + .4byte OtherText_Cool3 + .4byte OtherText_Beauty4 + .4byte OtherText_Cute3 + .4byte OtherText_Smart3 + .4byte OtherText_Tough3 + .4byte OtherText_Items + .4byte OtherText_KeyItems + .4byte OtherText_Balls + .4byte OtherText_TMsHMs + .4byte OtherText_Berries + + .align 2 +gSpriteImage_83CE094:: @ 83CE094 + .incbin "graphics/naming_screen/pc_icon/0.4bpp" + + .align 2 +gSpriteImage_83CE154:: @ 83CE154 + .incbin "graphics/naming_screen/pc_icon/1.4bpp" + + .align 2 + .incbin "baserom.gba", 0x003ce214, 0x4 + + .align 2 +gUnknown_083CE218:: @ 83CE218 + .4byte sub_80B5EA8 + .4byte sub_80B5ED0 + .4byte sub_80B5F00 + .4byte sub_80B5F10 + .4byte sub_80B5F38 + .4byte sub_80B5F70 + .4byte pokemon_store + .4byte sub_80B604C + .4byte sub_80B606C + .4byte sub_80B6094 + + .align 2 +gUnknown_083CE240:: @ 83CE240 + .4byte sub_80B6108 + .4byte sub_80B6148 + .4byte sub_80B6170 + .4byte sub_80B6194 + + .align 2 +gUnknown_083CE250:: @ 83CE250 + .4byte sub_80B626C + .4byte sub_80B6274 + +gUnknown_083CE258:: @ 83CE258 + .incbin "baserom.gba", 0x003ce258, 0xa + +gUnknown_083CE262:: @ 83CE262 + .incbin "baserom.gba", 0x003ce262, 0xa + +gUnknown_083CE26C:: @ 83CE26C + .incbin "baserom.gba", 0x003ce26c, 0x8 + +gUnknown_083CE274:: @ 83CE274 + .incbin "baserom.gba", 0x003ce274, 0x8 + + .align 2 +gUnknown_083CE27C:: @ 83CE27C + .4byte sub_80B6668 + .4byte sub_80B6680 + .4byte sub_80B66EC + .4byte sub_80B6758 + + .align 2 +gUnknown_083CE28C:: @ 83CE28C + .4byte 0x02000006 + .4byte 0x02000004 + +gUnknown_083CE294:: @ 83CE294 + .incbin "baserom.gba", 0x003ce294, 0x1b + +gUnknown_083CE2AF:: @ 83CE2AF + .incbin "baserom.gba", 0x003ce2af, 0x5 + + .align 2 +gUnknown_083CE2B4:: @ 83CE2B4 + .4byte sub_80B6B5C + .4byte sub_80B6B98 + .4byte sub_80B6B9C + .4byte sub_80B6C08 + +gUnknown_083CE2C4:: @ 83CE2C4 + .incbin "baserom.gba", 0x003ce2c4, 0x6 + +gUnknown_083CE2CA:: @ 83CE2CA + .incbin "baserom.gba", 0x003ce2ca, 0x6 + +gUnknown_083CE2D0:: @ 83CE2D0 + .incbin "baserom.gba", 0x003ce2d0, 0x8 + +gUnknown_083CE2D8:: @ 83CE2D8 + .incbin "baserom.gba", 0x003ce2d8, 0x8 + + .align 2 +gUnknown_083CE2E0:: @ 83CE2E0 + .4byte nullsub_40 + .4byte sub_80B6E68 + .4byte sub_80B6EBC + .4byte sub_80B6EFC + + .align 2 +gUnknown_083CE2F0:: @ 83CE2F0 + .4byte sub_80B7660 + .4byte sub_80B7650 + .4byte sub_80B7650 + .4byte sub_80B7670 + .4byte sub_80B7670 + .4byte sub_80B7660 + +gUnknown_083CE308:: @ 83CE308 + .incbin "baserom.gba", 0x003ce308, 0x8 + + .align 2 +gUnknown_083CE310:: @ 83CE310 + .4byte sub_80B7844 + .4byte sub_80B7838 + .4byte sub_80B7838 + .4byte sub_80B7850 + .4byte sub_80B7850 + .4byte sub_80B7844 + + .align 2 +gUnknown_083CE328:: @ 83CE328 + .4byte gWindowConfig_81E6EDC + .4byte gWindowConfig_81E6EF8 + .4byte gWindowConfig_81E6EA4 + .4byte gWindowConfig_81E6EC0 + .4byte gWindowConfig_81E6EA4 + .4byte gWindowConfig_81E6EC0 + .4byte gWindowConfig_81E6F14 + .4byte gWindowConfig_81E6F30 + .4byte gWindowConfig_81E6F14 + .4byte gWindowConfig_81E6F30 + .4byte gWindowConfig_81E6EDC + .4byte gWindowConfig_81E6EF8 + + .align 2 +gUnknown_083CE358:: @ 83CE358 + .4byte nullsub_61 + .4byte nullsub_61 + .4byte sub_80B78F8 + .4byte sub_80B78F8 + + .align 2 +gUnknown_083CE368:: @ 83CE368 + .4byte nullsub_62 + .4byte sub_80B7924 + + .align 2 +gUnknown_083CE370:: @ 83CE370 + .incbin "baserom.gba", 0x003ce370, 0x4 + + .align 2 +Unknown_83CE374: + .byte 0, 7, 1, 0, 0, 0, 0, 0 + .4byte OtherText_YourName + + .align 2 +Unknown_83CE380: + .byte 0, 8, 2, 0, 0, 0, 0, 0 + .4byte OtherText_BoxName + + .align 2 +Unknown_83CE38C: + .byte 0, 10, 3, 1, 0, 0, 0, 0 + .4byte OtherText_PokeName + + .align 2 +gUnknown_083CE398:: @ 83CE398 + .4byte Unknown_83CE374 + .4byte Unknown_83CE380 + .4byte Unknown_83CE38C + .4byte Unknown_83CE38C + +gUnknown_083CE3A8:: @ 83CE3A8 + .string " A B C D E F . $" + .string " G H I J K L , $" + .string " M N O P Q R S $" + .string " T U V W X Y Z $" + .string " a b c d e f . $" + .string " g h i j k l , $" + .string " m n o p q r s $" + .string " t u v w x y z $" + .string " 0 1 2 3 4 $" + .string " 5 6 7 8 9 $" + .string " ! ? ♂ ♀ / - $" + .string " … “ ” ‘ ’ $" + + .align 2 +gOamData_83CE498:: @ 83CE498 + .2byte 0x0000 + .2byte 0x0000 + .2byte 0x0000 + + .align 2 +gOamData_83CE4A0:: @ 83CE4A0 + .2byte 0x0000 + .2byte 0x4000 + .2byte 0x0000 + + .align 2 +gOamData_83CE4A8:: @ 83CE4A8 + .2byte 0x4000 + .2byte 0x8000 + .2byte 0x0000 + + .align 2 +Unknown_3CE4B0:: @ 83CE4B0 + .incbin "baserom.gba", 0x3ce4b0, 0x50 + + .align 2 +Unknown_3CE500:: @ 83CE500 + .incbin "baserom.gba", 0x3ce500, 0x10 + + .align 2 +Unknown_3CE510:: @ 83CE510 + .incbin "baserom.gba", 0x3ce510, 0x30 + + .align 2 +Unknown_3CE540:: @ 83CE540 + .incbin "baserom.gba", 0x3ce540, 0x18 + + .align 2 +gUnknown_083CE558:: @ 83CE558 + .4byte 0x8, Unknown_3CE4B0 + + .align 2 +gUnknown_083CE560:: @ 83CE560 + .4byte 0x2, Unknown_3CE500 + .4byte 0x2, Unknown_3CE500 + .4byte 0x2, Unknown_3CE500 + + .align 2 +gUnknown_083CE578:: @ 83CE578 + .4byte 0x6, Unknown_3CE510 + + .align 2 +gUnknown_083CE580:: @ 83CE580 + .4byte 0x3, Unknown_3CE540 + + .align 2 +gSpriteImageTable_83CE588:: @ 83CE588 + obj_frame_tiles gSpriteImage_83CE094, 0xc0 + obj_frame_tiles gSpriteImage_83CE154, 0xc0 + + .align 2 +gSpriteAnim_83CE598:: @ 83CE598 + obj_image_anim_frame 0, 1 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnim_83CE5A0:: @ 83CE5A0 + obj_image_anim_frame 4, 8 + obj_image_anim_frame 8, 8 + obj_image_anim_end + + .align 2 +gSpriteAnim_83CE5AC:: @ 83CE5AC + obj_image_anim_frame 0, 2 + obj_image_anim_frame 1, 2 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnimTable_83CE5B8:: @ 83CE5B8 + .4byte gSpriteAnim_83CE598 + + .align 2 +gSpriteAnimTable_83CE5BC:: @ 83CE5BC + .4byte gSpriteAnim_83CE598 + .4byte gSpriteAnim_83CE5A0 + + .align 2 +gSpriteAnimTable_83CE5C4:: @ 83CE5C4 + .4byte gSpriteAnim_83CE5AC + + .align 2 +gSpriteTemplate_83CE5C8:: @ 83CE5C8 + spr_template 2, 4, gOamData_83CE498, gSpriteAnimTable_83CE5B8, NULL, gDummySpriteAffineAnimTable, sub_80B6B34 + + .align 2 +gSpriteTemplate_83CE5E0:: @ 83CE5E0 + spr_template 3, 1, gOamData_83CE4A8, gSpriteAnimTable_83CE5B8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gSpriteTemplate_83CE5F8:: @ 83CE5F8 + spr_template 4, 4, gOamData_83CE498, gSpriteAnimTable_83CE5B8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gSpriteTemplate_83CE610:: @ 83CE610 + spr_template 0, 6, gOamData_83CE498, gSpriteAnimTable_83CE5B8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gSpriteTemplate_83CE628:: @ 83CE628 + spr_template 1, 6, gOamData_83CE498, gSpriteAnimTable_83CE5B8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gSpriteTemplate_83CE640:: @ 83CE640 + spr_template 7, 5, gOamData_83CE4A0, gSpriteAnimTable_83CE5BC, NULL, gDummySpriteAffineAnimTable, sub_80B6998 + + .align 2 +gSpriteTemplate_83CE658:: @ 83CE658 + spr_template 10, 3, gOamData_83CE498, gSpriteAnimTable_83CE5B8, NULL, gDummySpriteAffineAnimTable, sub_80B6D9C + + .align 2 +gSpriteTemplate_83CE670:: @ 83CE670 + spr_template 11, 3, gOamData_83CE498, gSpriteAnimTable_83CE5B8, NULL, gDummySpriteAffineAnimTable, sub_80B6DE8 + + .align 2 +gSpriteTemplate_83CE688:: @ 83CE688 + spr_template 0xFFFF, 0, gOamData_83CE498, gSpriteAnimTable_83CE5C4, gSpriteImageTable_83CE588, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gUnknown_083CE6A0:: @ 83CE6A0 + obj_tiles gNamingScreenBackButtonTiles, 0x1E0, 0 + obj_tiles gNamingScreenOKButtonTiles, 0x1E0, 1 + obj_tiles gNamingScreenChangeKeyboardBoxTiles, 0x280, 2 + obj_tiles gNamingScreenChangeKeyboardButtonTiles, 0x100, 3 + obj_tiles gNamingScreenLowerTextTiles, 0x60, 4 + obj_tiles gNamingScreenUpperTextTiles, 0x60, 5 + obj_tiles gNamingScreenOthersTextTiles, 0x60, 6 + obj_tiles gNamingScreenCursorTiles, 0x80, 7 + obj_tiles gNamingScreenActiveCursorSmallTiles, 0x80, 8 + obj_tiles gNamingScreenActiveCursorBigTiles, 0x80, 9 + obj_tiles gNamingScreenRightPointingTriangleTiles, 0x20, 10 + obj_tiles gNamingScreenUnderscoreTiles, 0x20, 11 + null_obj_tiles + + .align 2 +gUnknown_083CE708:: @ 83CE708 + obj_pal gNamingScreenPalettes + 0x20 * 0, 0 + obj_pal gNamingScreenPalettes + 0x20 * 1, 1 + obj_pal gNamingScreenPalettes + 0x20 * 2, 2 + obj_pal gNamingScreenPalettes + 0x20 * 3, 3 + obj_pal gNamingScreenPalettes + 0x20 * 4, 4 + obj_pal gNamingScreenPalettes + 0x20 * 5, 5 + obj_pal gNamingScreenPalettes + 0x20 * 4, 6 + null_obj_pal + + .align 2 +gUnknown_083CE748:: @ 83CE748 + .incbin "graphics/naming_screen/lower_keyboard_map.bin" + + .align 2 +gUnknown_083CEBF8:: @ 83CEBF8 + .incbin "graphics/naming_screen/upper_keyboard_map.bin" + + .align 2 +gUnknown_083CF0A8:: @ 83CF0A8 + .incbin "graphics/naming_screen/others_keyboard_map.bin" + + .align 2 +gOamData_83CF558:: @ 83CF558 + .2byte 0x4000 + .2byte 0x8000 + .2byte 0x0000 + + .align 2 +gSpriteAnim_83CF560:: @ 83CF560 + obj_image_anim_frame 0, 0 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83CF568:: @ 83CF568 + .4byte gSpriteAnim_83CF560 + + .align 2 +gSpriteTemplate_83CF56C:: @ 83CF56C + spr_template 10018, 10018, gOamData_83CF558, gSpriteAnimTable_83CF568, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gUnknown_083CF584:: @ 83CF584 + obj_tiles gMenuMoneyGfx, 256, 0x2722 + + .align 2 +gUnknown_083CF58C:: @ 83CF58C + obj_pal gMenuMoneyPal, 0x2722 + +@ 83CF594 + .include "data/contest_moves.inc" + +@ 83D00AC + .include "data/contest_effects.inc" + +@ A lookup table with TRUE for each combo starter ID and FALSE for ID 0, +@ which means "not a combo starter move". +gComboStarterLookupTable:: @ 83D016C + .byte FALSE + .rept 62 + .byte TRUE + .endr + +@ 83D01AC + .include "data/contest_effect_funcs.inc" + + .align 2 +recordMixingSecretBases:: @ 83D026C + @ gSaveBlock1.secretBases + .4byte gSaveBlock1 + 0x1A08 + + .align 2 +recordMixingTvShows:: @ 83D0270 + @ gSaveBlock1.tvShows + .4byte gSaveBlock1 + 0x2738 + + .align 2 +gUnknown_083D0274:: @ 83D0274 + .4byte gSaveBlock1 + 0x2ABC + + .align 2 +gUnknown_083D0278:: @ 83D0278 + .4byte gSaveBlock1 + 0x2D94 + + .align 2 +recordMixingEasyChatPairs:: @ 83D027C + @ gSaveBlock1.easyChatPairs + .4byte gSaveBlock1 + 0x2DD4 + + .align 2 +gUnknown_083D0280:: @ 83D0280 + .4byte 0x02038738 + + .align 2 +gUnknown_083D0284:: @ 83D0284 + .4byte 0x02024f4c + +gUnknown_083D0288:: @ 83D0288 + .byte 1, 0 + +gUnknown_083D028A:: @ 83D028A + .byte 1, 2, 0 + .byte 2, 0, 1 + +gUnknown_083D0290:: @ 83D0290 + .byte 1, 0, 3, 2 + .byte 3, 0, 1, 2 + .byte 2, 0, 3, 1 + .byte 1, 3, 0, 2 + .byte 2, 3, 0, 1 + .byte 3, 2, 0, 1 + .byte 1, 2, 3, 0 + .byte 2, 3, 1, 0 + .byte 3, 2, 1, 0 + +gUnknown_083D02B4:: @ 83D02B4 + .byte 0, 1 + .byte 1, 2 + .byte 2, 0 + +gUnknown_083D02BA:: @ 83D02BA + .byte 0, 1 + .byte 2, 3 + + .byte 0, 2 + .byte 1, 3 + + .byte 0, 3 + .byte 2, 1 + + .align 2 @ object file boundary? + +gDebugText_SoundCheckJap:: @ 83D02C8 + .string "サウンドチェック$" @ Sound Check + +gDebugText_BGM:: @ 83D02D1 + .string "BGM$" + +gDebugText_SE:: @ 83D02D5 + .string "SE $" + +gUnknown_083D02D9:: @ 83D02D9 + .incbin "baserom.gba", 0x003d02d9, 0xd + +gDebugText_UpDown:: @ 83D02E6 + .string "L‥UP R‥DOWN$" + +gDebugText_DriverTest:: @ 83D02F2 + .string "R‥DRIVER-TEST$" + +gUnknown_083D0300:: @ 83D0300 + .incbin "baserom.gba", 0x003d0300, 0x12 + +gUnknown_083D0312:: @ 83D0312 + .incbin "baserom.gba", 0x003d0312, 0xa + +gUnknown_083D031C:: @ 83D031C + .incbin "baserom.gba", 0x003d031c, 0xb + +gDebugText_Voice:: @ 83D0327 + .string "VOICE‥‥‥‥$" + +gDebugText_Volume:: @ 83D0331 + .string "VOLUME‥‥‥$" + +gDebugText_Panpot:: @ 83D033B + .string "PANPOT‥‥‥$" + +gDebugText_Pitch:: @ 83D0345 + .string "PITCH‥‥‥‥$" + +gDebugText_Length:: @ 83D034F + .string "LENGTH‥‥‥$" + +gDebugText_Release:: @ 83D0359 + .string "RELEASE‥‥$" + +gDebugText_Progress:: @ 83D0363 + .string "PROGRESS‥$" + +gDebugText_Chorus:: @ 83D036D + .string "CHORUS‥‥‥$" + +gDebugText_Priority:: @ 83D0377 + .string "PRIORITY‥$" + +gUnknown_083D0381:: @ 83D0381 + .string "さいせいちゆう‥$" @ 再生中 (playing) + +gUnknown_083D038A:: @ 83D038A + .string "はんてん‥‥‥‥$" @ 反転 (reverse) + +gUnknown_083D0393:: @ 83D0393 + .string "すてれお‥‥‥‥$" @ stereo + +gUnknown_083D039C:: @ 83D039C + .incbin "baserom.gba", 0x003d039c, 0x40 + +gUnknown_083D03DC:: @ 83D03DC + .string "▶$" + +gUnknown_083D03DE:: @ 83D03DE + .string " $" + +gUnknown_083D03E0:: @ 83D03E0 + .incbin "baserom.gba", 0x003d03e0, 0x18 + +gUnknown_083D03F8:: @ 83D03F8 + .byte 0x3F, 0x00, 0xC0, 0x7F, 0x80 @ stereo panning + +gOtherText_SE:: @ 83D03FD + .string "SE$" + +gOtherText_Pan:: @ 83D0400 + .string "PAN$" + +gOtherText_LR:: @ 83D0404 + .string " LR$" + +gOtherText_RL:: @ 83D0409 + .string " RL$" + +@ 83D040E + .include "data/text/song_names.inc" + +gUnknown_083D1358:: @ 83D1358 + .incbin "baserom.gba", 0x003d1358, 0x1c + +gUnknown_083D1374:: @ 83D1374 + .incbin "baserom.gba", 0x003d1374, 0x60 + + .align 2 +gUnknown_083D13D4:: @ 83D13D4 + .4byte SecretBaseText_DelRegist, sub_80BCA84 + .4byte gUnknownText_Exit, sub_80BCBF8 + + .align 2 +gUnknown_083D13E4:: @ 83D13E4 + .4byte sub_80BCB90 + .4byte sub_80BCBC0 + +gUnknown_083D13EC:: @ 83D13EC + .incbin "baserom.gba", 0x003d13ec, 0xc + +gUnknown_083D13F8:: @ 83D13F8 + .incbin "baserom.gba", 0x003d13f8, 0x3c + + .align 2 +gUnknown_083D1434:: @ 83D1434 + .4byte 0x0 + .4byte UnknownString_81AD135 + .4byte UnknownString_81AD5B0 + .4byte UnknownString_81AD8B4 + + .align 2 +gUnknown_083D1444:: @ 83D1444 + .4byte 0x0 + .4byte UnknownString_81AD2E0 + .4byte UnknownString_81AD6AE + .4byte UnknownString_81AD9D3 + + .align 2 +gUnknown_083D1454:: @ 83D1454 + .4byte 0x0 + .4byte UnknownString_81AD434 + .4byte UnknownString_81AD7A7 + .4byte UnknownString_81ADB01 + + .align 2 +gUnknown_083D1464:: @ 83D1464 + .4byte gStringVar1 + .4byte gStringVar2 + .4byte gStringVar3 + + .align 2 +gUnknown_083D1470:: @ 83D1470 + .4byte UnknownString_81A8EC9 + .4byte UnknownString_81A9048 + .4byte UnknownString_81A9067 + .4byte UnknownString_81A9088 + .4byte UnknownString_81A90B4 + .4byte UnknownString_81A911F + .4byte UnknownString_81A9152 + .4byte UnknownString_81A91C6 + + .align 2 +gUnknown_083D1490:: @ 83D1490 + .4byte UnknownString_81A9581 + .4byte UnknownString_81A9694 + .4byte UnknownString_81A971B + .4byte UnknownString_81A974B + .4byte UnknownString_81A979F + .4byte UnknownString_81A97D0 + + .align 2 +gUnknown_083D14A8:: @ 83D14A8 + .4byte UnknownString_81A8917 + .4byte UnknownString_81A8AE5 + .4byte UnknownString_81A8B9D + .4byte UnknownString_81A8C77 + .4byte UnknownString_81A8D45 + + .align 2 +gUnknown_083D14BC:: @ 83D14BC + .4byte UnknownString_81A986F + + .align 2 +gUnknown_083D14C0:: @ 83D14C0 + .4byte UnknownString_81AAD23 + .4byte UnknownString_81AADD5 + .4byte UnknownString_81AAE31 + .4byte UnknownString_81AAE9D + .4byte UnknownString_81AAF03 + .4byte UnknownString_81AAF8A + .4byte UnknownString_81AB040 + .4byte UnknownString_81AB0C8 + .4byte UnknownString_81AB13D + .4byte UnknownString_81AB1C6 + .4byte UnknownString_81AB266 + .4byte UnknownString_81AB2DB + + .align 2 +gUnknown_083D14F0:: @ 83D14F0 + .4byte UnknownString_81AB381 + .4byte UnknownString_81AB435 + .4byte UnknownString_81AB507 + .4byte UnknownString_81AB5B8 + .4byte UnknownString_81AB61F + .4byte UnknownString_81AB6B0 + .4byte UnknownString_81AB78D + .4byte UnknownString_81AB7FE + .4byte UnknownString_81AB835 + .4byte UnknownString_81AB873 + .4byte UnknownString_81AB92E + .4byte UnknownString_81AB95E + .4byte UnknownString_81ABB75 + + .align 2 +gUnknown_083D1524:: @ 83D1524 + .4byte UnknownString_81A72DE + .4byte UnknownString_81A736B + .4byte UnknownString_81A73CA + .4byte UnknownString_81A744D + .4byte UnknownString_81A7508 + .4byte UnknownString_81A75CE + .4byte UnknownString_81A768D + .4byte UnknownString_81A76C5 + .4byte UnknownString_81A774F + + .align 2 +gUnknown_083D1548:: @ 83D1548 + .4byte UnknownString_81A7B93 + .4byte UnknownString_81A7C26 + .4byte UnknownString_81A7C7D + .4byte UnknownString_81A7D4A + .4byte UnknownString_81A7E0C + .4byte UnknownString_81A7F0E + .4byte UnknownString_81A8004 + .4byte UnknownString_81A8119 + .4byte UnknownString_81A811E + .4byte UnknownString_81A8123 + .4byte UnknownString_81A8128 + .4byte UnknownString_81A812D + .4byte UnknownString_81A8133 + .4byte UnknownString_81A81BC + .4byte UnknownString_81A8267 + + .align 2 +gUnknown_083D1584:: @ 83D1584 + .4byte UnknownString_81A99D9 + .4byte UnknownString_81A9AF0 + .4byte UnknownString_81A9B69 + .4byte UnknownString_81A9BEF + .4byte UnknownString_81A9C6A + .4byte UnknownString_81A9CF8 + .4byte UnknownString_81A9D74 + .4byte UnknownString_81A9DF3 + .4byte UnknownString_81A9E75 + .4byte UnknownString_81A9F06 + .4byte UnknownString_81A9F9F + .4byte UnknownString_81AA01E + .4byte UnknownString_81AA09D + .4byte UnknownString_81AA0D7 + .4byte UnknownString_81AA138 + .4byte UnknownString_81AA166 + .4byte UnknownString_81AA1C0 + .4byte UnknownString_81AA1EA + .4byte UnknownString_81AA28A + + .align 2 +gUnknown_083D15D0:: @ 83D15D0 + .4byte UnknownString_81AA814 + .4byte UnknownString_81AA8C6 + .4byte UnknownString_81AA9B2 + .4byte UnknownString_81AAA5C + .4byte UnknownString_81AAB11 + .4byte UnknownString_81AABB4 + .4byte UnknownString_81AAC47 + + .align 2 +gUnknown_083D15EC:: @ 83D15EC + .4byte UnknownString_81AA344 + .4byte UnknownString_81AA5F3 + + .align 2 +gUnknown_083D15F4:: @ 83D15F4 + .4byte UnknownString_81ABC51 + .4byte UnknownString_81ABD94 + .4byte UnknownString_81ABDF2 + + .align 2 +gUnknown_083D1600:: @ 83D1600 + .4byte UnknownString_81AC90D + .4byte UnknownString_81ACA02 + .4byte UnknownString_81ACAAA + .4byte UnknownString_81ACC07 + .4byte UnknownString_81ACD13 + .4byte UnknownString_81ACDFA + .4byte UnknownString_81ACEE7 + .4byte UnknownString_81ACF49 + .4byte UnknownString_81AD00A + + .align 2 +gUnknown_083D1624:: @ 83D1624 + .incbin "baserom.gba", 0x003d1624, 0x20 + +gUnknown_083D1644:: @ 83D1644 + .incbin "baserom.gba", 0x003d1644, 0xa0 + +gUnknown_083D16E4:: @ 83D16E4 + .incbin "baserom.gba", 0x003d16e4, 0x40 + + .align 2 +gMiscBlank_Pal:: + .incbin "graphics/interface/blank.gbapal" + + .align 2 +gOamData_83D1744:: @ 83D1744 + .2byte 0x4000 + .2byte 0xC000 + .2byte 0x2C00 + + .align 2 +gSpriteTemplate_83D174C:: @ 83D174C + spr_template 3009, 3009, gOamData_83D1744, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gUnknown_083D1764:: @ 83D1764 + obj_tiles gMiscBlank_Gfx, 1024, 0x0bc1 + obj_tiles gMiscBlank_Gfx, 1024, 0x0bc2 + obj_tiles gMiscBlank_Gfx, 1024, 0x0bc3 + obj_tiles gMiscBlank_Gfx, 1024, 0x0bc4 + obj_tiles gMiscBlank_Gfx, 1024, 0x0bc5 + obj_tiles gMiscBlank_Gfx, 1024, 0x0bc6 + obj_tiles gMiscBlank_Gfx, 1024, 0x0bc7 + obj_tiles gMiscBlank_Gfx, 1024, 0x0bc8 + + .align 2 +gUnknown_083D17A4:: @ 83D17A4 + obj_pal gMiscBlank_Pal, 0x0BC1 + + .align 2 +gOamData_83D17AC:: @ 83D17AC + .2byte 0x0000 + .2byte 0x0000 + .2byte 0x0000 + + .align 2 +gSpriteTemplate_83D17B4:: @ 83D17B4 + spr_template 3017, 3017, gOamData_83D17AC, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80C3DF0 + + .align 2 +gUnknown_083D17CC:: @ 83D17CC + obj_tiles gContestConfetti_Gfx, 544, 0x0bc9 + + .align 2 +gUnknown_083D17D4:: @ 83D17D4 + obj_pal gContestConfetti_Pal, 0x0bc9 + +gUnknown_083D17DC:: @ 83D17DC + .string "{COLOR RED}$" + +gUnknown_083D17E0:: @ 83D17E0 + .string "/$" + +gUnknown_083D17E2:: @ 83D17E2 + .string "{SIZE 3}{COLOR_HIGHLIGHT_SHADOW WHITE2 DARK_GREY LIGHT_BLUE}$" + + .align 2 + .incbin "baserom.gba", 0x003d17ec, 0x20 + +gUnknown_083D180C:: @ 83D180C + .incbin "baserom.gba", 0x003d180c, 0x80 + +gOtherText_DecimalPoint:: @ 83D188C + .string ".$" + +gUnknown_083D188E:: @ 83D188E + .byte 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E + + .align 2 +gUnknown_083D1898:: @ 83D1898 + obj_pal gUnknownPal_083D190C, 0x0080 + + .align 2 +gUnknown_083D18A0:: @ 83D18A0 + obj_pal gUnknownPal_083D18EC, 0x0000 + + .align 2 +gSpriteTemplate_83D18A8:: @ 83D18A8 + spr_template 0, 0, gOamData_83D18D8, gSpriteAnimTable_83D18E8, NULL, gDummySpriteAffineAnimTable, sub_80C60CC + + .align 2 +gSpriteTemplate_83D18C0:: @ 83D18C0 + spr_template 0, 0, gOamData_83D18D8, gSpriteAnimTable_83D18E8, NULL, gDummySpriteAffineAnimTable, sub_80C6130 + + .align 2 +gOamData_83D18D8:: @ 83D18D8 + .2byte 0x4000 + .2byte 0x4000 + .2byte 0x0000 + + .align 2 +gSpriteAnim_83D18E0:: @ 83D18E0 + obj_image_anim_frame 0, 5 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83D18E8:: @ 83D18E8 + .4byte gSpriteAnim_83D18E0 + + .align 2 +gUnknownPal_083D18EC:: + .incbin "baserom.gba", 0x003d18ec, 0x20 + + .align 2 +gUnknownPal_083D190C:: + .incbin "baserom.gba", 0x003d190c, 0x20 + + .incbin "baserom.gba", 0x003d192c, 0x60 + + .align 2 +gSpriteImage_83D198C:: @ 83D198C + .incbin "graphics/unknown_sprites/83D259C/0.4bpp" + + .align 2 +gSpriteImage_83D1A0C:: @ 83D1A0C + .incbin "graphics/unknown_sprites/83D259C/1.4bpp" + + .align 2 +gSpriteImage_83D1A8C:: @ 83D1A8C + .incbin "graphics/unknown_sprites/83D259C/2.4bpp" + + .align 2 +gSpriteImage_83D1B0C:: @ 83D1B0C + .incbin "graphics/unknown_sprites/83D259C/3.4bpp" + + .align 2 +gSpriteImage_83D1B8C:: @ 83D1B8C + .incbin "graphics/unknown_sprites/83D259C/4.4bpp" + + .align 2 + .incbin "baserom.gba", 0x003d1c0c, 0x20 + + .align 2 +gFieldEffectObjectPalette7: @ 83D1C2C + .incbin "graphics/field_effect_objects/palettes/07.gbapal" + + .align 2 +gSpriteImage_83D1C4C:: @ 83D1C4C + .incbin "graphics/unknown_sprites/83D25EC/0.4bpp" + + .align 2 +gSpriteImage_83D1CCC:: @ 83D1CCC + .incbin "graphics/unknown_sprites/83D25EC/1.4bpp" + + .align 2 +gSpriteImage_83D1D4C:: @ 83D1D4C + .incbin "graphics/unknown_sprites/83D25EC/2.4bpp" + + .align 2 +gSpriteImage_83D1DCC:: @ 83D1DCC + .incbin "graphics/unknown_sprites/83D25EC/3.4bpp" + + .align 2 +gSpriteImage_83D1E4C:: @ 83D1E4C + .incbin "graphics/unknown_sprites/83D25EC/4.4bpp" + + .align 2 +gSpriteImage_83D1ECC:: @ 83D1ECC + .incbin "graphics/unknown_sprites/83D25C4/0.4bpp" + + .align 2 +gSpriteImage_83D1F4C:: @ 83D1F4C + .incbin "graphics/unknown_sprites/83D25C4/1.4bpp" + + .align 2 +gSpriteImage_83D1FCC:: @ 83D1FCC + .incbin "graphics/unknown_sprites/83D25C4/2.4bpp" + + .align 2 +gSpriteImage_83D204C:: @ 83D204C + .incbin "graphics/unknown_sprites/83D25C4/3.4bpp" + + .align 2 +gSpriteImage_83D20CC:: @ 83D20CC + .incbin "graphics/unknown_sprites/83D25C4/4.4bpp" + + .align 2 + .incbin "baserom.gba", 0x003d214c, 0x80 + + .align 2 +gFieldEffectObjectPalette8: @ 83D21CC + .incbin "graphics/field_effect_objects/palettes/08.gbapal" + + .align 2 +gSpriteImage_83D21EC:: @ 83D21EC + .incbin "graphics/unknown_sprites/83D2688/0.4bpp" + + .align 2 +gSpriteImage_83D22EC:: @ 83D22EC + .incbin "graphics/unknown_sprites/83D2688/1.4bpp" + + .align 2 +gSpriteImage_83D23EC:: @ 83D23EC + .incbin "graphics/unknown_sprites/83D2688/2.4bpp" + + .align 2 +gOamData_83D24EC:: @ 83D24EC + .2byte 0x0000 + .2byte 0x4000 + .2byte 0x0800 + + .align 2 +gSpriteAnim_83D24F4:: @ 83D24F4 + obj_image_anim_frame 0, 8 + obj_image_anim_frame 1, 8 + obj_image_anim_frame 2, 8 + obj_image_anim_frame 3, 8 + obj_image_anim_frame 4, 8 + obj_image_anim_end + + .align 2 +gSpriteAnim_83D250C:: @ 83D250C + obj_image_anim_frame 0, 8 + obj_image_anim_frame 1, 8 + obj_image_anim_frame 2, 8 + obj_image_anim_frame 3, 8 + obj_image_anim_frame 4, 8 + obj_image_anim_end + + .align 2 +gSpriteAnim_83D2524:: @ 83D2524 + obj_image_anim_frame 4, 8 + obj_image_anim_frame 3, 8 + obj_image_anim_frame 2, 8 + obj_image_anim_frame 1, 8 + obj_image_anim_frame 0, 8 + obj_image_anim_end + + .align 2 +gSpriteAnim_83D253C:: @ 83D253C + obj_image_anim_frame 0, 8, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 1, 8, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 2, 8, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 3, 8, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 4, 8, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_end + + .align 2 +gSpriteAnim_83D2554:: @ 83D2554 + obj_image_anim_frame 4, 8, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 3, 8, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 2, 8, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 1, 8, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 0, 8, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_end + + .align 2 +gSpriteAnim_83D256C:: @ 83D256C + obj_image_anim_frame 0, 8 + obj_image_anim_frame 1, 8 + obj_image_anim_frame 2, 8 + obj_image_anim_frame 3, 8 + obj_image_anim_frame 4, 8 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83D2584:: @ 83D2584 + .4byte gSpriteAnim_83D24F4 + + .align 2 +gSpriteAnimTable_83D2588:: @ 83D2588 + .4byte gSpriteAnim_83D250C + .4byte gSpriteAnim_83D2524 + .4byte gSpriteAnim_83D253C + .4byte gSpriteAnim_83D2554 + + .align 2 +gSpriteAnimTable_83D2598:: @ 83D2598 + .4byte gSpriteAnim_83D256C + + .align 2 +gSpriteImageTable_83D259C:: @ 83D259C + obj_frame_tiles gSpriteImage_83D198C, 0x80 + obj_frame_tiles gSpriteImage_83D1A0C, 0x80 + obj_frame_tiles gSpriteImage_83D1A8C, 0x80 + obj_frame_tiles gSpriteImage_83D1B0C, 0x80 + obj_frame_tiles gSpriteImage_83D1B8C, 0x80 + + .align 2 +gSpriteImageTable_83D25C4:: @ 83D25C4 + obj_frame_tiles gSpriteImage_83D1ECC, 0x80 + obj_frame_tiles gSpriteImage_83D1F4C, 0x80 + obj_frame_tiles gSpriteImage_83D1FCC, 0x80 + obj_frame_tiles gSpriteImage_83D204C, 0x80 + obj_frame_tiles gSpriteImage_83D20CC, 0x80 + + .align 2 +gSpriteImageTable_83D25EC:: @ 83D25EC + obj_frame_tiles gSpriteImage_83D1C4C, 0x80 + obj_frame_tiles gSpriteImage_83D1CCC, 0x80 + obj_frame_tiles gSpriteImage_83D1D4C, 0x80 + obj_frame_tiles gSpriteImage_83D1DCC, 0x80 + obj_frame_tiles gSpriteImage_83D1E4C, 0x80 + + .align 2 +gSpriteTemplate_83D2614:: @ 83D2614 + spr_template 0xFFFF, 4099, gOamData_83D24EC, gSpriteAnimTable_83D2584, gSpriteImageTable_83D259C, gDummySpriteAffineAnimTable, sub_80C644C + + .align 2 +gSpriteTemplate_83D262C:: @ 83D262C + spr_template 0xFFFF, 4104, gOamData_83D24EC, gSpriteAnimTable_83D2588, gSpriteImageTable_83D25C4, gDummySpriteAffineAnimTable, sub_80C6598 + + .align 2 +gSpriteTemplate_83D2644:: @ 83D2644 + spr_template 0xFFFF, 4104, gOamData_83D24EC, gSpriteAnimTable_83D2598, gSpriteImageTable_83D25EC, gDummySpriteAffineAnimTable, sub_80C66BC + + .align 2 +gFieldEffectObjectPaletteInfo7:: @ 83D265C + obj_pal gFieldEffectObjectPalette7, 0x1003 + + .align 2 +gFieldEffectObjectPaletteInfo8:: @ 83D2664 + obj_pal gFieldEffectObjectPalette8, 0x1008 + + .align 2 +gOamData_83D266C:: @ 83D266C + .2byte 0x8000 + .2byte 0x8000 + .2byte 0x0800 + + .align 2 +gSpriteAnim_83D2674:: @ 83D2674 + obj_image_anim_frame 0, 6 + obj_image_anim_frame 1, 6 + obj_image_anim_frame 2, 6 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83D2684:: @ 83D2684 + .4byte gSpriteAnim_83D2674 + + .align 2 +gSpriteImageTable_83D2688:: @ 83D2688 + obj_frame_tiles gSpriteImage_83D21EC, 0x100 + obj_frame_tiles gSpriteImage_83D22EC, 0x100 + obj_frame_tiles gSpriteImage_83D23EC, 0x100 + + .align 2 +gSpriteTemplate_83D26A0:: @ 83D26A0 + spr_template 0xFFFF, 4110, gOamData_83D266C, gSpriteAnimTable_83D2684, gSpriteImageTable_83D2688, gDummySpriteAffineAnimTable, SpriteCB_SandPillar_0 + +@ This uses one of the secret base palettes, so there is no "09.pal" file. + .align 2 +gFieldEffectObjectPaletteInfo9:: @ 83D26B8 + obj_pal gTilesetPalettes_SecretBase + 5 * 0x20, 0x100E + + .align 2 +gSpriteImage_83D26C0:: @ 83D26C0 + .incbin "graphics/unknown_sprites/83D2860/0.4bpp" + + .align 2 +gSpriteImage_83D2740:: @ 83D2740 + .incbin "graphics/unknown_sprites/83D2860/1.4bpp" + + .align 2 +gSpriteImage_83D27C0:: @ 83D27C0 + .incbin "graphics/unknown_sprites/83D2860/2.4bpp" + + .align 2 +Palette_3D2840:: @ 83D2840 + .incbin "baserom.gba", 0x3d2840, 0x20 + + .align 2 +gSpriteImageTable_83D2860:: @ 83D2860 + obj_frame_tiles gSpriteImage_83D26C0, 0x80 + obj_frame_tiles gSpriteImage_83D2740, 0x80 + obj_frame_tiles gSpriteImage_83D27C0, 0x80 + + .align 2 +gUnknown_083D2878:: @ 83D2878 + obj_pal Palette_3D2840, 4096 + + .align 2 +gSpriteAnim_83D2880:: @ 83D2880 + obj_image_anim_frame 0, 30 + obj_image_anim_frame 1, 30 + obj_image_anim_frame 2, 30 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnimTable_83D2890:: @ 83D2890 + .4byte gSpriteAnim_83D2880 + + .align 2 +gSpriteTemplate_83D2894:: @ 83D2894 + spr_template 0xFFFF, 4096, gFieldOamData_32x8, gSpriteAnimTable_83D2890, gSpriteImageTable_83D2860, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gMapObjectPic_MovingBox:: @ 83D28AC + .incbin "graphics/map_objects/pics/misc/moving_box.4bpp" + + .align 2 +gMapObjectPalette19:: @ 83D292C + .incbin "graphics/map_objects/palettes/19.gbapal" + +gTruckCamera_HorizontalTable:: @ 83D294C + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 1 + .byte 2 + .byte 2 + .byte 2 + .byte 2 + .byte 2 + .byte 2 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + +gUnknown_083D295F:: @ 83D295F + step_18 + step_end + +gUnknown_083D2961:: @ 83D2961 + step_17 + step_end + + .align 2 +gUnknown_083D2964:: @ 83D2964 + .byte 12, 0, 5, 0, 3, 0, 0, 0 + .byte 14, 0, 7, 0, 3, 3, 0, 0 + .byte 16, 0, 4, 0, 5, 1, 0, 0 + .byte 15, 0, 14, 0, 1, 0, 0, 0 + .byte 18, 0, 13, 0, 4, 2, 0, 0 + .byte 8, 0, 20, 0, 4, 2, 0, 0 + .byte 16, 0, 20, 0, 7, 1, 0, 0 + + .align 2 +gUnknown_083D299C:: @ 83D299C + .byte 13, 0, 3, 0, 4, 3, 0, 0 + .byte 12, 0, 6, 0, 4, 2, 0, 0 + .byte 3, 0, 6, 0, 4, 2, 0, 0 + .byte 3, 0, 9, 0, 5, 3, 0, 0 + .byte 8, 0, 8, 0, 0, 1, 0, 0 + .byte 2, 0, 12, 0, 6, 2, 0, 0 + .byte 9, 0, 13, 0, 1, 0, 0, 0 + .byte 3, 0, 14, 0, 2, 1, 0, 0 + .byte 9, 0, 15, 0, 3, 2, 0, 0 + .byte 3, 0, 18, 0, 5, 2, 0, 0 + .byte 2, 0, 19, 0, 4, 0, 0, 0 + .byte 5, 0, 21, 0, 0, 0, 0, 0 + .byte 9, 0, 19, 0, 3, 3, 0, 0 + .byte 12, 0, 20, 0, 4, 1, 0, 0 + + .align 2 +RotatingGateTiles_1: @ 83D2A0C + .incbin "graphics/rotating_gates/1.4bpp" + + .align 2 +RotatingGateTiles_2: @ 83D320C + .incbin "graphics/rotating_gates/2.4bpp" + + .align 2 +RotatingGateTiles_3: @ 83D3A0C + .incbin "graphics/rotating_gates/3.4bpp" + + .align 2 +RotatingGateTiles_5: @ 83D420C + .incbin "graphics/rotating_gates/5.4bpp" + + .align 2 +RotatingGateTiles_6: @ 83D4A0C + .incbin "graphics/rotating_gates/6.4bpp" + + .align 2 +RotatingGateTiles_7: @ 83D520C + .incbin "graphics/rotating_gates/7.4bpp" + + .align 2 +RotatingGateTiles_0: @ 83D5A0C + .incbin "graphics/rotating_gates/0.4bpp" + + .align 2 +RotatingGateTiles_4: @ 83D5C0C + .incbin "graphics/rotating_gates/4.4bpp" + + .align 2 +gOamData_83D5E0C:: @ 83D5E0C + .2byte 0x0100 + .2byte 0xC000 + .2byte 0x5800 + + .align 2 +gOamData_83D5E14:: @ 83D5E14 + .2byte 0x0100 + .2byte 0x8000 + .2byte 0x5800 + + .align 2 +gRotatingGatesGraphicsTable:: @ 83D5E1C + obj_tiles RotatingGateTiles_0, 0x200, 0x1300 + obj_tiles RotatingGateTiles_1, 0x800, 0x1301 + obj_tiles RotatingGateTiles_2, 0x800, 0x1302 + obj_tiles RotatingGateTiles_3, 0x800, 0x1303 + obj_tiles RotatingGateTiles_4, 0x200, 0x1304 + obj_tiles RotatingGateTiles_5, 0x800, 0x1305 + obj_tiles RotatingGateTiles_6, 0x800, 0x1306 + obj_tiles RotatingGateTiles_7, 0x800, 0x1307 + null_obj_tiles + + .align 2 +gSpriteAnim_83D5E64:: @ 83D5E64 + obj_image_anim_frame 0, 0 + obj_image_anim_end + + .align 2 +gSpriteAnim_83D5E6C:: @ 83D5E6C + obj_image_anim_frame 0, 0 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83D5E74:: @ 83D5E74 + .4byte gSpriteAnim_83D5E64 + + .align 2 +gSpriteAnimTable_83D5E78:: @ 83D5E78 + .4byte gSpriteAnim_83D5E6C + + .align 2 +gSpriteAffineAnim_83D5E7C:: @ 83D5E7C + obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 + obj_rot_scal_anim_jump 0 + + .align 2 +gSpriteAffineAnim_83D5E8C:: @ 83D5E8C + obj_rot_scal_anim_frame 0x100, 0x100, -64, 0 + obj_rot_scal_anim_jump 0 + + .align 2 +gSpriteAffineAnim_83D5E9C:: @ 83D5E9C + obj_rot_scal_anim_frame 0x100, 0x100, -128, 0 + obj_rot_scal_anim_jump 0 + + .align 2 +gSpriteAffineAnim_83D5EAC:: @ 83D5EAC + obj_rot_scal_anim_frame 0x100, 0x100, 64, 0 + obj_rot_scal_anim_jump 0 + + .align 2 +gSpriteAffineAnim_83D5EBC:: @ 83D5EBC + obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 + obj_rot_scal_anim_frame 0x0, 0x0, -4, 16 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_83D5ED4:: @ 83D5ED4 + obj_rot_scal_anim_frame 0x100, 0x100, -64, 0 + obj_rot_scal_anim_frame 0x0, 0x0, -4, 16 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_83D5EEC:: @ 83D5EEC + obj_rot_scal_anim_frame 0x100, 0x100, -128, 0 + obj_rot_scal_anim_frame 0x0, 0x0, -4, 16 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_83D5F04:: @ 83D5F04 + obj_rot_scal_anim_frame 0x100, 0x100, 64, 0 + obj_rot_scal_anim_frame 0x0, 0x0, -4, 16 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_83D5F1C:: @ 83D5F1C + obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 + obj_rot_scal_anim_frame 0x0, 0x0, 4, 16 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_83D5F34:: @ 83D5F34 + obj_rot_scal_anim_frame 0x100, 0x100, 64, 0 + obj_rot_scal_anim_frame 0x0, 0x0, 4, 16 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_83D5F4C:: @ 83D5F4C + obj_rot_scal_anim_frame 0x100, 0x100, -128, 0 + obj_rot_scal_anim_frame 0x0, 0x0, 4, 16 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_83D5F64:: @ 83D5F64 + obj_rot_scal_anim_frame 0x100, 0x100, -64, 0 + obj_rot_scal_anim_frame 0x0, 0x0, 4, 16 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_83D5F7C:: @ 83D5F7C + obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 + obj_rot_scal_anim_frame 0x0, 0x0, -8, 8 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_83D5F94:: @ 83D5F94 + obj_rot_scal_anim_frame 0x100, 0x100, -64, 0 + obj_rot_scal_anim_frame 0x0, 0x0, -8, 8 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_83D5FAC:: @ 83D5FAC + obj_rot_scal_anim_frame 0x100, 0x100, -128, 0 + obj_rot_scal_anim_frame 0x0, 0x0, -8, 8 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_83D5FC4:: @ 83D5FC4 + obj_rot_scal_anim_frame 0x100, 0x100, 64, 0 + obj_rot_scal_anim_frame 0x0, 0x0, -8, 8 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_83D5FDC:: @ 83D5FDC + obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 + obj_rot_scal_anim_frame 0x0, 0x0, 8, 8 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_83D5FF4:: @ 83D5FF4 + obj_rot_scal_anim_frame 0x100, 0x100, 64, 0 + obj_rot_scal_anim_frame 0x0, 0x0, 8, 8 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_83D600C:: @ 83D600C + obj_rot_scal_anim_frame 0x100, 0x100, -128, 0 + obj_rot_scal_anim_frame 0x0, 0x0, 8, 8 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_83D6024:: @ 83D6024 + obj_rot_scal_anim_frame 0x100, 0x100, -64, 0 + obj_rot_scal_anim_frame 0x0, 0x0, 8, 8 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_83D603C:: @ 83D603C + .4byte gSpriteAffineAnim_83D5E7C + .4byte gSpriteAffineAnim_83D5E8C + .4byte gSpriteAffineAnim_83D5E9C + .4byte gSpriteAffineAnim_83D5EAC + .4byte gSpriteAffineAnim_83D5F1C + .4byte gSpriteAffineAnim_83D5F64 + .4byte gSpriteAffineAnim_83D5F4C + .4byte gSpriteAffineAnim_83D5F34 + .4byte gSpriteAffineAnim_83D5EBC + .4byte gSpriteAffineAnim_83D5ED4 + .4byte gSpriteAffineAnim_83D5EEC + .4byte gSpriteAffineAnim_83D5F04 + .4byte gSpriteAffineAnim_83D5FDC + .4byte gSpriteAffineAnim_83D6024 + .4byte gSpriteAffineAnim_83D600C + .4byte gSpriteAffineAnim_83D5FF4 + .4byte gSpriteAffineAnim_83D5F7C + .4byte gSpriteAffineAnim_83D5F94 + .4byte gSpriteAffineAnim_83D5FAC + .4byte gSpriteAffineAnim_83D5FC4 + + .align 2 +gSpriteTemplate_83D608C:: @ 83D608C + spr_template 4864, 0xFFFF, gOamData_83D5E0C, gSpriteAnimTable_83D5E74, NULL, gSpriteAffineAnimTable_83D603C, sub_80C7C94 + + .align 2 +gSpriteTemplate_83D60A4:: @ 83D60A4 + spr_template 4864, 0xFFFF, gOamData_83D5E14, gSpriteAnimTable_83D5E78, NULL, gSpriteAffineAnimTable_83D603C, sub_80C7C94 + +gUnknown_083D60BC:: @ 83D60BC + .incbin "baserom.gba", 0x003d60bc, 0x10 + +gUnknown_083D60CC:: @ 83D60CC + .incbin "baserom.gba", 0x003d60cc, 0x10 + +gUnknown_083D60DC:: @ 83D60DC + .incbin "baserom.gba", 0x003d60dc, 0x10 + +gUnknown_083D60EC:: @ 83D60EC + .incbin "baserom.gba", 0x003d60ec, 0x10 + +gUnknown_083D60FC:: @ 83D60FC + .incbin "baserom.gba", 0x003d60fc, 0x20 + +gUnknown_083D611C:: @ 83D611C + .incbin "baserom.gba", 0x003d611c, 0x20 + +gUnknown_083D613C:: @ 83D613C +Unknown_83D613C:: + .incbin "baserom.gba", 0x003d613c, 0x60 +Unknown_83D619C:: + .incbin "baserom.gba", 0x003d619c, 0x20 +Unknown_83D61BC:: + .incbin "baserom.gba", 0x003d61bc, 0x20 + + .align 2 +gUnknown_083D61DC:: @ 83D61DC + .4byte Unknown_83D619C + .4byte Unknown_83D61BC + + .align 2 +gUnknown_083D61E4:: @ 83D61E4 + .4byte sub_808B020 + .4byte c2_exit_to_overworld_2_switch + .4byte sub_810B96C + +gUnknown_083D61F0:: @ 83D61F0 + .byte DIR_NORTH, DIR_EAST, DIR_SOUTH, DIR_WEST + + .align 2 +gUnknown_083D61F4:: @ 83D61F4 + .4byte sub_80C9FC0 + .4byte sub_80A5C48 + + .align 2 +gSpriteAnim_83D61FC:: @ 83D61FC + obj_image_anim_frame 0, 5 + obj_image_anim_frame 2, 5 + obj_image_anim_frame 4, 5 + obj_image_anim_frame 6, 5 + obj_image_anim_frame 8, 5 + obj_image_anim_frame 10, 5 + obj_image_anim_frame 12, 5 + obj_image_anim_frame 14, 5 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnimTable_83D6220:: @ 83D6220 + .4byte gSpriteAnim_83D61FC + + .align 2 +gBattleAnimSpriteTemplate_83D6224:: @ 83D6224 + spr_template 10067, 10067, gOamData_837DF64, gSpriteAnimTable_83D6220, NULL, gDummySpriteAffineAnimTable, sub_80CA710 + + .align 2 +gBattleAnimSpriteTemplate_83D623C:: @ 83D623C + spr_template 10068, 10068, gOamData_837DF64, gSpriteAnimTable_83D6220, NULL, gDummySpriteAffineAnimTable, sub_80CA710 + + .align 2 +gBattleAnimSpriteTemplate_83D6254:: @ 83D6254 + spr_template 10065, 10065, gOamData_837DF64, gSpriteAnimTable_83D6220, NULL, gDummySpriteAffineAnimTable, sub_80CA710 + + .align 2 +gSpriteAnim_83D626C:: @ 83D626C + obj_image_anim_frame 0, 1 + obj_image_anim_end + + .align 2 +gSpriteAnim_83D6274:: @ 83D6274 + obj_image_anim_frame 1, 1 + obj_image_anim_end + + .align 2 +gSpriteAnim_83D627C:: @ 83D627C + obj_image_anim_frame 2, 1 + obj_image_anim_end + + .align 2 +gSpriteAnim_83D6284:: @ 83D6284 + obj_image_anim_frame 3, 1 + obj_image_anim_end + + .align 2 +gSpriteAnim_83D628C:: @ 83D628C + obj_image_anim_frame 4, 1 + obj_image_anim_end + + .align 2 +gSpriteAnim_83D6294:: @ 83D6294 + obj_image_anim_frame 5, 1 + obj_image_anim_end + + .align 2 +gSpriteAnim_83D629C:: @ 83D629C + obj_image_anim_frame 6, 1 + obj_image_anim_end + + .align 2 +gSpriteAnim_83D62A4:: @ 83D62A4 + obj_image_anim_frame 7, 1 + obj_image_anim_end + + .align 2 +gSpriteAnim_83D62AC:: @ 83D62AC + obj_image_anim_frame 8, 1 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83D62B4:: @ 83D62B4 + .4byte gSpriteAnim_83D626C + .4byte gSpriteAnim_83D6274 + .4byte gSpriteAnim_83D627C + .4byte gSpriteAnim_83D6284 + .4byte gSpriteAnim_83D628C + .4byte gSpriteAnim_83D6294 + .4byte gSpriteAnim_83D629C + + .align 2 +gSpriteAnimTable_83D62D0:: @ 83D62D0 + .4byte gSpriteAnim_83D62A4 + + .align 2 +gSpriteAnimTable_83D62D4:: @ 83D62D4 + .4byte gSpriteAnim_83D62AC + + .align 2 +gSpriteAffineAnim_83D62D8:: @ 83D62D8 + obj_rot_scal_anim_frame 0xFFFB, 0xFFFB, 0, 1 + obj_rot_scal_anim_jump 0 + + .align 2 +gSpriteAffineAnimTable_83D62E8:: @ 83D62E8 + .4byte gSpriteAffineAnim_83D62D8 + + .align 2 +gBattleAnimSpriteTemplate_83D62EC:: @ 83D62EC + spr_template 10147, 10147, gOamData_837E0AC, gSpriteAnimTable_83D62D4, NULL, gSpriteAffineAnimTable_83D62E8, sub_80CA7B0 + + .align 2 +gBattleAnimSpriteTemplate_83D6304:: @ 83D6304 + spr_template 10147, 10147, gOamData_837DF24, gSpriteAnimTable_83D62B4, NULL, gDummySpriteAffineAnimTable, sub_80CA800 + + .align 2 +gSpriteTemplate_83D631C:: @ 83D631C + spr_template 10147, 10147, gOamData_837DF24, gSpriteAnimTable_83D62D0, NULL, gDummySpriteAffineAnimTable, sub_80CA858 + + .align 2 +gSpriteAffineAnim_83D6334:: @ 83D6334 + obj_rot_scal_anim_frame 0x140, 0x140, 0, 0 + obj_rot_scal_anim_frame 0xFFF2, 0xFFF2, 0, 1 + obj_rot_scal_anim_jump 1 + + .align 2 +gSpriteAffineAnimTable_83D634C:: @ 83D634C + .4byte gSpriteAffineAnim_83D6334 + + .align 2 +gBattleAnimSpriteTemplate_83D6350:: @ 83D6350 + spr_template 10235, 10235, gOamData_837DFE4, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D634C, sub_80CA7B0 + + .align 2 +gSpriteAffineAnim_83D6368:: @ 83D6368 + obj_rot_scal_anim_frame 0xFFFB, 0xFFFB, 0, 1 + obj_rot_scal_anim_jump 0 + + .align 2 +gSpriteAffineAnimTable_83D6378:: @ 83D6378 + .4byte gSpriteAffineAnim_83D6368 + + .align 2 +gBattleAnimSpriteTemplate_83D637C:: @ 83D637C + spr_template 10147, 10147, gOamData_837E0AC, gSpriteAnimTable_83D62D4, NULL, gSpriteAffineAnimTable_83D6378, sub_80CA9A8 + + .align 2 +gBattleAnimSpriteTemplate_83D6394:: @ 83D6394 + spr_template 10147, 10147, gOamData_837DF24, gSpriteAnimTable_83D62B4, NULL, gDummySpriteAffineAnimTable, sub_80CAA14 + + .align 2 +gSpriteAnim_83D63AC:: @ 83D63AC + obj_image_anim_frame 0, 1 + obj_image_anim_end + + .align 2 +gSpriteAnim_83D63B4:: @ 83D63B4 + obj_image_anim_frame 4, 7 + obj_image_anim_frame 8, 7 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnimTable_83D63C0:: @ 83D63C0 + .4byte gSpriteAnim_83D63AC + .4byte gSpriteAnim_83D63B4 + + .align 2 +gBattleAnimSpriteTemplate_83D63C8:: @ 83D63C8 + spr_template 10006, 10006, gOamData_837DF2C, gSpriteAnimTable_83D63C0, NULL, gDummySpriteAffineAnimTable, sub_80CAB18 + + .align 2 +gSpriteAnim_83D63E0:: @ 83D63E0 + obj_image_anim_frame 0, 1 + obj_image_anim_end + + .align 2 +gSpriteAnim_83D63E8:: @ 83D63E8 + obj_image_anim_frame 4, 7 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83D63F0:: @ 83D63F0 + .4byte gSpriteAnim_83D63E0 + .4byte gSpriteAnim_83D63E8 + + .align 2 +gBattleAnimSpriteTemplate_83D63F8:: @ 83D63F8 + spr_template 10158, 10158, gOamData_837DF2C, gSpriteAnimTable_83D63F0, NULL, gDummySpriteAffineAnimTable, sub_80CABF8 + + .align 2 +gSpriteAnim_83D6410:: @ 83D6410 + obj_image_anim_frame 0, 1 + obj_image_anim_end + + .align 2 +gSpriteAnim_83D6418:: @ 83D6418 + obj_image_anim_frame 4, 1 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83D6420:: @ 83D6420 + .4byte gSpriteAnim_83D6410 + + .align 2 +gSpriteAnimTable_83D6424:: @ 83D6424 + .4byte gSpriteAnim_83D6418 + + .align 2 +gBattleAnimSpriteTemplate_83D6428:: @ 83D6428 + spr_template 10159, 10159, gOamData_837DF2C, gSpriteAnimTable_83D6420, NULL, gDummySpriteAffineAnimTable, sub_80CAD54 + + .align 2 +gBattleAnimSpriteTemplate_83D6440:: @ 83D6440 + spr_template 10159, 10159, gOamData_837DF24, gSpriteAnimTable_83D6424, NULL, gDummySpriteAffineAnimTable, sub_80CAE20 + + .align 2 +gSpriteAnim_83D6458:: @ 83D6458 + obj_image_anim_frame 0, 5 + obj_image_anim_frame 4, 5 + obj_image_anim_frame 8, 5 + obj_image_anim_frame 12, 5 + obj_image_anim_frame 16, 5 + obj_image_anim_frame 20, 5 + obj_image_anim_frame 16, 5 + obj_image_anim_frame 12, 5 + obj_image_anim_frame 8, 5 + obj_image_anim_frame 4, 5 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnim_83D6484:: @ 83D6484 + obj_image_anim_frame 24, 5 + obj_image_anim_frame 28, 5 + obj_image_anim_frame 32, 5 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83D6494:: @ 83D6494 + .4byte gSpriteAnim_83D6458 + .4byte gSpriteAnim_83D6484 + + .align 2 +gBattleAnimSpriteTemplate_83D649C:: @ 83D649C + spr_template 10063, 10063, gOamData_837DF2C, gSpriteAnimTable_83D6494, NULL, gDummySpriteAffineAnimTable, sub_80CAED8 + + .align 2 +gBattleAnimSpriteTemplate_83D64B4:: @ 83D64B4 + spr_template 10063, 10063, gOamData_837DF2C, gSpriteAnimTable_83D6494, NULL, gDummySpriteAffineAnimTable, sub_80CB144 + + .align 2 +gSpriteAnim_83D64CC:: @ 83D64CC + obj_image_anim_frame 0, 3 + obj_image_anim_frame 0, 3, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 0, 3, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 0, 3, OBJ_IMAGE_ANIM_V_FLIP + obj_image_anim_jump 0 + + .align 2 +gSpriteAnimTable_83D64E0:: @ 83D64E0 + .4byte gSpriteAnim_83D64CC + + .align 2 +gBattleAnimSpriteTemplate_83D64E4:: @ 83D64E4 + spr_template 10160, 10160, gOamData_837DF54, gSpriteAnimTable_83D64E0, NULL, gDummySpriteAffineAnimTable, sub_80CAFD0 + + .align 2 +gSpriteAffineAnim_83D64FC:: @ 83D64FC + obj_rot_scal_anim_frame 0x0, 0x0, 0, 1 + obj_rot_scal_anim_jump 0 + + .align 2 +gSpriteAffineAnimTable_83D650C:: @ 83D650C + .4byte gSpriteAffineAnim_83D64FC + + .align 2 +gBattleAnimSpriteTemplate_83D6510:: @ 83D6510 + spr_template 10174, 10174, gOamData_837DF94, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D650C, sub_80CAFD0 + + .align 2 +gSpriteAnim_83D6528:: @ 83D6528 + obj_image_anim_frame 0, 4 + obj_image_anim_frame 32, 4 + obj_image_anim_frame 64, 4 + obj_image_anim_frame 96, 4 + obj_image_anim_end + + .align 2 +gSpriteAnim_83D653C:: @ 83D653C + obj_image_anim_frame 0, 4, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 32, 4, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 64, 4, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 96, 4, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83D6550:: @ 83D6550 + .4byte gSpriteAnim_83D6528 + .4byte gSpriteAnim_83D653C + + .align 2 +gSpriteAffineAnim_83D6558:: @ 83D6558 + obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 + obj_rot_scal_anim_frame 0xFFF5, 0x0, 0, 6 + obj_rot_scal_anim_frame 0xB, 0x0, 0, 6 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_83D6578:: @ 83D6578 + obj_rot_scal_anim_frame 0xFF00, 0x100, 0, 0 + obj_rot_scal_anim_frame 0xB, 0x0, 0, 6 + obj_rot_scal_anim_frame 0xFFF5, 0x0, 0, 6 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_83D6598:: @ 83D6598 + .4byte gSpriteAffineAnim_83D6558 + .4byte gSpriteAffineAnim_83D6578 + + .align 2 +gBattleAnimSpriteTemplate_83D65A0:: @ 83D65A0 + spr_template 10186, 10186, gOamData_837DFBC, gSpriteAnimTable_83D6550, NULL, gSpriteAffineAnimTable_83D6598, sub_80CB25C + + .align 2 +gSpriteAffineAnim_83D65B8:: @ 83D65B8 + obj_rot_scal_anim_frame 0x0, 0x0, 0, 0 + obj_rot_scal_anim_frame 0x30, 0x30, 0, 14 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_83D65D0:: @ 83D65D0 + obj_rot_scal_anim_frame 0xFFF0, 0xFFF0, 0, 1 + obj_rot_scal_anim_jump 0 + + .align 2 +gSpriteAffineAnimTable_83D65E0:: @ 83D65E0 + .4byte gSpriteAffineAnim_83D65B8 + .4byte gSpriteAffineAnim_83D65D0 + + .align 2 +gBattleAnimSpriteTemplate_83D65E8:: @ 83D65E8 + spr_template 10147, 10147, gOamData_837DFEC, gSpriteAnimTable_83D62D4, NULL, gSpriteAffineAnimTable_83D65E0, sub_80CB4CC + + .align 2 +gSpriteAnim_83D6600:: @ 83D6600 + obj_image_anim_frame 0, 7 + obj_image_anim_frame 16, 7 + obj_image_anim_frame 32, 7 + obj_image_anim_frame 48, 7 + obj_image_anim_end + + .align 2 +gSpriteAnim_83D6614:: @ 83D6614 + obj_image_anim_frame 0, 7, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 16, 7, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 32, 7, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 48, 7, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_end + + .align 2 +gSpriteAnim_83D6628:: @ 83D6628 + obj_image_anim_frame 0, 7 + obj_image_anim_frame 16, 7 + obj_image_anim_frame 32, 7 + obj_image_anim_end + + .align 2 +gSpriteAnim_83D6638:: @ 83D6638 + obj_image_anim_frame 0, 7, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 16, 7, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 32, 7, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83D6648:: @ 83D6648 + .4byte gSpriteAnim_83D6600 + .4byte gSpriteAnim_83D6614 + .4byte gSpriteAnim_83D6628 + .4byte gSpriteAnim_83D6638 + + .align 2 +gBattleAnimSpriteTemplate_83D6658:: @ 83D6658 + spr_template 10223, 10223, gOamData_837DF34, gSpriteAnimTable_83D6648, NULL, gDummySpriteAffineAnimTable, sub_80CB59C + + .align 2 +gBattleAnimSpriteTemplate_83D6670:: @ 83D6670 + spr_template 10223, 10223, gOamData_837DF34, gSpriteAnimTable_83D6648, NULL, gDummySpriteAffineAnimTable, sub_80CB620 + + .align 2 +gSpriteAnim_83D6688:: @ 83D6688 + obj_image_anim_frame 3, 3 + obj_image_anim_frame 0, 5 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnimTable_83D6694:: @ 83D6694 + .4byte gSpriteAnim_83D6688 + + .align 2 +gBattleAnimSpriteTemplate_83D6698:: @ 83D6698 + spr_template 10147, 10147, gOamData_837DF24, gSpriteAnimTable_83D6694, NULL, gDummySpriteAffineAnimTable, sub_80CB768 + + .align 2 +gSpriteAnim_83D66B0:: @ 83D66B0 + obj_image_anim_frame 0, 30 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83D66B8:: @ 83D66B8 + .4byte gSpriteAnim_83D66B0 + + .align 2 +gSpriteAffineAnim_83D66BC:: @ 83D66BC + obj_rot_scal_anim_frame 0x0, 0x0, -4, 10 + obj_rot_scal_anim_frame 0x0, 0x0, 4, 20 + obj_rot_scal_anim_frame 0x0, 0x0, -4, 10 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_83D66DC:: @ 83D66DC + obj_rot_scal_anim_frame 0x0, 0x0, -1, 2 + obj_rot_scal_anim_frame 0x0, 0x0, 1, 4 + obj_rot_scal_anim_frame 0x0, 0x0, -1, 4 + obj_rot_scal_anim_frame 0x0, 0x0, 1, 4 + obj_rot_scal_anim_frame 0x0, 0x0, -1, 4 + obj_rot_scal_anim_frame 0x0, 0x0, 1, 2 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_83D6714:: @ 83D6714 + .4byte gSpriteAffineAnim_83D66BC + .4byte gSpriteAffineAnim_83D66DC + + .align 2 +gBattleAnimSpriteTemplate_83D671C:: @ 83D671C + spr_template 10224, 10224, gOamData_837DF94, gSpriteAnimTable_83D66B8, NULL, gSpriteAffineAnimTable_83D6714, sub_80CB94C + + .align 2 +gBattleAnimSpriteTemplate_83D6734:: @ 83D6734 + spr_template 10224, 10224, gOamData_837DF94, gSpriteAnimTable_83D66B8, NULL, gSpriteAffineAnimTable_83D6714, sub_80CBA28 + + .align 2 +gSpriteAnim_83D674C:: @ 83D674C + obj_image_anim_frame 0, 4 + obj_image_anim_frame 4, 4 + obj_image_anim_frame 8, 4 + obj_image_anim_frame 12, 4 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83D6760:: @ 83D6760 + .4byte gSpriteAnim_83D674C + + .align 2 +gBattleAnimSpriteTemplate_83D6764:: @ 83D6764 + spr_template 10195, 10195, gOamData_837DF2C, gSpriteAnimTable_83D6760, NULL, gDummySpriteAffineAnimTable, sub_80CBAA4 + + .align 2 +gBattleAnimSpriteTemplate_83D677C:: @ 83D677C + spr_template 10224, 10224, gOamData_837DF94, gSpriteAnimTable_83D66B8, NULL, gSpriteAffineAnimTable_83D6714, sub_80CBAE8 + + .align 2 +gSpriteAffineAnim_83D6794:: @ 83D6794 + obj_rot_scal_anim_frame 0x0, 0x0, 0, 3 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_83D67A4:: @ 83D67A4 + obj_rot_scal_anim_frame 0x0, 0xFFF6, 0, 3 + obj_rot_scal_anim_frame 0x0, 0xFFFA, 0, 3 + obj_rot_scal_anim_frame 0x0, 0xFFFE, 0, 3 + obj_rot_scal_anim_frame 0x0, 0x0, 0, 3 + obj_rot_scal_anim_frame 0x0, 0x2, 0, 3 + obj_rot_scal_anim_frame 0x0, 0x6, 0, 3 + obj_rot_scal_anim_frame 0x0, 0xA, 0, 3 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_83D67E4:: @ 83D67E4 + .4byte gSpriteAffineAnim_83D6794 + .4byte gSpriteAffineAnim_83D67A4 + .4byte gSpriteAffineAnim_83D66BC + .4byte gSpriteAffineAnim_83D66DC + + .align 2 +gBattleAnimSpriteTemplate_83D67F4:: @ 83D67F4 + spr_template 10224, 10224, gOamData_837DF94, gSpriteAnimTable_83D66B8, NULL, gSpriteAffineAnimTable_83D67E4, sub_80CBBF0 + + .align 2 +gUnknown_083D680C:: @ 83D680C + .incbin "baserom.gba", 0x003d680c, 0x24 + + .align 2 +gSpriteAnim_83D6830:: @ 83D6830 + obj_image_anim_frame 28, 1 + obj_image_anim_end + + .align 2 +gSpriteAnim_83D6838:: @ 83D6838 + obj_image_anim_frame 32, 1 + obj_image_anim_end + + .align 2 +gSpriteAnim_83D6840:: @ 83D6840 + obj_image_anim_frame 20, 1 + obj_image_anim_end + + .align 2 +gSpriteAnim_83D6848:: @ 83D6848 + obj_image_anim_frame 28, 1, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_end + + .align 2 +gSpriteAnim_83D6850:: @ 83D6850 + obj_image_anim_frame 16, 1 + obj_image_anim_end + + .align 2 +gSpriteAnim_83D6858:: @ 83D6858 + obj_image_anim_frame 16, 1, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_end + + .align 2 +gSpriteAnim_83D6860:: @ 83D6860 + obj_image_anim_frame 28, 1 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83D6868:: @ 83D6868 + .4byte gSpriteAnim_83D6830 + .4byte gSpriteAnim_83D6838 + .4byte gSpriteAnim_83D6840 + .4byte gSpriteAnim_83D6848 + .4byte gSpriteAnim_83D6850 + .4byte gSpriteAnim_83D6858 + .4byte gSpriteAnim_83D6860 + + .align 2 +gSpriteTemplate_83D6884:: @ 83D6884 + spr_template 10063, 10063, gOamData_837DF2C, gSpriteAnimTable_83D6868, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gSpriteAffineAnim_83D689C:: @ 83D689C + obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 + obj_rot_scal_anim_frame 0x0, 0x0, 4, 1 + obj_rot_scal_anim_jump 1 + + .align 2 +gSpriteAffineAnimTable_83D68B4:: @ 83D68B4 + .4byte gSpriteAffineAnim_83D689C + + .align 2 +gBattleAnimSpriteTemplate_83D68B8:: @ 83D68B8 + spr_template 10159, 10159, gOamData_837DF24, gSpriteAnimTable_83D6424, NULL, gDummySpriteAffineAnimTable, sub_80CC474 + + .align 2 +gBattleAnimSpriteTemplate_83D68D0:: @ 83D68D0 + spr_template 10159, 10159, gOamData_837DF8C, gSpriteAnimTable_83D6420, NULL, gSpriteAffineAnimTable_83D68B4, sub_80CC474 + + .align 2 +gSpriteAffineAnim_83D68E8:: @ 83D68E8 + obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 + obj_rot_scal_anim_frame 0x0, 0x0, -10, 1 + obj_rot_scal_anim_jump 1 + + .align 2 +gSpriteAffineAnim_83D6900:: @ 83D6900 + obj_rot_scal_anim_frame 0xC0, 0xC0, 0, 0 + obj_rot_scal_anim_frame 0x0, 0x0, -12, 1 + obj_rot_scal_anim_jump 1 + + .align 2 +gSpriteAffineAnim_83D6918:: @ 83D6918 + obj_rot_scal_anim_frame 0x8F, 0x8F, 0, 0 + obj_rot_scal_anim_frame 0x0, 0x0, -15, 1 + obj_rot_scal_anim_jump 1 + + .align 2 +gSpriteAffineAnimTable_83D6930:: @ 83D6930 + .4byte gSpriteAffineAnim_83D68E8 + + .align 2 +gSpriteAffineAnimTable_83D6934:: @ 83D6934 + .4byte gSpriteAffineAnim_83D6900 + + .align 2 +gSpriteAffineAnimTable_83D6938:: @ 83D6938 + .4byte gSpriteAffineAnim_83D6918 + + .align 2 +gBattleAnimSpriteTemplate_83D693C:: @ 83D693C + spr_template 10271, 10271, gOamData_837DF8C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D6930, sub_80CC474 + + .align 2 +gBattleAnimSpriteTemplate_83D6954:: @ 83D6954 + spr_template 10271, 10271, gOamData_837DF8C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D6934, sub_80CC474 + + .align 2 +gBattleAnimSpriteTemplate_83D696C:: @ 83D696C + spr_template 10271, 10271, gOamData_837DF8C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D6938, sub_80CC474 + + .align 2 +gUnknown_083D6984:: @ 83D6984 + .incbin "baserom.gba", 0x003d6984, 0x10 + + .align 2 +gBattleAnimSpriteTemplate_83D6994:: @ 83D6994 + spr_template 10266, 10266, gOamData_837DF8C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80CC6CC + + .align 2 +gSpriteAnim_83D69AC:: @ 83D69AC + obj_image_anim_frame 64, 3 + obj_image_anim_frame 80, 3 + obj_image_anim_frame 96, 3 + obj_image_anim_frame 112, 6 + obj_image_anim_end + + .align 2 +gSpriteAnim_83D69C0:: @ 83D69C0 + obj_image_anim_frame 64, 3, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 80, 3, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 96, 3, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 112, 6, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83D69D4:: @ 83D69D4 + .4byte gSpriteAnim_83D69AC + .4byte gSpriteAnim_83D69C0 + + .align 2 +gBattleAnimSpriteTemplate_83D69DC:: @ 83D69DC + spr_template 10056, 10056, gOamData_837DF34, gSpriteAnimTable_83D69D4, NULL, gDummySpriteAffineAnimTable, sub_80CC884 + + .align 2 +gBattleAnimSpriteTemplate_83D69F4:: @ 83D69F4 + spr_template 10287, 10287, gOamData_837DF34, gSpriteAnimTable_83D69D4, NULL, gDummySpriteAffineAnimTable, sub_80CC884 + + .align 2 +gSpriteAnim_83D6A0C:: @ 83D6A0C + obj_image_anim_frame 0, 4 + obj_image_anim_frame 16, 4 + obj_image_anim_frame 32, 4 + obj_image_anim_frame 48, 4 + obj_image_anim_frame 64, 5 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83D6A24:: @ 83D6A24 + .4byte gSpriteAnim_83D6A0C + + .align 2 +gSpriteTemplate_83D6A28:: @ 83D6A28 + spr_template 10021, 10021, gOamData_837DF34, gSpriteAnimTable_83D6A24, NULL, gDummySpriteAffineAnimTable, sub_80CC82C + + .align 2 +gSpriteTemplate_83D6A40:: @ 83D6A40 + spr_template 10022, 10022, gOamData_837DF34, gSpriteAnimTable_83D6A24, NULL, gDummySpriteAffineAnimTable, sub_80CC82C + + .align 2 +gSpriteAffineAnim_83D6A58:: @ 83D6A58 + obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_83D6A68:: @ 83D6A68 + obj_rot_scal_anim_frame 0x100, 0x100, 32, 0 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_83D6A78:: @ 83D6A78 + obj_rot_scal_anim_frame 0x100, 0x100, 64, 0 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_83D6A88:: @ 83D6A88 + obj_rot_scal_anim_frame 0x100, 0x100, 96, 0 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_83D6A98:: @ 83D6A98 + obj_rot_scal_anim_frame 0x100, 0x100, -128, 0 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_83D6AA8:: @ 83D6AA8 + obj_rot_scal_anim_frame 0x100, 0x100, -96, 0 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_83D6AB8:: @ 83D6AB8 + obj_rot_scal_anim_frame 0x100, 0x100, -64, 0 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_83D6AC8:: @ 83D6AC8 + obj_rot_scal_anim_frame 0x100, 0x100, -32, 0 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_83D6AD8:: @ 83D6AD8 + .4byte gSpriteAffineAnim_83D6A58 + .4byte gSpriteAffineAnim_83D6A68 + .4byte gSpriteAffineAnim_83D6A78 + .4byte gSpriteAffineAnim_83D6A88 + .4byte gSpriteAffineAnim_83D6A98 + .4byte gSpriteAffineAnim_83D6AA8 + .4byte gSpriteAffineAnim_83D6AB8 + .4byte gSpriteAffineAnim_83D6AC8 + + .align 2 +gSpriteTemplate_83D6AF8:: @ 83D6AF8 + spr_template 10143, 10143, gOamData_837DF94, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D6AD8, sub_80CC8C8 + + .align 2 +gSpriteAnim_83D6B10:: @ 83D6B10 + obj_image_anim_frame 0, 5 + obj_image_anim_frame 16, 5 + obj_image_anim_frame 32, 5 + obj_image_anim_frame 48, 5 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83D6B24:: @ 83D6B24 + .4byte gSpriteAnim_83D6B10 + + .align 2 +gBattleAnimSpriteTemplate_83D6B28:: @ 83D6B28 + spr_template 10138, 10138, gOamData_837E054, gSpriteAnimTable_83D6B24, NULL, gDummySpriteAffineAnimTable, sub_80CC914 + + .align 2 +gBattleAnimSpriteTemplate_83D6B40:: @ 83D6B40 + spr_template 10138, 10138, gOamData_837E054, gSpriteAnimTable_83D6B24, NULL, gDummySpriteAffineAnimTable, sub_80CC9BC + + .align 2 +gSpriteAnim_83D6B58:: @ 83D6B58 + obj_image_anim_frame 0, 1 + obj_image_anim_end + + .align 2 +gSpriteAnim_83D6B60:: @ 83D6B60 + obj_image_anim_frame 4, 1 + obj_image_anim_end + + .align 2 +gSpriteAnim_83D6B68:: @ 83D6B68 + obj_image_anim_frame 8, 1 + obj_image_anim_end + + .align 2 +gSpriteAnim_83D6B70:: @ 83D6B70 + obj_image_anim_frame 12, 1 + obj_image_anim_end + + .align 2 +gSpriteAnim_83D6B78:: @ 83D6B78 + obj_image_anim_frame 16, 1 + obj_image_anim_end + + .align 2 +gSpriteAnim_83D6B80:: @ 83D6B80 + obj_image_anim_frame 20, 1 + obj_image_anim_end + + .align 2 +gSpriteAnim_83D6B88:: @ 83D6B88 + obj_image_anim_frame 0, 1, OBJ_IMAGE_ANIM_V_FLIP + obj_image_anim_end + + .align 2 +gSpriteAnim_83D6B90:: @ 83D6B90 + obj_image_anim_frame 4, 1, OBJ_IMAGE_ANIM_V_FLIP + obj_image_anim_end + + .align 2 +gSpriteAnim_83D6B98:: @ 83D6B98 + obj_image_anim_frame 8, 1, OBJ_IMAGE_ANIM_V_FLIP + obj_image_anim_end + + .align 2 +gSpriteAnim_83D6BA0:: @ 83D6BA0 + obj_image_anim_frame 12, 1, OBJ_IMAGE_ANIM_V_FLIP + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83D6BA8:: @ 83D6BA8 + .4byte gSpriteAnim_83D6B58 + .4byte gSpriteAnim_83D6B60 + .4byte gSpriteAnim_83D6B68 + .4byte gSpriteAnim_83D6B70 + .4byte gSpriteAnim_83D6B78 + .4byte gSpriteAnim_83D6B80 + .4byte gSpriteAnim_83D6B88 + .4byte gSpriteAnim_83D6B90 + .4byte gSpriteAnim_83D6B98 + .4byte gSpriteAnim_83D6BA0 + + .align 2 +gSpriteTemplate_83D6BD0:: @ 83D6BD0 + spr_template 10072, 10072, gOamData_837DF2C, gSpriteAnimTable_83D6BA8, NULL, gDummySpriteAffineAnimTable, sub_80CCC50 + + .align 2 +gBattleAnimSpriteTemplate_83D6BE8:: @ 83D6BE8 + spr_template 10280, 10280, gOamData_837E05C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80CCD24 + + .align 2 +gSpriteAffineAnim_83D6C00:: @ 83D6C00 + obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_83D6C10:: @ 83D6C10 + obj_rot_scal_anim_frame 0x0, 0x0, 2, 12 + obj_rot_scal_anim_frame 0x0, 0x0, 0, 6 + obj_rot_scal_anim_frame 0x0, 0x0, -2, 24 + obj_rot_scal_anim_frame 0x0, 0x0, 0, 6 + obj_rot_scal_anim_frame 0x0, 0x0, 2, 12 + obj_rot_scal_anim_jump 0 + + .align 2 +gSpriteAffineAnimTable_83D6C40:: @ 83D6C40 + .4byte gSpriteAffineAnim_83D6C00 + .4byte gSpriteAffineAnim_83D6C10 + + .align 2 +gBattleAnimSpriteTemplate_83D6C48:: @ 83D6C48 + spr_template 10099, 10099, gOamData_837E0B4, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D6C40, sub_80CCF04 + + .align 2 +gSpriteAnim_83D6C60:: @ 83D6C60 + obj_image_anim_frame 0, 7 + obj_image_anim_frame 16, 7 + obj_image_anim_frame 32, 7 + obj_image_anim_frame 48, 7 + obj_image_anim_frame 64, 7 + obj_image_anim_frame 80, 7 + obj_image_anim_frame 96, 7 + obj_image_anim_frame 112, 7 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnimTable_83D6C84:: @ 83D6C84 + .4byte gSpriteAnim_83D6C60 + + .align 2 +gBattleAnimSpriteTemplate_83D6C88:: @ 83D6C88 + spr_template 10049, 10049, gOamData_837DF34, gSpriteAnimTable_83D6C84, NULL, gDummySpriteAffineAnimTable, sub_80CD140 + + .align 2 +gBattleAnimSpriteTemplate_83D6CA0:: @ 83D6CA0 + spr_template 10049, 10049, gOamData_837DF34, gSpriteAnimTable_83D6C84, NULL, gDummySpriteAffineAnimTable, sub_80CD190 + + .align 2 +gSpriteAnim_83D6CB8:: @ 83D6CB8 + obj_image_anim_frame 0, 10 + obj_image_anim_frame 4, 10 + obj_image_anim_frame 8, 10 + obj_image_anim_frame 12, 10 + obj_image_anim_frame 16, 26 + obj_image_anim_frame 16, 5 + obj_image_anim_frame 20, 5 + obj_image_anim_frame 24, 15 + obj_image_anim_end + + .align 2 +gSpriteAnim_83D6CDC:: @ 83D6CDC + obj_image_anim_frame 0, 10, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 4, 10, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 8, 10, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 12, 10, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 16, 26, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 16, 5, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 20, 5, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 24, 15, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83D6D00:: @ 83D6D00 + .4byte gSpriteAnim_83D6CB8 + .4byte gSpriteAnim_83D6CDC + + .align 2 +gSpriteTemplate_83D6D08:: @ 83D6D08 + spr_template 10032, 10032, gOamData_837DF2C, gSpriteAnimTable_83D6D00, NULL, gDummySpriteAffineAnimTable, sub_80CD274 + + .align 2 +gSpriteAnim_83D6D20:: @ 83D6D20 + obj_image_anim_frame 0, 40 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83D6D28:: @ 83D6D28 + .4byte gSpriteAnim_83D6D20 + + .align 2 +gSpriteAffineAnim_83D6D2C:: @ 83D6D2C + obj_rot_scal_anim_frame 0x14, 0x14, -30, 0 + obj_rot_scal_anim_frame 0x8, 0x8, 1, 24 + obj_rot_scal_anim_end + + .align 2 + .incbin "baserom.gba", 0x003d6d44, 0x18 + + .align 2 +gSpriteAffineAnim_83D6D5C:: @ 83D6D5C + obj_rot_scal_anim_frame 0x14, 0x14, 30, 0 + obj_rot_scal_anim_frame 0x8, 0x8, -1, 24 + obj_rot_scal_anim_end + + .align 2 + .incbin "baserom.gba", 0x003d6d74, 0x18 + + .align 2 +gSpriteAffineAnimTable_83D6D8C:: @ 83D6D8C + .4byte gSpriteAffineAnim_83D6D2C + .4byte gSpriteAffineAnim_83D6D5C + + .align 2 +gBattleAnimSpriteTemplate_83D6D94:: @ 83D6D94 + spr_template 10228, 10228, gOamData_837DF94, gSpriteAnimTable_83D6D28, NULL, gSpriteAffineAnimTable_83D6D8C, sub_80CD328 + + .align 2 +gBattleAnimSpriteTemplate_83D6DAC:: @ 83D6DAC + spr_template 10014, 10014, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80CD3E0 + + .align 2 +gBattleAnimSpriteTemplate_83D6DC4:: @ 83D6DC4 + spr_template 10014, 10014, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80CD6CC + + .align 2 +gUnknown_083D6DDC:: @ 83D6DDC + .incbin "baserom.gba", 0x003d6ddc, 0x8 + + .align 2 +gBattleAnimSpriteTemplate_83D6DE4:: @ 83D6DE4 + spr_template 0, 0, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80CD774 + + .align 2 +gSpriteTemplate_83D6DFC:: @ 83D6DFC + spr_template 0, 0, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80CD9C4 + + .align 2 +gSpriteAnim_83D6E14:: @ 83D6E14 + obj_image_anim_frame 0, 4 + obj_image_anim_frame 16, 4 + obj_image_anim_frame 32, 4 + obj_image_anim_frame 48, 4 + obj_image_anim_end + + .align 2 +gSpriteAnim_83D6E28:: @ 83D6E28 + obj_image_anim_frame 48, 4 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83D6E30:: @ 83D6E30 + .4byte gSpriteAnim_83D6E14 + .4byte gSpriteAnim_83D6E28 + + .align 2 +gBattleAnimSpriteTemplate_83D6E38:: @ 83D6E38 + spr_template 10183, 10183, gOamData_837DF34, gSpriteAnimTable_83D6E30, NULL, gDummySpriteAffineAnimTable, sub_80CDD74 + + .align 2 +gBattleAnimSpriteTemplate_83D6E50:: @ 83D6E50 + spr_template 10286, 10286, gOamData_837DF34, gSpriteAnimTable_83D6E30, NULL, gDummySpriteAffineAnimTable, sub_80CDDDC + + .align 2 +gBattleAnimSpriteTemplate_83D6E68:: @ 83D6E68 + spr_template 10286, 10286, gOamData_837DF34, gSpriteAnimTable_83D6E30, NULL, gDummySpriteAffineAnimTable, sub_80CDE24 + + .align 2 +gSpriteAnim_83D6E80:: @ 83D6E80 + obj_image_anim_frame 0, 4 + obj_image_anim_frame 8, 12 + obj_image_anim_frame 16, 4 + obj_image_anim_frame 24, 4 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83D6E94:: @ 83D6E94 + .4byte gSpriteAnim_83D6E80 + + .align 2 +gBattleAnimSpriteTemplate_83D6E98:: @ 83D6E98 + spr_template 10184, 10184, gOamData_837DF74, gSpriteAnimTable_83D6E94, NULL, gDummySpriteAffineAnimTable, sub_80CDF0C + + .align 2 +gSpriteAnim_83D6EB0:: @ 83D6EB0 + obj_image_anim_frame 0, 18 + obj_image_anim_frame 0, 6 + obj_image_anim_frame 16, 18 + obj_image_anim_frame 0, 6 + obj_image_anim_frame 16, 6 + obj_image_anim_frame 32, 18 + obj_image_anim_frame 16, 6 + obj_image_anim_frame 32, 6 + obj_image_anim_frame 48, 18 + obj_image_anim_frame 32, 6 + obj_image_anim_frame 48, 6 + obj_image_anim_frame 64, 18 + obj_image_anim_frame 48, 6 + obj_image_anim_frame 64, 54 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83D6EEC:: @ 83D6EEC + .4byte gSpriteAnim_83D6EB0 + + .align 2 +gBattleAnimSpriteTemplate_83D6EF0:: @ 83D6EF0 + spr_template 10185, 10185, gOamData_837DF34, gSpriteAnimTable_83D6EEC, NULL, gDummySpriteAffineAnimTable, sub_80CDFB0 + + .align 2 +gBattleAnimSpriteTemplate_83D6F08:: @ 83D6F08 + spr_template 10017, 10017, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_807941C + + .align 2 +gSpriteAnim_83D6F20:: @ 83D6F20 + obj_image_anim_frame 0, 3 + obj_image_anim_frame 16, 3 + obj_image_anim_frame 32, 3 + obj_image_anim_frame 48, 3 + obj_image_anim_frame 64, 3 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83D6F38:: @ 83D6F38 + .4byte gSpriteAnim_83D6F20 + + .align 2 +gBattleAnimSpriteTemplate_83D6F3C:: @ 83D6F3C + spr_template 10030, 10030, gOamData_837DF34, gSpriteAnimTable_83D6F38, NULL, gDummySpriteAffineAnimTable, sub_80793C4 + + .align 2 +gSpriteAnim_83D6F54:: @ 83D6F54 + obj_image_anim_frame 3, 5 + obj_image_anim_frame 2, 5 + obj_image_anim_frame 1, 5 + obj_image_anim_frame 0, 5 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83D6F68:: @ 83D6F68 + .4byte gSpriteAnim_83D6F54 + + .align 2 +gSpriteAffineAnim_83D6F6C:: @ 83D6F6C + obj_rot_scal_anim_frame 0x200, 0x200, 0, 0 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_83D6F7C:: @ 83D6F7C + .4byte gSpriteAffineAnim_83D6F6C + + .align 2 +gBattleAnimSpriteTemplate_83D6F80:: @ 83D6F80 + spr_template 10018, 10018, gOamData_837E104, gSpriteAnimTable_83D6F68, NULL, gSpriteAffineAnimTable_83D6F7C, sub_80CE09C + + .align 2 +gSpriteAnim_83D6F98:: @ 83D6F98 + obj_image_anim_frame 0, 5 + obj_image_anim_frame 1, 5 + obj_image_anim_frame 2, 5 + obj_image_anim_frame 3, 5 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83D6FAC:: @ 83D6FAC + .4byte gSpriteAnim_83D6F98 + + .align 2 +gBattleAnimSpriteTemplate_83D6FB0:: @ 83D6FB0 + spr_template 10018, 10018, gOamData_837E104, gSpriteAnimTable_83D6FAC, NULL, gSpriteAffineAnimTable_83D6F7C, sub_80CE17C + + .align 2 +gBattleAnimSpriteTemplate_83D6FC8:: @ 83D6FC8 + spr_template 10194, 10194, gOamData_837E05C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80CE30C + + .align 2 +gSpriteAnim_83D6FE0:: @ 83D6FE0 + obj_image_anim_frame 0, 8 + obj_image_anim_frame 4, 8 + obj_image_anim_frame 8, 8 + obj_image_anim_frame 12, 8 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnimTable_83D6FF4:: @ 83D6FF4 + .4byte gSpriteAnim_83D6FE0 + + .align 2 +gBattleAnimSpriteTemplate_83D6FF8:: @ 83D6FF8 + spr_template 10195, 10195, gOamData_837DF2C, gSpriteAnimTable_83D6FF4, NULL, gDummySpriteAffineAnimTable, sub_80CE36C + + .align 2 +gSpriteAnim_83D7010:: @ 83D7010 + obj_image_anim_frame 0, 2 + obj_image_anim_frame 16, 2 + obj_image_anim_frame 32, 2 + obj_image_anim_frame 48, 3 + obj_image_anim_frame 64, 5 + obj_image_anim_frame 80, 3 + obj_image_anim_frame 96, 2 + obj_image_anim_frame 0, 2 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83D7034:: @ 83D7034 + .4byte gSpriteAnim_83D7010 + + .align 2 +gBattleAnimSpriteTemplate_83D7038:: @ 83D7038 + spr_template 10031, 10031, gOamData_837DF34, gSpriteAnimTable_83D7034, NULL, gDummySpriteAffineAnimTable, sub_80793C4 + + .align 2 +gBattleAnimSpriteTemplate_83D7050:: @ 83D7050 + spr_template 10020, 10020, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80CE670 + + .align 2 +gSpriteAnim_83D7068:: @ 83D7068 + obj_image_anim_frame 0, 2 + obj_image_anim_frame 16, 2 + obj_image_anim_frame 32, 2 + obj_image_anim_frame 48, 2 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83D707C:: @ 83D707C + .4byte gSpriteAnim_83D7068 + + .align 2 +gBattleAnimSpriteTemplate_83D7080:: @ 83D7080 + spr_template 10192, 10192, gOamData_837DF34, gSpriteAnimTable_83D707C, NULL, gDummySpriteAffineAnimTable, sub_80CEA04 + + .align 2 +gSpriteAnim_83D7098:: @ 83D7098 + obj_image_anim_frame 0, 10 + obj_image_anim_end + + .align 2 +gSpriteAnim_83D70A0:: @ 83D70A0 + obj_image_anim_frame 4, 10 + obj_image_anim_end + + .align 2 +gSpriteAnim_83D70A8:: @ 83D70A8 + obj_image_anim_frame 8, 41 + obj_image_anim_end + + .align 2 +gSpriteAnim_83D70B0:: @ 83D70B0 + obj_image_anim_frame 12, 10 + obj_image_anim_end + + .align 2 +gSpriteAnim_83D70B8:: @ 83D70B8 + obj_image_anim_frame 16, 10 + obj_image_anim_end + + .align 2 +gSpriteAnim_83D70C0:: @ 83D70C0 + obj_image_anim_frame 20, 10 + obj_image_anim_end + + .align 2 +gSpriteAnim_83D70C8:: @ 83D70C8 + obj_image_anim_frame 0, 10, OBJ_IMAGE_ANIM_V_FLIP + obj_image_anim_end + + .align 2 +gSpriteAnim_83D70D0:: @ 83D70D0 + obj_image_anim_frame 4, 10, OBJ_IMAGE_ANIM_V_FLIP + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83D70D8:: @ 83D70D8 + .4byte gSpriteAnim_83D7098 + .4byte gSpriteAnim_83D70A0 + .4byte gSpriteAnim_83D70A8 + .4byte gSpriteAnim_83D70B0 + .4byte gSpriteAnim_83D70B8 + .4byte gSpriteAnim_83D70C0 + .4byte gSpriteAnim_83D70C8 + .4byte gSpriteAnim_83D70D0 + + .align 2 +gSpriteAffineAnim_83D70F8:: @ 83D70F8 + obj_rot_scal_anim_frame 0xC, 0xC, 0, 16 + obj_rot_scal_anim_frame 0xFFF4, 0xFFF4, 0, 16 + obj_rot_scal_anim_jump 0 + + .align 2 +gSpriteAffineAnimTable_83D7110:: @ 83D7110 + .4byte gSpriteAffineAnim_83D70F8 + + .align 2 +gBattleAnimSpriteTemplate_83D7114:: @ 83D7114 + spr_template 10072, 10072, gOamData_837DFEC, gSpriteAnimTable_83D70D8, NULL, gSpriteAffineAnimTable_83D7110, sub_80CEB0C + + .align 2 +gUnknown_083D712C:: @ 83D712C + .incbin "baserom.gba", 0x003d712c, 0x30 + + .align 2 +gBattleAnimSpriteTemplate_83D715C:: @ 83D715C + spr_template 10072, 10072, gOamData_837DFEC, gSpriteAnimTable_83D70D8, NULL, gSpriteAffineAnimTable_83D7110, sub_80CECE8 + + .align 2 +gBattleAnimSpriteTemplate_83D7174:: @ 83D7174 + spr_template 10193, 10193, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80CEDF0 + + .align 2 +gSpriteAffineAnim_83D718C:: @ 83D718C + obj_rot_scal_anim_frame 0xA0, 0xA0, 0, 0 + obj_rot_scal_anim_frame 0x4, 0x4, 0, 1 + obj_rot_scal_anim_jump 1 + + .align 2 +gSpriteAffineAnimTable_83D71A4:: @ 83D71A4 + .4byte gSpriteAffineAnim_83D718C + + .align 2 +gBattleAnimSpriteTemplate_83D71A8:: @ 83D71A8 + spr_template 10072, 10072, gOamData_837DFEC, gSpriteAnimTable_83D70D8, NULL, gSpriteAffineAnimTable_83D71A4, sub_80CEE60 + + .align 2 +gSpriteAnim_83D71C0:: @ 83D71C0 + obj_image_anim_frame 0, 2, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 16, 2, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 32, 2, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 48, 2, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_end + + .align 2 +gSpriteAnim_83D71D4:: @ 83D71D4 + obj_image_anim_frame 48, 2, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 32, 2, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 16, 2, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 0, 2, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_end + + .align 2 +gSpriteAnim_83D71E8:: @ 83D71E8 + obj_image_anim_frame 0, 2 + obj_image_anim_frame 16, 2 + obj_image_anim_frame 32, 2 + obj_image_anim_frame 48, 2 + obj_image_anim_end + + .align 2 +gSpriteAnim_83D71FC:: @ 83D71FC + obj_image_anim_frame 48, 2 + obj_image_anim_frame 32, 2 + obj_image_anim_frame 16, 2 + obj_image_anim_frame 0, 2 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83D7210:: @ 83D7210 + .4byte gSpriteAnim_83D71C0 + .4byte gSpriteAnim_83D71E8 + .4byte gSpriteAnim_83D71D4 + .4byte gSpriteAnim_83D71FC + + .align 2 +gBattleAnimSpriteTemplate_83D7220:: @ 83D7220 + spr_template 10209, 10209, gOamData_837DF34, gSpriteAnimTable_83D7210, NULL, gDummySpriteAffineAnimTable, sub_80CEF9C + + .align 2 +gSpriteAffineAnim_83D7238:: @ 83D7238 + obj_rot_scal_anim_frame 0x10, 0x10, 0, 0 + obj_rot_scal_anim_frame 0x1E, 0x1E, 0, 8 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_83D7250:: @ 83D7250 + obj_rot_scal_anim_frame 0x0, 0x0, 4, 11 + obj_rot_scal_anim_frame 0x0, 0x0, -4, 11 + obj_rot_scal_anim_loop 2 + obj_rot_scal_anim_frame 0xFFE2, 0xFFE2, 0, 8 + obj_rot_scal_anim_end + + .align 2 + .incbin "baserom.gba", 0x003d7278, 0x48 + + .align 2 +gSpriteAffineAnimTable_83D72C0:: @ 83D72C0 + .4byte gSpriteAffineAnim_83D7238 + .4byte gSpriteAffineAnim_83D7250 + + .align 2 +gBattleAnimSpriteTemplate_83D72C8:: @ 83D72C8 + spr_template 10064, 10064, gOamData_837DFF4, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D72C0, sub_80CF040 + + .align 2 +gBattleAnimSpriteTemplate_83D72E0:: @ 83D72E0 + spr_template 10064, 10064, gOamData_837DF94, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D72C0, sub_80CF0BC + + .align 2 +gSpriteAnim_83D72F8:: @ 83D72F8 + obj_image_anim_frame 0, 1 + obj_image_anim_end + + .align 2 +gSpriteAnim_83D7300:: @ 83D7300 + obj_image_anim_frame 0, 1, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_end + + .align 2 +gSpriteAnim_83D7308:: @ 83D7308 + obj_image_anim_frame 0, 4 + obj_image_anim_frame 16, 4 + obj_image_anim_frame 32, 4 + obj_image_anim_frame 16, 4 + obj_image_anim_frame 0, 4 + obj_image_anim_frame 16, 4 + obj_image_anim_frame 32, 4 + obj_image_anim_end + + .align 2 +gSpriteAnim_83D7328:: @ 83D7328 + obj_image_anim_frame 0, 4, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 16, 4, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 32, 4, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 16, 4, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 0, 4, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 16, 4, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 32, 4, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83D7348:: @ 83D7348 + .4byte gSpriteAnim_83D72F8 + .4byte gSpriteAnim_83D7300 + .4byte gSpriteAnim_83D7308 + .4byte gSpriteAnim_83D7328 + + .align 2 +gBattleAnimSpriteTemplate_83D7358:: @ 83D7358 + spr_template 10214, 10214, gOamData_837DF34, gSpriteAnimTable_83D7348, NULL, gDummySpriteAffineAnimTable, sub_80CF1C8 + + .align 2 +gSpriteTemplate_83D7370:: @ 83D7370 + spr_template 10064, 10064, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80CF280 + + .align 2 +gSpriteAnim_83D7388:: @ 83D7388 + obj_image_anim_frame 4, 1 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83D7390:: @ 83D7390 + .4byte gSpriteAnim_83D7388 + + .align 2 +gSpriteTemplate_83D7394:: @ 83D7394 + spr_template 10072, 10072, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80CF2D0 + + .align 2 +gSpriteTemplate_83D73AC:: @ 83D73AC + spr_template 0, 0, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80CF3C4 + + .align 2 +gSpriteTemplate_83D73C4:: @ 83D73C4 + spr_template 10145, 10145, gOamData_837E0BC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DB1B0, sub_80CF458 + + .align 2 +gSpriteAnim_83D73DC:: @ 83D73DC + obj_image_anim_frame 0, 9 + obj_image_anim_frame 16, 3 + obj_image_anim_frame 32, 3 + obj_image_anim_frame 48, 3 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83D73F0:: @ 83D73F0 + .4byte gSpriteAnim_83D73DC + + .align 2 +gSpriteAffineAnim_83D73F4:: @ 83D73F4 + obj_rot_scal_anim_frame 0x50, 0x50, 0, 0 + obj_rot_scal_anim_frame 0x9, 0x9, 0, 18 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_83D740C:: @ 83D740C + .4byte gSpriteAffineAnim_83D73F4 + + .align 2 +gSpriteTemplate_83D7410:: @ 83D7410 + spr_template 10007, 10007, gOamData_837DF94, gSpriteAnimTable_83D73F0, NULL, gSpriteAffineAnimTable_83D740C, sub_80793C4 + + .align 2 +gSpriteAnim_83D7428:: @ 83D7428 + obj_image_anim_frame 0, 3, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 8, 3, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 16, 3, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 24, 3, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 32, 3, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 40, 3, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 48, 3, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_loop 1 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83D744C:: @ 83D744C + .4byte gSpriteAnim_83D7428 + + .align 2 +gBattleAnimSpriteTemplate_83D7450:: @ 83D7450 + spr_template 10075, 10075, gOamData_837DF54, gSpriteAnimTable_83D744C, NULL, gDummySpriteAffineAnimTable, sub_80CF610 + + .align 2 +gSpriteAffineAnim_83D7468:: @ 83D7468 + obj_rot_scal_anim_frame 0x10, 0x100, 0, 0 + obj_rot_scal_anim_frame 0x14, 0x0, 0, 12 + obj_rot_scal_anim_frame 0x0, 0x0, 0, 32 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_83D7488:: @ 83D7488 + .4byte gSpriteAffineAnim_83D7468 + + .align 2 +gBattleAnimSpriteTemplate_83D748C:: @ 83D748C + spr_template 10005, 10005, gOamData_837E0FC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D7488, sub_80CF690 + + .align 2 +gBattleAnimSpriteTemplate_83D74A4:: @ 83D74A4 + spr_template 10003, 10003, gOamData_837E134, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80CF6DC + + .align 2 +gSpriteTemplate_83D74BC:: @ 83D74BC + spr_template 10003, 10003, gOamData_837E074, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80CF8B8 + + .align 2 +gSpriteAffineAnim_83D74D4:: @ 83D74D4 + obj_rot_scal_anim_frame 0x20, 0x20, 0, 0 + obj_rot_scal_anim_frame 0x7, 0x7, 0, -56 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_83D74EC:: @ 83D74EC + obj_rot_scal_anim_frame 0x5, 0x5, 0, 10 + obj_rot_scal_anim_frame 0xFFF6, 0xFFF6, 0, 10 + obj_rot_scal_anim_frame 0xA, 0xA, 0, 10 + obj_rot_scal_anim_frame 0xFFF6, 0xFFF6, 0, 10 + obj_rot_scal_anim_frame 0xA, 0xA, 0, 10 + obj_rot_scal_anim_frame 0xFFF6, 0xFFF6, 0, 10 + obj_rot_scal_anim_frame 0xA, 0xA, 0, 10 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_83D752C:: @ 83D752C + .4byte gSpriteAffineAnim_83D74D4 + + .align 2 +gSpriteAffineAnimTable_83D7530:: @ 83D7530 + .4byte gSpriteAffineAnim_83D74EC + + .align 2 +gBattleAnimSpriteTemplate_83D7534:: @ 83D7534 + spr_template 10163, 10163, gOamData_837E034, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D752C, sub_807941C + + .align 2 +gBattleAnimSpriteTemplate_83D754C:: @ 83D754C + spr_template 10164, 10164, gOamData_837E034, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D752C, sub_807941C + + .align 2 +gBattleAnimSpriteTemplate_83D7564:: @ 83D7564 + spr_template 10260, 10260, gOamData_837E03C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D752C, sub_807941C + + .align 2 +gBattleAnimSpriteTemplate_83D757C:: @ 83D757C + spr_template 10288, 10288, gOamData_837E034, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D7530, sub_80D4CA4 + + .align 2 +gBattleAnimSpriteTemplate_83D7594:: @ 83D7594 + spr_template 10175, 10175, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80794A8 + + .align 2 +gSpriteTemplate_83D75AC:: @ 83D75AC + spr_template 10178, 10178, gOamData_837E05C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80CFDFC + + .align 2 +gSpriteAnim_83D75C4:: @ 83D75C4 + obj_image_anim_frame 8, 1 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83D75CC:: @ 83D75CC + .4byte gSpriteAnim_83D75C4 + + .align 2 +gSpriteAffineAnim_83D75D0:: @ 83D75D0 + obj_rot_scal_anim_frame 0x0, 0x0, 10, 1 + obj_rot_scal_anim_jump 0 + + .align 2 +gSpriteAffineAnimTable_83D75E0:: @ 83D75E0 + .4byte gSpriteAffineAnim_83D75D0 + + .align 2 +gBattleAnimSpriteTemplate_83D75E4:: @ 83D75E4 + spr_template 10100, 10100, gOamData_837DF8C, gSpriteAnimTable_83D75CC, NULL, gDummySpriteAffineAnimTable, sub_80CFE9C + + .align 2 +gBattleAnimSpriteTemplate_83D75FC:: @ 83D75FC + spr_template 10100, 10100, gOamData_837DF8C, gSpriteAnimTable_83D75CC, NULL, gSpriteAffineAnimTable_83D75E0, sub_80CFF50 + + .align 2 +gSpriteAffineAnim_83D7614:: @ 83D7614 + obj_rot_scal_anim_frame 0x0, 0x0, 20, 1 + obj_rot_scal_anim_jump 0 + + .align 2 +gSpriteAffineAnimTable_83D7624:: @ 83D7624 + .4byte gSpriteAffineAnim_83D7614 + + .align 2 +gBattleAnimSpriteTemplate_83D7628:: @ 83D7628 + spr_template 10006, 10006, gOamData_837DF8C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D7624, sub_80CFFD8 + + .align 2 +gSpriteAffineAnim_83D7640:: @ 83D7640 + obj_rot_scal_anim_frame 0x10, 0x100, 0, 0 + obj_rot_scal_anim_frame 0x4, 0x0, 0, 40 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_83D7658:: @ 83D7658 + .4byte gSpriteAffineAnim_83D7640 + + .align 2 +gBattleAnimSpriteTemplate_83D765C:: @ 83D765C + spr_template 10009, 10009, gOamData_837DFDC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D7658, sub_80D0118 + + .align 2 +gSpriteAnim_83D7674:: @ 83D7674 + obj_image_anim_frame 0, 3 + obj_image_anim_frame 16, 3 + obj_image_anim_frame 32, 20 + obj_image_anim_end + + .align 2 +gSpriteAnim_83D7684:: @ 83D7684 + obj_image_anim_frame 0, 3, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 16, 3, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 32, 20, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83D7694:: @ 83D7694 + .4byte gSpriteAnim_83D7674 + .4byte gSpriteAnim_83D7684 + + .align 2 +gBattleAnimSpriteTemplate_83D769C:: @ 83D769C + spr_template 10138, 10138, gOamData_837E054, gSpriteAnimTable_83D7694, NULL, gDummySpriteAffineAnimTable, sub_80D0178 + + .align 2 +gSpriteAnim_83D76B4:: @ 83D76B4 + obj_image_anim_frame 0, 2 + obj_image_anim_frame 16, 2 + obj_image_anim_frame 32, 1 + obj_image_anim_end + + .align 2 +gSpriteAnim_83D76C4:: @ 83D76C4 + obj_image_anim_frame 0, 2, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 16, 2, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 32, 1, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83D76D4:: @ 83D76D4 + .4byte gSpriteAnim_83D76B4 + .4byte gSpriteAnim_83D76C4 + + .align 2 +gBattleAnimSpriteTemplate_83D76DC:: @ 83D76DC + spr_template 10138, 10138, gOamData_837E054, gSpriteAnimTable_83D76D4, NULL, gDummySpriteAffineAnimTable, sub_80D0228 + + .align 2 +gUnknown_083D76F4:: @ 83D76F4 + .incbin "baserom.gba", 0x003d76f4, 0x20 + +gUnknown_083D7714:: @ 83D7714 + .incbin "baserom.gba", 0x003d7714, 0x20 + + .align 2 +gSpriteAnim_83D7734:: @ 83D7734 + obj_image_anim_frame 0, 4, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 4, 40, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 8, 4, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 12, 4, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_end + + .align 2 +gSpriteAnim_83D7748:: @ 83D7748 + obj_image_anim_frame 0, 4 + obj_image_anim_frame 4, 40 + obj_image_anim_frame 8, 4 + obj_image_anim_frame 12, 4 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83D775C:: @ 83D775C + .4byte gSpriteAnim_83D7734 + .4byte gSpriteAnim_83D7748 + + .align 2 +gBattleAnimSpriteTemplate_83D7764:: @ 83D7764 + spr_template 10086, 10086, gOamData_837DF2C, gSpriteAnimTable_83D775C, NULL, gDummySpriteAffineAnimTable, sub_80D0930 + + .align 2 +gSpriteAffineAnim_83D777C:: @ 83D777C + obj_rot_scal_anim_frame 0xB, 0xB, 0, 8 + obj_rot_scal_anim_frame 0xFFF5, 0xFFF5, 0, 8 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_83D7794:: @ 83D7794 + .4byte gSpriteAffineAnim_83D777C + + .align 2 +gBattleAnimSpriteTemplate_83D7798:: @ 83D7798 + spr_template 10087, 10087, gOamData_837DF8C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D7794, sub_80D09C0 + + .align 2 +gUnknown_083D77B0:: @ 83D77B0 + .incbin "baserom.gba", 0x003d77b0, 0x30 + + .align 2 +gBattleAnimSpriteTemplate_83D77E0:: @ 83D77E0 + spr_template 10002, 10002, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D0E30 + + .align 2 +gBattleAnimSpriteTemplate_83D77F8:: @ 83D77F8 + spr_template 10197, 10197, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8079534 + + .align 2 +gSpriteAnim_83D7810:: @ 83D7810 + obj_image_anim_frame 0, 5 + obj_image_anim_frame 16, 5 + obj_image_anim_frame 32, 5 + obj_image_anim_frame 48, 5 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83D7824:: @ 83D7824 + .4byte gSpriteAnim_83D7810 + + .align 2 +gBattleAnimSpriteTemplate_83D7828:: @ 83D7828 + spr_template 10198, 10198, gOamData_837DF34, gSpriteAnimTable_83D7824, NULL, gDummySpriteAffineAnimTable, sub_80793C4 + + .align 2 +gSpriteAffineAnim_83D7840:: @ 83D7840 + obj_rot_scal_anim_frame 0x0, 0x0, -8, 2 + obj_rot_scal_anim_frame 0x0, 0x0, 8, 4 + obj_rot_scal_anim_frame 0x0, 0x0, -8, 2 + obj_rot_scal_anim_jump 0 + + .align 2 +gSpriteAffineAnim_83D7860:: @ 83D7860 + obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_83D7870:: @ 83D7870 + obj_rot_scal_anim_frame 0xFFF8, 0x4, 0, 8 + obj_rot_scal_anim_loop 0 + obj_rot_scal_anim_frame 0x10, 0xFFF8, 0, 8 + obj_rot_scal_anim_frame 0xFFF0, 0x8, 0, 8 + obj_rot_scal_anim_loop 1 + obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 + obj_rot_scal_anim_frame 0x0, 0x0, 0, 15 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_83D78B0:: @ 83D78B0 + .4byte gSpriteAffineAnim_83D7840 + .4byte gSpriteAffineAnim_83D7860 + .4byte gSpriteAffineAnim_83D7870 + + .align 2 +gBattleAnimSpriteTemplate_83D78BC:: @ 83D78BC + spr_template 10202, 10202, gOamData_837E114, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D78B0, sub_80D1368 + + .align 2 +gSpriteAffineAnim_83D78D4:: @ 83D78D4 + obj_rot_scal_anim_frame 0x10, 0x10, 0, 0 + obj_rot_scal_anim_frame 0x10, 0x10, 0, 30 + obj_rot_scal_anim_end 1 + + .align 2 +gSpriteAffineAnim_83D78EC:: @ 83D78EC + obj_rot_scal_anim_frame 0x10, 0x10, 0, 0 + obj_rot_scal_anim_frame 0x20, 0x20, 0, 15 + obj_rot_scal_anim_end 1 + + .align 2 +gSpriteAffineAnim_83D7904:: @ 83D7904 + obj_rot_scal_anim_frame 0x10, 0x10, 0, 0 + obj_rot_scal_anim_frame 0xB, 0xB, 0, 45 + obj_rot_scal_anim_end 1 + + .align 2 +gSpriteAffineAnimTable_83D791C:: @ 83D791C + .4byte gSpriteAffineAnim_83D78D4 + .4byte gSpriteAffineAnim_83D78EC + + .align 2 +gSpriteAffineAnimTable_83D7924:: @ 83D7924 + .4byte gSpriteAffineAnim_83D7904 + + .align 2 +gBattleAnimSpriteTemplate_83D7928:: @ 83D7928 + spr_template 10203, 10203, gOamData_837DFFC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D791C, sub_80793C4 + + .align 2 +gSpriteAffineAnim_83D7940:: @ 83D7940 + obj_rot_scal_anim_frame 0x200, 0x200, 0, 0 + obj_rot_scal_anim_frame 0xFFF0, 0xFFF0, 0, 30 + obj_rot_scal_anim_end 1 + + .align 2 +gSpriteAffineAnimTable_83D7958:: @ 83D7958 + .4byte gSpriteAffineAnim_83D7940 + + .align 2 +gBattleAnimSpriteTemplate_83D795C:: @ 83D795C + spr_template 10203, 10203, gOamData_837E11C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D7958, sub_80793C4 + + .align 2 +gBattleAnimSpriteTemplate_83D7974:: @ 83D7974 + spr_template 10203, 10203, gOamData_837E11C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D791C, sub_80D0FD8 + + .align 2 +gBattleAnimSpriteTemplate_83D798C:: @ 83D798C + spr_template 10203, 10203, gOamData_837E11C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D7924, sub_80D10B8 + + .align 2 +gBattleAnimSpriteTemplate_83D79A4:: @ 83D79A4 + spr_template 10203, 10203, gOamData_837E11C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D791C, sub_80D1318 + + .align 2 +gUnknown_083D79BC:: @ 83D79BC + .incbin "baserom.gba", 0x003d79bc, 0x10 + + .align 2 +gSpriteAnim_83D79CC:: @ 83D79CC + obj_image_anim_frame 0, 3 + obj_image_anim_frame 4, 3 + obj_image_anim_frame 8, 3 + obj_image_anim_frame 4, 3 + obj_image_anim_frame 0, 3 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83D79E4:: @ 83D79E4 + .4byte gSpriteAnim_83D79CC + + .align 2 +gSpriteTemplate_83D79E8:: @ 83D79E8 + spr_template 10207, 10207, gOamData_837DF2C, gSpriteAnimTable_83D79E4, NULL, gDummySpriteAffineAnimTable, sub_80D1A70 + +gUnknown_083D7A00:: @ 83D7A00 + .incbin "baserom.gba", 0x003d7a00, 0x8 + + .align 2 +gSpriteAnim_83D7A08:: @ 83D7A08 + obj_image_anim_frame 0, 6 + obj_image_anim_frame 16, 6 + obj_image_anim_frame 32, 15 + obj_image_anim_frame 16, 6 + obj_image_anim_frame 0, 6 + obj_image_anim_frame 16, 6, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 32, 15, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 16, 6, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 0, 6 + obj_image_anim_frame 16, 6 + obj_image_anim_frame 32, 15 + obj_image_anim_frame 16, 6 + obj_image_anim_frame 0, 6 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83D7A40:: @ 83D7A40 + .4byte gSpriteAnim_83D7A08 + + .align 2 +gBattleAnimSpriteTemplate_83D7A44:: @ 83D7A44 + spr_template 10205, 10205, gOamData_837DF34, gSpriteAnimTable_83D7A40, NULL, gDummySpriteAffineAnimTable, sub_80793C4 + + .align 2 +gUnknown_083D7A5C:: @ 83D7A5C + .incbin "baserom.gba", 0x003d7a5c, 0xc + + .align 2 +gBattleAnimSpriteTemplate_83D7A68:: @ 83D7A68 + spr_template 10206, 10206, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D1C08 + + .align 2 +gBattleAnimSpriteTemplate_83D7A80:: @ 83D7A80 + spr_template 10210, 10210, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D1C80 + + .align 2 +gUnknown_083D7A98:: @ 83D7A98 + .incbin "baserom.gba", 0x003d7a98, 0x18 + + .align 2 +gBattleAnimSpriteTemplate_83D7AB0:: @ 83D7AB0 + spr_template 10216, 10216, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D1F58 + + .align 2 +gBattleAnimSpriteTemplate_83D7AC8:: @ 83D7AC8 + spr_template 10216, 10216, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D1FDC + + .align 2 +gBattleAnimSpriteTemplate_83D7AE0:: @ 83D7AE0 + spr_template 10216, 10216, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D2064 + + .align 2 +gSpriteAffineAnim_83D7AF8:: @ 83D7AF8 + obj_rot_scal_anim_frame 0x80, 0x80, 0, 0 + obj_rot_scal_anim_frame 0x8, 0x8, 0, 1 + obj_rot_scal_anim_jump 1 + + .align 2 +gSpriteAffineAnimTable_83D7B10:: @ 83D7B10 + .4byte gSpriteAffineAnim_83D7AF8 + + .align 2 +gBattleAnimSpriteTemplate_83D7B14:: @ 83D7B14 + spr_template 10217, 10217, gOamData_837DF8C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D7B10, sub_80D26A4 + + .align 2 +gBattleAnimSpriteTemplate_83D7B2C:: @ 83D7B2C + spr_template 10217, 10217, gOamData_837DFEC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D7B10, sub_80D27E0 + + .align 2 +gSpriteAffineAnim_83D7B44:: @ 83D7B44 + obj_rot_scal_anim_frame 0x80, 0x80, 0, 0 + obj_rot_scal_anim_frame 0x8, 0x8, 0, 1 + obj_rot_scal_anim_jump 1 + + .align 2 +gSpriteAffineAnimTable_83D7B5C:: @ 83D7B5C + .4byte gSpriteAffineAnim_83D7B44 + + .align 2 +gBattleAnimSpriteTemplate_83D7B60:: @ 83D7B60 + spr_template 10237, 10237, gOamData_837DFE4, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D7B5C, sub_80D28AC + + .align 2 +gSpriteAnim_83D7B78:: @ 83D7B78 + obj_image_anim_frame 0, 4 + obj_image_anim_frame 4, 4 + obj_image_anim_frame 8, 4 + obj_image_anim_frame 4, 4 + obj_image_anim_frame 0, 4 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83D7B90:: @ 83D7B90 + .4byte gSpriteAnim_83D7B78 + + .align 2 +gBattleAnimSpriteTemplate_83D7B94:: @ 83D7B94 + spr_template 10218, 10218, gOamData_837DF2C, gSpriteAnimTable_83D7B90, NULL, gDummySpriteAffineAnimTable, sub_80D2920 + + .align 2 +gSpriteAnim_83D7BAC:: @ 83D7BAC + obj_image_anim_frame 0, 24 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83D7BB4:: @ 83D7BB4 + .4byte gSpriteAnim_83D7BAC + + .align 2 +gBattleAnimSpriteTemplate_83D7BB8:: @ 83D7BB8 + spr_template 10220, 10220, gOamData_837DF34, gSpriteAnimTable_83D7BB4, NULL, gDummySpriteAffineAnimTable, sub_80D2938 + + .align 2 +gBattleAnimSpriteTemplate_83D7BD0:: @ 83D7BD0 + spr_template 10219, 10219, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D2A38 + + .align 2 +gSpriteAnim_83D7BE8:: @ 83D7BE8 + obj_image_anim_frame 0, 3 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnim_83D7BF0:: @ 83D7BF0 + obj_image_anim_frame 16, 3 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnimTable_83D7BF8:: @ 83D7BF8 + .4byte gSpriteAnim_83D7BE8 + .4byte gSpriteAnim_83D7BF0 + + .align 2 +gBattleAnimSpriteTemplate_83D7C00:: @ 83D7C00 + spr_template 10221, 10221, gOamData_837DF34, gSpriteAnimTable_83D7BF8, NULL, gDummySpriteAffineAnimTable, sub_80D2ABC + + .align 2 +gSpriteAnim_83D7C18:: @ 83D7C18 + obj_image_anim_frame 0, 4 + obj_image_anim_frame 16, 4 + obj_image_anim_frame 32, 4 + obj_image_anim_frame 48, 4 + obj_image_anim_end + + .align 2 +gSpriteAnim_83D7C2C:: @ 83D7C2C + obj_image_anim_frame 0, 4, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 16, 4, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 32, 4, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 48, 4, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83D7C40:: @ 83D7C40 + .4byte gSpriteAnim_83D7C18 + .4byte gSpriteAnim_83D7C2C + + .align 2 +gBattleAnimSpriteTemplate_83D7C48:: @ 83D7C48 + spr_template 10222, 10222, gOamData_837DF34, gSpriteAnimTable_83D7C40, NULL, gDummySpriteAffineAnimTable, sub_80D2BE8 + + .align 2 +gSpriteAnim_83D7C60:: @ 83D7C60 + obj_image_anim_frame 0, 8 + obj_image_anim_frame 16, 8 + obj_image_anim_frame 32, 8 + obj_image_anim_frame 16, 8 + obj_image_anim_end + + .align 2 +gSpriteAnim_83D7C74:: @ 83D7C74 + obj_image_anim_frame 16, 8, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 32, 8, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 16, 8, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 0, 8, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83D7C88:: @ 83D7C88 + .4byte gSpriteAnim_83D7C60 + .4byte gSpriteAnim_83D7C74 + + .align 2 +gBattleAnimSpriteTemplate_83D7C90:: @ 83D7C90 + spr_template 10215, 10215, gOamData_837DF34, gSpriteAnimTable_83D7C88, NULL, gDummySpriteAffineAnimTable, sub_80D2C38 + + .align 2 +gUnknown_083D7CA8:: @ 83D7CA8 + .incbin "baserom.gba", 0x003d7ca8, 0x20 + + .align 2 +gBattleAnimSpriteTemplate_83D7CC8:: @ 83D7CC8 + spr_template 10225, 10225, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D2D68 + + .align 2 +gSpriteAffineAnim_83D7CE0:: @ 83D7CE0 + obj_rot_scal_anim_frame 0x0, 0x0, 0, 5 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_83D7CF0:: @ 83D7CF0 + obj_rot_scal_anim_frame 0x0, 0x0, -8, 16 + obj_rot_scal_anim_end 1 + + .align 2 +gSpriteAffineAnim_83D7D00:: @ 83D7D00 + obj_rot_scal_anim_frame 0x0, 0x0, 8, 16 + obj_rot_scal_anim_end 1 + + .align 2 +gSpriteAffineAnimTable_83D7D10:: @ 83D7D10 + .4byte gSpriteAffineAnim_83D7CE0 + .4byte gSpriteAffineAnim_83D7CF0 + .4byte gSpriteAffineAnim_83D7D00 + + .align 2 +gBattleAnimSpriteTemplate_83D7D1C:: @ 83D7D1C + spr_template 10206, 10206, gOamData_837DF8C, gSpriteAnimTable_83D70D8, NULL, gSpriteAffineAnimTable_83D7D10, sub_80D2EC8 + + .align 2 +gBattleAnimSpriteTemplate_83D7D34:: @ 83D7D34 + spr_template 10206, 10206, gOamData_837DF8C, gSpriteAnimTable_83D70D8, NULL, gSpriteAffineAnimTable_83D7D10, sub_80D2E68 + + .align 2 +gSpriteAffineAnim_83D7D4C:: @ 83D7D4C + obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_83D7D5C:: @ 83D7D5C + obj_rot_scal_anim_frame 0x200, 0x100, 0, 0 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_83D7D6C:: @ 83D7D6C + .4byte gSpriteAffineAnim_83D7D4C + .4byte gSpriteAffineAnim_83D7D5C + + .align 2 +gBattleAnimSpriteTemplate_83D7D74:: @ 83D7D74 + spr_template 10244, 10244, gOamData_837E13C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D7D6C, sub_80D3014 + + .align 2 + .incbin "graphics/unknown/unknown_3D7D8C.4bpp" + .incbin "graphics/unknown/unknown_3D810C.bin" + + .align 2 +gSpriteAnim_83D910C:: @ 83D910C + obj_image_anim_frame 0, 2 + obj_image_anim_frame 8, 2 + obj_image_anim_frame 16, 2 + obj_image_anim_frame 24, 6 + obj_image_anim_frame 32, 2 + obj_image_anim_frame 40, 2 + obj_image_anim_frame 48, 2 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83D912C:: @ 83D912C + .4byte gSpriteAnim_83D910C + + .align 2 +gSpriteTemplate_83D9130:: @ 83D9130 + spr_template 10115, 10115, gOamData_837DF74, gSpriteAnimTable_83D912C, NULL, gDummySpriteAffineAnimTable, sub_80D3184 + + .align 2 +gSpriteAffineAnim_83D9148:: @ 83D9148 + obj_rot_scal_anim_frame 0xFFFB, 0xFFFB, 0, 10 + obj_rot_scal_anim_frame 0x5, 0x5, 0, 10 + obj_rot_scal_anim_jump 0 + + .align 2 +gSpriteAffineAnimTable_83D9160:: @ 83D9160 + .4byte gSpriteAffineAnim_83D9148 + + .align 2 +gSpriteAnim_83D9164:: @ 83D9164 + obj_image_anim_frame 0, 1 + obj_image_anim_frame 4, 5 + obj_image_anim_frame 8, 5 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83D9174:: @ 83D9174 + .4byte gSpriteAnim_83D9164 + + .align 2 +gBattleAnimSpriteTemplate_83D9178:: @ 83D9178 + spr_template 10146, 10146, gOamData_837E0AC, gSpriteAnimTable_83D9174, NULL, gSpriteAffineAnimTable_83D9160, sub_80D31C8 + + .align 2 +gSpriteAnim_83D9190:: @ 83D9190 + obj_image_anim_frame 0, 1 + obj_image_anim_end + + .align 2 +gSpriteAnim_83D9198:: @ 83D9198 + obj_image_anim_frame 4, 1 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83D91A0:: @ 83D91A0 + .4byte gSpriteAnim_83D9190 + .4byte gSpriteAnim_83D9198 + + .align 2 +gSpriteAffineAnim_83D91A8:: @ 83D91A8 + obj_rot_scal_anim_frame 0x0, 0x0, 0, 1 + obj_rot_scal_anim_frame 0x60, 0x60, 0, 1 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_83D91C0:: @ 83D91C0 + .4byte gSpriteAffineAnim_83D91A8 + + .align 2 +gBattleAnimSpriteTemplate_83D91C4:: @ 83D91C4 + spr_template 10140, 10140, gOamData_837E024, gSpriteAnimTable_83D91A0, NULL, gSpriteAffineAnimTable_83D91C0, sub_80D33B4 + + .align 2 +gSpriteAnim_83D91DC:: @ 83D91DC + obj_image_anim_frame 0, 1 + obj_image_anim_frame 4, 1 + obj_image_anim_frame 8, 1 + obj_image_anim_frame 12, 1 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnimTable_83D91F0:: @ 83D91F0 + .4byte gSpriteAnim_83D91DC + + .align 2 +gBattleAnimSpriteTemplate_83D91F4:: @ 83D91F4 + spr_template 10149, 10149, gOamData_837E04C, gSpriteAnimTable_83D91F0, NULL, gDummySpriteAffineAnimTable, sub_80D3554 + + .align 2 +gBattleAnimSpriteTemplate_83D920C:: @ 83D920C + spr_template 10259, 10259, gOamData_837E04C, gSpriteAnimTable_83D91F0, NULL, gDummySpriteAffineAnimTable, sub_80D3554 + + .align 2 +gBattleAnimSpriteTemplate_83D9224:: @ 83D9224 + spr_template 10264, 10264, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D3554 + + .align 2 +gBattleAnimSpriteTemplate_83D923C:: @ 83D923C + spr_template 10265, 10265, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D3554 + + .align 2 +gSpriteAnim_83D9254:: @ 83D9254 + obj_image_anim_frame 16, 2 + obj_image_anim_frame 32, 2 + obj_image_anim_frame 48, 2 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnimTable_83D9264:: @ 83D9264 + .4byte gSpriteAnim_83D9254 + + .align 2 +gBattleAnimSpriteTemplate_83D9268:: @ 83D9268 + spr_template 10029, 10029, gOamData_837DF34, gSpriteAnimTable_83D9264, NULL, gDummySpriteAffineAnimTable, sub_80D3554 + + .align 2 +gBattleAnimSpriteTemplate_83D9280:: @ 83D9280 + spr_template 10165, 10165, gOamData_837E034, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D752C, sub_80D3554 + + .align 2 +gSpriteAffineAnim_83D9298:: @ 83D9298 + obj_rot_scal_anim_frame 0x3, 0x3, 10, 50 + obj_rot_scal_anim_frame 0x0, 0x0, 0, 10 + obj_rot_scal_anim_frame 0xFFEC, 0xFFEC, -10, 20 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_83D92B8:: @ 83D92B8 + obj_rot_scal_anim_frame 0x150, 0x150, 0, 0 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_83D92C8:: @ 83D92C8 + .4byte gSpriteAffineAnim_83D9298 + + .align 2 +gSpriteAffineAnimTable_83D92CC:: @ 83D92CC + .4byte gSpriteAffineAnim_83D92B8 + + .align 2 +gBattleAnimSpriteTemplate_83D92D0:: @ 83D92D0 + spr_template 10149, 10149, gOamData_837E10C, gSpriteAnimTable_83D91F0, NULL, gSpriteAffineAnimTable_83D92C8, sub_80D3698 + + .align 2 +gBattleAnimSpriteTemplate_83D92E8:: @ 83D92E8 + spr_template 10149, 10149, gOamData_837E10C, gSpriteAnimTable_83D91F0, NULL, gSpriteAffineAnimTable_83D92CC, sub_80D3728 + + .align 2 +gSpriteAnim_83D9300:: @ 83D9300 + obj_image_anim_frame 0, 1 + obj_image_anim_end + + .align 2 +gSpriteAnim_83D9308:: @ 83D9308 + obj_image_anim_frame 4, 1 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83D9310:: @ 83D9310 + .4byte gSpriteAnim_83D9300 + + .align 2 +gSpriteAnimTable_83D9314:: @ 83D9314 + .4byte gSpriteAnim_83D9308 + + .align 2 +gBattleAnimSpriteTemplate_83D9318:: @ 83D9318 + spr_template 10155, 10155, gOamData_837E04C, gSpriteAnimTable_83D9310, NULL, gDummySpriteAffineAnimTable, sub_80794A8 + + .align 2 +gBattleAnimSpriteTemplate_83D9330:: @ 83D9330 + spr_template 10155, 10155, gOamData_837E10C, gSpriteAnimTable_83D9314, NULL, gSpriteAffineAnimTable_83DA318, sub_80D37FC + + .align 2 +gBattleAnimSpriteTemplate_83D9348:: @ 83D9348 + spr_template 10141, 10141, gOamData_837DF24, gSpriteAnimTable_83D9BC8, NULL, gDummySpriteAffineAnimTable, sub_80D3838 + + .align 2 +gBattleAnimSpriteTemplate_83D9360:: @ 83D9360 + spr_template 10155, 10155, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D4044 + + .align 2 +gSpriteTemplate_83D9378:: @ 83D9378 + spr_template 10268, 10268, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D452C + + .align 2 +gSpriteAnim_83D9390:: @ 83D9390 + obj_image_anim_frame 8, 1 + obj_image_anim_end + + .align 2 +gSpriteAnim_83D9398:: @ 83D9398 + obj_image_anim_frame 9, 1 + obj_image_anim_end + + .align 2 +gSpriteAnim_83D93A0:: @ 83D93A0 + obj_image_anim_frame 4, 1 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83D93A8:: @ 83D93A8 + .4byte gSpriteAnim_83D9390 + .4byte gSpriteAnim_83D9398 + + .align 2 +gSpriteAnimTable_83D93B0:: @ 83D93B0 + .4byte gSpriteAnim_83D93A0 + + .align 2 +gSpriteAffineAnim_83D93B4:: @ 83D93B4 + obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 + obj_rot_scal_anim_frame 0xFFF6, 0xFFF6, 0, 15 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_83D93CC:: @ 83D93CC + obj_rot_scal_anim_frame 0xE0, 0xE0, 0, 0 + obj_rot_scal_anim_frame 0xFFF8, 0xFFF8, 0, 15 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_83D93E4:: @ 83D93E4 + obj_rot_scal_anim_frame 0x150, 0x150, 0, 0 + obj_rot_scal_anim_frame 0x0, 0x0, 0, 15 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_83D93FC:: @ 83D93FC + .4byte gSpriteAffineAnim_83D93B4 + .4byte gSpriteAffineAnim_83D93CC + + .align 2 +gSpriteAffineAnimTable_83D9404:: @ 83D9404 + .4byte gSpriteAffineAnim_83D93E4 + + .align 2 +gBattleAnimSpriteTemplate_83D9408:: @ 83D9408 + spr_template 10155, 10155, gOamData_837DF24, gSpriteAnimTable_83D93A8, NULL, gDummySpriteAffineAnimTable, sub_80D4BF0 + + .align 2 +gSpriteTemplate_83D9420:: @ 83D9420 + spr_template 10155, 10155, gOamData_837DF84, gSpriteAnimTable_83D93A8, NULL, gSpriteAffineAnimTable_83D93FC, sub_80D4C64 + + .align 2 +gBattleAnimSpriteTemplate_83D9438:: @ 83D9438 + spr_template 10155, 10155, gOamData_837DF8C, gSpriteAnimTable_83D93B0, NULL, gSpriteAffineAnimTable_83D9404, sub_807A9BC + + .align 2 +gSpriteAnim_83D9450:: @ 83D9450 + obj_image_anim_frame 16, 4 + obj_image_anim_frame 32, 4 + obj_image_anim_frame 48, 4 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnim_83D9460:: @ 83D9460 + obj_image_anim_frame 16, 4, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 32, 4, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 48, 4, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_jump 0 + + .align 2 +gSpriteAnimTable_83D9470:: @ 83D9470 + .4byte gSpriteAnim_83D9450 + .4byte gSpriteAnim_83D9460 + + .align 2 +gBattleAnimSpriteTemplate_83D9478:: @ 83D9478 + spr_template 10029, 10029, gOamData_837DF34, gSpriteAnimTable_83D9470, NULL, gDummySpriteAffineAnimTable, sub_80D4ED8 + + .align 2 +gBattleAnimSpriteTemplate_83D9490:: @ 83D9490 + spr_template 10029, 10029, gOamData_837DF34, gSpriteAnimTable_83D9470, NULL, gDummySpriteAffineAnimTable, sub_80D4F18 + + .align 2 +gSpriteAnim_83D94A8:: @ 83D94A8 + obj_image_anim_frame 0, 3 + obj_image_anim_frame 16, 3 + obj_image_anim_frame 32, 3 + obj_image_anim_frame 48, 3 + obj_image_anim_frame 64, 3 + obj_image_anim_frame 80, 3 + obj_image_anim_frame 96, 3 + obj_image_anim_frame 112, 3 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnimTable_83D94CC:: @ 83D94CC + .4byte gSpriteAnim_83D94A8 + + .align 2 +gSpriteAnim_83D94D0:: @ 83D94D0 + obj_image_anim_frame 0, 5 + obj_image_anim_frame 16, 5 + obj_image_anim_frame 32, 5 + obj_image_anim_frame 48, 5 + obj_image_anim_frame 64, 5 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnimTable_83D94E8:: @ 83D94E8 + .4byte gSpriteAnim_83D94D0 + + .align 2 +gSpriteAffineAnim_83D94EC:: @ 83D94EC + obj_rot_scal_anim_frame 0x32, 0x100, 0, 0 + obj_rot_scal_anim_frame 0x20, 0x0, 0, 7 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_83D9504:: @ 83D9504 + .4byte gSpriteAffineAnim_83D94EC + + .align 2 +gBattleAnimSpriteTemplate_83D9508:: @ 83D9508 + spr_template 10033, 10033, gOamData_837DF94, gSpriteAnimTable_83D94CC, NULL, gSpriteAffineAnimTable_83D9504, sub_80D4FCC + + .align 2 +gBattleAnimSpriteTemplate_83D9520:: @ 83D9520 + spr_template 10033, 10033, gOamData_837DF34, gSpriteAnimTable_83D94CC, NULL, gDummySpriteAffineAnimTable, sub_80D4FCC + + .align 2 +gBattleAnimSpriteTemplate_83D9538:: @ 83D9538 + spr_template 10035, 10035, gOamData_837DF34, gSpriteAnimTable_83D94E8, NULL, gDummySpriteAffineAnimTable, sub_80D4F5C + + .align 2 +gSpriteTemplate_83D9550:: @ 83D9550 + spr_template 10029, 10029, gOamData_837DF34, gSpriteAnimTable_83D94E8, NULL, gDummySpriteAffineAnimTable, sub_80D4F5C + + .align 2 +gSpriteAnim_83D9568:: @ 83D9568 + obj_image_anim_frame 16, 6 + obj_image_anim_frame 32, 6 + obj_image_anim_frame 48, 6 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnimTable_83D9578:: @ 83D9578 + .4byte gSpriteAnim_83D9568 + + .align 2 +gSpriteTemplate_83D957C:: @ 83D957C + spr_template 10029, 10029, gOamData_837DF34, gSpriteAnimTable_83D9578, NULL, gDummySpriteAffineAnimTable, sub_80D5074 + + .align 2 +gSpriteAffineAnim_83D9594:: @ 83D9594 + obj_rot_scal_anim_frame 0x50, 0x50, 0, 0 + obj_rot_scal_anim_frame 0x2, 0x2, 10, 1 + obj_rot_scal_anim_jump 1 + + .align 2 +gSpriteAffineAnimTable_83D95AC:: @ 83D95AC + .4byte gSpriteAffineAnim_83D9594 + + .align 2 +gBattleAnimSpriteTemplate_83D95B0:: @ 83D95B0 + spr_template 10157, 10157, gOamData_837E0B4, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D95AC, sub_80D517C + + .align 2 +gSpriteAnim_83D95C8:: @ 83D95C8 + obj_image_anim_frame 0, 4 + obj_image_anim_frame 16, 4 + obj_image_anim_frame 32, 4 + obj_image_anim_frame 48, 4 + obj_image_anim_frame 64, 4 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnimTable_83D95E0:: @ 83D95E0 + .4byte gSpriteAnim_83D95C8 + + .align 2 +gBattleAnimSpriteTemplate_83D95E4:: @ 83D95E4 + spr_template 10029, 10029, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_807941C + + .align 2 +gBattleAnimSpriteTemplate_83D95FC:: @ 83D95FC + spr_template 10029, 10029, gOamData_837DF34, gSpriteAnimTable_83D95E0, NULL, gDummySpriteAffineAnimTable, sub_80D51A8 + + .align 2 +gBattleAnimSpriteTemplate_83D9614:: @ 83D9614 + spr_template 10029, 10029, gOamData_837DF34, gSpriteAnimTable_83D95E0, NULL, gDummySpriteAffineAnimTable, sub_80D5210 + + .align 2 +gBattleAnimSpriteTemplate_83D962C:: @ 83D962C + spr_template 10029, 10029, gOamData_837DF34, gSpriteAnimTable_83D95E0, NULL, gDummySpriteAffineAnimTable, sub_80D522C + + .align 2 +gSpriteAnim_83D9644:: @ 83D9644 + obj_image_anim_frame 32, 6 + obj_image_anim_frame 48, 6 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnimTable_83D9650:: @ 83D9650 + .4byte gSpriteAnim_83D9644 + + .align 2 +gSpriteAffineAnim_83D9654:: @ 83D9654 + obj_rot_scal_anim_frame 0x0, 0x0, 0, 1 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_83D9664:: @ 83D9664 + obj_rot_scal_anim_frame 0xA0, 0xA0, 0, 0 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_83D9674:: @ 83D9674 + .4byte gSpriteAffineAnim_83D9654 + .4byte gSpriteAffineAnim_83D9664 + + .align 2 +gBattleAnimSpriteTemplate_83D967C:: @ 83D967C + spr_template 10029, 10029, gOamData_837DF34, gSpriteAnimTable_83D9650, NULL, gDummySpriteAffineAnimTable, sub_80D5374 + + .align 2 +gBattleAnimSpriteTemplate_83D9694:: @ 83D9694 + spr_template 10029, 10029, gOamData_837DF34, gSpriteAnimTable_83D95E0, NULL, gDummySpriteAffineAnimTable, sub_80D53B4 + + .align 2 +gBattleAnimSpriteTemplate_83D96AC:: @ 83D96AC + spr_template 10029, 10029, gOamData_837DF34, gSpriteAnimTable_83D95E0, NULL, gDummySpriteAffineAnimTable, sub_807A9BC + + .align 2 +gSpriteTemplate_83D96C4:: @ 83D96C4 + spr_template 10201, 10201, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D58FC + + .align 1 +gUnknown_083D96DC:: @ 83D96DC + .2byte -2, -5 + .2byte -1, -1 + .2byte 3, -6 + .2byte 4, -2 + .2byte 2, -8 + .2byte -5, -5 + .2byte 4, -7 + + .align 2 +gBattleAnimSpriteTemplate_83D96F8:: @ 83D96F8 + spr_template 10201, 10201, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D5A20 + + .align 2 +gSpriteAnim_83D9710:: @ 83D9710 + obj_image_anim_frame 0, 5 + obj_image_anim_frame 4, 5 + obj_image_anim_frame 8, 5 + obj_image_anim_frame 12, 5 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnim_83D9724:: @ 83D9724 + obj_image_anim_frame 16, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83D972C:: @ 83D972C + obj_image_anim_frame 20, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83D9734:: @ 83D9734 + obj_image_anim_frame 20, 5 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83D973C:: @ 83D973C + .4byte gSpriteAnim_83D9710 + .4byte gSpriteAnim_83D9724 + .4byte gSpriteAnim_83D972C + .4byte gSpriteAnim_83D9734 + + .align 2 +gBattleAnimSpriteTemplate_83D974C:: @ 83D974C + spr_template 10231, 10231, gOamData_837DF2C, gSpriteAnimTable_83D973C, NULL, gDummySpriteAffineAnimTable, sub_80D5B0C + + .align 2 +gSpriteAnim_83D9764:: @ 83D9764 + obj_image_anim_frame 0, 5 + obj_image_anim_frame 16, 5 + obj_image_anim_frame 32, 5 + obj_image_anim_frame 48, 5 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnimTable_83D9778:: @ 83D9778 + .4byte gSpriteAnim_83D9764 + + .align 2 +gBattleAnimSpriteTemplate_83D977C:: @ 83D977C + spr_template 10232, 10232, gOamData_837DF34, gSpriteAnimTable_83D9778, NULL, gDummySpriteAffineAnimTable, sub_80D5CC0 + + .align 2 +gUnknown_083D9794:: @ 83D9794 + .incbin "baserom.gba", 0x003d9794, 0x10 + +gUnknown_083D97A4:: @ 83D97A4 + .incbin "baserom.gba", 0x003d97a4, 0x10 + + .align 2 +gSpriteAnim_83D97B4:: @ 83D97B4 + obj_image_anim_frame 0, 5 + obj_image_anim_frame 16, 5 + obj_image_anim_frame 32, 8 + obj_image_anim_frame 48, 5 + obj_image_anim_frame 64, 5 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83D97CC:: @ 83D97CC + .4byte gSpriteAnim_83D97B4 + + .align 2 +gBattleAnimSpriteTemplate_83D97D0:: @ 83D97D0 + spr_template 10037, 10037, gOamData_837DF34, gSpriteAnimTable_83D97CC, NULL, gDummySpriteAffineAnimTable, sub_80D61C8 + + .align 2 +gSpriteAffineAnim_83D97E8:: @ 83D97E8 + obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 + obj_rot_scal_anim_frame 0x0, 0x0, 0, 20 + obj_rot_scal_anim_frame 0x0, 0x0, -16, 60 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_83D9808:: @ 83D9808 + .4byte gSpriteAffineAnim_83D97E8 + + .align 2 +gSpriteTemplate_83D980C:: @ 83D980C + spr_template 10143, 10143, gOamData_837DF94, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D9808, sub_80D6234 + + .align 2 +gSpriteAnim_83D9824:: @ 83D9824 + obj_image_anim_frame 0, 5 + obj_image_anim_frame 16, 5 + obj_image_anim_frame 32, 5 + obj_image_anim_frame 48, 5 + obj_image_anim_frame 64, 5 + obj_image_anim_frame 80, 5 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnimTable_83D9840:: @ 83D9840 + .4byte gSpriteAnim_83D9824 + + .align 2 +gSpriteTemplate_83D9844:: @ 83D9844 + spr_template 10079, 10079, gOamData_837DF34, gSpriteAnimTable_83D9840, NULL, gDummySpriteAffineAnimTable, sub_80D6294 + + .align 2 +gBattleAnimSpriteTemplate_83D985C:: @ 83D985C + spr_template 10011, 10011, gOamData_837DF8C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D6328 + + .align 2 +gBattleAnimSpriteTemplate_83D9874:: @ 83D9874 + spr_template 10171, 10171, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_807941C + + .align 2 +gSpriteAffineAnim_83D988C:: @ 83D988C + obj_rot_scal_anim_frame 0x0, 0x0, 20, 1 + obj_rot_scal_anim_jump 0 + + .align 2 +gSpriteAffineAnimTable_83D989C:: @ 83D989C + .4byte gSpriteAffineAnim_83D988C + + .align 2 +gBattleAnimSpriteTemplate_83D98A0:: @ 83D98A0 + spr_template 10011, 10011, gOamData_837DF8C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D989C, sub_80D648C + + .align 2 +gSpriteAnim_83D98B8:: @ 83D98B8 + obj_image_anim_frame 0, 6 + obj_image_anim_frame 16, 6 + obj_image_anim_frame 32, 6 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnimTable_83D98C8:: @ 83D98C8 + .4byte gSpriteAnim_83D98B8 + + .align 2 +gSpriteAffineAnim_83D98CC:: @ 83D98CC + obj_rot_scal_anim_frame 0xE8, 0xE8, 0, 0 + obj_rot_scal_anim_frame 0xFFF8, 0xFFF8, 0, 10 + obj_rot_scal_anim_frame 0x8, 0x8, 0, 10 + obj_rot_scal_anim_jump 1 + + .align 2 +gSpriteAffineAnimTable_83D98EC:: @ 83D98EC + .4byte gSpriteAffineAnim_83D98CC + + .align 2 +gBattleAnimSpriteTemplate_83D98F0:: @ 83D98F0 + spr_template 10282, 10282, gOamData_837DF94, gSpriteAnimTable_83D98C8, NULL, gSpriteAffineAnimTable_83D98EC, sub_80D65DC + + .align 2 +gBattleAnimSpriteTemplate_83D9908:: @ 83D9908 + spr_template 10011, 10011, gOamData_837DF8C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D989C, sub_80D6658 + + .align 2 +gBattleAnimSpriteTemplate_83D9920:: @ 83D9920 + spr_template 10011, 10011, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D679C + + .align 2 +gSpriteTemplate_83D9938:: @ 83D9938 + spr_template 10001, 10001, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D6A1C + + .align 2 +gBattleAnimSpriteTemplate_83D9950:: @ 83D9950 + spr_template 10173, 10173, gOamData_837DF54, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D6A6C + + .align 2 +gUnknown_083D9968:: @ 83D9968 + .incbin "baserom.gba", 0x003d9968, 0x20 + + .align 2 +gSpriteAnim_83D9988:: @ 83D9988 + obj_image_anim_frame 3, 1 + obj_image_anim_frame 2, 1 + obj_image_anim_frame 1, 1 + obj_image_anim_frame 0, 1 + obj_image_anim_end + + .align 2 +gSpriteAnim_83D999C:: @ 83D999C + obj_image_anim_frame 0, 5 + obj_image_anim_frame 1, 5 + obj_image_anim_frame 2, 5 + obj_image_anim_frame 3, 5 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83D99B0:: @ 83D99B0 + .4byte gSpriteAnim_83D9988 + .4byte gSpriteAnim_83D999C + + .align 2 +gSpriteTemplate_83D99B8:: @ 83D99B8 + spr_template 10211, 10211, gOamData_837DF24, gSpriteAnimTable_83D99B0, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gSpriteAffineAnim_83D99D0:: @ 83D99D0 + obj_rot_scal_anim_frame 0x10, 0x10, 0, 0 + obj_rot_scal_anim_frame 0x4, 0x4, 0, 60 + obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 + obj_rot_scal_anim_loop 0 + obj_rot_scal_anim_frame 0xFFFC, 0xFFFC, 0, 5 + obj_rot_scal_anim_frame 0x4, 0x4, 0, 5 + obj_rot_scal_anim_loop 10 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_83D9A10:: @ 83D9A10 + obj_rot_scal_anim_frame 0x10, 0x10, 0, 0 + obj_rot_scal_anim_frame 0x8, 0x8, 0, 30 + obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 + obj_rot_scal_anim_frame 0xFFFC, 0xFFFC, 0, 5 + obj_rot_scal_anim_frame 0x4, 0x4, 0, 5 + obj_rot_scal_anim_jump 3 + + .align 2 +gSpriteAffineAnim_83D9A40:: @ 83D9A40 + obj_rot_scal_anim_frame 0x10, 0x10, 0, 0 + obj_rot_scal_anim_frame 0x8, 0x8, 0, 30 + obj_rot_scal_anim_frame 0xFFF8, 0xFFF8, 0, 30 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_83D9A60:: @ 83D9A60 + .4byte gSpriteAffineAnim_83D99D0 + .4byte gSpriteAffineAnim_83D9A10 + .4byte gSpriteAffineAnim_83D9A40 + + .align 2 +gBattleAnimSpriteTemplate_83D9A6C:: @ 83D9A6C + spr_template 10212, 10212, gOamData_837E0BC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D9A60, sub_80D6D18 + + .align 2 +gSpriteAnim_83D9A84:: @ 83D9A84 + obj_image_anim_frame 0, 3 + obj_image_anim_frame 16, 3 + obj_image_anim_frame 32, 3 + obj_image_anim_frame 48, 3 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83D9A98:: @ 83D9A98 + .4byte gSpriteAnim_83D9A84 + + .align 2 +gBattleAnimSpriteTemplate_83D9A9C:: @ 83D9A9C + spr_template 10213, 10213, gOamData_837DF34, gSpriteAnimTable_83D9A98, NULL, gDummySpriteAffineAnimTable, sub_80D6D70 + + .align 2 +gBattleAnimSpriteTemplate_83D9AB4:: @ 83D9AB4 + spr_template 10212, 10212, gOamData_837E0BC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D9A60, sub_80D6DD8 + + .align 2 +gSpriteAnim_83D9ACC:: @ 83D9ACC + obj_image_anim_frame 0, 3 + obj_image_anim_end + + .align 2 +gSpriteAnim_83D9AD4:: @ 83D9AD4 + obj_image_anim_frame 2, 3 + obj_image_anim_end + + .align 2 +gSpriteAnim_83D9ADC:: @ 83D9ADC + obj_image_anim_frame 4, 3 + obj_image_anim_end + + .align 2 +gSpriteAnim_83D9AE4:: @ 83D9AE4 + obj_image_anim_frame 6, 3 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83D9AEC:: @ 83D9AEC + .4byte gSpriteAnim_83D9ACC + .4byte gSpriteAnim_83D9AD4 + .4byte gSpriteAnim_83D9ADC + .4byte gSpriteAnim_83D9AE4 + + .align 2 +gSpriteAffineAnim_83D9AFC:: @ 83D9AFC + obj_rot_scal_anim_frame 0x100, 0x100, 64, 0 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_83D9B0C:: @ 83D9B0C + .4byte gSpriteAffineAnim_83D9AFC + + .align 2 +gSpriteTemplate_83D9B10:: @ 83D9B10 + spr_template 10001, 10001, gOamData_837E024, gSpriteAnimTable_83D9AEC, NULL, gSpriteAffineAnimTable_83D9B0C, sub_80D7230 + + .align 2 +gBattleAnimSpriteTemplate_83D9B28:: @ 83D9B28 + spr_template 10212, 10212, gOamData_837E0BC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D9A60, sub_80D727C + + .align 2 +gSpriteTemplate_83D9B40:: @ 83D9B40 + spr_template 10001, 10001, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D755C + + .align 2 +gSpriteAnim_83D9B58:: @ 83D9B58 + obj_image_anim_frame 0, 5, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 1, 5, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_jump 0 + + .align 2 +gSpriteAnimTable_83D9B64:: @ 83D9B64 + .4byte gSpriteAnim_83D9B58 + + .align 2 +gSpriteTemplate_83D9B68:: @ 83D9B68 + spr_template 10141, 10141, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D7704 + + .align 2 +gSpriteAnim_83D9B80:: @ 83D9B80 + obj_image_anim_frame 0, 1 + obj_image_anim_end + + .align 2 +gSpriteAnim_83D9B88:: @ 83D9B88 + obj_image_anim_frame 4, 1 + obj_image_anim_end + + .align 2 +gSpriteAnim_83D9B90:: @ 83D9B90 + obj_image_anim_frame 6, 1 + obj_image_anim_end + + .align 2 +gSpriteAnim_83D9B98:: @ 83D9B98 + obj_image_anim_frame 7, 1 + obj_image_anim_end + + .align 2 +gSpriteAnim_83D9BA0:: @ 83D9BA0 + obj_image_anim_frame 8, 1 + obj_image_anim_end + + .align 2 +gSpriteAnim_83D9BA8:: @ 83D9BA8 + obj_image_anim_frame 12, 6 + obj_image_anim_frame 13, 6 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnimTable_83D9BB4:: @ 83D9BB4 + .4byte gSpriteAnim_83D9B80 + + .align 2 +gSpriteAnimTable_83D9BB8:: @ 83D9BB8 + .4byte gSpriteAnim_83D9B88 + + .align 2 +gSpriteAnimTable_83D9BBC:: @ 83D9BBC + .4byte gSpriteAnim_83D9B90 + + .align 2 +gSpriteAnimTable_83D9BC0:: @ 83D9BC0 + .4byte gSpriteAnim_83D9B98 + + .align 2 +gSpriteAnimTable_83D9BC4:: @ 83D9BC4 + .4byte gSpriteAnim_83D9BA0 + + .align 2 +gSpriteAnimTable_83D9BC8:: @ 83D9BC8 + .4byte gSpriteAnim_83D9BA8 + + .align 2 +gSpriteAffineAnim_83D9BCC:: @ 83D9BCC + obj_rot_scal_anim_frame 0x0, 0x0, 40, 1 + obj_rot_scal_anim_jump 0 + + .align 2 +gSpriteAffineAnimTable_83D9BDC:: @ 83D9BDC + .4byte gSpriteAffineAnim_83D9BCC + + .align 2 +gBattleAnimSpriteTemplate_83D9BE0:: @ 83D9BE0 + spr_template 10141, 10141, gOamData_837E144, gSpriteAnimTable_83D9BB8, NULL, gSpriteAffineAnimTable_83D9BDC, sub_80D78EC + + .align 2 +gBattleAnimSpriteTemplate_83D9BF8:: @ 83D9BF8 + spr_template 10141, 10141, gOamData_837E044, gSpriteAnimTable_83D9BBC, NULL, gDummySpriteAffineAnimTable, sub_80D78EC + + .align 2 +gSpriteAffineAnim_83D9C10:: @ 83D9C10 + obj_rot_scal_anim_frame 0x0, 0x0, 10, 1 + obj_rot_scal_anim_jump 0 + + .align 2 +gSpriteAffineAnimTable_83D9C20:: @ 83D9C20 + .4byte gSpriteAffineAnim_83D9C10 + + .align 2 +gBattleAnimSpriteTemplate_83D9C24:: @ 83D9C24 + spr_template 10141, 10141, gOamData_837E0E4, gSpriteAnimTable_83D9BB8, NULL, gSpriteAffineAnimTable_83D9C20, sub_80D792C + + .align 2 +gBattleAnimSpriteTemplate_83D9C3C:: @ 83D9C3C + spr_template 10141, 10141, gOamData_837E044, gSpriteAnimTable_83D9BBC, NULL, gDummySpriteAffineAnimTable, sub_80D792C + + .align 2 +gSpriteAffineAnim_83D9C54:: @ 83D9C54 + obj_rot_scal_anim_frame 0xCE, 0xCE, 0, 0 + obj_rot_scal_anim_frame 0x5, 0x5, 0, 10 + obj_rot_scal_anim_frame 0x0, 0x0, 0, 6 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_83D9C74:: @ 83D9C74 + .4byte gSpriteAffineAnim_83D9C54 + + .align 2 +gBattleAnimSpriteTemplate_83D9C78:: @ 83D9C78 + spr_template 10141, 10141, gOamData_837E0E4, gSpriteAnimTable_83D9BB8, NULL, gSpriteAffineAnimTable_83D9C74, sub_80D79B4 + + .align 2 +gBattleAnimSpriteTemplate_83D9C90:: @ 83D9C90 + spr_template 10141, 10141, gOamData_837E0A4, gSpriteAnimTable_83D9BBC, NULL, gSpriteAffineAnimTable_83D9C74, sub_80D79B4 + + .align 2 +gBattleAnimSpriteTemplate_83D9CA8:: @ 83D9CA8 + spr_template 10141, 10141, gOamData_837DF24, gSpriteAnimTable_83D9BC0, NULL, gDummySpriteAffineAnimTable, sub_80D7A64 + + .align 2 +gBattleAnimSpriteTemplate_83D9CC0:: @ 83D9CC0 + spr_template 10141, 10141, gOamData_837DF2C, gSpriteAnimTable_83D9BC4, NULL, gDummySpriteAffineAnimTable, sub_80D7CD4 + + .align 2 +gBattleAnimSpriteTemplate_83D9CD8:: @ 83D9CD8 + spr_template 10141, 10141, gOamData_837DF24, gSpriteAnimTable_83D9BC0, NULL, gDummySpriteAffineAnimTable, sub_80D7CD4 + + .align 2 +gSpriteAnim_83D9CF0:: @ 83D9CF0 + obj_image_anim_frame 0, 5 + obj_image_anim_frame 2, 5 + obj_image_anim_frame 4, 5 + obj_image_anim_frame 6, 5 + obj_image_anim_frame 4, 5 + obj_image_anim_frame 2, 5 + obj_image_anim_frame 0, 5 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83D9D10:: @ 83D9D10 + .4byte gSpriteAnim_83D9CF0 + + .align 2 +gBattleAnimSpriteTemplate_83D9D14:: @ 83D9D14 + spr_template 10142, 10142, gOamData_837E084, gSpriteAnimTable_83D9D10, NULL, gDummySpriteAffineAnimTable, sub_80D7E88 + + .align 2 +gSpriteAnim_83D9D2C:: @ 83D9D2C + obj_image_anim_frame 0, 8 + obj_image_anim_frame 8, 8 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnimTable_83D9D38:: @ 83D9D38 + .4byte gSpriteAnim_83D9D2C + + .align 2 +gBattleAnimSpriteTemplate_83D9D3C:: @ 83D9D3C + spr_template 10144, 10144, gOamData_837E074, gSpriteAnimTable_83D9D38, NULL, gDummySpriteAffineAnimTable, sub_80D7F10 + + .align 2 +gBattleAnimSpriteTemplate_83D9D54:: @ 83D9D54 + spr_template 10172, 10172, gOamData_837E074, gSpriteAnimTable_83D9D38, NULL, gDummySpriteAffineAnimTable, sub_80D7F10 + + .align 2 +gUnknown_083D9D6C:: @ 83D9D6C + .incbin "baserom.gba", 0x003d9d6c, 0x14 + + .align 2 +gBattleAnimSpriteTemplate_83D9D80:: @ 83D9D80 + spr_template 10155, 10155, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D83E0 + + .align 2 +gUnknown_083D9D98:: @ 83D9D98 + .incbin "baserom.gba", 0x003d9d98, 0x14 + + .align 2 +gBattleAnimSpriteTemplate_83D9DAC:: @ 83D9DAC + spr_template 10172, 10172, gOamData_837E074, gSpriteAnimTable_83D9D38, NULL, gDummySpriteAffineAnimTable, sub_80D8700 + + .align 2 +gUnknown_083D9DC4:: @ 83D9DC4 + .incbin "baserom.gba", 0x003d9dc4, 0x28 + + .align 2 +gSpriteAffineAnim_83D9DEC:: @ 83D9DEC + obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_83D9DFC:: @ 83D9DFC + obj_rot_scal_anim_frame 0xF0, 0xF0, 0, 0 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_83D9E0C:: @ 83D9E0C + obj_rot_scal_anim_frame 0xE0, 0xE0, 0, 0 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_83D9E1C:: @ 83D9E1C + obj_rot_scal_anim_frame 0x150, 0x150, 0, 0 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_83D9E2C:: @ 83D9E2C + .4byte gSpriteAffineAnim_83D9DEC + .4byte gSpriteAffineAnim_83D9DFC + .4byte gSpriteAffineAnim_83D9E0C + + .align 2 +gSpriteAffineAnimTable_83D9E38:: @ 83D9E38 + .4byte gSpriteAffineAnim_83D9E1C + + .align 2 +gSpriteTemplate_83D9E3C:: @ 83D9E3C + spr_template 10263, 10263, gOamData_837DF8C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D9E2C, sub_80D8D1C + + .align 2 +gBattleAnimSpriteTemplate_83D9E54:: @ 83D9E54 + spr_template 10263, 10263, gOamData_837DF8C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83D9E38, sub_807A9BC + + .align 2 +gSpriteAnim_83D9E6C:: @ 83D9E6C + obj_image_anim_frame 0, 1 + obj_image_anim_end + + .align 2 +gSpriteAnim_83D9E74:: @ 83D9E74 + obj_image_anim_frame 16, 4 + obj_image_anim_frame 32, 4 + obj_image_anim_frame 48, 4 + obj_image_anim_frame 64, 4 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83D9E88:: @ 83D9E88 + .4byte gSpriteAnim_83D9E6C + .4byte gSpriteAnim_83D9E74 + + .align 2 +gSpriteAffineAnim_83D9E90:: @ 83D9E90 + obj_rot_scal_anim_frame 0xE0, 0xE0, 0, 0 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_83D9EA0:: @ 83D9EA0 + obj_rot_scal_anim_frame 0x118, 0x118, 0, 0 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_83D9EB0:: @ 83D9EB0 + obj_rot_scal_anim_frame 0x150, 0x150, 0, 0 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_83D9EC0:: @ 83D9EC0 + obj_rot_scal_anim_frame 0x180, 0x180, 0, 0 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_83D9ED0:: @ 83D9ED0 + obj_rot_scal_anim_frame 0x1C0, 0x1C0, 0, 0 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_83D9EE0:: @ 83D9EE0 + .4byte gSpriteAffineAnim_83D9E90 + .4byte gSpriteAffineAnim_83D9EA0 + .4byte gSpriteAffineAnim_83D9EB0 + .4byte gSpriteAffineAnim_83D9EC0 + .4byte gSpriteAffineAnim_83D9ED0 + + .align 2 +gBattleAnimSpriteTemplate_83D9EF4:: @ 83D9EF4 + spr_template 10043, 10043, gOamData_837DFF4, gSpriteAnimTable_83D9E88, NULL, gSpriteAffineAnimTable_83D9EE0, unc_080B06FC + + .align 2 +gBattleAnimSpriteTemplate_83D9F0C:: @ 83D9F0C + spr_template 10141, 10141, gOamData_837DF24, gSpriteAnimTable_83D9BBC, NULL, gDummySpriteAffineAnimTable, sub_80D8F10 + + .align 2 +gSpriteTemplate_83D9F24:: @ 83D9F24 + spr_template 10050, 10050, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, unc_080B08A0 + + .align 2 +gSpriteAnim_83D9F3C:: @ 83D9F3C + obj_image_anim_frame 0, 1 + obj_image_anim_end + + .align 2 +gSpriteAnim_83D9F44:: @ 83D9F44 + obj_image_anim_frame 16, 1 + obj_image_anim_end + + .align 2 +gSpriteAnim_83D9F4C:: @ 83D9F4C + obj_image_anim_frame 32, 1 + obj_image_anim_end + + .align 2 +gSpriteAnim_83D9F54:: @ 83D9F54 + obj_image_anim_frame 48, 1 + obj_image_anim_end + + .align 2 +gSpriteAnim_83D9F5C:: @ 83D9F5C + obj_image_anim_frame 48, 1, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83D9F64:: @ 83D9F64 + .4byte gSpriteAnim_83D9F3C + + .align 2 +gSpriteAnimTable_83D9F68:: @ 83D9F68 + .4byte gSpriteAnim_83D9F44 + .4byte gSpriteAnim_83D9F4C + + .align 2 +gSpriteAnimTable_83D9F70:: @ 83D9F70 + .4byte gSpriteAnim_83D9F54 + .4byte gSpriteAnim_83D9F5C + + .align 2 +gBattleAnimSpriteTemplate_83D9F78:: @ 83D9F78 + spr_template 10143, 10143, gOamData_837DF34, gSpriteAnimTable_83D9F64, NULL, gDummySpriteAffineAnimTable, sub_80D902C + + .align 2 +gBattleAnimSpriteTemplate_83D9F90:: @ 83D9F90 + spr_template 10143, 10143, gOamData_837DF34, gSpriteAnimTable_83D9F64, NULL, gDummySpriteAffineAnimTable, sub_80D9078 + + .align 2 +gBattleAnimSpriteTemplate_83D9FA8:: @ 83D9FA8 + spr_template 10143, 10143, gOamData_837DF34, gSpriteAnimTable_83D9F64, NULL, gDummySpriteAffineAnimTable, sub_80D90A4 + + .align 2 +gBattleAnimSpriteTemplate_83D9FC0:: @ 83D9FC0 + spr_template 10143, 10143, gOamData_837DF34, gSpriteAnimTable_83D9F64, NULL, gDummySpriteAffineAnimTable, sub_80D90F4 + + .align 2 +gBattleAnimSpriteTemplate_83D9FD8:: @ 83D9FD8 + spr_template 10143, 10143, gOamData_837DF34, gSpriteAnimTable_83D9F70, NULL, gDummySpriteAffineAnimTable, sub_80D92D0 + + .align 2 +gBattleAnimSpriteTemplate_83D9FF0:: @ 83D9FF0 + spr_template 10143, 10143, gOamData_837DF34, gSpriteAnimTable_83D9F68, NULL, gDummySpriteAffineAnimTable, sub_80D9378 + + .align 2 +gSpriteAffineAnim_83DA008:: @ 83DA008 + obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 + obj_rot_scal_anim_frame 0xFFF8, 0xFFF8, 20, 1 + obj_rot_scal_anim_jump 1 + + .align 2 +gSpriteAffineAnimTable_83DA020:: @ 83DA020 + .4byte gSpriteAffineAnim_83DA008 + + .align 2 +gBattleAnimSpriteTemplate_83DA024:: @ 83DA024 + spr_template 10143, 10143, gOamData_837DFF4, gSpriteAnimTable_83D9F64, NULL, gSpriteAffineAnimTable_83DA020, sub_80D943C + + .align 2 +gSpriteAffineAnim_83DA03C:: @ 83DA03C + obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 + obj_rot_scal_anim_frame 0xFFFC, 0xFFFC, 20, 1 + obj_rot_scal_anim_jump 1 + + .align 2 +gSpriteAffineAnimTable_83DA054:: @ 83DA054 + .4byte gSpriteAffineAnim_83DA03C + + .align 2 +gBattleAnimSpriteTemplate_83DA058:: @ 83DA058 + spr_template 10143, 10143, gOamData_837DFF4, gSpriteAnimTable_83D9F64, NULL, gSpriteAffineAnimTable_83DA054, sub_80D943C + + .align 2 +gBattleAnimSpriteTemplate_83DA070:: @ 83DA070 + spr_template 10143, 10143, gOamData_837DF34, gSpriteAnimTable_83D9F68, NULL, gDummySpriteAffineAnimTable, sub_80D94A8 + + .align 2 +gBattleAnimSpriteTemplate_83DA088:: @ 83DA088 + spr_template 10073, 10073, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D9540 + + .align 2 +gBattleAnimSpriteTemplate_83DA0A0:: @ 83DA0A0 + spr_template 10167, 10167, gOamData_837E05C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D95D0 + + .align 2 +gBattleAnimSpriteTemplate_83DA0B8:: @ 83DA0B8 + spr_template 10208, 10208, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D96B8 + + .align 2 +gSpriteAffineAnim_83DA0D0:: @ 83DA0D0 + obj_rot_scal_anim_frame 0x20, 0x20, 0, 0 + obj_rot_scal_anim_frame 0x4, 0x4, 0, 64 + obj_rot_scal_anim_frame 0xFFFA, 0xFFFA, 0, 8 + obj_rot_scal_anim_frame 0x6, 0x6, 0, 8 + obj_rot_scal_anim_jump 2 + + .align 2 +gSpriteAffineAnimTable_83DA0F8:: @ 83DA0F8 + .4byte gSpriteAffineAnim_83DA0D0 + + .align 2 +gBattleAnimSpriteTemplate_83DA0FC:: @ 83DA0FC + spr_template 10212, 10212, gOamData_837E11C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DA0F8, sub_80D97CC + + .align 2 +gBattleAnimSpriteTemplate_83DA114:: @ 83DA114 + spr_template 10257, 10257, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D98D8 + + .align 2 +gBattleAnimSpriteTemplate_83DA12C:: @ 83DA12C + spr_template 10256, 10256, gOamData_837DF3C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D9A38 + + .align 2 +gBattleAnimSpriteTemplate_83DA144:: @ 83DA144 + spr_template 10143, 10143, gOamData_837DF34, gSpriteAnimTable_83D9F64, NULL, gDummySpriteAffineAnimTable, sub_80D9B48 + + .align 2 +gSpriteAnim_83DA15C:: @ 83DA15C + obj_image_anim_frame 0, 4 + obj_image_anim_frame 16, 4 + obj_image_anim_frame 32, 4 + obj_image_anim_end + + .align 2 +gSpriteAnim_83DA16C:: @ 83DA16C + obj_image_anim_frame 0, 4, OBJ_IMAGE_ANIM_V_FLIP + obj_image_anim_frame 16, 4, OBJ_IMAGE_ANIM_V_FLIP + obj_image_anim_frame 32, 4, OBJ_IMAGE_ANIM_V_FLIP + obj_image_anim_end + + .align 2 +gSpriteAnim_83DA17C:: @ 83DA17C + obj_image_anim_frame 0, 4, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 16, 4, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 32, 4, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83DA18C:: @ 83DA18C + .4byte gSpriteAnim_83DA15C + .4byte gSpriteAnim_83DA16C + .4byte gSpriteAnim_83DA17C + + .align 2 +gBattleAnimSpriteTemplate_83DA198:: @ 83DA198 + spr_template 10245, 10245, gOamData_837DF34, gSpriteAnimTable_83DA18C, NULL, gDummySpriteAffineAnimTable, sub_80D9BD4 + + .align 2 +gSpriteAnim_83DA1B0:: @ 83DA1B0 + obj_image_anim_frame 0, 6 + obj_image_anim_frame 64, 6 + obj_image_anim_end + + .align 2 +gSpriteAnim_83DA1BC:: @ 83DA1BC + obj_image_anim_frame 0, 6, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 64, 6, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_end + + .align 2 +gSpriteAnim_83DA1C8:: @ 83DA1C8 + obj_image_anim_frame 0, 6, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 64, 6, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83DA1D4:: @ 83DA1D4 + .4byte gSpriteAnim_83DA1B0 + .4byte gSpriteAnim_83DA1BC + .4byte gSpriteAnim_83DA1C8 + + .align 2 +gBattleAnimSpriteTemplate_83DA1E0:: @ 83DA1E0 + spr_template 10246, 10246, gOamData_837DF3C, gSpriteAnimTable_83DA1D4, NULL, gDummySpriteAffineAnimTable, sub_80D9BD4 + + .align 2 +gSpriteAffineAnim_83DA1F8:: @ 83DA1F8 + obj_rot_scal_anim_frame 0x200, 0x200, 0, 0 + obj_rot_scal_anim_frame 0xFFE0, 0xFFE0, 0, 8 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_83DA210:: @ 83DA210 + .4byte gSpriteAffineAnim_83DA1F8 + + .align 2 +gBattleAnimSpriteTemplate_83DA214:: @ 83DA214 + spr_template 10143, 10143, gOamData_837DFF4, gSpriteAnimTable_83D9F64, NULL, gSpriteAffineAnimTable_83DA210, sub_80D9C40 + + .align 2 +gSpriteAnim_83DA22C:: @ 83DA22C + obj_image_anim_frame 0, 5 + obj_image_anim_frame 8, 5 + obj_image_anim_frame 16, 5 + obj_image_anim_frame 24, 5 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83DA240:: @ 83DA240 + .4byte gSpriteAnim_83DA22C + + .align 2 +gBattleAnimSpriteTemplate_83DA244:: @ 83DA244 + spr_template 10151, 10151, gOamData_837DF74, gSpriteAnimTable_83DA240, NULL, gDummySpriteAffineAnimTable, sub_80793C4 + + .align 2 +gSpriteAnim_83DA25C:: @ 83DA25C + obj_image_anim_frame 0, 1 + obj_image_anim_end + + .align 2 +gSpriteAnim_83DA264:: @ 83DA264 + obj_image_anim_frame 4, 1 + obj_image_anim_end + + .align 2 +gSpriteAnim_83DA26C:: @ 83DA26C + obj_image_anim_frame 8, 1 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83DA274:: @ 83DA274 + .4byte gSpriteAnim_83DA25C + + .align 2 +gSpriteAnimTable_83DA278:: @ 83DA278 + .4byte gSpriteAnim_83DA264 + + .align 2 +gSpriteAnimTable_83DA27C:: @ 83DA27C + .4byte gSpriteAnim_83DA26C + + .align 2 +gSpriteAffineAnim_83DA280:: @ 83DA280 + obj_rot_scal_anim_frame 0x160, 0x160, 0, 0 + obj_rot_scal_anim_frame 0xFFF6, 0xFFF6, 0, 10 + obj_rot_scal_anim_frame 0xA, 0xA, 0, 10 + obj_rot_scal_anim_jump 0 + + .align 2 +gSpriteAffineAnim_83DA2A0:: @ 83DA2A0 + obj_rot_scal_anim_frame 0xEC, 0xEC, 0, 0 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_83DA2B0:: @ 83DA2B0 + .4byte gSpriteAffineAnim_83DA280 + + .align 2 +gSpriteAffineAnimTable_83DA2B4:: @ 83DA2B4 + .4byte gSpriteAffineAnim_83DA2A0 + + .align 2 +gBattleAnimSpriteTemplate_83DA2B8:: @ 83DA2B8 + spr_template 10150, 10150, gOamData_837DFEC, gSpriteAnimTable_83DA274, NULL, gSpriteAffineAnimTable_83DA2B0, sub_80D9D70 + + .align 2 +gBattleAnimSpriteTemplate_83DA2D0:: @ 83DA2D0 + spr_template 10150, 10150, gOamData_837DFEC, gSpriteAnimTable_83DA274, NULL, gSpriteAffineAnimTable_83DA2B0, sub_80D9DF0 + + .align 2 +gBattleAnimSpriteTemplate_83DA2E8:: @ 83DA2E8 + spr_template 10150, 10150, gOamData_837DF8C, gSpriteAnimTable_83DA27C, NULL, gSpriteAffineAnimTable_83DA2B4, sub_80D9E94 + + .align 2 +gSpriteAffineAnim_83DA300:: @ 83DA300 + obj_rot_scal_anim_frame 0xFFF0, 0x10, 0, 6 + obj_rot_scal_anim_frame 0x10, 0xFFF0, 0, 6 + obj_rot_scal_anim_jump 0 + + .align 2 +gSpriteAffineAnimTable_83DA318:: @ 83DA318 + .4byte gSpriteAffineAnim_83DA300 + + .align 2 +gBattleAnimSpriteTemplate_83DA31C:: @ 83DA31C + spr_template 10150, 10150, gOamData_837DFEC, gSpriteAnimTable_83DA278, NULL, gSpriteAffineAnimTable_83DA318, sub_80D9F14 + + .align 2 +gSpriteAffineAnim_83DA334:: @ 83DA334 + obj_rot_scal_anim_frame 0x9C, 0x9C, 0, 0 + obj_rot_scal_anim_frame 0x5, 0x5, 0, 20 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_83DA34C:: @ 83DA34C + .4byte gSpriteAffineAnim_83DA334 + + .align 2 +gBattleAnimSpriteTemplate_83DA350:: @ 83DA350 + spr_template 10150, 10150, gOamData_837DF8C, gSpriteAnimTable_83DA274, NULL, gSpriteAffineAnimTable_83DA34C, sub_80D9F88 + + .align 2 +gBattleAnimSpriteTemplate_83DA368:: @ 83DA368 + spr_template 10155, 10155, gOamData_837E0AC, gSpriteAnimTable_83D9310, NULL, gSpriteAffineAnimTable_83DA34C, sub_80D9F88 + + .align 2 +gBattleAnimSpriteTemplate_83DA380:: @ 83DA380 + spr_template 10009, 10009, gOamData_837DF7C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DA034 + + .align 2 +gSpriteAffineAnim_83DA398:: @ 83DA398 + obj_rot_scal_anim_frame 0x10, 0x100, 0, 0 + obj_rot_scal_anim_frame 0xA, 0x0, 0, 24 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_83DA3B0:: @ 83DA3B0 + .4byte gSpriteAffineAnim_83DA398 + + .align 2 +gBattleAnimSpriteTemplate_83DA3B4:: @ 83DA3B4 + spr_template 10009, 10009, gOamData_837DFDC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DA3B0, sub_80DA16C + + .align 2 +gSpriteAnim_83DA3CC:: @ 83DA3CC + obj_image_anim_frame 0, 3 + obj_image_anim_frame 0, 3, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 0, 3, OBJ_IMAGE_ANIM_V_FLIP + obj_image_anim_frame 0, 3, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_jump 0 + + .align 2 +gSpriteAnimTable_83DA3E0:: @ 83DA3E0 + .4byte gSpriteAnim_83DA3CC + + .align 2 +gBattleAnimSpriteTemplate_83DA3E4:: @ 83DA3E4 + spr_template 10154, 10154, gOamData_837DF54, gSpriteAnimTable_83DA3E0, NULL, gDummySpriteAffineAnimTable, sub_80DA208 + + .align 2 +gSpriteAffineAnim_83DA3FC:: @ 83DA3FC + obj_rot_scal_anim_frame 0x10, 0x100, 0, 0 + obj_rot_scal_anim_frame 0x28, 0x0, 0, 6 + obj_rot_scal_anim_frame 0x0, 0xFFE0, 0, 5 + obj_rot_scal_anim_frame 0xFFF0, 0x20, 0, 10 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_83DA424:: @ 83DA424 + .4byte gSpriteAffineAnim_83DA3FC + + .align 2 +gSpriteAffineAnim_83DA428:: @ 83DA428 + obj_rot_scal_anim_frame 0x0, 0x0, 50, 1 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_83DA438:: @ 83DA438 + obj_rot_scal_anim_frame 0x0, 0x0, -40, 1 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_83DA448:: @ 83DA448 + .4byte gSpriteAffineAnim_83DA428 + .4byte gSpriteAffineAnim_83DA438 + + .align 2 +gBattleAnimSpriteTemplate_83DA450:: @ 83DA450 + spr_template 10156, 10156, gOamData_837DFFC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DA424, sub_80DA300 + + .align 2 +gBattleAnimSpriteTemplate_83DA468:: @ 83DA468 + spr_template 10156, 10156, gOamData_837DF9C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DA448, sub_80DA38C + + .align 2 +gSpriteAnim_83DA480:: @ 83DA480 + obj_image_anim_frame 0, 0 + obj_image_anim_end + + .align 2 +gSpriteAnim_83DA488:: @ 83DA488 + obj_image_anim_frame 16, 0, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83DA490:: @ 83DA490 + .4byte gSpriteAnim_83DA480 + .4byte gSpriteAnim_83DA488 + + .align 2 +gBattleAnimSpriteTemplate_83DA498:: @ 83DA498 + spr_template 10270, 10270, gOamData_837DF94, gSpriteAnimTable_83DA490, NULL, gDummySpriteAffineAnimTable, sub_80DA4D8 + + .align 2 + .incbin "baserom.gba", 0x003da4b0, 0x20 + + .align 2 +gSpriteTemplate_83DA4D0:: @ 83DA4D0 + spr_template 10155, 10155, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DAD30 + + .align 2 +gSpriteTemplate_83DA4E8:: @ 83DA4E8 + spr_template 10270, 10270, gOamData_837DF94, gSpriteAnimTable_83DA490, NULL, gDummySpriteAffineAnimTable, sub_80DAD84 + + .align 2 +gSpriteAnim_83DA500:: @ 83DA500 + obj_image_anim_frame 0, 1 + obj_image_anim_frame 8, 1 + obj_image_anim_frame 16, 1 + obj_image_anim_frame 8, 1, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 0, 1, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83DA518:: @ 83DA518 + .4byte gSpriteAnim_83DA500 + + .align 2 +gBattleAnimSpriteTemplate_83DA51C:: @ 83DA51C + spr_template 10162, 10162, gOamData_837DF54, gSpriteAnimTable_83DA518, NULL, gDummySpriteAffineAnimTable, sub_80DB000 + + .align 2 +gSpriteAffineAnim_83DA534:: @ 83DA534 + obj_rot_scal_anim_frame 0x10, 0x100, 0, 0 + obj_rot_scal_anim_frame 0x28, 0x0, 0, 6 + obj_rot_scal_anim_frame 0x0, 0xFFE0, 0, 5 + obj_rot_scal_anim_frame 0xFFEC, 0x0, 0, 7 + obj_rot_scal_anim_frame 0xFFEC, 0xFFEC, 0, 5 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_83DA564:: @ 83DA564 + .4byte gSpriteAffineAnim_83DA534 + + .align 2 +gBattleAnimSpriteTemplate_83DA568:: @ 83DA568 + spr_template 10156, 10156, gOamData_837DFFC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DA564, sub_80DB194 + + .align 2 +gSpriteAffineAnim_83DA580:: @ 83DA580 + obj_rot_scal_anim_frame 0xA0, 0x100, 0, 0 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_83DA590:: @ 83DA590 + .4byte gSpriteAffineAnim_83DA580 + + .align 2 +gBattleAnimSpriteTemplate_83DA594:: @ 83DA594 + spr_template 10156, 10156, gOamData_837DFFC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DA590, sub_80DB1F4 + + .align 2 +gSpriteAffineAnim_83DA5AC:: @ 83DA5AC + obj_rot_scal_anim_frame 0x10, 0x100, 0, 0 + obj_rot_scal_anim_frame 0x28, 0x0, 0, 6 + obj_rot_scal_anim_frame 0x0, 0xFFE0, 0, 5 + obj_rot_scal_anim_frame 0xFFF0, 0x20, 0, 10 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_83DA5D4:: @ 83DA5D4 + .4byte gSpriteAffineAnim_83DA5AC + + .align 2 +gBattleAnimSpriteTemplate_83DA5D8:: @ 83DA5D8 + spr_template 10156, 10156, gOamData_837DFFC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DA5D4, sub_80DB288 + + .align 2 +gSpriteAffineAnim_83DA5F0:: @ 83DA5F0 + obj_rot_scal_anim_frame 0x100, 0x0, 0, 0 + obj_rot_scal_anim_frame 0x0, 0x20, 0, 12 + obj_rot_scal_anim_frame 0x0, 0xFFE0, 0, 11 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_83DA610:: @ 83DA610 + .4byte gSpriteAffineAnim_83DA5F0 + + .align 2 +gBattleAnimSpriteTemplate_83DA614:: @ 83DA614 + spr_template 10272, 10272, gOamData_837DFFC, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DB374 + + .align 2 +gBattleAnimSpriteTemplate_83DA62C:: @ 83DA62C + spr_template 10273, 10273, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DB458 + + .align 2 +gSpriteTemplate_83DA644:: @ 83DA644 + spr_template 10212, 10212, gOamData_837E05C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DB564 + + .align 2 +gBattleAnimSpriteTemplate_83DA65C:: @ 83DA65C + spr_template 10284, 10284, gOamData_837DFFC, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DB5E4 + + .align 2 +gSpriteAffineAnim_83DA674:: @ 83DA674 + obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 + obj_rot_scal_anim_frame 0xFFFE, 0xFFFE, -10, 120 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_83DA68C:: @ 83DA68C + .4byte gSpriteAffineAnim_83DA674 + + .align 2 +gBattleAnimSpriteTemplate_83DA690:: @ 83DA690 + spr_template 10196, 10196, gOamData_837E0BC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DA68C, sub_80793C4 + + .align 2 +gBattleAnimSpriteTemplate_83DA6A8:: @ 83DA6A8 + spr_template 10166, 10166, gOamData_837E05C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DB74C + + .align 2 +gBattleAnimSpriteTemplate_83DA6C0:: @ 83DA6C0 + spr_template 10167, 10167, gOamData_837E05C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DB74C + + .align 2 +gBattleAnimSpriteTemplate_83DA6D8:: @ 83DA6D8 + spr_template 10168, 10168, gOamData_837E05C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DB74C + + .align 2 +gBattleAnimSpriteTemplate_83DA6F0:: @ 83DA6F0 + spr_template 10169, 10169, gOamData_837E05C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DB74C + + .align 2 +gBattleAnimSpriteTemplate_83DA708:: @ 83DA708 + spr_template 10170, 10170, gOamData_837E05C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DB74C + + .align 2 +gSpriteAnim_83DA720:: @ 83DA720 + obj_image_anim_frame 0, 3 + obj_image_anim_frame 16, 3 + obj_image_anim_frame 32, 3 + obj_image_anim_frame 48, 3 + obj_image_anim_frame 64, 3 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83DA738:: @ 83DA738 + .4byte gSpriteAnim_83DA720 + + .align 2 +gBattleAnimSpriteTemplate_83DA73C:: @ 83DA73C + spr_template 10071, 10071, gOamData_837DF34, gSpriteAnimTable_83DA738, NULL, gDummySpriteAffineAnimTable, sub_80DBA4C + + .align 2 +gSpriteAnim_83DA754:: @ 83DA754 + obj_image_anim_frame 0, 5 + obj_image_anim_frame 4, 5 + obj_image_anim_frame 8, 5 + obj_image_anim_frame 12, 5 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83DA768:: @ 83DA768 + .4byte gSpriteAnim_83DA754 + + .align 2 +gBattleAnimSpriteTemplate_83DA76C:: @ 83DA76C + spr_template 10070, 10070, gOamData_837DF2C, gSpriteAnimTable_83DA768, NULL, gDummySpriteAffineAnimTable, sub_80DBA4C + + .align 2 +gBattleAnimSpriteTemplate_83DA784:: @ 83DA784 + spr_template 10163, 10163, gOamData_837DF74, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_807941C + + .align 2 +gSpriteAnim_83DA79C:: @ 83DA79C + obj_image_anim_frame 8, 60, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 16, 5, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 8, 5, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 0, 5, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 8, 22, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_loop 0 + obj_image_anim_frame 16, 5, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 8, 5, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 0, 5, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 8, 5, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_loop 1 + obj_image_anim_frame 8, 22, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 24, 3, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 32, 3, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 40, 22, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_end + + .align 2 +gSpriteAnim_83DA7DC:: @ 83DA7DC + obj_image_anim_frame 8, 60 + obj_image_anim_frame 16, 5 + obj_image_anim_frame 8, 5 + obj_image_anim_frame 0, 5 + obj_image_anim_frame 8, 22 + obj_image_anim_loop 0 + obj_image_anim_frame 16, 5 + obj_image_anim_frame 8, 5 + obj_image_anim_frame 0, 5 + obj_image_anim_frame 8, 5 + obj_image_anim_loop 1 + obj_image_anim_frame 8, 22 + obj_image_anim_frame 24, 3 + obj_image_anim_frame 32, 3 + obj_image_anim_frame 40, 22 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83DA81C:: @ 83DA81C + .4byte gSpriteAnim_83DA79C + .4byte gSpriteAnim_83DA7DC + + .align 2 +gBattleAnimSpriteTemplate_83DA824:: @ 83DA824 + spr_template 10097, 10097, gOamData_837DF74, gSpriteAnimTable_83DA81C, NULL, gDummySpriteAffineAnimTable, sub_80DBAF4 + + .align 2 +gSpriteAnim_83DA83C:: @ 83DA83C + obj_image_anim_frame 0, 6 + obj_image_anim_frame 16, 6 + obj_image_anim_frame 32, 6 + obj_image_anim_frame 48, 6 + obj_image_anim_frame 64, 6 + obj_image_anim_frame 80, 6 + obj_image_anim_frame 96, 18 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83DA85C:: @ 83DA85C + .4byte gSpriteAnim_83DA83C + + .align 2 +Unknown_3DA860:: @ 83DA860 + .incbin "baserom.gba", 0x3da860, 0x28 + + .align 2 +gUnknown_083DA888:: @ 83DA888 + .4byte Unknown_3DA860 + + .align 2 +gBattleAnimSpriteTemplate_83DA88C:: @ 83DA88C + spr_template 10093, 10093, gOamData_837DF34, gSpriteAnimTable_83DA85C, NULL, gDummySpriteAffineAnimTable, sub_80DBB70 + + .align 2 +gUnknown_083DA8A4:: @ 83DA8A4 + .incbin "baserom.gba", 0x003da8a4, 0x20 + +gUnknown_083DA8C4:: @ 83DA8C4 + .incbin "baserom.gba", 0x003da8c4, 0x18 + + .align 2 +gSpriteTemplate_83DA8DC:: @ 83DA8DC + spr_template 10249, 10249, gOamData_837E04C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gBattleAnimSpriteTemplate_83DA8F4:: @ 83DA8F4 + spr_template 10250, 10250, gOamData_837DF3C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DC068 + + .align 2 +gSpriteAffineAnim_83DA90C:: @ 83DA90C + obj_rot_scal_anim_frame 0xFFF8, 0xFFF8, 0, 8 + obj_rot_scal_anim_frame 0x8, 0x8, 0, 8 + obj_rot_scal_anim_jump 0 + + .align 2 +gSpriteAffineAnim_83DA924:: @ 83DA924 + obj_rot_scal_anim_frame 0xF0, 0xF0, 0, 0 + obj_rot_scal_anim_frame 0xFFF8, 0xFFF8, 0, 6 + obj_rot_scal_anim_frame 0x8, 0x8, 0, 8 + obj_rot_scal_anim_frame 0xFFF8, 0xFFF8, 0, 2 + obj_rot_scal_anim_jump 1 + + .align 2 +gSpriteAffineAnim_83DA94C:: @ 83DA94C + obj_rot_scal_anim_frame 0xD0, 0xD0, 0, 0 + obj_rot_scal_anim_frame 0xFFF8, 0xFFF8, 0, 4 + obj_rot_scal_anim_frame 0x8, 0x8, 0, 8 + obj_rot_scal_anim_frame 0xFFF8, 0xFFF8, 0, 4 + obj_rot_scal_anim_jump 1 + + .align 2 +gSpriteAffineAnim_83DA974:: @ 83DA974 + obj_rot_scal_anim_frame 0xB0, 0xB0, 0, 0 + obj_rot_scal_anim_frame 0xFFF8, 0xFFF8, 0, 2 + obj_rot_scal_anim_frame 0x8, 0x8, 0, 8 + obj_rot_scal_anim_frame 0xFFF8, 0xFFF8, 0, 6 + obj_rot_scal_anim_jump 1 + + .align 2 +gSpriteAffineAnimTable_83DA99C:: @ 83DA99C + .4byte gSpriteAffineAnim_83DA90C + .4byte gSpriteAffineAnim_83DA924 + .4byte gSpriteAffineAnim_83DA94C + .4byte gSpriteAffineAnim_83DA974 + + .align 2 +gSpriteTemplate_83DA9AC:: @ 83DA9AC + spr_template 10251, 10251, gOamData_837DF8C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DA99C, sub_80DC2B0 + + .align 2 +gSpriteAffineAnim_83DA9C4:: @ 83DA9C4 + obj_rot_scal_anim_frame 0x20, 0x20, 0, 0 + obj_rot_scal_anim_frame 0x4, 0x4, 0, 120 + obj_rot_scal_anim_end 1 + + .align 2 +gSpriteAffineAnimTable_83DA9DC:: @ 83DA9DC + .4byte gSpriteAffineAnim_83DA9C4 + + .align 2 +gBattleAnimSpriteTemplate_83DA9E0:: @ 83DA9E0 + spr_template 10267, 10267, gOamData_837E11C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DA9DC, sub_80793C4 + + .align 2 +gSpriteAffineAnim_83DA9F8:: @ 83DA9F8 + obj_rot_scal_anim_frame 0x20, 0x20, 0, 0 + obj_rot_scal_anim_frame 0x10, 0x10, 0, 17 + obj_rot_scal_anim_loop 0 + obj_rot_scal_anim_frame 0xFFF8, 0xFFF8, 0, 10 + obj_rot_scal_anim_frame 0x8, 0x8, 0, 10 + obj_rot_scal_anim_loop 4 + obj_rot_scal_anim_loop 0 + obj_rot_scal_anim_frame 0xFFF0, 0xFFF0, 0, 5 + obj_rot_scal_anim_frame 0x10, 0x10, 0, 5 + obj_rot_scal_anim_loop 7 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_83DAA50:: @ 83DAA50 + obj_rot_scal_anim_frame 0xFFEC, 0x18, 0, 15 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_83DAA60:: @ 83DAA60 + .4byte gSpriteAffineAnim_83DA9F8 + .4byte gSpriteAffineAnim_83DAA50 + + .align 2 +gBattleAnimSpriteTemplate_83DAA68:: @ 83DAA68 + spr_template 10212, 10212, gOamData_837E11C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DAA60, sub_80DC700 + + .align 2 +gSpriteAffineAnim_83DAA80:: @ 83DAA80 + obj_rot_scal_anim_frame 0x100, 0x100, 30, 0 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_83DAA90:: @ 83DAA90 + obj_rot_scal_anim_frame 0x100, 0x100, -99, 0 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_83DAAA0:: @ 83DAAA0 + obj_rot_scal_anim_frame 0x100, 0x100, 94, 0 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_83DAAB0:: @ 83DAAB0 + .4byte gSpriteAffineAnim_83DAA80 + .4byte gSpriteAffineAnim_83DAA90 + .4byte gSpriteAffineAnim_83DAAA0 + + .align 2 +gBattleAnimSpriteTemplate_83DAABC:: @ 83DAABC + spr_template 10153, 10153, gOamData_837E014, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DAAB0, sub_80DC824 + + .align 2 +gSpriteAffineAnim_83DAAD4:: @ 83DAAD4 + obj_rot_scal_anim_frame 0x0, 0x0, -33, 1 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_83DAAE4:: @ 83DAAE4 + obj_rot_scal_anim_frame 0x0, 0x0, 96, 1 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_83DAAF4:: @ 83DAAF4 + obj_rot_scal_anim_frame 0x0, 0x0, -96, 1 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_83DAB04:: @ 83DAB04 + .4byte gSpriteAffineAnim_83DAAD4 + .4byte gSpriteAffineAnim_83DAAE4 + .4byte gSpriteAffineAnim_83DAAF4 + + .align 2 +gBattleAnimSpriteTemplate_83DAB10:: @ 83DAB10 + spr_template 10161, 10161, gOamData_837DF8C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DAB04, sub_80DC8F4 + + .align 2 +gBattleAnimSpriteTemplate_83DAB28:: @ 83DAB28 + spr_template 10180, 10180, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DC9A0 + + .align 2 +gBattleAnimSpriteTemplate_83DAB40:: @ 83DAB40 + spr_template 10179, 10179, gOamData_837DF5C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DCA70 + + .align 2 +gSpriteAffineAnim_83DAB58:: @ 83DAB58 + obj_rot_scal_anim_frame 0x10, 0x10, 0, 0 + obj_rot_scal_anim_frame 0x6, 0x6, 0, 1 + obj_rot_scal_anim_jump 1 + + .align 2 +gSpriteAffineAnimTable_83DAB70:: @ 83DAB70 + .4byte gSpriteAffineAnim_83DAB58 + + .align 2 +gBattleAnimSpriteTemplate_83DAB74:: @ 83DAB74 + spr_template 10181, 10181, gOamData_837E11C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DAB70, sub_80DCB38 + + .align 2 +gBattleAnimSpriteTemplate_83DAB8C:: @ 83DAB8C + spr_template 10161, 10161, gOamData_837DF8C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DCBCC + + .align 2 +gBattleAnimSpriteTemplate_83DABA4:: @ 83DABA4 + spr_template 10161, 10161, gOamData_837DF8C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DCCFC + + .align 2 +gBattleAnimSpriteTemplate_83DABBC:: @ 83DABBC + spr_template 10262, 10262, gOamData_837DF94, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DCCFC + + .align 2 +gSpriteAffineAnim_83DABD4:: @ 83DABD4 + obj_rot_scal_anim_frame 0x10, 0x10, 0, 0 + obj_rot_scal_anim_frame 0x8, 0x8, 0, 18 + obj_rot_scal_anim_loop 0 + obj_rot_scal_anim_frame 0xFFFB, 0xFFFB, 0, 8 + obj_rot_scal_anim_frame 0x5, 0x5, 0, 8 + obj_rot_scal_anim_loop 5 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_83DAC0C:: @ 83DAC0C + .4byte gSpriteAffineAnim_83DABD4 + + .align 2 +gBattleAnimSpriteTemplate_83DAC10:: @ 83DAC10 + spr_template 10212, 10212, gOamData_837E0BC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DAC0C, sub_80DCE40 + + .align 2 +gSpriteAnim_83DAC28:: @ 83DAC28 + obj_image_anim_frame 32, 1 + obj_image_anim_end + + .align 2 +gSpriteAnim_83DAC30:: @ 83DAC30 + obj_image_anim_frame 48, 1 + obj_image_anim_end + + .align 2 +gSpriteAnim_83DAC38:: @ 83DAC38 + obj_image_anim_frame 64, 1 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83DAC40:: @ 83DAC40 + .4byte gSpriteAnim_83DAC28 + .4byte gSpriteAnim_83DAC30 + .4byte gSpriteAnim_83DAC38 + + .align 2 +gBattleAnimSpriteTemplate_83DAC4C:: @ 83DAC4C + spr_template 10058, 10058, gOamData_837DF34, gSpriteAnimTable_83DAC40, NULL, gDummySpriteAffineAnimTable, sub_80DCE9C + + .align 2 +gBattleAnimSpriteTemplate_83DAC64:: @ 83DAC64 + spr_template 10058, 10058, gOamData_837DF34, gSpriteAnimTable_83DAC40, NULL, gDummySpriteAffineAnimTable, sub_80DCF60 + + .align 2 +gBattleAnimSpriteTemplate_83DAC7C:: @ 83DAC7C + spr_template 10074, 10074, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DCFE4 + + .align 2 +gSpriteAffineAnim_83DAC94:: @ 83DAC94 + obj_rot_scal_anim_frame 0xC0, 0xC0, 0, 0 + obj_rot_scal_anim_frame 0x2, 0xFFFD, 0, 5 + obj_rot_scal_anim_frame 0xFFFE, 0x3, 0, 5 + obj_rot_scal_anim_jump 1 + + .align 2 +gSpriteAffineAnimTable_83DACB4:: @ 83DACB4 + .4byte gSpriteAffineAnim_83DAC94 + + .align 2 +gBattleAnimSpriteTemplate_83DACB8:: @ 83DACB8 + spr_template 10149, 10149, gOamData_837E0AC, gSpriteAnimTable_83D91F0, NULL, gSpriteAffineAnimTable_83DACB4, sub_80DCFE4 + + .align 2 +gBattleAnimSpriteTemplate_83DACD0:: @ 83DACD0 + spr_template 10029, 10029, gOamData_837DF34, gSpriteAnimTable_83D95E0, NULL, gDummySpriteAffineAnimTable, sub_80DCFE4 + + .align 2 +gBattleAnimSpriteTemplate_83DACE8:: @ 83DACE8 + spr_template 10261, 10261, gOamData_837DF54, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DD3AC + + .align 2 +Unknown_3DAD00:: @ 83DAD00 + .incbin "baserom.gba", 0x3dad00, 0x10 + + .align 2 +gUnknown_083DAD10:: @ 83DAD10 + .4byte 0x2, Unknown_3DAD00 + + .align 2 +gSpriteAnim_83DAD18:: @ 83DAD18 + obj_image_anim_frame 0, 1 + obj_image_anim_end + + .align 2 +gSpriteAnim_83DAD20:: @ 83DAD20 + obj_image_anim_frame 16, 1 + obj_image_anim_end + + .align 2 +gSpriteAnim_83DAD28:: @ 83DAD28 + obj_image_anim_frame 32, 1 + obj_image_anim_end + + .align 2 +gSpriteAnim_83DAD30:: @ 83DAD30 + obj_image_anim_frame 48, 1 + obj_image_anim_end + + .align 2 +gSpriteAnim_83DAD38:: @ 83DAD38 + obj_image_anim_frame 64, 1 + obj_image_anim_end + + .align 2 +gSpriteAnim_83DAD40:: @ 83DAD40 + obj_image_anim_frame 80, 1 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83DAD48:: @ 83DAD48 + .4byte gSpriteAnim_83DAD18 + .4byte gSpriteAnim_83DAD20 + + .align 2 +gSpriteAnimTable_83DAD50:: @ 83DAD50 + .4byte gSpriteAnim_83DAD28 + .4byte gSpriteAnim_83DAD30 + + .align 2 +gSpriteAnimTable_83DAD58:: @ 83DAD58 + .4byte gSpriteAnim_83DAD38 + .4byte gSpriteAnim_83DAD40 + + .align 2 +gBattleAnimSpriteTemplate_83DAD60:: @ 83DAD60 + spr_template 10058, 10058, gOamData_837DF34, gSpriteAnimTable_83DAD48, NULL, gDummySpriteAffineAnimTable, sub_80DD490 + + .align 2 +gSpriteTemplate_83DAD78:: @ 83DAD78 + spr_template 10074, 10074, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DD87C + + .align 2 +gSpriteTemplate_83DAD90:: @ 83DAD90 + spr_template 10058, 10058, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DD87C + + .align 2 +gBattleAnimSpriteTemplate_83DADA8:: @ 83DADA8 + spr_template 10058, 10058, gOamData_837DF34, gSpriteAnimTable_83DAD48, NULL, gDummySpriteAffineAnimTable, sub_80DD8E8 + + .align 2 +gSpriteAffineAnim_83DADC0:: @ 83DADC0 + obj_rot_scal_anim_frame 0x0, 0x0, -5, 5 + obj_rot_scal_anim_jump 0 + + .align 2 +gSpriteAffineAnim_83DADD0:: @ 83DADD0 + obj_rot_scal_anim_frame 0x0, 0x0, 5, 5 + obj_rot_scal_anim_jump 0 + + .align 2 +gSpriteAffineAnimTable_83DADE0:: @ 83DADE0 + .4byte gSpriteAffineAnim_83DADC0 + .4byte gSpriteAffineAnim_83DADD0 + + .align 2 +gBattleAnimSpriteTemplate_83DADE8:: @ 83DADE8 + spr_template 10058, 10058, gOamData_837DF94, gSpriteAnimTable_83DAD48, NULL, gSpriteAffineAnimTable_83DADE0, sub_80DD978 + + .align 2 +gBattleAnimSpriteTemplate_83DAE00:: @ 83DAE00 + spr_template 10058, 10058, gOamData_837DF94, gSpriteAnimTable_83DAD48, NULL, gSpriteAffineAnimTable_83DADE0, sub_80DD9A4 + + .align 2 +gBattleAnimSpriteTemplate_83DAE18:: @ 83DAE18 + spr_template 10058, 10058, gOamData_837DF34, gSpriteAnimTable_83DAD58, NULL, gSpriteAffineAnimTable_83DADE0, sub_80CB144 + + .align 2 +gBattleAnimSpriteTemplate_83DAE30:: @ 83DAE30 + spr_template 10058, 10058, gOamData_837DF94, gSpriteAnimTable_83DAD50, NULL, gSpriteAffineAnimTable_83DADE0, sub_807A9BC + + .align 2 +gSpriteAffineAnim_83DAE48:: @ 83DAE48 + obj_rot_scal_anim_frame 0x1E, 0x1E, 10, 5 + obj_rot_scal_anim_frame 0xFFE2, 0xFFE2, 10, 5 + obj_rot_scal_anim_jump 0 + + .align 2 +gSpriteAffineAnimTable_83DAE60:: @ 83DAE60 + .4byte gSpriteAffineAnim_83DAE48 + + .align 2 +gBattleAnimSpriteTemplate_83DAE64:: @ 83DAE64 + spr_template 10013, 10013, gOamData_837DFEC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DAE60, sub_80DDB6C + + .align 2 +gBattleAnimSpriteTemplate_83DAE7C:: @ 83DAE7C + spr_template 10013, 10013, gOamData_837E04C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DDD58 + + .align 2 +gSpriteAffineAnim_83DAE94:: @ 83DAE94 + obj_rot_scal_anim_frame 0x0, 0x0, 10, 1 + obj_rot_scal_anim_jump 0 + + .align 2 +gSpriteAffineAnimTable_83DAEA4:: @ 83DAEA4 + .4byte gSpriteAffineAnim_83DAE94 + + .align 2 +gBattleAnimSpriteTemplate_83DAEA8:: @ 83DAEA8 + spr_template 10176, 10176, gOamData_837DF94, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DAEA4, sub_80DDF40 + + .align 2 +gSpriteAnim_83DAEC0:: @ 83DAEC0 + obj_image_anim_frame 0, 2 + obj_image_anim_frame 8, 2 + obj_image_anim_frame 16, 2 + obj_image_anim_frame 24, 2 + obj_image_anim_frame 32, 2 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83DAED8:: @ 83DAED8 + .4byte gSpriteAnim_83DAEC0 + + .align 2 +gBattleAnimSpriteTemplate_83DAEDC:: @ 83DAEDC + spr_template 10177, 10177, gOamData_837DF74, gSpriteAnimTable_83DAED8, NULL, gDummySpriteAffineAnimTable, sub_80DE0FC + + .align 2 +gSpriteAffineAnim_83DAEF4:: @ 83DAEF4 + obj_rot_scal_anim_frame 0x200, 0x200, 0, 0 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_83DAF04:: @ 83DAF04 + .4byte gSpriteAffineAnim_83DAEF4 + + .align 2 +gSpriteTemplate_83DAF08:: @ 83DAF08 + spr_template 10188, 10188, gOamData_837E07C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DE7B8 + + .align 2 +gBattleAnimSpriteTemplate_83DAF20:: @ 83DAF20 + spr_template 10199, 10199, gOamData_837E074, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DEF3C + + .align 2 +gBattleAnimSpriteTemplate_83DAF38:: @ 83DAF38 + spr_template 10200, 10200, gOamData_837E054, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DF0B8 + + .align 2 +gBattleAnimSpriteTemplate_83DAF50:: @ 83DAF50 + spr_template 10221, 10221, gOamData_837E054, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DF0B8 + + .align 2 +gSpriteAnim_83DAF68:: @ 83DAF68 + obj_image_anim_frame 0, 4 + obj_image_anim_frame 8, 4 + obj_image_anim_frame 16, 4 + obj_image_anim_frame 24, 4 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnimTable_83DAF7C:: @ 83DAF7C + .4byte gSpriteAnim_83DAF68 + + .align 2 +gSpriteTemplate_83DAF80:: @ 83DAF80 + spr_template 10253, 10253, gOamData_837E094, gSpriteAnimTable_83DAF7C, NULL, gDummySpriteAffineAnimTable, sub_80DF3D8 + + .align 2 +gSpriteTemplate_83DAF98:: @ 83DAF98 + spr_template 0, 0, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DF49C + + .align 2 +gSpriteAnim_83DAFB0:: @ 83DAFB0 + obj_image_anim_frame 0, 4 + obj_image_anim_frame 16, 4 + obj_image_anim_frame 32, 4 + obj_image_anim_frame 48, 4 + obj_image_anim_frame 64, 4 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnimTable_83DAFC8:: @ 83DAFC8 + .4byte gSpriteAnim_83DAFB0 + + .align 2 +gBattleAnimSpriteTemplate_83DAFCC:: @ 83DAFCC + spr_template 10029, 10029, gOamData_837DF34, gSpriteAnimTable_83DAFC8, NULL, gDummySpriteAffineAnimTable, sub_80DF5A0 + + .align 2 +gSpriteAnim_83DAFE4:: @ 83DAFE4 + obj_image_anim_frame 16, 3 + obj_image_anim_frame 32, 3 + obj_image_anim_frame 48, 3 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnim_83DAFF4:: @ 83DAFF4 + obj_image_anim_frame 16, 3, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 32, 3, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 48, 3, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_jump 0 + + .align 2 +gSpriteAnimTable_83DB004:: @ 83DB004 + .4byte gSpriteAnim_83DAFE4 + .4byte gSpriteAnim_83DAFF4 + + .align 2 +gSpriteAffineAnim_83DB00C:: @ 83DB00C + obj_rot_scal_anim_frame 0x50, 0x50, 127, 0 + obj_rot_scal_anim_frame 0xD, 0xD, 0, 100 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_83DB024:: @ 83DB024 + obj_rot_scal_anim_frame 0x50, 0x50, 0, 0 + obj_rot_scal_anim_frame 0xD, 0xD, 0, 100 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_83DB03C:: @ 83DB03C + .4byte gSpriteAffineAnim_83DB00C + .4byte gSpriteAffineAnim_83DB024 + + .align 2 +gBattleAnimSpriteTemplate_83DB044:: @ 83DB044 + spr_template 10029, 10029, gOamData_837DFF4, gSpriteAnimTable_83DB004, NULL, gSpriteAffineAnimTable_83DB03C, sub_80DF760 + + .align 2 +gSpriteAnim_83DB05C:: @ 83DB05C + obj_image_anim_frame 0, 5 + obj_image_anim_frame 16, 5 + obj_image_anim_frame 32, 5 + obj_image_anim_frame 48, 5 + obj_image_anim_frame 64, 5 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83DB074:: @ 83DB074 + .4byte gSpriteAnim_83DB05C + + .align 2 +gBattleAnimSpriteTemplate_83DB078:: @ 83DB078 + spr_template 10035, 10035, gOamData_837DF34, gSpriteAnimTable_83DB074, NULL, gDummySpriteAffineAnimTable, sub_80DF6F0 + + .align 2 +gSpriteAnim_83DB090:: @ 83DB090 + obj_image_anim_frame 16, 3 + obj_image_anim_frame 32, 3 + obj_image_anim_frame 48, 3 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnimTable_83DB0A0:: @ 83DB0A0 + .4byte gSpriteAnim_83DB090 + .4byte gSpriteAnim_83DB090 + + .align 2 +gSpriteAffineAnim_83DB0A8:: @ 83DB0A8 + obj_rot_scal_anim_frame 0x64, 0x64, 127, 1 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_83DB0B8:: @ 83DB0B8 + obj_rot_scal_anim_frame 0x64, 0x64, 0, 1 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_83DB0C8:: @ 83DB0C8 + .4byte gSpriteAffineAnim_83DB0A8 + .4byte gSpriteAffineAnim_83DB0B8 + + .align 2 +gBattleAnimSpriteTemplate_83DB0D0:: @ 83DB0D0 + spr_template 10029, 10029, gOamData_837DFF4, gSpriteAnimTable_83DB0A0, NULL, gSpriteAffineAnimTable_83DB0C8, sub_80DF760 + + .align 2 +gBattleAnimSpriteTemplate_83DB0E8:: @ 83DB0E8 + spr_template 10249, 10249, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DF78C + + .align 2 +gBattleAnimSpriteTemplate_83DB100:: @ 83DB100 + spr_template 10029, 10029, gOamData_837DF34, gSpriteAnimTable_83DAFC8, NULL, gDummySpriteAffineAnimTable, sub_80DFB28 + + .align 2 +gSpriteTemplate_83DB118:: @ 83DB118 + spr_template 10015, 10015, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80DFE14 + + .align 2 +gSpriteAffineAnim_83DB130:: @ 83DB130 + obj_rot_scal_anim_frame 0x0, 0x0, 0, 1 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_83DB140:: @ 83DB140 + obj_rot_scal_anim_frame 0x0, 0x0, 32, 1 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_83DB150:: @ 83DB150 + obj_rot_scal_anim_frame 0x0, 0x0, 64, 1 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_83DB160:: @ 83DB160 + obj_rot_scal_anim_frame 0x0, 0x0, 96, 1 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_83DB170:: @ 83DB170 + obj_rot_scal_anim_frame 0x0, 0x0, -128, 1 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_83DB180:: @ 83DB180 + obj_rot_scal_anim_frame 0x0, 0x0, -96, 1 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_83DB190:: @ 83DB190 + obj_rot_scal_anim_frame 0x0, 0x0, -64, 1 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_83DB1A0:: @ 83DB1A0 + obj_rot_scal_anim_frame 0x0, 0x0, -32, 1 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_83DB1B0:: @ 83DB1B0 + .4byte gSpriteAffineAnim_83DB130 + .4byte gSpriteAffineAnim_83DB140 + .4byte gSpriteAffineAnim_83DB150 + .4byte gSpriteAffineAnim_83DB160 + .4byte gSpriteAffineAnim_83DB170 + .4byte gSpriteAffineAnim_83DB180 + .4byte gSpriteAffineAnim_83DB190 + .4byte gSpriteAffineAnim_83DB1A0 + + .align 2 +gBattleAnimSpriteTemplate_83DB1D0:: @ 83DB1D0 + spr_template 10139, 10139, gOamData_837E0BC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DB1B0, sub_80DFF1C + + .align 2 +gBattleAnimSpriteTemplate_83DB1E8:: @ 83DB1E8 + spr_template 10145, 10145, gOamData_837E0BC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DB1B0, sub_80DFF1C + + .align 2 +gSpriteAffineAnim_83DB200:: @ 83DB200 + obj_rot_scal_anim_frame 0xC0, 0xC0, 80, 0 + obj_rot_scal_anim_frame 0x0, 0x0, -2, 8 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_83DB218:: @ 83DB218 + obj_rot_scal_anim_frame 0xC0, 0xC0, -80, 0 + obj_rot_scal_anim_frame 0x0, 0x0, 2, 8 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_83DB230:: @ 83DB230 + .4byte gSpriteAffineAnim_83DB200 + .4byte gSpriteAffineAnim_83DB218 + + .align 2 +gBattleAnimSpriteTemplate_83DB238:: @ 83DB238 + spr_template 10155, 10155, gOamData_837DF8C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DB230, sub_80DFFD0 + + .align 2 +gSpriteAnim_83DB250:: @ 83DB250 + obj_image_anim_frame 0, 4 + obj_image_anim_frame 16, 4 + obj_image_anim_frame 32, 4 + obj_image_anim_frame 48, 4 + obj_image_anim_frame 64, 4 + obj_image_anim_end + + .align 2 +gSpriteAnim_83DB268:: @ 83DB268 + obj_image_anim_frame 0, 4, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 16, 4, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 32, 4, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 48, 4, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 64, 4, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83DB280:: @ 83DB280 + .4byte gSpriteAnim_83DB250 + .4byte gSpriteAnim_83DB268 + + .align 2 +gBattleAnimSpriteTemplate_83DB288:: @ 83DB288 + spr_template 10039, 10039, gOamData_837DF34, gSpriteAnimTable_83DB280, NULL, gDummySpriteAffineAnimTable, sub_80E0A10 + + .align 2 +gSpriteAffineAnim_83DB2A0:: @ 83DB2A0 + obj_rot_scal_anim_frame 0x0, 0x0, 15, 1 + obj_rot_scal_anim_jump 0 + + .align 2 +gSpriteAffineAnim_83DB2B0:: @ 83DB2B0 + obj_rot_scal_anim_frame 0x0, 0x0, 20, 1 + obj_rot_scal_anim_jump 0 + + .align 2 +gSpriteAffineAnimTable_83DB2C0:: @ 83DB2C0 + .4byte gSpriteAffineAnim_83DB2A0 + + .align 2 +gSpriteAffineAnimTable_83DB2C4:: @ 83DB2C4 + .4byte gSpriteAffineAnim_83DB2B0 + + .align 2 +gBattleAnimSpriteTemplate_83DB2C8:: @ 83DB2C8 + spr_template 10000, 10000, gOamData_837DF94, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DB2C0, sub_80E0F1C + + .align 2 +gBattleAnimSpriteTemplate_83DB2E0:: @ 83DB2E0 + spr_template 10000, 10000, gOamData_837DF94, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DB2C4, sub_80E1004 + + .align 2 +gBattleAnimSpriteTemplate_83DB2F8:: @ 83DB2F8 + spr_template 10074, 10074, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80E1078 + + .align 2 +gSpriteAnim_83DB310:: @ 83DB310 + obj_image_anim_frame 1, 1 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83DB318:: @ 83DB318 + .4byte gSpriteAnim_83DB310 + + .align 2 +gBattleAnimSpriteTemplate_83DB31C:: @ 83DB31C + spr_template 10074, 10074, gOamData_837DF2C, gSpriteAnimTable_83DB318, NULL, gDummySpriteAffineAnimTable, sub_80E1078 + + .align 2 +gBattleAnimSpriteTemplate_83DB334:: @ 83DB334 + spr_template 10074, 10074, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80E1108 + + .align 2 +gBattleAnimSpriteTemplate_83DB34C:: @ 83DB34C + spr_template 10074, 10074, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80E1728 + + .align 2 +gBattleAnimSpriteTemplate_83DB364:: @ 83DB364 + spr_template 10281, 10281, gOamData_837DF54, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80E17CC + + .align 2 +gSpriteAnim_83DB37C:: @ 83DB37C + obj_image_anim_frame 0, 8 + obj_image_anim_frame 4, 8 + obj_image_anim_frame 0, 8, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 8, 8 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnim_83DB390:: @ 83DB390 + obj_image_anim_frame 0, 8, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 4, 8 + obj_image_anim_frame 0, 8 + obj_image_anim_frame 8, 8 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnimTable_83DB3A4:: @ 83DB3A4 + .4byte gSpriteAnim_83DB37C + .4byte gSpriteAnim_83DB390 + + .align 2 +gBattleAnimSpriteTemplate_83DB3AC:: @ 83DB3AC + spr_template 10073, 10073, gOamData_837DF2C, gSpriteAnimTable_83DB3A4, NULL, gDummySpriteAffineAnimTable, sub_80E1CB4 + + .align 2 +gBattleAnimSpriteTemplate_83DB3C4:: @ 83DB3C4 + spr_template 0, 0, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80E1D84 + + .align 2 +gBattleAnimSpriteTemplate_83DB3DC:: @ 83DB3DC + spr_template 0, 0, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80E1E2C + + .align 2 +gSpriteAnim_83DB3F4:: @ 83DB3F4 + obj_image_anim_frame 0, 3 + obj_image_anim_frame 16, 3 + obj_image_anim_frame 32, 3 + obj_image_anim_frame 48, 3 + obj_image_anim_frame 64, 3 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnimTable_83DB40C:: @ 83DB40C + .4byte gSpriteAnim_83DB3F4 + + .align 2 +gSpriteTemplate_83DB410:: @ 83DB410 + spr_template 10071, 10071, gOamData_837DF34, gSpriteAnimTable_83DB40C, NULL, gDummySpriteAffineAnimTable, sub_80E1F3C + + .align 2 +gBattleAnimSpriteTemplate_83DB428:: @ 83DB428 + spr_template 0, 0, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80E24B8 + + .align 2 +gSpriteAffineAnim_83DB440:: @ 83DB440 + obj_rot_scal_anim_frame 0x0, 0x0, 0, 8 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_83DB450:: @ 83DB450 + obj_rot_scal_anim_frame 0xD8, 0xD8, 0, 0 + obj_rot_scal_anim_frame 0x0, 0x0, 0, 8 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_83DB468:: @ 83DB468 + obj_rot_scal_anim_frame 0xB0, 0xB0, 0, 0 + obj_rot_scal_anim_frame 0x0, 0x0, 0, 8 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_83DB480:: @ 83DB480 + obj_rot_scal_anim_frame 0x80, 0x80, 0, 0 + obj_rot_scal_anim_frame 0x0, 0x0, 0, 8 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_83DB498:: @ 83DB498 + .4byte gSpriteAffineAnim_83DB440 + .4byte gSpriteAffineAnim_83DB450 + .4byte gSpriteAffineAnim_83DB468 + .4byte gSpriteAffineAnim_83DB480 + + .align 2 +gBattleAnimSpriteTemplate_83DB4A8:: @ 83DB4A8 + spr_template 10135, 10135, gOamData_837E0B4, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DB498, sub_80E27A0 + + .align 2 +gBattleAnimSpriteTemplate_83DB4C0:: @ 83DB4C0 + spr_template 10135, 10135, gOamData_837E0B4, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DB498, sub_80E2838 + + .align 2 +gBattleAnimSpriteTemplate_83DB4D8:: @ 83DB4D8 + spr_template 10148, 10148, gOamData_837E0B4, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DB498, sub_80E27A0 + + .align 2 +gBattleAnimSpriteTemplate_83DB4F0:: @ 83DB4F0 + spr_template 10135, 10135, gOamData_837E0B4, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DB498, sub_80E2870 + + .align 2 +gBattleAnimSpriteTemplate_83DB508:: @ 83DB508 + spr_template 10135, 10135, gOamData_837E0B4, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DB498, sub_80E2908 + + .align 2 +gBattleAnimSpriteTemplate_83DB520:: @ 83DB520 + spr_template 10285, 10285, gOamData_837E054, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80E2978 + + .align 2 +gBattleAnimSpriteTemplate_83DB538:: @ 83DB538 + spr_template 10135, 10135, gOamData_837DF94, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DB498, sub_80E29C0 + + .align 2 +gBattleAnimSpriteTemplate_83DB550:: @ 83DB550 + spr_template 10135, 10135, gOamData_837E0B4, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83DB498, sub_80E27E8 + + .align 2 +gUnknown_083DB568:: @ 83DB568 + .incbin "baserom.gba", 0x003db568, 0x4 + + .align 2 +gUnknown_083DB56C:: @ 83DB56C + .4byte task_battle_intro_80BC47C + .4byte task_battle_intro_80BC47C + .4byte task00_battle_intro_80BC6C8 + .4byte task00_battle_intro_80BC6C8 + .4byte task00_battle_intro_80BC6C8 + .4byte task_battle_intro_80BC47C + .4byte task_battle_intro_80BC47C + .4byte task_battle_intro_80BC47C + .4byte task_battle_intro_anim + .4byte task_battle_intro_anim + + .align 2 +gUnknown_083DB594:: @ 83DB594 + .4byte sub_80E5168 + .4byte sub_80E517C + .4byte sub_80E51C4 + .4byte sub_80E5270 + + .align 2 +gUnknown_083DB5A4:: @ 83DB5A4 + .4byte PlayerGoSpeed0 + .4byte sub_80593C4 + .4byte sub_80593F4 + + .align 2 +gUnknown_083DB5B0:: @ 83DB5B0 + .4byte sub_80E56F8 + .4byte sub_80E5708 + .4byte sub_80E5744 + .4byte sub_80E57BC + .4byte sub_80E57F8 + .4byte sub_80E5834 + .4byte sub_80E5870 + .4byte sub_80E58AC + .4byte sub_80E5920 + .4byte sub_80E5990 + .4byte sub_80E59A0 + .4byte sub_80E5A30 + .4byte sub_80E5AC0 + + .align 2 +gUnknown_083DB5E4:: @ 83DB5E4 + .4byte CheckMovementInputAcroBikeNormal + .4byte CheckMovementInputAcroBikeChangingDirection + .4byte CheckMovementInputAcroBikeStandingWheelie + .4byte CheckMovementInputAcroBikeBunnyHop + .4byte CheckMovementInputAcroBikeMovingWheelie + .4byte CheckMovementInputAcroBikeUnknownMode5 + .4byte CheckMovementInputAcroBikeUnknownMode6 + + .align 1 +gUnknown_083DB600:: @ 83DB600 + .2byte 1, 2, 4 + +Unknown_3DB606:: @ 83DB606 + .byte 4, 0 + + .align 2 +gUnknown_083DB608:: @ 83DB608 + .4byte 0x1, 0x2, 0xf, 0xf, Unknown_3DB606, Unknown_3DB606, 0x1 + .4byte 0x2, 0x2, 0xf, 0xf, Unknown_3DB606, Unknown_3DB606, 0x2 + .4byte 0x3, 0x2, 0xf, 0xf, Unknown_3DB606, Unknown_3DB606, 0x3 + .4byte 0x4, 0x2, 0xf, 0xf, Unknown_3DB606, Unknown_3DB606, 0x4 + + .align 1 +gMysteryEventPhrase:: @ 83DB678 + ec_word MYSTERY + ec_word EVENT + ec_word IS + ec_word EXCITING + + .align 1 +gBerryMasterWifePhrases:: @ 83DB680 + ec_word GREAT + ec_word BATTLE + + ec_word CHALLENGE + ec_word CONTEST + + ec_word OVERWHELMING + ec_pokemon1 LATIAS + + ec_word COOL + ec_pokemon1 LATIOS + + ec_word SUPER + ec_word HUSTLE + +gUnknown_083DB694:: @ 83DB694 + .4byte 0x02001000 + +gUnknown_083DB698:: @ 83DB698 + .incbin "baserom.gba", 0x003db698, 0xc + +gUnknown_083DB6A4:: @ 83DB6A4 + .incbin "baserom.gba", 0x003db6a4, 0xe + +gUnknown_083DB6B2:: @ 83DB6B2 + .incbin "baserom.gba", 0x003db6b2, 0x42 + + .align 2 +gUnknown_083DB6F4:: @ 83DB6F4 + .4byte OtherText_MakeProfilePage1, OtherText_MakeProfilePage2, 0x1 + .4byte OtherText_MakeMessagePage1, OtherText_MakeMessagePage2, 0x1 + .4byte OtherText_CombineNinePhrasesPage1, OtherText_CombineNinePhrasesPage2, 0x1 + .4byte OtherText_DescribeFeelingsPage1, OtherText_DescribeFeelingsPage2, 0x1 + .4byte OtherText_ImproveBardSongPage1, OtherText_ImproveBardSongPage2, 0x1 + .4byte OtherText_CombineTwoPhrasesPage1, OtherText_CombineTwoPhrasesPage2, 0x1 + .4byte OtherText_YourProfile, OtherText_ConfirmTrendyPage2, 0x0 + .4byte OtherText_YourFeelingBattle, OtherText_ConfirmTrendyPage2, 0x1 + .4byte OtherText_SetWinMessage, OtherText_ConfirmTrendyPage2, 0x1 + .4byte OtherText_SetLossMessage, OtherText_ConfirmTrendyPage2, 0x1 + .4byte OtherText_MailMessage, OtherText_ConfirmTrendyPage2, 0x1 + .4byte OtherText_MailSalutation, OtherText_ConfirmTrendyPage2, 0x1 + .4byte OtherText_NewSong, OtherText_ConfirmTrendyPage2, 0x0 + .4byte OtherText_TheAnswer, OtherText_ConfirmTrendyPage2, 0x0 + .4byte OtherText_ConfirmTrendyPage1, OtherText_ConfirmTrendyPage2, 0x1 + .4byte OtherText_HipsterPage1, OtherText_HipsterPage2, 0x1 + .4byte OtherText_WithFourPhrases, OtherText_CombineNinePhrasesPage2, 0x1 + +gUnknown_083DB7C0:: @ 83DB7C0 + .incbin "baserom.gba", 0x003db7c0, 0x1c + + .align 2 +gUnknown_083DB7DC:: @ 83DB7DC + .4byte 0x0200ac80 + .4byte 0x0200acc9 + .4byte 0x0200ad12 + .4byte 0x0200ad5b + +gUnknown_083DB7EC:: @ 83DB7EC + .incbin "baserom.gba", 0x003db7ec, 0x8 + +gUnknown_083DB7F4:: @ 83DB7F4 + .incbin "baserom.gba", 0x3db7f4, 0xc + + .align 2 +InterviewPalette_0:: @ 83DB800 + .incbin "graphics/misc/interview_pal0.gbapal" + + .align 2 +InterviewPalette_1:: @ 83DB820 + .incbin "graphics/misc/interview_pal1.gbapal" + + .align 2 +InterviewArrowTiles: @ 83DB840 + .incbin "graphics/misc/interview_arrow.4bpp" + + .align 2 +InterviewButtonTiles: @ 83DB940 + .incbin "graphics/misc/interview_buttons.4bpp" + + .align 2 +gMenuInterviewFrame_Pal:: + .incbin "graphics/misc/interview_frame.gbapal" + + .align 2 +gMenuInterviewFrame_Gfx:: + .incbin "graphics/misc/interview_frame.4bpp.lz" + + .align 2 +InterviewTriangleCursorTiles: @ 83DBB94 + .incbin "graphics/misc/interview_triangle_cursor.4bpp" + + .align 2 +gSpriteSheets_Interview:: @ 83DBBB4 + obj_tiles InterviewTriangleCursorTiles, 0x20, 0 + obj_tiles gInterviewOutlineCursorTiles, 0x700, 1 + obj_tiles InterviewArrowTiles, 0x100, 2 + obj_tiles InterviewButtonTiles, 0x100, 3 + null_obj_tiles + + .align 2 +gSpritePalettes_Interview:: @ 83DBBDC + obj_pal InterviewPalette_0, 0 + obj_pal InterviewPalette_1, 1 + null_obj_pal + + .align 2 +gOamData_83DBBF4:: @ 83DBBF4 + .2byte 0x0000 + .2byte 0x0000 + .2byte 0x0000 + + .align 2 +gSpriteTemplate_83DBBFC:: @ 83DBBFC + spr_template 0, 0, gOamData_83DBBF4, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80E82BC + + .align 2 +gOamData_83DBC14:: @ 83DBC14 + .2byte 0x4400 + .2byte 0x8000 + .2byte 0x0400 + + .align 2 +gSpriteAnim_83DBC1C:: @ 83DBC1C + obj_image_anim_frame 0, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83DBC24:: @ 83DBC24 + obj_image_anim_frame 8, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83DBC2C:: @ 83DBC2C + obj_image_anim_frame 0, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83DBC34:: @ 83DBC34 + obj_image_anim_frame 24, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83DBC3C:: @ 83DBC3C + obj_image_anim_frame 32, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83DBC44:: @ 83DBC44 + obj_image_anim_frame 40, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83DBC4C:: @ 83DBC4C + obj_image_anim_frame 40, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83DBC54:: @ 83DBC54 + obj_image_anim_frame 40, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83DBC5C:: @ 83DBC5C + obj_image_anim_frame 48, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83DBC64:: @ 83DBC64 + obj_image_anim_frame 40, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83DBC6C:: @ 83DBC6C + obj_image_anim_frame 48, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83DBC74:: @ 83DBC74 + obj_image_anim_frame 40, 5 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83DBC7C:: @ 83DBC7C + .4byte gSpriteAnim_83DBC1C + .4byte gSpriteAnim_83DBC24 + .4byte gSpriteAnim_83DBC2C + .4byte gSpriteAnim_83DBC34 + + .align 2 +gSpriteAnimTable_83DBC8C:: @ 83DBC8C + .4byte gSpriteAnim_83DBC3C + .4byte gSpriteAnim_83DBC44 + .4byte gSpriteAnim_83DBC4C + .4byte gSpriteAnim_83DBC54 + + .align 2 +gSpriteAnimTable_83DBC9C:: @ 83DBC9C + .4byte gSpriteAnim_83DBC5C + .4byte gSpriteAnim_83DBC64 + .4byte gSpriteAnim_83DBC6C + .4byte gSpriteAnim_83DBC74 + + .align 2 +gSpriteTemplate_83DBCAC:: @ 83DBCAC + spr_template 1, 1, gOamData_83DBC14, gSpriteAnimTable_83DBC7C, NULL, gDummySpriteAffineAnimTable, sub_80E85F8 + + .align 2 +gUnknown_083DBCC4:: @ 83DBCC4 + .incbin "baserom.gba", 0x003dbcc4, 0x1c + + .align 2 +gOamData_83DBCE0:: @ 83DBCE0 + .2byte 0x0000 + .2byte 0x4000 + .2byte 0x0400 + + .align 2 +gSpriteAnim_83DBCE8:: @ 83DBCE8 + obj_image_anim_frame 0, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83DBCF0:: @ 83DBCF0 + obj_image_anim_frame 4, 5 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83DBCF8:: @ 83DBCF8 + .4byte gSpriteAnim_83DBCE8 + .4byte gSpriteAnim_83DBCF0 + +Unknown_83DBD00: + .incbin "baserom.gba", 0x003dbd00, 0x8 +Unknown_83DBD08: + .incbin "baserom.gba", 0x003dbd08, 0x8 + +gUnknown_083DBD10:: @ 83DBD10 + .4byte Unknown_83DBD00 + .4byte Unknown_83DBD08 + + .align 2 +gSpriteTemplate_83DBD18:: @ 83DBD18 + spr_template 2, 0, gOamData_83DBCE0, gSpriteAnimTable_83DBCF8, NULL, gDummySpriteAffineAnimTable, sub_80E8B78 + + .align 2 +gUnknown_083DBD30:: @ 83DBD30 + obj_tiles gMenuInterviewFrame_Gfx, 2048, 0x0006 + + .align 2 +gUnknown_083DBD38:: @ 83DBD38 + obj_pal gMenuInterviewFrame_Pal, 0x0004 + + .align 2 +gOamData_83DBD40:: @ 83DBD40 + .2byte 0x0000 + .2byte 0xC000 + .2byte 0x0000 + + .align 2 +gSpriteTemplate_83DBD48:: @ 83DBD48 + spr_template 6, 4, gOamData_83DBD40, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gUnknown_083DBD60:: @ 83DBD60 + obj_tiles gMenuWordGroupIndicator_Gfx, 4096, 0x0007 + + .align 2 +gUnknown_083DBD68:: @ 83DBD68 + obj_pal gMenuWordGroupIndicator_Pal, 0x0005 + + .align 2 +gOamData_83DBD70:: @ 83DBD70 + .2byte 0x4000 + .2byte 0xC000 + .2byte 0x0000 + + .align 2 +gSpriteAnim_83DBD78:: @ 83DBD78 + obj_image_anim_frame 96, 3 + obj_image_anim_end + + .align 2 +gSpriteAnim_83DBD80:: @ 83DBD80 + obj_image_anim_frame 64, 4 + obj_image_anim_frame 96, 4 + obj_image_anim_frame 64, 4 + obj_image_anim_frame 0, 4 + obj_image_anim_end + + .align 2 +gSpriteAnim_83DBD94:: @ 83DBD94 + obj_image_anim_frame 64, 4 + obj_image_anim_frame 96, 4 + obj_image_anim_frame 64, 4 + obj_image_anim_frame 32, 4 + obj_image_anim_end + + .align 2 +gSpriteAnim_83DBDA8:: @ 83DBDA8 + obj_image_anim_frame 64, 2 + obj_image_anim_frame 32, 2 + obj_image_anim_end + + .align 2 +gSpriteAnim_83DBDB4:: @ 83DBDB4 + obj_image_anim_frame 64, 2 + obj_image_anim_frame 0, 2 + obj_image_anim_end + + .align 2 +gSpriteAnim_83DBDC0:: @ 83DBDC0 + obj_image_anim_frame 64, 2 + obj_image_anim_frame 96, 2 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83DBDCC:: @ 83DBDCC + .4byte gSpriteAnim_83DBD78 + .4byte gSpriteAnim_83DBD80 + .4byte gSpriteAnim_83DBD94 + .4byte gSpriteAnim_83DBDA8 + .4byte gSpriteAnim_83DBDB4 + .4byte gSpriteAnim_83DBDC0 + + .align 2 +gSpriteTemplate_83DBDE4:: @ 83DBDE4 + spr_template 7, 5, gOamData_83DBD70, gSpriteAnimTable_83DBDCC, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + +gUnknown_083DBDFC:: @ 83DBDFC + .incbin "baserom.gba", 0x003dbdfc, 0x20 + +gUnknown_083DBE1C:: @ 83DBE1C + .incbin "baserom.gba", 0x003dbe1c, 0x24 + +gUnknown_083DBE40:: @ 83DBE40 + .incbin "baserom.gba", 0x003dbe40, 0x68 + +gUnknown_083DBEA8:: @ 83DBEA8 + .incbin "baserom.gba", 0x003dbea8, 0x4 + +gUnknown_083DBEAC:: @ 83DBEAC + .incbin "baserom.gba", 0x003dbeac, 0x80 + +@ 83DBF2C + .include "data/text/easy_chat/group_words.inc" + +@ 83DE138 + .include "data/text/easy_chat/words_by_letter.inc" + +@ 83DEFFA + .include "data/text/easy_chat/group_sizes.inc" + +@ 83DF010 + .include "data/text/easy_chat/group_orders.inc" + +@ 83DFE6C + .include "data/text/easy_chat/group_name_table.inc" + +gUnknown_083DFEC4:: @ 83DFEC4 + .incbin "baserom.gba", 0x003dfec4, 0x4 + +gUnknown_083DFEC8:: @ 83DFEC8 + .4byte 0x02039360 + +gUnknown_083DFECC:: @ 83DFECC + .incbin "baserom.gba", 0x003dfecc, 0x20 + +gUnknown_083DFEEC:: @ 83DFEEC + .incbin "baserom.gba", 0x003dfeec, 0xa0 + +gUnknown_083DFF8C:: @ 83DFF8C + .incbin "baserom.gba", 0x003dff8c, 0xb0 + +gUnknown_083E003C:: @ 83E003C + .incbin "baserom.gba", 0x003e003c, 0x20 + +gUnknown_083E005C:: @ 83E005C + .incbin "baserom.gba", 0x003e005c, 0x20 + +gUnknown_083E007C:: @ 83E007C + .incbin "baserom.gba", 0x003e007c, 0xa8 + +gUnknown_083E0124:: @ 83E0124 + .incbin "baserom.gba", 0x003e0124, 0x20 + +gUnknown_083E0144:: @ 83E0144 + .incbin "baserom.gba", 0x003e0144, 0x68 + +gUnknown_083E01AC:: @ 83E01AC + .incbin "baserom.gba", 0x003e01ac, 0x48 + +gUnknown_083E01F4:: @ 83E01F4 + .incbin "baserom.gba", 0x003e01f4, 0x60 + +gUnknown_083E0254:: @ 83E0254 + .incbin "baserom.gba", 0x003e0254, 0x20 + +gUnknown_083E0274:: @ 83E0274 + .incbin "baserom.gba", 0x003e0274, 0x20 + + .align 2 +gPokenavConditionSearch2_Pal:: @ 83E0294 + .incbin "graphics/pokenav/condition_search2.gbapal" + +gUnknown_083E02B4:: @ 83E02B4 + .incbin "baserom.gba", 0x003e02b4, 0x60 + +gUnknown_083E0314:: @ 83E0314 + .incbin "baserom.gba", 0x003e0314, 0x20 + + .align 2 +gUnknown_083E0334:: @ 83E0334 + .incbin "graphics/pokenav/trainereyes_misc_pal.bin" @ the original bytes have an "FF FF" instance which is incompatible with gbagfx to produce the bytes needed to match the original ROM, so I am forced to include it as a .bin until the lowest bit is properly handled or a better workaround is produced + + .align 2 +gUnknown_083E0354:: @ 83E0354 + .incbin "graphics/pokenav/trainereyes_misc.4bpp.lz" + +gUnknown_083E039C:: @ 83E039C + .incbin "baserom.gba", 0x003e039c, 0x4 + +gUnknown_083E03A0:: @ 83E03A0 + .incbin "baserom.gba", 0x003e03a0, 0x8 + +gUnknown_083E03A8:: @ 83E03A8 + .incbin "baserom.gba", 0x003e03a8, 0x64 + +gUnknown_083E040C:: @ 83E040C + .incbin "graphics/misc/ribbons_half.4bpp.lz" + + .align 2 +gPokenavOutlinePalette:: @ 83E05D4 + .incbin "graphics/pokenav/outline.gbapal" + + .align 2 +gPokenavOutlineTiles:: @ 83E05F4 + .incbin "graphics/pokenav/outline.4bpp.lz" + + .align 2 +gPokenavOutlineTilemap:: @ 83E0804 + .incbin "graphics/pokenav/outline_map.bin.lz" + + .align 2 +gPokenavCityMap_Lavaridge_0:: @ 83E096C + .incbin "graphics/pokenav/city_maps/lavaridge_0.bin.lz" + + .align 2 +gPokenavCityMap_Fallarbor_0:: @ 83E09B0 + .incbin "graphics/pokenav/city_maps/fallarbor_0.bin.lz" + + .align 2 +gPokenavCityMap_Fortree_0:: @ 83E09F8 + .incbin "graphics/pokenav/city_maps/fortree_0.bin.lz" + + .align 2 +gPokenavCityMap_Slateport_0:: @ 83E0A48 + .incbin "graphics/pokenav/city_maps/slateport_0.bin.lz" + + .align 2 +gPokenavCityMap_Slateport_1:: @ 83E0AA8 + .incbin "graphics/pokenav/city_maps/slateport_1.bin.lz" + + .align 2 +gPokenavCityMap_Rustboro_0:: @ 83E0AF4 + .incbin "graphics/pokenav/city_maps/rustboro_0.bin.lz" + + .align 2 +gPokenavCityMap_Rustboro_1:: @ 83E0B48 + .incbin "graphics/pokenav/city_maps/rustboro_1.bin.lz" + + .align 2 +gPokenavCityMap_Pacifidlog_0:: @ 83E0B9C + .incbin "graphics/pokenav/city_maps/pacifidlog_0.bin.lz" + + .align 2 +gPokenavCityMap_Mauville_1:: @ 83E0BDC + .incbin "graphics/pokenav/city_maps/mauville_1.bin.lz" + + .align 2 +gPokenavCityMap_Mauville_0:: @ 83E0C34 + .incbin "graphics/pokenav/city_maps/mauville_0.bin.lz" + + .align 2 +gPokenavCityMap_Oldale_0:: @ 83E0C88 + .incbin "graphics/pokenav/city_maps/oldale_0.bin.lz" + + .align 2 +gPokenavCityMap_Lilycove_1:: @ 83E0CB8 + .incbin "graphics/pokenav/city_maps/lilycove_1.bin.lz" + + .align 2 +gPokenavCityMap_Lilycove_0:: @ 83E0D04 + .incbin "graphics/pokenav/city_maps/lilycove_0.bin.lz" + + .align 2 +gPokenavCityMap_Littleroot_0:: @ 83E0D5C + .incbin "graphics/pokenav/city_maps/littleroot_0.bin.lz" + + .align 2 +gPokenavCityMap_Dewford_0:: @ 83E0D8C + .incbin "graphics/pokenav/city_maps/dewford_0.bin.lz" + + .align 2 +gPokenavCityMap_Sootopolis_0:: @ 83E0DC4 + .incbin "graphics/pokenav/city_maps/sootopolis_0.bin.lz" + + .align 2 +gPokenavCityMap_EverGrande_0:: @ 83E0E04 + .incbin "graphics/pokenav/city_maps/ever_grande_0.bin.lz" + + .align 2 +gPokenavCityMap_EverGrande_1:: @ 83E0E4C + .incbin "graphics/pokenav/city_maps/ever_grande_1.bin.lz" + + .align 2 +gPokenavCityMap_Verdanturf_0:: @ 83E0E90 + .incbin "graphics/pokenav/city_maps/verdanturf_0.bin.lz" + + .align 2 +gPokenavCityMap_Mossdeep_1:: @ 83E0EC8 + .incbin "graphics/pokenav/city_maps/mossdeep_1.bin.lz" + + .align 2 +gPokenavCityMap_Mossdeep_0:: @ 83E0F10 + .incbin "graphics/pokenav/city_maps/mossdeep_0.bin.lz" + + .align 2 +gPokenavCityMap_Petalburg_0:: @ 83E0F6C + .incbin "graphics/pokenav/city_maps/petalburg_0.bin.lz" + +@ 83E0FC8 + .include "data/text/ribbon_descriptions.inc" + +@ 83E1204 + .include "data/text/gift_ribbon_descriptions.inc" + +@ 83E178C + .include "data/text/trainer_eye_descriptions.inc" + + .align 2 +gUnknown_083E31B0:: @ 83E31B0 + .4byte PCText_CheckMap + .4byte PCText_CheckPoke + .4byte PCText_CheckTrainer + .4byte PCText_CheckRibbons + .4byte PCText_PutAwayNav + .4byte PCText_NoRibbonWin + .4byte PCText_NoTrainers + + .align 2 +gUnknown_083E31CC:: @ 83E31CC + .4byte PCText_CheckParty + .4byte PCText_CheckPokeAll + .4byte PCText_ReturnToNav + + .align 2 +gUnknown_083E31D8:: @ 83E31D8 + .4byte PCText_FindCool + .4byte PCText_FindBeauty + .4byte PCText_FindCute + .4byte PCText_FindSmart + .4byte PCText_FindTough + .4byte PCText_ReturnToCondition + + .align 2 +gPokenavCityMaps:: @ 83E31F0 + .4byte gPokenavCityMap_Littleroot_0, NULL + .4byte gPokenavCityMap_Oldale_0, NULL + .4byte gPokenavCityMap_Dewford_0, NULL + .4byte gPokenavCityMap_Lavaridge_0, NULL + .4byte gPokenavCityMap_Fallarbor_0, NULL + .4byte gPokenavCityMap_Verdanturf_0, NULL + .4byte gPokenavCityMap_Pacifidlog_0, NULL + .4byte gPokenavCityMap_Petalburg_0, NULL + .4byte gPokenavCityMap_Slateport_0, gPokenavCityMap_Slateport_1 + .4byte gPokenavCityMap_Mauville_0, gPokenavCityMap_Mauville_1 + .4byte gPokenavCityMap_Rustboro_0, gPokenavCityMap_Rustboro_1 + .4byte gPokenavCityMap_Fortree_0, NULL + .4byte gPokenavCityMap_Lilycove_0, gPokenavCityMap_Lilycove_1 + .4byte gPokenavCityMap_Mossdeep_0, gPokenavCityMap_Mossdeep_1 + .4byte gPokenavCityMap_Sootopolis_0, NULL + .4byte gPokenavCityMap_EverGrande_0, gPokenavCityMap_EverGrande_1 + + .align 2 +gUnknown_083E3270:: @ 83E3270 + .4byte sub_80F0A24 + .4byte sub_80F0A24 + .4byte sub_80F0A74 + + .align 2 +gPokenavIconPalette:: + .incbin "graphics/pokenav/icon.gbapal" + + .align 2 +gUnknown_083E329C:: @ 83E329C + .incbin "graphics/pokenav/icon.4bpp.lz" + + .align 2 +gPokenavPokeballTiles:: + .incbin "graphics/pokenav/pokeball.4bpp" + + .align 2 +gUnknown_083E3780: @ 83E3780 + .incbin "baserom.gba", 0x3e3780, 0x20 + + .align 2 +gPokenavSparkle_Pal:: + .incbin "graphics/pokenav/sparkle.gbapal" + + .align 2 +gPokenavSparkle_Gfx:: + .incbin "graphics/pokenav/sparkle.4bpp" + + .align 2 +gPokenavUpDownArrows_Gfx:: + .incbin "graphics/pokenav/arrows.4bpp" + +gUnknown_083E3BC0:: + .incbin "baserom.gba", 0x003E3BC0, 0x20 + + .align 2 +gTiles_083E3BE0:: + .incbin "graphics/unknown/unknown_3E3BE0.4bpp" + + .align 2 +gUnknown_083E3C60:: @ 83E3C60 + .incbin "graphics/misc/ribbons_cool.gbapal" + .incbin "graphics/misc/ribbons_beauty.gbapal" + .incbin "graphics/misc/ribbons_cute.gbapal" + .incbin "graphics/misc/ribbons_smart.gbapal" + .incbin "graphics/misc/ribbons_tough.gbapal" + + .align 2 +gUnknown_083E3D00:: @ 83E3D00 + .incbin "graphics/misc/ribbons_full.4bpp.lz" + + .align 2 +PokenavBlueLightPalette: + .incbin "graphics/pokenav/blue_light.gbapal" + + .align 2 +PokenavBlueLightTiles: + .incbin "graphics/pokenav/blue_light.4bpp" + +Palette_3E42D8: @ 83E42D8 + .incbin "baserom.gba", 0x3e42d8, 0x20 + +gUnknown_083E42F8:: @ 83E42F8 + .incbin "baserom.gba", 0x003e42f8, 0x20 + + .align 2 +gOamData_83E4318:: @ 83E4318 + .2byte 0x4000 + .2byte 0x8000 + .2byte 0x0400 + + .align 2 +gSpriteAnim_83E4320:: @ 83E4320 + obj_image_anim_frame 0, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83E4328:: @ 83E4328 + obj_image_anim_frame 8, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83E4330:: @ 83E4330 + obj_image_anim_frame 16, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83E4338:: @ 83E4338 + obj_image_anim_frame 24, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83E4340:: @ 83E4340 + obj_image_anim_frame 32, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83E4348:: @ 83E4348 + obj_image_anim_frame 40, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83E4350:: @ 83E4350 + obj_image_anim_frame 48, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83E4358:: @ 83E4358 + obj_image_anim_frame 56, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83E4360:: @ 83E4360 + obj_image_anim_frame 64, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83E4368:: @ 83E4368 + obj_image_anim_frame 72, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83E4370:: @ 83E4370 + obj_image_anim_frame 80, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83E4378:: @ 83E4378 + obj_image_anim_frame 88, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83E4380:: @ 83E4380 + obj_image_anim_frame 96, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83E4388:: @ 83E4388 + obj_image_anim_frame 104, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83E4390:: @ 83E4390 + obj_image_anim_frame 112, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83E4398:: @ 83E4398 + obj_image_anim_frame 120, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83E43A0:: @ 83E43A0 + obj_image_anim_frame 128, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83E43A8:: @ 83E43A8 + obj_image_anim_frame 136, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83E43B0:: @ 83E43B0 + obj_image_anim_frame 144, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83E43B8:: @ 83E43B8 + obj_image_anim_frame 152, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83E43C0:: @ 83E43C0 + obj_image_anim_frame 160, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83E43C8:: @ 83E43C8 + obj_image_anim_frame 168, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83E43D0:: @ 83E43D0 + obj_image_anim_frame 176, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83E43D8:: @ 83E43D8 + obj_image_anim_frame 184, 5 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83E43E0:: @ 83E43E0 + .4byte gSpriteAnim_83E4320 + .4byte gSpriteAnim_83E4328 + .4byte gSpriteAnim_83E4330 + .4byte gSpriteAnim_83E4338 + .4byte gSpriteAnim_83E4340 + .4byte gSpriteAnim_83E4348 + .4byte gSpriteAnim_83E4350 + .4byte gSpriteAnim_83E4358 + .4byte gSpriteAnim_83E4360 + .4byte gSpriteAnim_83E4368 + .4byte gSpriteAnim_83E4370 + .4byte gSpriteAnim_83E4378 + .4byte gSpriteAnim_83E4380 + .4byte gSpriteAnim_83E4388 + .4byte gSpriteAnim_83E4390 + .4byte gSpriteAnim_83E4398 + .4byte gSpriteAnim_83E43A0 + .4byte gSpriteAnim_83E43A8 + .4byte gSpriteAnim_83E43B0 + .4byte gSpriteAnim_83E43B8 + .4byte gSpriteAnim_83E43C0 + .4byte gSpriteAnim_83E43C8 + .4byte gSpriteAnim_83E43D0 + .4byte gSpriteAnim_83E43D8 + +Unknown_83E4440: + .incbin "baserom.gba", 0x003e4440, 0x10 + +gUnknown_083E4450:: @ 83E4450 + .4byte Unknown_83E4440 + + .align 2 +gSpriteTemplate_83E4454:: @ 83E4454 + spr_template 0, 0, gOamData_83E4318, gSpriteAnimTable_83E43E0, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gSpriteSheet_PokenavBlueLight:: @ 83E446C + obj_tiles PokenavBlueLightTiles, 0x100, 25 + + .align 2 +gSpritePalette_PokenavBlueLight:: @ 83E4474 + obj_pal PokenavBlueLightPalette, 17 + + .align 2 +gOamData_83E447C:: @ 83E447C + .2byte 0x4000 + .2byte 0x8000 + .2byte 0x0400 + + .align 2 +gSpriteTemplate_83E4484:: @ 83E4484 + spr_template 25, 17, gOamData_83E447C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80F2654 + +gUnknown_083E449C:: @ 83E449C + obj_pal gPokenavMenuOptions3_Pal, 2 + obj_pal gPokenavCondition5_Pal, 3 + obj_pal 0x0, 0 + + .align 2 +gOamData_83E44B4:: @ 83E44B4 + .2byte 0x4000 + .2byte 0xC000 + .2byte 0x0400 + + .align 2 +gSpriteAnim_83E44BC:: @ 83E44BC + obj_image_anim_frame 0, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83E44C4:: @ 83E44C4 + obj_image_anim_frame 32, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83E44CC:: @ 83E44CC + obj_image_anim_frame 64, 5 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83E44D4:: @ 83E44D4 + .4byte gSpriteAnim_83E44BC + .4byte gSpriteAnim_83E44C4 + .4byte gSpriteAnim_83E44CC + + .align 2 +gSpriteTemplate_83E44E0:: @ 83E44E0 + spr_template 1, 2, gOamData_83E44B4, gSpriteAnimTable_83E44D4, NULL, gDummySpriteAffineAnimTable, sub_80F2BBC + + .align 2 +gSpriteTemplate_83E44F8:: @ 83E44F8 + spr_template 1, 3, gOamData_83E44B4, gSpriteAnimTable_83E44D4, NULL, gDummySpriteAffineAnimTable, sub_80F2BBC + + .align 2 +gOamData_83E4510:: @ 83E4510 + .2byte 0x4000 + .2byte 0x8000 + .2byte 0x0400 + + .align 2 +gSpriteAnim_83E4518:: @ 83E4518 + obj_image_anim_frame 0, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83E4520:: @ 83E4520 + obj_image_anim_frame 8, 5 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83E4528:: @ 83E4528 + .4byte gSpriteAnim_83E4518 + .4byte gSpriteAnim_83E4520 + + .align 2 +gSpriteTemplate_83E4530:: @ 83E4530 + spr_template 2, 2, gOamData_83E4510, gSpriteAnimTable_83E4528, NULL, gDummySpriteAffineAnimTable, sub_80F2BBC + + .align 2 +gSpriteTemplate_83E4548:: @ 83E4548 + spr_template 2, 3, gOamData_83E4510, gSpriteAnimTable_83E4528, NULL, gDummySpriteAffineAnimTable, sub_80F2BBC + + .align 2 +gOamData_83E4560:: @ 83E4560 + .2byte 0x0000 + .2byte 0xC000 + .2byte 0x0400 + + .align 2 +gUnknown_083E4568:: @ 83E4568 + .incbin "baserom.gba", 0x003e4568, 0x8 + + .align 2 +gSpriteTemplate_83E4570:: @ 83E4570 + spr_template 6, 6, gOamData_83E4560, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80F2E00 + +gUnknown_083E4588:: @ 83E4588 + .incbin "baserom.gba", 0x003e4588, 0x8 + + .align 2 +gUnknown_083E4590:: @ 83E4590 + obj_tiles gPokenavArrow_Gfx, 0x40, 9 + obj_tiles gPokenavUpDownArrows_Gfx, 0x80, 10 + null_obj_tiles + + .align 2 +gUnknown_083E45A8:: @ 83E45A8 + obj_pal gPokenavArrowsPalette, 9 + + .align 2 +gOamData_83E45B0:: @ 83E45B0 + .2byte 0x8000 + .2byte 0x0000 + .2byte 0x0800 + + .align 2 +gSpriteTemplate_83E45B8:: @ 83E45B8 + spr_template 9, 9, gOamData_83E45B0, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80F3190 + + .align 2 +gSpriteAnim_83E45D0:: @ 83E45D0 + obj_image_anim_frame 0, 3 + obj_image_anim_end + + .align 2 +gSpriteAnim_83E45D8:: @ 83E45D8 + obj_image_anim_frame 2, 3 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83E45E0:: @ 83E45E0 + .4byte gSpriteAnim_83E45D0 + .4byte gSpriteAnim_83E45D8 + + .align 2 +gOamData_83E45E8:: @ 83E45E8 + .2byte 0x4000 + .2byte 0x0000 + .2byte 0x0800 + + .align 2 +gSpriteTemplate_83E45F0:: @ 83E45F0 + spr_template 10, 9, gOamData_83E45E8, gSpriteAnimTable_83E45E0, NULL, gDummySpriteAffineAnimTable, sub_80F31AC + + .align 2 +gOamData_83E4608:: @ 83E4608 + .2byte 0x0000 + .2byte 0x4000 + .2byte 0x0800 + + .align 2 +gSpriteAnim_83E4610:: @ 83E4610 + obj_image_anim_frame 0, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83E4618:: @ 83E4618 + obj_image_anim_frame 4, 5 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83E4620:: @ 83E4620 + .4byte gSpriteAnim_83E4610 + .4byte gSpriteAnim_83E4618 + + .align 2 +gUnknown_083E4628:: @ 83E4628 + obj_tiles gPokenavPokeballTiles, 0x100, 3 + obj_tiles gUnknown_083E3780, 0x20, 4 + obj_tiles gPokenavConditionMenuCancel_Gfx, 0x100, 5 + null_obj_tiles + + .align 2 +gUnknown_083E4648:: @ 83E4648 + obj_pal gPokenavConditionPokeball_Pal, 4 + obj_pal gPokenavCondition4_Pal, 5 + .space 8 + + .align 2 +gSpriteTemplate_83E4660:: @ 83E4660 + spr_template 3, 4, gOamData_83E4608, gSpriteAnimTable_83E4620, NULL, gDummySpriteAffineAnimTable, sub_80F3328 + +gUnknown_083E4678:: @ 83E4678 + .incbin "baserom.gba", 0x003e4678, 0x20 + +gUnknown_083E4698:: @ 83E4698 + .incbin "baserom.gba", 0x003e4698, 0x80 + + .align 2 +gOamData_83E4718:: @ 83E4718 + .2byte 0x0100 + .2byte 0x8000 + .2byte 0x0000 + + .align 2 +gSpriteAffineAnim_83E4720:: @ 83E4720 + obj_rot_scal_anim_frame 0x80, 0x80, 0, 0 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_83E4730:: @ 83E4730 + obj_rot_scal_anim_frame 0x80, 0x80, 0, 0 + obj_rot_scal_anim_frame 0x20, 0x20, 0, 4 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_83E4748:: @ 83E4748 + obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 + obj_rot_scal_anim_frame 0xFFE0, 0xFFE0, 0, 4 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_83E4760:: @ 83E4760 + .4byte gSpriteAffineAnim_83E4720 + .4byte gSpriteAffineAnim_83E4730 + .4byte gSpriteAffineAnim_83E4748 + + .align 2 +gSpriteTemplate_83E476C:: @ 83E476C + spr_template 11, 10, gOamData_83E4718, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_83E4760, SpriteCallbackDummy + + .align 2 +gUnknown_083E4784:: @ 83E4784 + obj_tiles gPokenavSparkle_Gfx, 896, 0x0017 + + .align 2 +gUnknown_083E478C:: @ 83E478C + obj_pal gPokenavSparkle_Pal, 0x000f + +gUnknown_083E4794:: @ 83E4794 + .incbin "baserom.gba", 0x003e4794, 0x28 + + .align 2 +gOamData_83E47BC:: @ 83E47BC + .2byte 0x0000 + .2byte 0x4000 + .2byte 0x0000 + + .align 2 +gSpriteAnim_83E47C4:: @ 83E47C4 + obj_image_anim_frame 0, 5 + obj_image_anim_frame 4, 5 + obj_image_anim_frame 8, 5 + obj_image_anim_frame 12, 5 + obj_image_anim_frame 16, 5 + obj_image_anim_frame 20, 5 + obj_image_anim_frame 24, 5 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83E47E4:: @ 83E47E4 + .4byte gSpriteAnim_83E47C4 + .4byte gSpriteAnim_83E47C4 + 0x8 + .4byte gSpriteAnim_83E47C4 + 0x10 + .4byte gSpriteAnim_83E47C4 + 0x18 + + @ unused? + .4byte gSpriteAnim_83E47C4 + 0x20 + .4byte gSpriteAnim_83E47C4 + 0x28 + .4byte gSpriteAnim_83E47C4 + 0x30 + + .align 2 +gSpriteTemplate_83E4800:: @ 83E4800 + spr_template 23, 15, gOamData_83E47BC, gSpriteAnimTable_83E47E4, NULL, gDummySpriteAffineAnimTable, sub_80F3E9C + + .align 2 +gUnknown_083E4818:: @ 83E4818 + obj_pal gPokenavIconPalette, 16 + + .align 2 +gSpriteAnim_83E4820:: @ 83E4820 + obj_image_anim_frame 0, 12 + obj_image_anim_frame 16, 12 + obj_image_anim_frame 32, 12 + obj_image_anim_frame 48, 12 + obj_image_anim_frame 64, 12 + obj_image_anim_frame 80, 12 + obj_image_anim_frame 96, 12 + obj_image_anim_frame 112, 12 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnimTable_83E4844:: @ 83E4844 + .4byte gSpriteAnim_83E4820 + + .align 2 +gOamData_83E4848:: @ 83E4848 + .2byte 0x0000 + .2byte 0x8000 + .2byte 0x0000 + + .align 2 +gSpriteTemplate_83E4850:: @ 83E4850 + spr_template 24, 16, gOamData_83E4848, gSpriteAnimTable_83E4844, NULL, gDummySpriteAffineAnimTable, sub_80F4138 + + .align 2 +gUnknown_083E4868:: @ 83E4868 + obj_pal Palette_3E42D8, 18 + + .align 2 +gOamData_83E4870:: @ 83E4870 + .2byte 0x4000 + .2byte 0x8000 + .2byte 0x0C00 + + .align 2 +gSpriteTemplate_83E4878:: @ 83E4878 + spr_template 26, 18, gOamData_83E4870, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + +gUnknown_083E4890:: @ 83E4890 + .incbin "baserom.gba", 0x003e4890, 0x100 + +gUnknown_083E4990:: @ 83E4990 + .incbin "baserom.gba", 0x003e4990, 0xc + +gUnknown_083E499C:: @ 83E499C + .incbin "baserom.gba", 0x003e499c, 0x24 + +gUnknown_083E49C0:: @ 83E49C0 + .incbin "baserom.gba", 0x003e49c0, 0x34 + + .align 2 +gUnknown_083E49F4:: @ 83E49F4 + .incbin "graphics/misc/mon_markings.gbapal" + + .align 2 +gUnknown_083E4A14:: @ 83E4A14 + .incbin "graphics/misc/mon_markings.4bpp" + +gUnknown_083E5214:: @ 83E5214 + .incbin "baserom.gba", 0x003e5214, 0x8 + +gUnknown_083E521C:: @ 83E521C + .space 8 + + .align 2 +gSpriteAnim_83E5224:: @ 83E5224 + obj_image_anim_frame 0, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83E522C:: @ 83E522C + obj_image_anim_frame 1, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83E5234:: @ 83E5234 + obj_image_anim_frame 2, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83E523C:: @ 83E523C + obj_image_anim_frame 3, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83E5244:: @ 83E5244 + obj_image_anim_frame 4, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83E524C:: @ 83E524C + obj_image_anim_frame 5, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83E5254:: @ 83E5254 + obj_image_anim_frame 6, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83E525C:: @ 83E525C + obj_image_anim_frame 7, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83E5264:: @ 83E5264 + obj_image_anim_frame 8, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83E526C:: @ 83E526C + obj_image_anim_frame 9, 5 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83E5274:: @ 83E5274 + .4byte gSpriteAnim_83E5224 + .4byte gSpriteAnim_83E522C + .4byte gSpriteAnim_83E5234 + .4byte gSpriteAnim_83E523C + .4byte gSpriteAnim_83E5244 + .4byte gSpriteAnim_83E524C + .4byte gSpriteAnim_83E5254 + .4byte gSpriteAnim_83E525C + .4byte gSpriteAnim_83E5264 + .4byte gSpriteAnim_83E526C + + .align 2 +gSpriteAnim_83E529C:: @ 83E529C + obj_image_anim_frame 0, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83E52A4:: @ 83E52A4 + obj_image_anim_frame 64, 5 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83E52AC:: @ 83E52AC + .4byte gSpriteAnim_83E529C + .4byte gSpriteAnim_83E52A4 + +gUnknown_083E52B4:: @ 83E52B4 + .incbin "baserom.gba", 0x003E52B4, 0x8 + + .align 2 +gSpriteAnim_83E52BC:: @ 83E52BC + obj_image_anim_frame 0, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83E52C4:: @ 83E52C4 + obj_image_anim_frame 4, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83E52CC:: @ 83E52CC + obj_image_anim_frame 8, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83E52D4:: @ 83E52D4 + obj_image_anim_frame 12, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83E52DC:: @ 83E52DC + obj_image_anim_frame 16, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83E52E4:: @ 83E52E4 + obj_image_anim_frame 20, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83E52EC:: @ 83E52EC + obj_image_anim_frame 24, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83E52F4:: @ 83E52F4 + obj_image_anim_frame 28, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83E52FC:: @ 83E52FC + obj_image_anim_frame 32, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83E5304:: @ 83E5304 + obj_image_anim_frame 36, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83E530C:: @ 83E530C + obj_image_anim_frame 40, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83E5314:: @ 83E5314 + obj_image_anim_frame 44, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83E531C:: @ 83E531C + obj_image_anim_frame 48, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83E5324:: @ 83E5324 + obj_image_anim_frame 52, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83E532C:: @ 83E532C + obj_image_anim_frame 56, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83E5334:: @ 83E5334 + obj_image_anim_frame 60, 5 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83E533C:: @ 83E533C + .4byte gSpriteAnim_83E52BC + .4byte gSpriteAnim_83E52C4 + .4byte gSpriteAnim_83E52CC + .4byte gSpriteAnim_83E52D4 + .4byte gSpriteAnim_83E52DC + .4byte gSpriteAnim_83E52E4 + .4byte gSpriteAnim_83E52EC + .4byte gSpriteAnim_83E52F4 + .4byte gSpriteAnim_83E52FC + .4byte gSpriteAnim_83E5304 + .4byte gSpriteAnim_83E530C + .4byte gSpriteAnim_83E5314 + .4byte gSpriteAnim_83E531C + .4byte gSpriteAnim_83E5324 + .4byte gSpriteAnim_83E532C + .4byte gSpriteAnim_83E5334 + +gUnknown_083E537C:: @ 83E537C + .incbin "baserom.gba", 0x003e537c, 0xc + + .align 2 +gUnknown_083E5388:: @ 83E5388 + .4byte OtherText_SoPretty + .4byte OtherText_SoDarling + .4byte OtherText_SoRelaxed + .4byte OtherText_SoSunny + .4byte OtherText_SoDesirable + .4byte OtherText_SoExciting + .4byte OtherText_SoAmusing + .4byte OtherText_SoMagical + + .align 2 +gUnknown_083E53A8:: @ 83E53A8 + .4byte OtherText_WantVacationNicePlace + .4byte OtherText_BoughtCrayonsIsNice + .4byte OtherText_IfWeCouldFloat + .4byte OtherText_SandWashesAwayMakeSad + .4byte OtherText_WhatsBottomSeaLike + .4byte OtherText_SeeSettingSun + .4byte OtherText_LyingInGreenGrass + .4byte OtherText_SecretBasesWonderful + +gUnknown_083E53C8:: @ 83E53C8 + .incbin "baserom.gba", 0x003e53c8, 0x18 + + .align 2 +gUnknown_083E53E0:: @ 83E53E0 + .4byte 0x132, UnknownString_81AEFFC, UnknownString_81AF013, UnknownString_81AF022 + .4byte 0x102, UnknownString_81AF0A3, UnknownString_81AF0BB, UnknownString_81AF0CA + .4byte 0x103, UnknownString_81AF149, UnknownString_81AF164, UnknownString_81AF174 + .4byte 0x104, UnknownString_81AF1E5, UnknownString_81AF1FD, UnknownString_81AF20A + .4byte 0x106, UnknownString_81AF281, UnknownString_81AF299, UnknownString_81AF2A9 + .4byte 0x109, UnknownString_81AF32C, UnknownString_81AF345, UnknownString_81AF34D + .4byte 0x10b, UnknownString_81AF3D0, UnknownString_81AF3ED, UnknownString_81AF3FC + .4byte 0x10c, UnknownString_81AF46D, UnknownString_81AF481, UnknownString_81AF49B + .4byte 0x10d, UnknownString_81AF511, UnknownString_81AF529, UnknownString_81AF536 + .4byte 0x10e, UnknownString_81AF5A9, UnknownString_81AF5BD, UnknownString_81AF5CD + .4byte 0x10f, UnknownString_81AF63F, UnknownString_81AF661, UnknownString_81AF676 + .4byte 0x110, UnknownString_81AF711, UnknownString_81AF726, UnknownString_81AF73D + .4byte 0x111, UnknownString_81AF7BF, UnknownString_81AF7D9, UnknownString_81AF7F1 + .4byte 0x112, UnknownString_81AF88A, UnknownString_81AF8A1, UnknownString_81AF8AA + .4byte 0x113, UnknownString_81AF91B, UnknownString_81AF935, UnknownString_81AF943 + .4byte 0x114, UnknownString_81AF9C8, UnknownString_81AF9E0, UnknownString_81AF9F6 + .4byte 0x11a, UnknownString_81AFA79, UnknownString_81AFA92, UnknownString_81AFA9E + .4byte 0x11b, UnknownString_81AFB17, UnknownString_81AFB2D, UnknownString_81AFB48 + .4byte 0x11c, UnknownString_81AFBD8, UnknownString_81AFBE7, UnknownString_81AFC04 + .4byte 0x21d, UnknownString_81AFC8A, UnknownString_81AFC9D, UnknownString_81AFCBE + .4byte 0x11e, UnknownString_81AFD44, UnknownString_81AFD60, UnknownString_81AFD80 + .4byte 0x121, UnknownString_81AFE1D, UnknownString_81AFE36, UnknownString_81AFE42 + .4byte 0x124, UnknownString_81AFEC2, UnknownString_81AFEDD, UnknownString_81AFEEE + .4byte 0x125, UnknownString_81AFF68, UnknownString_81AFF7B, UnknownString_81AFF88 + .4byte 0x126, UnknownString_81AFFFB, UnknownString_81B000D, UnknownString_81B0015 + .4byte 0x127, UnknownString_81B009D, UnknownString_81B00B6, UnknownString_81B00C9 + .4byte 0x128, UnknownString_81B014D, UnknownString_81B0165, UnknownString_81B0173 + .4byte 0x129, UnknownString_81B01E9, UnknownString_81B0201, UnknownString_81B0213 + .4byte 0x12a, UnknownString_81B0290, UnknownString_81B02A5, UnknownString_81B02B6 + .4byte 0x12b, UnknownString_81B0337, UnknownString_81B0351, UnknownString_81B0364 + .4byte 0x12c, UnknownString_81B03E9, UnknownString_81B0401, UnknownString_81B040C + .4byte 0x12d, UnknownString_81B046E, UnknownString_81B0489, UnknownString_81B049A + .4byte 0x12e, UnknownString_81B0523, UnknownString_81B053E, UnknownString_81B0554 + .4byte 0x12f, UnknownString_81B05D8, UnknownString_81B05F3, UnknownString_81B0610 + .4byte 0x130, UnknownString_81B06A9, UnknownString_81B06C6, UnknownString_81B06D9 + +gUnknown_083E5610:: @ 83E5610 + .4byte 0x131, UnknownString_81B0763, UnknownString_81B0781, UnknownString_81B0797 + +gUnknown_083E5620:: @ 83E5620 + .incbin "baserom.gba", 0x003e5620, 0xc + + .align 1 +gUnknown_083E562C:: @ 83E562C + .2byte 0x6ACD, 0x51A5 + .2byte 0x45FC, 0x38D4 + + .align 2 +gMailGraphicsTable:: @ 83E5634 + .4byte gMailPalette_Orange + .4byte gMailTiles_Orange + .4byte gMailTilemap_Orange + .2byte 0x2C0 + .2byte 0 + .2byte 0x294A + .2byte 0x6739 + + .4byte gMailPalette_Harbor + .4byte gMailTiles_Harbor + .4byte gMailTilemap_Harbor + .2byte 0x2E0 + .2byte 0 + .2byte 0x7FFF + .2byte 0x4631 + + .4byte gMailPalette_Glitter + .4byte gMailTiles_Glitter + .4byte gMailTilemap_Glitter + .2byte 0x400 + .2byte 0 + .2byte 0x294A + .2byte 0x6739 + + .4byte gMailPalette_Mech + .4byte gMailTiles_Mech + .4byte gMailTilemap_Mech + .2byte 0x1E0 + .2byte 0 + .2byte 0x7FFF + .2byte 0x4631 + + .4byte gMailPalette_Wood + .4byte gMailTiles_Wood + .4byte gMailTilemap_Wood + .2byte 0x2E0 + .2byte 0 + .2byte 0x7FFF + .2byte 0x4631 + + .4byte gMailPalette_Wave + .4byte gMailTiles_Wave + .4byte gMailTilemap_Wave + .2byte 0x300 + .2byte 0 + .2byte 0x294A + .2byte 0x6739 + + .4byte gMailPalette_Bead + .4byte gMailTiles_Bead + .4byte gMailTilemap_Bead + .2byte 0x140 + .2byte 0 + .2byte 0x7FFF + .2byte 0x4631 + + .4byte gMailPalette_Shadow + .4byte gMailTiles_Shadow + .4byte gMailTilemap_Shadow + .2byte 0x300 + .2byte 0 + .2byte 0x7FFF + .2byte 0x4631 + + .4byte gMailPalette_Tropic + .4byte gMailTiles_Tropic + .4byte gMailTilemap_Tropic + .2byte 0x220 + .2byte 0 + .2byte 0x294A + .2byte 0x6739 + + .4byte gMailPalette_Dream + .4byte gMailTiles_Dream + .4byte gMailTilemap_Dream + .2byte 0x340 + .2byte 0 + .2byte 0x294A + .2byte 0x6739 + + .4byte gMailPalette_Fab + .4byte gMailTiles_Fab + .4byte gMailTilemap_Fab + .2byte 0x2A0 + .2byte 0 + .2byte 0x294A + .2byte 0x6739 + + .4byte gMailPalette_Retro + .4byte gMailTiles_Retro + .4byte gMailTilemap_Retro + .2byte 0x520 + .2byte 0 + .2byte 0x294A + .2byte 0x6739 + + .align 2 +Unknown_3E5724: @ 83E5724 + .4byte 0xC + .4byte 0xC + .4byte 0xC + +gUnknown_083E5730:: @ 83E5730 + .byte 3, 15, 27, 52 + .4byte Unknown_3E5724 + .byte 3, 15, 27, 52 + .4byte Unknown_3E5724 + .byte 3, 15, 27, 52 + .4byte Unknown_3E5724 + .byte 3, 15, 27, 52 + .4byte Unknown_3E5724 + .byte 3, 15, 27, 52 + .4byte Unknown_3E5724 + .byte 3, 15, 27, 52 + .4byte Unknown_3E5724 + .byte 3, 15, 27, 52 + .4byte Unknown_3E5724 + .byte 3, 15, 27, 52 + .4byte Unknown_3E5724 + .byte 3, 15, 27, 52 + .4byte Unknown_3E5724 + .byte 3, 15, 27, 52 + .4byte Unknown_3E5724 + .byte 3, 16, 27, 52 + .4byte Unknown_3E5724 + .byte 3, 15, 27, 52 + .4byte Unknown_3E5724 + + .align 2 +Unknown_3E5790: @ 83E5790 + .4byte 0x8 + .4byte 0x8 + .4byte 0x8 + .4byte 0x8 + .4byte 0x4 + + .align 2 +gUnknown_083E57A4:: @ 83E57A4 + .byte 5, 15, 15, 52 + .4byte Unknown_3E5790 + .byte 5, 15, 15, 52 + .4byte Unknown_3E5790 + .byte 5, 15, 16, 52 + .4byte Unknown_3E5790 + .byte 5, 15, 15, 52 + .4byte Unknown_3E5790 + .byte 5, 15, 15, 52 + .4byte Unknown_3E5790 + .byte 5, 15, 16, 52 + .4byte Unknown_3E5790 + .byte 5, 15, 16, 52 + .4byte Unknown_3E5790 + .byte 5, 15, 15, 52 + .4byte Unknown_3E5790 + .byte 5, 15, 15, 52 + .4byte Unknown_3E5790 + .byte 5, 15, 15, 52 + .4byte Unknown_3E5790 + .byte 5, 16, 15, 52 + .4byte Unknown_3E5790 + .byte 5, 15, 15, 52 + .4byte Unknown_3E5790 + + .align 2 + .incbin "baserom.gba", 0x3e5804, 0x4 + + .align 2 +gSpriteImage_83E5808:: @ 83E5808 + .incbin "graphics/unknown_sprites/83E59A0/0.4bpp" + + .align 2 +gSpriteImage_83E5848:: @ 83E5848 + .incbin "graphics/unknown_sprites/83E59A0/1.4bpp" + + .align 2 +gSpriteImage_83E5888:: @ 83E5888 + .incbin "graphics/unknown_sprites/83E59B0/0.4bpp" + + .align 2 +gSpriteImage_83E58C8:: @ 83E58C8 + .incbin "graphics/unknown_sprites/83E59B0/1.4bpp" + + .align 2 +gSpriteImage_83E5908:: @ 83E5908 + .incbin "graphics/unknown_sprites/83E59C0/0.4bpp" + + .align 2 +gSpriteImage_83E5928:: @ 83E5928 + .incbin "graphics/unknown_sprites/83E59C0/1.4bpp" + + .align 2 +Palette_3E5948: @ 83E5948 + .incbin "baserom.gba", 0x3e5948, 0x20 + + .align 2 +gUnknown_083E5968:: @ 83E5968 + obj_pal Palette_3E5948, 6 + + .align 2 +gOamData_83E5970:: @ 83E5970 + .2byte 0x0000 + .2byte 0x0000 + .2byte 0x0001 + + .align 2 +gOamData_83E5978:: @ 83E5978 + .2byte 0x4000 + .2byte 0x0000 + .2byte 0x0001 + + .align 2 +gOamData_83E5980:: @ 83E5980 + .2byte 0x8000 + .2byte 0x0000 + .2byte 0x0001 + + .align 2 +gSpriteAnim_83E5988:: @ 83E5988 + obj_image_anim_frame 0, 0 + obj_image_anim_end + + .align 2 +gSpriteAnim_83E5990:: @ 83E5990 + obj_image_anim_frame 1, 0 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83E5998:: @ 83E5998 + .4byte gSpriteAnim_83E5988 + .4byte gSpriteAnim_83E5990 + + .align 2 +gSpriteImageTable_83E59A0:: @ 83E59A0 + obj_frame_tiles gSpriteImage_83E5808, 0x40 + obj_frame_tiles gSpriteImage_83E5848, 0x40 + + .align 2 +gSpriteImageTable_83E59B0:: @ 83E59B0 + obj_frame_tiles gSpriteImage_83E5888, 0x40 + obj_frame_tiles gSpriteImage_83E58C8, 0x40 + + .align 2 +gSpriteImageTable_83E59C0:: @ 83E59C0 + obj_frame_tiles gSpriteImage_83E5908, 0x20 + obj_frame_tiles gSpriteImage_83E5928, 0x20 + + .align 2 +gSpriteTemplate_83E59D0:: @ 83E59D0 + spr_template 0xFFFF, 6, gOamData_83E5978, gSpriteAnimTable_83E5998, gSpriteImageTable_83E59A0, gDummySpriteAffineAnimTable, sub_80F9834 + + .align 2 +gSpriteTemplate_83E59E8:: @ 83E59E8 + spr_template 0xFFFF, 6, gOamData_83E5980, gSpriteAnimTable_83E5998, gSpriteImageTable_83E59B0, gDummySpriteAffineAnimTable, sub_80F9834 + + .align 2 +gSpriteTemplate_83E5A00:: @ 83E5A00 + spr_template 0xFFFF, 6, gOamData_83E5970, gSpriteAnimTable_83E5998, gSpriteImageTable_83E59C0, gDummySpriteAffineAnimTable, SpriteCallbackDummy + +gUnknown_083E5A18:: @ 83E5A18 + .string "{PALETTE 0}$" + +gUnknown_083E5A1C:: @ 83E5A1C + .string "▶$" + + .align 2 +gHealLocations:: @ 83E5A20 + heal_location LittlerootTown_BrendansHouse_2F, 4, 2 + heal_location LittlerootTown_MaysHouse_2F, 4, 2 + heal_location PetalburgCity, 20, 17 + heal_location SlateportCity, 19, 20 + heal_location MauvilleCity, 22, 6 + heal_location RustboroCity, 16, 39 + heal_location FortreeCity, 5, 7 + heal_location LilycoveCity, 24, 15 + heal_location MossdeepCity, 28, 17 + heal_location SootopolisCity, 43, 32 + heal_location EverGrandeCity, 27, 49 + heal_location LittlerootTown, 5, 9 + heal_location LittlerootTown, 14, 9 + heal_location OldaleTown, 6, 17 + heal_location DewfordTown, 2, 11 + heal_location LavaridgeTown, 9, 7 + heal_location FallarborTown, 14, 8 + heal_location VerdanturfTown, 16, 4 + heal_location PacifidlogTown, 8, 16 + heal_location EverGrandeCity, 18, 6 + heal_location BattleTower_Outside, 14, 9 + heal_location SouthernIsland_Exterior, 15, 20 + + .align 2 +gPokenavCursor_Pal:: + .incbin "graphics/pokenav/cursor.gbapal" + + .align 2 +gUnknown_083E5AF0:: @ 83E5AF0 + .incbin "graphics/pokenav/cursor_small.4bpp.lz" + + .align 2 +gUnknown_083E5B34:: @ 83E5B34 + .incbin "graphics/pokenav/cursor_large.4bpp.lz" + + .align 2 +gRegionMapBrendanIconPalette:: @ 83E5C20 + .incbin "graphics/pokenav/brendan_icon.gbapal" + + .align 2 +gRegionMapBrendanIconTiles:: @ 83E5C40 + .incbin "graphics/pokenav/brendan_icon.4bpp" + + .align 2 +gRegionMapMayIconPalette:: @ 83E5CC0 + .incbin "graphics/pokenav/may_icon.gbapal" + + .align 2 +gRegionMapMayIconTiles:: @ 83E5CE0 + .incbin "graphics/pokenav/may_icon.4bpp" + + .align 2 +gUnknown_083E5D60:: @ 83E5D60 + .incbin "graphics/pokenav/region_map.gbapal", 0xE0, 0x40 + + .align 2 +gUnknown_083E5DA0:: @ 83E5DA0 + .incbin "graphics/pokenav/region_map.8bpp.lz" + + .align 2 +gUnknown_083E6B04:: @ 83E6B04 + .incbin "graphics/pokenav/region_map_map.bin.lz" + +@ 83E6E50 + .include "data/region_map_sections.inc" + +@ 83E6FF4 + .include "data/region_map_locations.inc" + +gUnknown_083E7684:: @ 83E7684 + .incbin "baserom.gba", 0x003e7684, 0x34 + + .align 2 +gOamData_83E76B8:: @ 83E76B8 + .2byte 0x0000 + .2byte 0x4000 + .2byte 0x0400 + + .align 2 +gSpriteAnim_83E76C0:: @ 83E76C0 + obj_image_anim_frame 0, 20 + obj_image_anim_frame 4, 20 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnim_83E76CC:: @ 83E76CC + obj_image_anim_frame 0, 10 + obj_image_anim_frame 16, 10 + obj_image_anim_frame 32, 10 + obj_image_anim_frame 16, 10 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnimTable_83E76E0:: @ 83E76E0 + .4byte gSpriteAnim_83E76C0 + .4byte gSpriteAnim_83E76CC + + .align 2 +gUnknown_083E76E8:: @ 83E76E8 + obj_pal gPokenavCursor_Pal, 0x0000 + + .align 2 +gSpriteTemplate_83E76F0:: @ 83E76F0 + spr_template 0, 0, gOamData_83E76B8, gSpriteAnimTable_83E76E0, NULL, gDummySpriteAffineAnimTable, sub_80FBAF0 + +gUnknown_083E7708:: @ 83E7708 + .incbin "baserom.gba", 0x003e7708, 0x8 + +Unknown_83E7710: + .incbin "baserom.gba", 0x003e7710, 0x8 + +gUnknown_083E7718:: @ 83E7718 + .4byte Unknown_83E7710 + +gUnknown_083E771C:: @ 83E771C + .incbin "graphics/pokenav/map_frame.gbapal" + +gUnknown_083E773C:: @ 83E773C + .incbin "graphics/pokenav/map_frame.4bpp.lz" + +gUnknown_083E7774:: @ 83E7774 + .incbin "baserom.gba", 0x003e7774, 0xb8 + + .align 2 +gPokenavMapMisc_Pal:: + .incbin "graphics/pokenav/map_misc.gbapal" + +gUnknown_083E784C:: @ 83E784C + .incbin "graphics/pokenav/map_misc.4bpp.lz" + +gUnknown_083E7920:: @ 83E7920 + .incbin "baserom.gba", 0x3e7920, 0x98 + + .align 2 +Unknown_3E79B8: @ 83E79B8 + .4byte OtherText_PokeLeague + .4byte OtherText_PokeCenter + + .align 2 +gUnknown_083E79C0:: @ 83E79C0 + .4byte Unknown_3E79B8 + .incbin "baserom.gba", 0x3e79c4, 0x8 + + .align 2 +gUnknown_083E79CC:: @ 83E79CC + obj_pal gPokenavMapMisc_Pal, 0x0002 + + .align 2 +gUnknown_083E79D4:: @ 83E79D4 + .incbin "baserom.gba", 0x003e79d4, 0x8 + + .align 2 +gOamData_83E79DC:: @ 83E79DC + .2byte 0x0000 + .2byte 0x0000 + .2byte 0x0800 + + .align 2 +gSpriteAnim_83E79E4:: @ 83E79E4 + obj_image_anim_frame 0, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83E79EC:: @ 83E79EC + obj_image_anim_frame 1, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83E79F4:: @ 83E79F4 + obj_image_anim_frame 3, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83E79FC:: @ 83E79FC + obj_image_anim_frame 5, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83E7A04:: @ 83E7A04 + obj_image_anim_frame 6, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83E7A0C:: @ 83E7A0C + obj_image_anim_frame 8, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_83E7A14:: @ 83E7A14 + obj_image_anim_frame 10, 5 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83E7A1C:: @ 83E7A1C + .4byte gSpriteAnim_83E79E4 + .4byte gSpriteAnim_83E79EC + .4byte gSpriteAnim_83E79F4 + .4byte gSpriteAnim_83E79FC + .4byte gSpriteAnim_83E7A04 + .4byte gSpriteAnim_83E7A0C + .4byte gSpriteAnim_83E7A14 + + .align 2 +gSpriteTemplate_83E7A38:: @ 83E7A38 + spr_template 2, 2, gOamData_83E79DC, gSpriteAnimTable_83E7A1C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + +@ 83E7A50 + .include "data/cute_sketch.inc" + +@ 83E9FD0 + .include "data/decorations.inc" + + .align 2 +gUnknown_083EC5E4:: @ 83EC5E4 + .4byte SecretBaseText_Desk + .4byte SecretBaseText_Chair + .4byte SecretBaseText_Plant + .4byte SecretBaseText_Ornament + .4byte SecretBaseText_Mat + .4byte SecretBaseText_Poster + .4byte SecretBaseText_Doll + .4byte SecretBaseText_Cushion + + .align 2 +gUnknown_083EC604:: @ 83EC604 + .4byte SecretBaseText_Decorate, sub_80FF160 + .4byte SecretBaseText_PutAway, sub_8100A0C + .4byte SecretBaseText_Toss, sub_8101700 + .4byte gUnknownText_Exit, gpu_pal_decompress_alloc_tag_and_upload + + .align 2 +gUnknown_083EC624:: @ 83EC624 + .4byte SecretBaseText_PutOutDecor + .4byte SecretBaseText_StoreChosenDecor + .4byte SecretBaseText_ThrowAwayDecor + .4byte gMenuText_GoBackToPrev + + .align 2 +gUnknown_083EC634:: @ 83EC634 + .4byte sub_80FF5BC + .4byte sub_80FF058 + .4byte sub_81017A0 + .4byte sub_80FF058 + .4byte sub_81017A0 + .4byte sub_80FF058 + .4byte sub_8109D04 + .4byte sub_80FF058 + +gUnknown_083EC654:: @ 83EC654 + .incbin "baserom.gba", 0x003ec654, 0x6 + +gUnknown_083EC65A:: @ 83EC65A + .incbin "baserom.gba", 0x3ec65a, 0x6 + +Unknown_3EC660: @ 83EC660 + .incbin "baserom.gba", 0x3ec660, 0x4 + +Unknown_3EC664: @ 83EC664 + .incbin "baserom.gba", 0x3ec664, 0xc + +Unknown_3EC670: @ 83EC670 + .incbin "baserom.gba", 0x3ec670, 0x10 + +Unknown_3EC680: @ 83EC680 + .incbin "baserom.gba", 0x3ec680, 0xc + +Unknown_3EC68C: @ 83EC68C + .incbin "baserom.gba", 0x3ec68c, 0x8 + +Unknown_3EC694: @ 83EC694 + .incbin "baserom.gba", 0x3ec694, 0x20 + +Unknown_3EC6B4: @ 83EC6B4 + .incbin "baserom.gba", 0x3ec6b4, 0x24 + +Unknown_3EC6D8: @ 83EC6D8 + .incbin "baserom.gba", 0x3ec6d8, 0x18 + +Unknown_3EC6F0: @ 83EC6F0 + .incbin "baserom.gba", 0x3ec6f0, 0x4 + +Unknown_3EC6F4: @ 83EC6F4 + .incbin "baserom.gba", 0x3ec6f4, 0x8 + +Unknown_3EC6FC: @ 83EC6FC + .incbin "baserom.gba", 0x3ec6fc, 0xc + +Unknown_3EC708: @ 83EC708 + .incbin "baserom.gba", 0x3ec708, 0x20 + +Unknown_3EC728: @ 83EC728 + .incbin "baserom.gba", 0x3ec728, 0x10 + +Unknown_3EC738: @ 83EC738 + .incbin "baserom.gba", 0x3ec738, 0x8 + +Unknown_3EC740: @ 83EC740 + .incbin "baserom.gba", 0x3ec740, 0xc + +Unknown_3EC74C: @ 83EC74C + .incbin "baserom.gba", 0x3ec74c, 0x20 + +Unknown_3EC76C: @ 83EC76C + .incbin "baserom.gba", 0x3ec76c, 0x24 + +Unknown_3EC790: @ 83EC790 + .incbin "baserom.gba", 0x3ec790, 0x18 + +Unknown_3EC7A8: @ 83EC7A8 + .incbin "baserom.gba", 0x3ec7a8, 0x4 + +Unknown_3EC7AC: @ 83EC7AC + .incbin "baserom.gba", 0x3ec7ac, 0x8 + +Unknown_3EC7B4: @ 83EC7B4 + .incbin "baserom.gba", 0x3ec7b4, 0xc + +Unknown_3EC7C0: @ 83EC7C0 + .incbin "baserom.gba", 0x3ec7c0, 0x20 + +Unknown_3EC7E0: @ 83EC7E0 + .incbin "baserom.gba", 0x3ec7e0, 0x10 + +Unknown_3EC7F0: @ 83EC7F0 + .incbin "baserom.gba", 0x3ec7f0, 0x8 + +Unknown_3EC7F8: @ 83EC7F8 + .incbin "baserom.gba", 0x3ec7f8, 0xc + +Unknown_3EC804: @ 83EC804 + .incbin "baserom.gba", 0x3ec804, 0x20 + +Unknown_3EC824: @ 83EC824 + .incbin "baserom.gba", 0x3ec824, 0x24 + +Unknown_3EC848: @ 83EC848 + .incbin "baserom.gba", 0x3ec848, 0x18 + + .align 2 +gUnknown_083EC860:: @ 83EC860 + .4byte Unknown_3EC660, Unknown_3EC6F0, Unknown_3EC7A8, 0x4 + .4byte Unknown_3EC68C, Unknown_3EC6F4, Unknown_3EC7AC, 0x8 + .4byte Unknown_3EC664, Unknown_3EC6FC, Unknown_3EC7B4, 0xc + .4byte Unknown_3EC694, Unknown_3EC708, Unknown_3EC7C0, 0x20 + .4byte Unknown_3EC670, Unknown_3EC728, Unknown_3EC7E0, 0x10 + .4byte Unknown_3EC68C, Unknown_3EC738, Unknown_3EC7F0, 0x8 + .4byte Unknown_3EC680, Unknown_3EC740, Unknown_3EC7F8, 0xc + .4byte Unknown_3EC694, Unknown_3EC74C, Unknown_3EC804, 0x20 + .4byte Unknown_3EC6B4, Unknown_3EC76C, Unknown_3EC824, 0x24 + .4byte Unknown_3EC6D8, Unknown_3EC790, Unknown_3EC848, 0x18 + +gUnknown_083EC900:: @ 83EC900 + .incbin "baserom.gba", 0x3ec900, 0x28 + + .align 2 +gSpriteAnim_83EC928:: @ 83EC928 + obj_image_anim_frame 0, 0 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83EC930:: @ 83EC930 + .4byte gSpriteAnim_83EC928 + + .align 2 +gSpriteImageTable_83EC934: @ 83EC934 + obj_frame_tiles 0x02038984, 0x800 + + .align 2 +gSpriteTemplate_83EC93C:: @ 83EC93C + spr_template 0xFFFF, 3000, 0x20391AC, gSpriteAnimTable_83EC930, gSpriteImageTable_83EC934, gDummySpriteAffineAnimTable, sub_81009A8 + + .align 2 +gUnknown_083EC954:: @ 83EC954 + obj_pal 0x02039184, 3000 + + .align 2 +gUnknown_083EC95C:: @ 83EC95C + .4byte sub_81000C4 + .4byte sub_810065C + + .align 2 +gUnknown_083EC964:: @ 83EC964 + .4byte sub_810026C + .4byte sub_810065C + + .align 2 +gUnknown_083EC96C:: @ 83EC96C + .4byte sub_80FFAB0 + .4byte sub_80FFB08 + .4byte sub_8100F88 + .4byte sub_8100FB4 + +gUnknown_083EC97C:: @ 83EC97C + .incbin "baserom.gba", 0x003ec97c, 0x8 + +gUnknown_083EC984:: @ 83EC984 + .incbin "baserom.gba", 0x003ec984, 0x8 + + .align 2 +gUnknown_083EC98C:: + .incbin "baserom.gba", 0x003ec98c, 0x20 + + .align 2 +Unknown_3EC9AC: @ 83EC9AC + .incbin "baserom.gba", 0x3ec9ac, 0x20 + + .align 2 +gUnknown_083EC9CC:: @ 83EC9CC + .4byte sub_810153C + .4byte sub_8100EEC + + .align 2 +gUnknown_083EC9D4:: @ 83EC9D4 + .4byte sub_8101590 + .4byte sub_8100EEC + + .align 2 +gSpriteImage_83EC9DC:: @ 83EC9DC + .incbin "graphics/unknown_sprites/83EC9DC.4bpp" + + .align 2 +gUnknown_083ECA5C:: @ 83ECA5C + obj_pal gUnknown_083EC98C, 0x0008 + + .align 2 +gUnknown_083ECA64:: @ 83ECA64 + obj_pal Unknown_3EC9AC, 0x0008 + + .align 2 +gOamData_83ECA6C:: @ 83ECA6C + .2byte 0x0000 + .2byte 0x4000 + .2byte 0x0400 + + .align 2 +gSpriteAnim_83ECA74:: @ 83ECA74 + obj_image_anim_frame 0, 0 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83ECA7C:: @ 83ECA7C + .4byte gSpriteAnim_83ECA74 + + .align 2 +gSpriteImageTable_83ECA80:: @ 83ECA80 + obj_frame_tiles gSpriteImage_83EC9DC, 0x80 + + .align 2 +gSpriteTemplate_83ECA88:: @ 83ECA88 + spr_template 0xFFFF, 8, gOamData_83ECA6C, gSpriteAnimTable_83ECA7C, gSpriteImageTable_83ECA80, gDummySpriteAffineAnimTable, sub_8101698 + + .align 2 +gUnknown_083ECAA0:: @ 83ECAA0 + .4byte sub_8101848 + .4byte sub_80FED3C + + .incbin "baserom.gba", 0x003ecaa8, 0x4 + + .align 2 +gUnknown_083ECAAC:: @ 83ECAAC + .4byte sub_8101D5C + .4byte sub_8101D8C + .4byte sub_8101DB0 + .4byte sub_8101DF4 + .4byte sub_8101E10 + .4byte sub_8101E3C + .4byte sub_8101F44 + .4byte sub_8101F60 + .4byte sub_8101F88 + .4byte sub_8101FA4 + .4byte sub_8102008 + .4byte sub_8102034 + .4byte sub_8102058 + .4byte sub_8102090 + .4byte sub_81020C8 + .4byte sub_81021E0 + .4byte sub_81021FC + .4byte sub_8102264 + .4byte sub_81022A0 + .4byte sub_81022CC + .4byte sub_81022F0 + .4byte sub_8102318 + .4byte sub_8102344 + .4byte sub_810239C + .4byte sub_81023B8 + .4byte sub_81023E0 + .4byte sub_81023FC + .4byte sub_8102424 + .4byte sub_8102460 + + .align 2 +gUnknown_083ECB20:: @ 83ECB20 + .4byte sub_8102A9C + .4byte sub_8102AD0 + .4byte sub_8102B80 + + .align 2 +gUnknown_083ECB2C:: @ 83ECB2C + .4byte sub_8102EA0 + .4byte sub_8102EA4 + .4byte sub_8102EC0 + .4byte sub_8102F4C + .4byte sub_8103008 + + .align 2 +gUnknown_083ECB40:: @ 83ECB40 + .4byte sub_810305C + .4byte sub_81032C0 + .4byte sub_81033DC + + .align 2 +gUnknown_083ECB4C:: @ 83ECB4C + .4byte sub_81034F4 + .4byte sub_8103540 + .4byte sub_810380C + +gUnknown_083ECB58:: @ 83ECB58 + .incbin "baserom.gba", 0x003ecb58, 0xc + + .align 2 +gUnknown_083ECB64:: @ 83ECB64 + .4byte sub_8103154 + .4byte sub_81031B4 + .4byte sub_81031B4 + + .align 2 +gUnknown_083ECB70:: @ 83ECB70 + .4byte sub_81032E8 + .4byte sub_81032E8 + .4byte sub_810333C + + .align 2 +gUnknown_083ECB7C:: @ 83ECB7C + .4byte sub_810341C + .4byte sub_810341C + .4byte sub_810347C + + .align 2 +gUnknown_083ECB88:: @ 83ECB88 + .4byte sub_8103564 + .4byte j5_08111E84 + .4byte sub_8103668 + + .align 2 +gUnknown_083ECB94:: @ 83ECB94 + .4byte sub_8103830 + .4byte sub_8103910 + .4byte sub_8103A78 + + .align 2 +gUnknown_083ECBA0:: @ 83ECBA0 + .4byte sub_8103C78 + .4byte sub_8103CAC + .4byte sub_8103CC8 + +gUnknown_083ECBAC:: @ 83ECBAC + .incbin "baserom.gba", 0x003ecbac, 0x8 + + .align 2 +gUnknown_083ECBB4:: @ 83ECBB4 + .4byte nullsub_68 + .4byte sub_810411C + .4byte sub_8104144 + .4byte sub_81041AC + + .align 1 +gUnknown_083ECBC4:: @ 83ECBC4 + .2byte 0x9E, 0x6E, 0x9F, 0x6F, 0xAF, 0x7F + + .align 2 +gUnknown_083ECBD0:: @ 83ECBD0 + .4byte sub_810437C + .4byte sub_81043EC + .4byte sub_8104468 + .4byte sub_8104498 + .4byte sub_8104548 + .4byte sub_8104598 + .4byte sub_81045CC + .4byte sub_810463C + .4byte sub_81046C0 + .4byte sub_8104764 + .4byte sub_8104794 + .4byte sub_81047EC + .4byte sub_8104860 + .4byte sub_81048A8 + .4byte sub_81048CC + .4byte sub_8104940 + .4byte sub_81049C8 + .4byte sub_8104794 + .4byte sub_81049F8 + + .align 2 +gUnknown_083ECC1C:: @ 83ECC1C + .4byte 0x02020101 + +gUnknown_083ECC20:: @ 83ECC20 + .incbin "baserom.gba", 0x003ecc20, 0x8 + +gUnknown_083ECC28:: @ 83ECC28 + .incbin "baserom.gba", 0x003ecc28, 0x8 + + .align 2 +gUnknown_083ECC30:: @ 83ECC30 + .4byte sub_8104B3C + .4byte sub_8104B60 + .4byte sub_8104B80 + .4byte sub_8104B60 + .4byte sub_8104BC8 + .4byte sub_8104B60 + .4byte sub_8104BFC + .4byte sub_8104B60 + .4byte sub_8104C44 + +gUnknown_083ECC54:: @ 83ECC54 + .4byte nullsub_69 + +gUnknown_083ECC58:: @ 83ECC58 + .byte 16, 0 + + .align 1 +gUnknown_083ECC5A:: @ 83ECC5A + .2byte 0x0, 0x40, 0x80, 0xC0 + +gUnknown_083ECC62:: @ 83ECC62 + .incbin "baserom.gba", 0x003ecc62, 0x8 + +gUnknown_083ECC6A:: @ 83ECC6A + .incbin "baserom.gba", 0x003ecc6a, 0x8 + +gUnknown_083ECC72:: @ 83ECC72 + .incbin "baserom.gba", 0x003ecc72, 0x10 + +gUnknown_083ECC82:: @ 83ECC82 + .incbin "baserom.gba", 0x003ecc82, 0x10 + +gUnknown_083ECC92:: @ 83ECC92 + .incbin "baserom.gba", 0x003ecc92, 0x10 + +gUnknown_083ECCA2:: @ 83ECCA2 + .incbin "baserom.gba", 0x003ecca2, 0x10 + +gUnknown_083ECCB2:: @ 83ECCB2 + .incbin "baserom.gba", 0x003eccb2, 0x3f + +gUnknown_083ECCF1:: @ 83ECCF1 + .incbin "baserom.gba", 0x003eccf1, 0x7 + +gUnknown_083ECCF8:: @ 83ECCF8 + .incbin "baserom.gba", 0x003eccf8, 0xc + +gUnknown_083ECD04:: @ 83ECD04 + .incbin "baserom.gba", 0x003ecd04, 0x12 + +gUnknown_083ECD16:: @ 83ECD16 + .incbin "baserom.gba", 0x003ecd16, 0x12 + +gUnknown_083ECD28:: @ 83ECD28 + .incbin "baserom.gba", 0x003ecd28, 0x1e + +gUnknown_083ECD46:: @ 83ECD46 + .incbin "baserom.gba", 0x003ecd46, 0x66 + +gUnknown_083ECDAC:: @ 83ECDAC + .incbin "baserom.gba", 0x003ecdac, 0x66 + +gUnknown_083ECE12:: @ 83ECE12 + .incbin "baserom.gba", 0x003ece12, 0xa + +gUnknown_083ECE1C:: @ 83ECE1C + .incbin "baserom.gba", 0x003ece1c, 0x14 + +gUnknown_083ECE30:: @ 83ECE30 + .incbin "baserom.gba", 0x003ece30, 0xa + +gUnknown_083ECE3A:: @ 83ECE3A + .incbin "baserom.gba", 0x003ece3a, 0x8 + +gUnknown_083ECE42:: @ 83ECE42 + .incbin "baserom.gba", 0x003ece42, 0x6 + +gUnknown_083ECE48:: @ 83ECE48 + .incbin "baserom.gba", 0x003ece48, 0xa + +gUnknown_083ECE52:: @ 83ECE52 + .incbin "baserom.gba", 0x003ece52, 0x8 + +gUnknown_083ECE5A:: @ 83ECE5A + .incbin "baserom.gba", 0x003ece5a, 0x12 + +gUnknown_083ECE6C:: @ 83ECE6C + .incbin "baserom.gba", 0x003ece6c, 0x12 + +gUnknown_083ECE7E:: @ 83ECE7E + .incbin "baserom.gba", 0x003ece7e, 0x8e + + .align 2 +gUnknown_083ECF0C:: @ 83ECF0C + .4byte sub_8105C64 + .4byte sub_8105F54 + .4byte sub_8105F54 + .4byte sub_8105F54 + .4byte sub_8105F54 + .4byte sub_8105F9C + .4byte sub_8105EB4 + .4byte sub_8105C64 + .4byte sub_8105C64 + .4byte sub_8105C6C + .4byte sub_8105CF0 + .4byte sub_8105D08 + .4byte sub_8105D20 + .4byte sub_8105D3C + .4byte sub_8105DA4 + .4byte sub_8105E08 + .4byte sub_8105C64 + .4byte sub_8106058 + .4byte sub_81060FC + .4byte sub_81060FC + .4byte sub_81060FC + .4byte sub_81060FC + .4byte sub_81060FC + .4byte sub_81060FC + .4byte sub_81060FC + .4byte sub_81060FC + .4byte sub_81061C8 + .4byte sub_81061C8 + .4byte sub_81061C8 + .4byte sub_81061C8 + .4byte sub_81061C8 + .4byte sub_81061C8 + .4byte sub_81061C8 + .4byte sub_81061C8 + .4byte sub_8106230 + +Unknown_83ECF98: + .incbin "baserom.gba", 0x003ECF98, 0x10 +Unknown_83ECFA8: + .incbin "baserom.gba", 0x003ECFA8, 0x1C +Unknown_83ECFC4: + .incbin "baserom.gba", 0x003ECFC4, 0xC +Unknown_83ECFD0: + .incbin "baserom.gba", 0x003ECFD0, 0x18 +Unknown_83ECFE8: + .incbin "baserom.gba", 0x003ECFE8, 0x10 +Unknown_83ECFF8: + .incbin "baserom.gba", 0x003ECFF8, 0x28 +Unknown_83ED020: + .incbin "baserom.gba", 0x003ED020, 0x28 + + .align 2 +gUnknown_083ED048:: @ 83ED048 + .4byte Unknown_83ECF98 + .4byte Unknown_83ECFA8 + .4byte Unknown_83ECFC4 + .4byte Unknown_83ECFD0 + .4byte Unknown_83ECFE8 + .4byte Unknown_83ED020 + .4byte Unknown_83ECFF8 + + .align 2 +gUnknown_083ED064:: @ 83ED064 + .4byte sub_810639C + .4byte sub_8106364 + .4byte sub_8106370 + .4byte nullsub_70 + .4byte nullsub_70 + .4byte sub_8106370 + .4byte sub_8106370 + + .align 2 +gOamData_83ED080:: @ 83ED080 + .2byte 0x0000 + .2byte 0x0000 + .2byte 0x0000 + + .align 2 +gOamData_83ED088:: @ 83ED088 + .2byte 0x8000 + .2byte 0x0000 + .2byte 0x0000 + + .align 2 +gOamData_83ED090:: @ 83ED090 + .2byte 0x0000 + .2byte 0x4000 + .2byte 0x0000 + + .align 2 +gOamData_83ED098:: @ 83ED098 + .2byte 0x8000 + .2byte 0x8000 + .2byte 0x0000 + + .align 2 +gOamData_83ED0A0:: @ 83ED0A0 + .2byte 0x0000 + .2byte 0x8000 + .2byte 0x0000 + + .align 2 +gOamData_83ED0A8:: @ 83ED0A8 + .2byte 0x8000 + .2byte 0xC000 + .2byte 0x0000 + + .align 2 +gOamData_83ED0B0:: @ 83ED0B0 + .2byte 0x4000 + .2byte 0xC000 + .2byte 0x0000 + + .align 2 +gOamData_83ED0B8:: @ 83ED0B8 + .2byte 0x0000 + .2byte 0xC000 + .2byte 0x0000 + + .align 2 +gSpriteImageTable_83ED0C0:: @ 83ED0C0 + obj_frame_tiles 0x02013200, 0x800 + obj_frame_tiles 0x02013A00, 0x800 + obj_frame_tiles 0x02014200, 0x800 + obj_frame_tiles 0x02014A00, 0x800 + obj_frame_tiles 0x02015200, 0x800 + + .align 2 +gSpriteImageTable_83ED0E8:: @ 83ED0E8 + obj_frame_tiles 0x02015A00, 0x300 + + .align 2 +gSpriteImageTable_83ED0F0:: @ 83ED0F0 + obj_frame_tiles 0x02015D00, 0x500 + + .align 2 +gSpriteImageTable_83ED0F8:: @ 83ED0F8 + obj_frame_tiles 0x02016200, 0x600 + + .align 2 +gSpriteImageTable_83ED100:: @ 83ED100 + obj_frame_tiles gSpriteImage_8E988E8, 0x80 + obj_frame_tiles gSpriteImage_8E98968, 0x80 + obj_frame_tiles gSpriteImage_8E989E8, 0x80 + obj_frame_tiles gSpriteImage_8E98A68, 0x80 + obj_frame_tiles gSpriteImage_8E98AE8, 0x80 + obj_frame_tiles gSpriteImage_8E98B68, 0x80 + + .align 2 +gSpriteImageTable_83ED130:: @ 83ED130 + obj_frame_tiles gSpriteImage_8E991E8, 0x200 + + .align 2 +gSpriteImageTable_83ED138:: @ 83ED138 + obj_frame_tiles gSpriteImage_8E99808, 0x40 + + .align 2 +gSpriteImageTable_83ED140:: @ 83ED140 + obj_frame_tiles gSpriteImage_8E98BE8, 0x100 + obj_frame_tiles gSpriteImage_8E98CE8, 0x100 + + .align 2 +gSpriteImageTable_83ED150:: @ 83ED150 + obj_frame_tiles gSpriteImage_8E993E8, 0x400 + + .align 2 +gSpriteImageTable_83ED158:: @ 83ED158 + obj_frame_tiles gSpriteImage_8E98DE8, 0x200 + obj_frame_tiles gSpriteImage_8E98FE8, 0x200 + + .align 2 +gSpriteImageTable_83ED168:: @ 83ED168 + obj_frame_tiles gSpriteImage_8E98848, 0x20 + + .align 2 +gSpriteImageTable_83ED170:: @ 83ED170 + obj_frame_tiles gSpriteImage_8E98868, 0x80 + + .align 2 +gSpriteImageTable_83ED178:: @ 83ED178 + obj_frame_tiles 0x02010000, 0x600 + + .align 2 +gSpriteImageTable_83ED180:: @ 83ED180 + obj_frame_tiles 0x02010600, 0x200 + + .align 2 +gSpriteImageTable_83ED188:: @ 83ED188 + obj_frame_tiles 0x02010800, 0x200 + + .align 2 +gSpriteImageTable_83ED190:: @ 83ED190 + obj_frame_tiles 0x02010A00, 0x200 + + .align 2 +gSpriteImageTable_83ED198:: @ 83ED198 + obj_frame_tiles 0x02010C00, 0x300 + + .align 2 +gSpriteImageTable_83ED1A0:: @ 83ED1A0 + obj_frame_tiles 0x02011000, 0x400 + + .align 2 +gSpriteImageTable_83ED1A8:: @ 83ED1A8 + obj_frame_tiles 0x02011400, 0x200 + + .align 2 +gSpriteImageTable_83ED1B0:: @ 83ED1B0 + obj_frame_tiles 0x02011600, 0x300 + + .align 2 +gSpriteImageTable_83ED1B8:: @ 83ED1B8 + obj_frame_tiles 0x02011900, 0x300 + + .align 2 +gSpriteImageTable_83ED1C0:: @ 83ED1C0 + obj_frame_tiles 0x02011C00, 0x200 + obj_frame_tiles 0x02011E00, 0x200 + obj_frame_tiles 0x02011E00, 0x200 + + .align 2 +gSpriteImageTable_83ED1D8:: @ 83ED1D8 + obj_frame_tiles 0x02012000, 0x280 + + .align 2 +gSpriteImageTable_83ED1E0:: @ 83ED1E0 + obj_frame_tiles 0x02012280, 0x80 + obj_frame_tiles 0x02012300, 0x80 + obj_frame_tiles 0x02012380, 0x80 + obj_frame_tiles 0x02012400, 0x80 + obj_frame_tiles 0x02012480, 0x80 + + .align 2 +gSpriteImageTable_83ED208:: @ 83ED208 + obj_frame_tiles 0x02012600, 0x480 + obj_frame_tiles 0x02012A80, 0x480 + + .align 2 +gSpriteImageTable_83ED218:: @ 83ED218 + obj_frame_tiles 0x02012F00, 0x180 + obj_frame_tiles 0x02013080, 0x180 + + .align 2 +gSpriteImageTable_83ED228:: @ 83ED228 + obj_frame_tiles gSpriteImage_8E98828, 0x20 + + .align 2 +gSpriteAnim_83ED230:: @ 83ED230 + obj_image_anim_frame 0, 1 + obj_image_anim_end + + .align 2 +gSpriteAnim_83ED238:: @ 83ED238 + obj_image_anim_frame 0, 1 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnim_83ED240:: @ 83ED240 + obj_image_anim_frame 0, 16 + obj_image_anim_end + + .align 2 +gSpriteAnim_83ED248:: @ 83ED248 + obj_image_anim_frame 1, 16 + obj_image_anim_frame 0, 16 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnim_83ED254:: @ 83ED254 + obj_image_anim_frame 1, 8 + obj_image_anim_frame 0, 8 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnim_83ED260:: @ 83ED260 + obj_image_anim_frame 1, 4 + obj_image_anim_frame 0, 4 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnim_83ED26C:: @ 83ED26C + obj_image_anim_frame 2, 32 + obj_image_anim_frame 3, 32 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnim_83ED278:: @ 83ED278 + obj_image_anim_frame 4, 1 + obj_image_anim_end + + .align 2 +gSpriteAnim_83ED280:: @ 83ED280 + obj_image_anim_frame 0, 1 + obj_image_anim_end + + .align 2 +gSpriteAnim_83ED288:: @ 83ED288 + obj_image_anim_frame 1, 1 + obj_image_anim_end + + .align 2 +gSpriteAnim_83ED290:: @ 83ED290 + obj_image_anim_frame 2, 1 + obj_image_anim_end + + .align 2 +gSpriteAnim_83ED298:: @ 83ED298 + obj_image_anim_frame 3, 1 + obj_image_anim_end + + .align 2 +gSpriteAnim_83ED2A0:: @ 83ED2A0 + obj_image_anim_frame 4, 1 + obj_image_anim_end + + .align 2 +gSpriteAnim_83ED2A8:: @ 83ED2A8 + obj_image_anim_frame 5, 1 + obj_image_anim_end + + .align 2 +gSpriteAnim_83ED2B0:: @ 83ED2B0 + obj_image_anim_frame 0, 4 + obj_image_anim_frame 1, 4 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnim_83ED2BC:: @ 83ED2BC + obj_image_anim_frame 0, 16 + obj_image_anim_frame 1, 16 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnim_83ED2C8:: @ 83ED2C8 + obj_image_anim_frame 0, 30 + obj_image_anim_frame 1, 30 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnim_83ED2D4:: @ 83ED2D4 + obj_image_anim_frame 1, 1 + obj_image_anim_end + + .align 2 +gSpriteAnim_83ED2DC:: @ 83ED2DC + obj_image_anim_frame 0, 30 + obj_image_anim_frame 1, 30 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnim_83ED2E8:: @ 83ED2E8 + obj_image_anim_frame 0, 16 + obj_image_anim_frame 1, 16 + obj_image_anim_frame 0, 16 + obj_image_anim_frame 1, 16, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_jump 0 + + .align 2 +gSpriteAnim_83ED2FC:: @ 83ED2FC + obj_image_anim_frame 0, 1 + obj_image_anim_end + + .align 2 +gSpriteAnim_83ED304:: @ 83ED304 + obj_image_anim_frame 0, 1 + obj_image_anim_end + + .align 2 +gSpriteAnim_83ED30C:: @ 83ED30C + obj_image_anim_frame 1, 1 + obj_image_anim_end + + .align 2 +gSpriteAnim_83ED314:: @ 83ED314 + obj_image_anim_frame 2, 1 + obj_image_anim_end + + .align 2 +gSpriteAnim_83ED31C:: @ 83ED31C + obj_image_anim_frame 3, 1 + obj_image_anim_end + + .align 2 +gSpriteAnim_83ED324:: @ 83ED324 + obj_image_anim_frame 4, 1 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83ED32C:: @ 83ED32C + .4byte gSpriteAnim_83ED230 + + .align 2 +gSpriteAnimTable_83ED330:: @ 83ED330 + .4byte gSpriteAnim_83ED238 + + .align 2 +gSpriteAnimTable_83ED334:: @ 83ED334 + .4byte gSpriteAnim_83ED240 + .4byte gSpriteAnim_83ED248 + .4byte gSpriteAnim_83ED254 + .4byte gSpriteAnim_83ED260 + .4byte gSpriteAnim_83ED26C + .4byte gSpriteAnim_83ED278 + + .align 2 +gSpriteAnimTable_83ED34C:: @ 83ED34C + .4byte gSpriteAnim_83ED280 + .4byte gSpriteAnim_83ED288 + .4byte gSpriteAnim_83ED290 + .4byte gSpriteAnim_83ED298 + .4byte gSpriteAnim_83ED2A0 + .4byte gSpriteAnim_83ED2A8 + + .align 2 +gSpriteAnimTable_83ED364:: @ 83ED364 + .4byte gSpriteAnim_83ED2B0 + + .align 2 +gSpriteAnimTable_83ED368:: @ 83ED368 + .4byte gSpriteAnim_83ED2BC + + .align 2 +gSpriteAnimTable_83ED36C:: @ 83ED36C + .4byte gSpriteAnim_83ED2C8 + .4byte gSpriteAnim_83ED2D4 + + .align 2 +gSpriteAnimTable_83ED374:: @ 83ED374 + .4byte gSpriteAnim_83ED2DC + + .align 2 +gSpriteAnimTable_83ED378:: @ 83ED378 + .4byte gSpriteAnim_83ED2E8 + .4byte gSpriteAnim_83ED2FC + + .align 2 +gSpriteAnimTable_83ED380:: @ 83ED380 + .4byte gSpriteAnim_83ED304 + .4byte gSpriteAnim_83ED30C + .4byte gSpriteAnim_83ED314 + .4byte gSpriteAnim_83ED31C + .4byte gSpriteAnim_83ED324 + + .align 2 +gSpriteAffineAnim_83ED394:: @ 83ED394 + obj_rot_scal_anim_frame 0x10, 0x10, 0, 0 + obj_rot_scal_anim_loop 0 + obj_rot_scal_anim_frame 0x1, 0x1, 0, 1 + obj_rot_scal_anim_loop 255 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_83ED3BC:: @ 83ED3BC + .4byte gSpriteAffineAnim_83ED394 + + .align 2 +gSpriteAffineAnim_83ED3C0:: @ 83ED3C0 + obj_rot_scal_anim_frame 0x0, 0x0, 8, 32 + obj_rot_scal_anim_frame 0x0, 0x0, 6, 32 + obj_rot_scal_anim_frame 0x0, 0x0, 4, 16 + obj_rot_scal_anim_frame 0x0, 0x0, 12, 2 + obj_rot_scal_anim_frame 0x0, 0x0, -12, 4 + obj_rot_scal_anim_frame 0x0, 0x0, 12, 2 + obj_rot_scal_anim_frame 0x0, 0x0, 12, 2 + obj_rot_scal_anim_frame 0x0, 0x0, -12, 4 + obj_rot_scal_anim_frame 0x0, 0x0, 12, 2 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_83ED410:: @ 83ED410 + .4byte gSpriteAffineAnim_83ED3C0 + + .align 2 +gSpriteTemplate_83ED414:: @ 83ED414 + spr_template 0, 0, gOamData_83ED0A0, gSpriteAnimTable_83ED32C, NULL, gDummySpriteAffineAnimTable, sub_8104F18 + + .align 2 +gSpriteTemplate_83ED42C:: @ 83ED42C + spr_template 7, 4, gOamData_83ED088, gSpriteAnimTable_83ED32C, NULL, gDummySpriteAffineAnimTable, sub_810506C + + .align 2 +gSpriteTemplate_83ED444:: @ 83ED444 + spr_template 17, 0, gOamData_83ED0B8, gSpriteAnimTable_83ED32C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gSpriteTemplate_83ED45C:: @ 83ED45C + spr_template 0xFFFF, 1, gOamData_83ED0B8, gSpriteAnimTable_83ED334, gSpriteImageTable_83ED0C0, gDummySpriteAffineAnimTable, sub_8105170 + + .align 2 +gSpriteTemplate_83ED474:: @ 83ED474 + spr_template 0xFFFF, 2, gOamData_83ED088, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED0E8, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gSpriteTemplate_83ED48C:: @ 83ED48C + spr_template 0xFFFF, 3, gOamData_83ED088, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED0F0, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gSpriteTemplate_83ED4A4:: @ 83ED4A4 + spr_template 0xFFFF, 3, gOamData_83ED088, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED0F8, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gSpriteTemplate_83ED4BC:: @ 83ED4BC + spr_template 0xFFFF, 4, gOamData_83ED090, gSpriteAnimTable_83ED34C, gSpriteImageTable_83ED100, gDummySpriteAffineAnimTable, sub_810535C + + .align 2 +gSpriteTemplate_83ED4D4:: @ 83ED4D4 + spr_template 0xFFFF, 4, gOamData_83ED090, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED130, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gSpriteTemplate_83ED4EC:: @ 83ED4EC + spr_template 0xFFFF, 4, gOamData_83ED090, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED138, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gSpriteTemplate_83ED504:: @ 83ED504 + spr_template 0xFFFF, 4, gOamData_83ED098, gSpriteAnimTable_83ED364, gSpriteImageTable_83ED140, gDummySpriteAffineAnimTable, sub_810562C + + .align 2 +gSpriteTemplate_83ED51C:: @ 83ED51C + spr_template 0xFFFF, 7, gOamData_83ED0A8, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED150, gDummySpriteAffineAnimTable, sub_8105784 + + .align 2 +gSpriteTemplate_83ED534:: @ 83ED534 + spr_template 0xFFFF, 5, gOamData_83ED0A0, gSpriteAnimTable_83ED368, gSpriteImageTable_83ED158, gDummySpriteAffineAnimTable, sub_8105894 + + .align 2 +gSpriteTemplate_83ED54C:: @ 83ED54C + spr_template 0xFFFF, 4, gOamData_83ED080, gSpriteAnimTable_83ED330, gSpriteImageTable_83ED168, gDummySpriteAffineAnimTable, sub_810594C + + .align 2 +gSpriteTemplate_83ED564:: @ 83ED564 + spr_template 0xFFFF, 4, gOamData_83ED090, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED170, gSpriteAffineAnimTable_83ED3BC, sub_8105A38 + + .align 2 +gSpriteTemplate_83ED57C:: @ 83ED57C + spr_template 0xFFFF, 6, gOamData_83ED080, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED178, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gSpriteTemplate_83ED594:: @ 83ED594 + spr_template 0xFFFF, 6, gOamData_83ED080, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED180, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gSpriteTemplate_83ED5AC:: @ 83ED5AC + spr_template 0xFFFF, 6, gOamData_83ED080, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED188, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gSpriteTemplate_83ED5C4:: @ 83ED5C4 + spr_template 18, 6, gOamData_83ED080, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED190, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gSpriteTemplate_83ED5DC:: @ 83ED5DC + spr_template 0xFFFF, 6, gOamData_83ED0B0, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED198, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gSpriteTemplate_83ED5F4:: @ 83ED5F4 + spr_template 0xFFFF, 6, gOamData_83ED0B0, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED1A0, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gSpriteTemplate_83ED60C:: @ 83ED60C + spr_template 19, 6, gOamData_83ED080, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED1A8, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gSpriteTemplate_83ED624:: @ 83ED624 + spr_template 20, 6, gOamData_83ED080, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED1B0, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gSpriteTemplate_83ED63C:: @ 83ED63C + spr_template 21, 6, gOamData_83ED080, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED1B8, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gSpriteTemplate_83ED654:: @ 83ED654 + spr_template 0xFFFF, 6, gOamData_83ED0A0, gSpriteAnimTable_83ED36C, gSpriteImageTable_83ED1C0, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gSpriteTemplate_83ED66C:: @ 83ED66C + spr_template 0xFFFF, 6, gOamData_83ED080, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED1D8, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gSpriteTemplate_83ED684:: @ 83ED684 + spr_template 0xFFFF, 6, gOamData_83ED090, gSpriteAnimTable_83ED380, gSpriteImageTable_83ED1E0, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gSpriteTemplate_83ED69C:: @ 83ED69C + spr_template 0xFFFF, 6, gOamData_83ED080, gSpriteAnimTable_83ED378, gSpriteImageTable_83ED208, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gSpriteTemplate_83ED6B4:: @ 83ED6B4 + spr_template 0xFFFF, 6, gOamData_83ED080, gSpriteAnimTable_83ED374, gSpriteImageTable_83ED218, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gSpriteTemplate_83ED6CC:: @ 83ED6CC + spr_template 0xFFFF, 4, gOamData_83ED080, gSpriteAnimTable_83ED32C, gSpriteImageTable_83ED228, gSpriteAffineAnimTable_83ED410, sub_8105B70 + + .align 2 +Unknown_083ED6E4: + .incbin "baserom.gba", 0x003ed6e4, 0x20 + +gUnknown_083ED704:: @ 83ED704 + .4byte 4, Unknown_083ED6E4 +Unknown_083ED70C: + .incbin "baserom.gba", 0x003ed70c, 0x30 + +gUnknown_083ED73C:: @ 83ED73C + .4byte 6, Unknown_083ED70C +Unknown_083ED744: + .incbin "baserom.gba", 0x003ed744, 0x18 + +gUnknown_083ED75C:: @ 83ED75C + .4byte 3, Unknown_083ED744 +Unknown_083ED764: + .incbin "baserom.gba", 0x003ed764, 0x28 + +gUnknown_083ED78C:: @ 83ED78C + .4byte 5, Unknown_083ED764 +Unknown_083ED794: + .incbin "baserom.gba", 0x003ed794, 0x20 + +gUnknown_083ED7B4:: @ 83ED7B4 + .4byte 4, Unknown_083ED794 +Unknown_083ED7BC: + .incbin "baserom.gba", 0x003ed7bc, 0x18 + +gUnknown_083ED7D4:: @ 83ED7D4 + .4byte 3, Unknown_083ED7BC +Unknown_083ED7DC: + .incbin "baserom.gba", 0x003ed7dc, 0x28 +Unknown_083ED804: + .4byte 5, Unknown_083ED7DC +Unknown_083ED80C: + .incbin "baserom.gba", 0x003ed80c, 0x20 +Unknown_083ED82C: + .4byte 4, Unknown_083ED80C +Unknown_083ED834: + .incbin "baserom.gba", 0x003ed834, 0x20 +Unknown_083ED854: + .4byte 4, Unknown_083ED834 +Unknown_083ED85C: + .incbin "baserom.gba", 0x003ed85c, 0x20 +Unknown_083ED87C: + .4byte 4, Unknown_083ED85C +Unknown_083ED884: + .incbin "baserom.gba", 0x003ed884, 0x30 +Unknown_083ED8B4: + .4byte 6, Unknown_083ED884 +Unknown_083ED8BC: + .incbin "baserom.gba", 0x003ed8bc, 0x8 +Unknown_083ED8C4: + .incbin "baserom.gba", 0x003ed8c4, 0x8 +Unknown_083ED8CC: + .4byte 1, Unknown_083ED8BC + .4byte 1, Unknown_083ED8C4 +Unknown_083ED8DC: + .incbin "baserom.gba", 0x003ed8dc, 0x60 +Unknown_083ED93C: + .4byte 12, Unknown_083ED8DC +Unknown_083ED944: + .incbin "baserom.gba", 0x003ed944, 0x18 +Unknown_083ED95C: + .4byte 3, Unknown_083ED944 +Unknown_083ED964: + .incbin "baserom.gba", 0x003ed964, 0x10 +Unknown_083ED974: + .4byte 2, Unknown_083ED964 +Unknown_083ED97C: + .incbin "baserom.gba", 0x003ed97c, 0x10 +Unknown_083ED98C: + .4byte 2, Unknown_083ED97C +Unknown_083ED994: + .incbin "baserom.gba", 0x003ed994, 0x10 +Unknown_083ED9A4: + .4byte 2, Unknown_083ED994 +Unknown_083ED9AC: + .incbin "baserom.gba", 0x003ed9ac, 0x10 +Unknown_083ED9BC: + .4byte 2, Unknown_083ED9AC +Unknown_083ED9C4: + .incbin "baserom.gba", 0x003ed9c4, 0x10 +Unknown_083ED9D4: + .4byte 2, Unknown_083ED9C4 +Unknown_083ED9DC: + .incbin "baserom.gba", 0x003ed9dc, 0x10 +Unknown_083ED9EC: + .4byte 2, Unknown_083ED9DC +Unknown_083ED9F4: + .incbin "baserom.gba", 0x003ed9f4, 0x10 +Unknown_083EDA04: + .4byte 2, Unknown_083ED9F4 +Unknown_083EDA0C: + .incbin "baserom.gba", 0x003eda0C, 0x10 +Unknown_083EDA1C: + .4byte 2, Unknown_083EDA0C +Unknown_083EDA24: + .incbin "baserom.gba", 0x003eda24, 0x10 +Unknown_083EDA34: + .4byte 2, Unknown_083EDA24 +Unknown_083EDA3C: + .incbin "baserom.gba", 0x003eda3c, 0x30 +Unknown_083EDA6C: + .4byte 6, Unknown_083EDA3C +Unknown_083EDA74: + .incbin "baserom.gba", 0x003eda74, 0x18 +Unknown_083EDA8C: + .4byte 3, Unknown_083EDA74 +Unknown_083EDA94: + .incbin "baserom.gba", 0x003eda94, 0x30 +Unknown_083EDAC4: + .4byte 6, Unknown_083EDA94 +Unknown_083EDACC: + .incbin "baserom.gba", 0x003edacc, 0x30 +Unknown_083EDAFC: + .4byte 6, Unknown_083EDACC +Unknown_083EDB04: + .incbin "baserom.gba", 0x003edb04, 0x18 +Unknown_083EDB1C: + .4byte 3, Unknown_083EDB04 +Unknown_083EDB24: + .incbin "baserom.gba", 0x003edb24, 0x30 +Unknown_083EDB54: + .4byte 6, Unknown_083EDB24 + + .align 2 +gUnknown_083EDB5C:: @ 83EDB5C + .4byte gSpriteTemplate_83ED57C + .4byte gSpriteTemplate_83ED594 + .4byte gSpriteTemplate_83ED5AC + .4byte gSpriteTemplate_83ED5DC + .4byte gSpriteTemplate_83ED5F4 + .4byte gSpriteTemplate_83ED654 + .4byte gSpriteTemplate_83ED66C + .4byte gSpriteTemplate_83ED684 + .4byte gSpriteTemplate_83ED69C + .4byte gSpriteTemplate_83ED6B4 + .4byte gSpriteTemplate_83ED5C4 + .4byte gSpriteTemplate_83ED5C4 + .4byte gSpriteTemplate_83ED5C4 + .4byte gSpriteTemplate_83ED5C4 + .4byte gSpriteTemplate_83ED60C + .4byte gSpriteTemplate_83ED60C + .4byte gSpriteTemplate_83ED60C + .4byte gSpriteTemplate_83ED60C + .4byte gSpriteTemplate_83ED60C + .4byte gSpriteTemplate_83ED624 + .4byte gSpriteTemplate_83ED624 + .4byte gSpriteTemplate_83ED624 + .4byte gSpriteTemplate_83ED63C + .4byte gSpriteTemplate_83ED63C + .4byte gSpriteTemplate_83ED63C + .4byte gDummySpriteTemplate + + .align 2 +gUnknown_083EDBC4:: @ 83EDBC4 + .4byte Unknown_083ED804 + .4byte Unknown_083ED82C + .4byte Unknown_083ED854 + .4byte Unknown_083ED8B4 + .4byte 0 @ dummied out + .4byte 0 @ dummied out + .4byte Unknown_083ED8CC + .4byte 0 @ dummied out + .4byte Unknown_083ED93C + .4byte Unknown_083ED95C + .4byte Unknown_083ED974 + .4byte Unknown_083ED98C + .4byte Unknown_083ED9A4 + .4byte Unknown_083ED9BC + .4byte Unknown_083ED9D4 + .4byte Unknown_083ED9EC + .4byte Unknown_083EDA04 + .4byte Unknown_083EDA1C + .4byte Unknown_083EDA34 + .4byte Unknown_083EDA6C + .4byte Unknown_083EDA8C + .4byte Unknown_083EDAC4 + .4byte Unknown_083EDAFC + .4byte Unknown_083EDB1C + .4byte Unknown_083EDB54 + .4byte 0 @ dummied out + + .align 2 +gUnknown_083EDC2C:: @ 83EDC2C + obj_tiles gSlotMachineReelSymbol1Tiles, 0x200, 0 + obj_tiles gSlotMachineReelSymbol2Tiles, 0x200, 1 + obj_tiles gSlotMachineReelSymbol3Tiles, 0x200, 2 + obj_tiles gSlotMachineReelSymbol4Tiles, 0x200, 3 + obj_tiles gSlotMachineReelSymbol5Tiles, 0x200, 4 + obj_tiles gSlotMachineReelSymbol6Tiles, 0x200, 5 + obj_tiles gSlotMachineReelSymbol7Tiles, 0x200, 6 + obj_tiles gSlotMachineNumber0Tiles, 0x40, 7 + obj_tiles gSlotMachineNumber1Tiles, 0x40, 8 + obj_tiles gSlotMachineNumber2Tiles, 0x40, 9 + obj_tiles gSlotMachineNumber3Tiles, 0x40, 10 + obj_tiles gSlotMachineNumber4Tiles, 0x40, 11 + obj_tiles gSlotMachineNumber5Tiles, 0x40, 12 + obj_tiles gSlotMachineNumber6Tiles, 0x40, 13 + obj_tiles gSlotMachineNumber7Tiles, 0x40, 14 + obj_tiles gSlotMachineNumber8Tiles, 0x40, 15 + obj_tiles gSlotMachineNumber9Tiles, 0x40, 16 + obj_tiles 0x2010a00, 0x200, 18 + obj_tiles 0x2011400, 0x200, 19 + obj_tiles 0x2011600, 0x300, 20 + obj_tiles 0x2011900, 0x300, 21 + null_obj_tiles + + .align 2 +gUnknown_083EDCDC:: @ 83EDCDC + obj_tiles 0x02010000, 2048, 0x0011 + + .align 2 +gUnknown_083EDCE4:: @ 83EDCE4 + .4byte gUnknownPalette_08E997E8 + +UnknownPalette_83EDCE8: + .ifdef SAPPHIRE + .incbin "graphics/unknown/sapphire_83EDD40.gbapal" + .else + .incbin "graphics/unknown/ruby_83EDCE8.gbapal" + .endif + + .align 2 +gUnknown_083EDD08:: @ 83EDD08 + .4byte UnknownPalette_83EDCE8 + 10 * 2 + .4byte UnknownPalette_83EDCE8 + 11 * 2 + .4byte UnknownPalette_83EDCE8 + 12 * 2 + .4byte UnknownPalette_83EDCE8 + 13 * 2 + .4byte UnknownPalette_83EDCE8 + 14 * 2 + + .align 2 +gUnknown_083EDD1C:: @ 83EDD1C + .4byte gUnknown_08E95A18 + 148 + .4byte gUnknown_08E95A18 + 150 + .4byte gUnknown_08E95A18 + 152 + .4byte gUnknown_08E95A18 + 154 + .4byte gUnknown_08E95A18 + 156 + +gUnknown_083EDD30:: @ 83EDD30 + .byte 0x4A, 0x4B, 0x4C, 0x4E, 0x4D + +gUnknown_083EDD35:: @ 83EDD35 + .byte 0, 0, 1, 2, 3, 4 + +gUnknown_083EDD3B:: @ 83EDD3B + .byte 1, 2, 2 + + .align 1 +Unknown_83EDD3E: + .ifdef SAPPHIRE + .incbin "graphics/unknown/sapphire_83EDD96.gbapal" + .else + .incbin "graphics/unknown/ruby_83EDD3E.gbapal" + .endif + + .align 1 +Unknown_83EDD5E: + .ifdef SAPPHIRE + .incbin "graphics/unknown/sapphire_83EDDB6.gbapal" + .else + .incbin "graphics/unknown/ruby_83EDD5E.gbapal" + .endif + + .align 1 +Unknown_83EDD7E: + .ifdef SAPPHIRE + .incbin "graphics/unknown/sapphire_83EDDD6.gbapal" + .else + .incbin "graphics/unknown/ruby_83EDD7E.gbapal" + .endif + + .align 2 +gUnknown_083EDDA0:: @ 83EDDA0 + .4byte Unknown_83EDD3E + .4byte Unknown_83EDD5E + .4byte Unknown_83EDD7E + + .align 2 +gUnknown_083EDDAC:: @ 83EDDAC + .4byte gUnknown_08E95A18 + 32 + +Unknown_83EDDB0: + .incbin "baserom.gba", 0x003eddb0, 0x20 +Unknown_83EDDD0: + .incbin "baserom.gba", 0x003eddd0, 0x20 +Unknown_83EDDF0: + .incbin "baserom.gba", 0x003eddf0, 0x20 + + .align 2 +gUnknown_083EDE10:: @ 83EDE10 + .4byte Unknown_83EDDB0 + .4byte Unknown_83EDDD0 + .4byte Unknown_83EDDF0 + .4byte gSlotMachineSpritePalette6 + + .align 2 +gUnknown_083EDE20:: @ 83EDE20 + .4byte gSlotMachineSpritePalette6 + +gUnknown_083EDE24:: @ 83EDE24 + .incbin "baserom.gba", 0x003ede24, 0x20 + + .align 2 +gSlotMachineSpritePalettes:: @ 83EDE44 + obj_pal gSlotMachineSpritePalette0, 0 + obj_pal gSlotMachineSpritePalette1, 1 + obj_pal gSlotMachineSpritePalette2, 2 + obj_pal gSlotMachineSpritePalette3, 3 + obj_pal gSlotMachineSpritePalette4, 4 + obj_pal gSlotMachineSpritePalette5, 5 + obj_pal gSlotMachineSpritePalette6, 6 + obj_pal gSlotMachineSpritePalette4, 7 + null_obj_pal + + .align 2 +gUnknown_083EDE8C:: @ 83EDE8C + .incbin "graphics/slot_machine/reel_time.4bpp.lz" + + .align 2 +gReelTimeWindowTilemap:: @ 83EEFE0 + .incbin "graphics/slot_machine/reel_time_window_map.bin" + + .align 2 +gPictureFramePalettes:: @ 83EF198 + .incbin "graphics/picture_frame/bg0.gbapal" + .incbin "graphics/picture_frame/bg1.gbapal" + .incbin "graphics/picture_frame/bg2.gbapal" + .incbin "graphics/picture_frame/bg3.gbapal" + .incbin "graphics/picture_frame/bg4.gbapal" + .incbin "graphics/picture_frame/bg5.gbapal" + .space 10 * 32 + + .align 2 +gPictureFrameTiles_0:: @ 83EF398 + .incbin "graphics/picture_frame/frame0.4bpp.rl" + + .align 2 +gPictureFrameTiles_1:: @ 83F041C + .incbin "graphics/picture_frame/frame1.4bpp.rl" + + .align 2 +gPictureFrameTiles_2:: @ 83F104C + .incbin "graphics/picture_frame/frame2.4bpp.rl" + + .align 2 +gPictureFrameTiles_3:: @ 83F1B84 + .incbin "graphics/picture_frame/frame3.4bpp.rl" + + .align 2 +gPictureFrameTiles_4:: @ 83F2B3C + .incbin "graphics/picture_frame/frame4.4bpp.rl" + + .align 2 +gPictureFrameTiles_5:: @ 83F3C6C + .incbin "graphics/picture_frame/frame5.4bpp.rl" + + .align 2 +gPictureFrameTilemap_0:: @ 83F4260 + .incbin "graphics/picture_frame/frame0_map.bin.rl" + + .align 2 +gPictureFrameTilemap_1:: @ 83F476C + .incbin "graphics/picture_frame/frame1_map.bin.rl" + + .align 2 +gPictureFrameTilemap_2:: @ 83F4C78 + .incbin "graphics/picture_frame/frame2_map.bin.rl" + + .align 2 +gPictureFrameTilemap_3:: @ 83F5184 + .incbin "graphics/picture_frame/frame3_map.bin.rl" + + .align 2 +gPictureFrameTilemap_4:: @ 83F5690 + .incbin "graphics/picture_frame/frame4_map.bin.rl" + + .align 2 +gPictureFrameTilemap_5:: @ 83F5B9C + .incbin "graphics/picture_frame/frame5_map.bin.rl" + + .align 2 +gUnknown_083F60AC:: @ 83F60AC + .4byte OtherText_Cool + .4byte OtherText_Beauty2 + .4byte OtherText_Cute + .4byte OtherText_Smart + .4byte OtherText_Tough + + .align 2 +gUnknown_083F60C0:: @ 83F60C0 + .4byte OtherText_NonstopSuperCool + .4byte OtherText_Terminator6 + .4byte OtherText_GoodLookingPoke + .4byte OtherText_Terminator7 + .4byte OtherText_MarvelousGreat + .4byte OtherText_Terminator8 + .4byte OtherText_CenturyLastVenus + .4byte OtherText_Terminator9 + .4byte OtherText_Terminator10 + .4byte OtherText_DazzlingSlime + .4byte OtherText_PokeCenterIdol + .4byte OtherText_Terminator11 + .4byte OtherText_LovelyAndSweet + .4byte OtherText_Terminator12 + .4byte OtherText_ThePretty + .4byte OtherText_WinningPortrait + .4byte OtherText_GiveUsWink + .4byte OtherText_Terminator13 + .4byte OtherText_SmartnessMaestro + .4byte OtherText_Terminator15 + .4byte OtherText_ChosenPokeAmong + .4byte OtherText_Terminator15 + .4byte OtherText_TheExcellent + .4byte OtherText_ItsMomentOfElegance + .4byte OtherText_PowerfullyMuscular + .4byte OtherText_Terminator16 + .4byte OtherText_StrongErEst + .4byte OtherText_Terminator17 + .4byte OtherText_MightyTough + .4byte OtherText_Exclamation + + .align 2 +gOamData_83F6138:: @ 83F6138 + .2byte 0x3000 + .2byte 0xC000 + .2byte 0x0000 + + .align 2 +gUnknown_083F6140:: @ 83F6140 + .space 4 + + .align 2 +gBattleAICmdTable:: @ 83F6144 + .4byte BattleAICmd_if_random + .4byte BattleAICmd_if_not_random + .4byte BattleAICmd_if_random_1 + .4byte BattleAICmd_if_not_random_1 + .4byte BattleAICmd_score + .4byte BattleAICmd_if_hp_less_than + .4byte BattleAICmd_if_hp_more_than + .4byte BattleAICmd_if_hp_equal + .4byte BattleAICmd_if_hp_not_equal + .4byte BattleAICmd_if_status + .4byte BattleAICmd_if_not_status + .4byte BattleAICmd_if_status2 + .4byte BattleAICmd_if_not_status2 + .4byte BattleAICmd_if_status3 + .4byte BattleAICmd_if_not_status3 + .4byte BattleAICmd_if_status4 + .4byte BattleAICmd_if_not_status4 + .4byte BattleAICmd_if_less_than + .4byte BattleAICmd_if_more_than + .4byte BattleAICmd_if_equal + .4byte BattleAICmd_if_not_equal + .4byte BattleAICmd_if_less_than_32 + .4byte BattleAICmd_if_more_than_32 + .4byte BattleAICmd_if_equal_32 + .4byte BattleAICmd_if_not_equal_32 + .4byte BattleAICmd_if_move + .4byte BattleAICmd_if_not_move + .4byte BattleAICmd_if_in_bytes + .4byte BattleAICmd_if_not_in_bytes + .4byte BattleAICmd_if_in_words + .4byte BattleAICmd_if_not_in_words + .4byte BattleAICmd_if_user_can_damage + .4byte BattleAICmd_if_user_cant_damage + .4byte BattleAICmd_unk_21 + .4byte BattleAICmd_get_type + .4byte BattleAICmd_unk_23 + .4byte BattleAICmd_unk_24 + .4byte BattleAICmd_get_move + .4byte BattleAICmd_if_type + .4byte BattleAICmd_unk_27 + .4byte BattleAICmd_if_would_go_first + .4byte BattleAICmd_if_would_not_go_first + .4byte BattleAICmd_unk_2A + .4byte BattleAICmd_unk_2B + .4byte BattleAICmd_count_alive_pokemon + .4byte BattleAICmd_unk_2D + .4byte BattleAICmd_unk_2E + .4byte BattleAICmd_get_ability + .4byte BattleAICmd_unk_30 + .4byte BattleAICmd_if_damage_bonus + .4byte BattleAICmd_unk_32 + .4byte BattleAICmd_unk_33 + .4byte BattleAICmd_if_status_in_party + .4byte BattleAICmd_if_status_not_in_party + .4byte BattleAICmd_unk_36 + .4byte BattleAICmd_if_effect + .4byte BattleAICmd_if_not_effect + .4byte BattleAICmd_if_stat_level_less_than + .4byte BattleAICmd_if_stat_level_more_than + .4byte BattleAICmd_if_stat_level_equal + .4byte BattleAICmd_if_stat_level_not_equal + .4byte BattleAICmd_if_can_faint + .4byte BattleAICmd_if_cant_faint + .4byte BattleAICmd_unk_3F + .4byte BattleAICmd_unk_40 + .4byte BattleAICmd_if_move_effect + .4byte BattleAICmd_if_not_move_effect + .4byte BattleAICmd_if_last_move_did_damage + .4byte BattleAICmd_if_encored + .4byte BattleAICmd_unk_45 + .4byte BattleAICmd_if_random_2 + .4byte BattleAICmd_unk_47 + .4byte BattleAICmd_get_hold_effect + .4byte BattleAICmd_get_gender + .4byte BattleAICmd_is_first_turn + .4byte BattleAICmd_get_stockpile_count + .4byte BattleAICmd_unk_4C + .4byte BattleAICmd_get_item + .4byte BattleAICmd_unk_4E + .4byte BattleAICmd_unk_4F + .4byte BattleAICmd_unk_50 + .4byte BattleAICmd_get_protect_count + .4byte BattleAICmd_unk_52 + .4byte BattleAICmd_unk_53 + .4byte BattleAICmd_unk_54 + .4byte BattleAICmd_unk_55 + .4byte BattleAICmd_unk_56 + .4byte BattleAICmd_unk_57 + .4byte BattleAICmd_call + .4byte BattleAICmd_jump + .4byte BattleAICmd_unk_5A + .4byte BattleAICmd_if_level_cond + .4byte BattleAICmd_if_taunted + .4byte BattleAICmd_if_not_taunted + +gUnknown_083F62BC:: @ 83F62BC + .incbin "baserom.gba", 0x003f62bc, 0x1c + + .align 2 +gUnknown_083F62D8:: @ 83F62D8 + .4byte SecretBaseText_Tristan + .4byte SecretBaseText_Philip + .4byte SecretBaseText_Dennis + .4byte SecretBaseText_Roberto + +gTraderDecorations:: @ 83F62E8 + .byte DECOR_DUSKULL_DOLL + .byte DECOR_BALL_CUSHION + .byte DECOR_TIRE + .byte DECOR_PRETTY_FLOWERS + + .align 2 +gBirchBagGrassPal:: @ 83F62EC + .incbin "graphics/misc/birch_bag.gbapal" + .incbin "graphics/misc/birch_grass.gbapal" + + .align 2 +gBirchBallarrow_Pal:: + .incbin "graphics/misc/birch_ballarrow.gbapal" + + .align 2 +gBirchCircle_Pal:: + .incbin "graphics/misc/birch_circle.gbapal" + + .align 2 +gBirchBagTilemap:: @ 83F636C + .incbin "graphics/misc/birch_bag_map.bin.lz" + + .align 2 +gBirchGrassTilemap:: @ 83F64F8 + .incbin "graphics/misc/birch_grass_map.bin.lz" + + .align 2 +gBirchHelpGfx:: @ 83F66F0 + .incbin "graphics/misc/birch_help.4bpp.lz" + + .align 2 +gBirchBallarrow_Gfx:: + .incbin "graphics/misc/birch_ballarrow.4bpp.lz" + + .align 2 +gBirchCircle_Gfx:: + .incbin "graphics/misc/birch_circle.4bpp.lz" + +gStarterChoose_PokeballCoords:: @ 83F76B8 + .byte 60, 64 + .byte 120, 88 + .byte 180, 64 + +gStarterChoose_LabelCoords:: @ 83F76BE + .byte 0, 9 + .byte 16, 10 + .byte 8, 4 + + .align 1 +gStarterMons:: @ 83F76C4 + .2byte SPECIES_TREECKO + .2byte SPECIES_TORCHIC + .2byte SPECIES_MUDKIP + .2byte 0 + + .align 2 +gOamData_83F76CC:: @ 83F76CC + .2byte 0x00A0 + .2byte 0x8000 + .2byte 0x0400 + + .align 2 +gOamData_83F76D4:: @ 83F76D4 + .2byte 0x00A0 + .2byte 0x8000 + .2byte 0x0400 + + .align 2 +gOamData_83F76DC:: @ 83F76DC + .2byte 0x03A0 + .2byte 0xC000 + .2byte 0x0400 + + .align 2 +gUnknown_083F76E4:: @ 83F76E4 + .incbin "baserom.gba", 0x003f76e4, 0x8 + + .align 2 +gSpriteAnim_83F76EC:: @ 83F76EC + obj_image_anim_frame 48, 30 + obj_image_anim_end + + .align 2 +gSpriteAnim_83F76F4:: @ 83F76F4 + obj_image_anim_frame 0, 30 + obj_image_anim_end + + .align 2 +gSpriteAnim_83F76FC:: @ 83F76FC + obj_image_anim_frame 16, 4 + obj_image_anim_frame 0, 4 + obj_image_anim_frame 32, 4 + obj_image_anim_frame 0, 4 + obj_image_anim_frame 16, 4 + obj_image_anim_frame 0, 4 + obj_image_anim_frame 32, 4 + obj_image_anim_frame 0, 4 + obj_image_anim_frame 0, 32 + obj_image_anim_frame 16, 8 + obj_image_anim_frame 0, 8 + obj_image_anim_frame 32, 8 + obj_image_anim_frame 0, 8 + obj_image_anim_frame 16, 8 + obj_image_anim_frame 0, 8 + obj_image_anim_frame 32, 8 + obj_image_anim_frame 0, 8 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnim_83F7744:: @ 83F7744 + obj_image_anim_frame 0, 8 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83F774C:: @ 83F774C + .4byte gSpriteAnim_83F76EC + + .align 2 +gSpriteAnimTable_83F7750:: @ 83F7750 + .4byte gSpriteAnim_83F76F4 + .4byte gSpriteAnim_83F76FC + + .align 2 +gSpriteAnimTable_83F7758:: @ 83F7758 + .4byte gSpriteAnim_83F7744 + +Unknown_83F775C: + .incbin "baserom.gba", 0x003f775c, 0x18 + + .align 2 +gSpriteAffineAnim_83F7774:: @ 83F7774 + obj_rot_scal_anim_frame 0x14, 0x14, 0, 0 + obj_rot_scal_anim_frame 0x14, 0x14, 0, 15 + obj_rot_scal_anim_end + + .align 2 +gUnknown_083F778C:: @ 83F778C + .4byte Unknown_83F775C + + .align 2 +gSpriteAffineAnimTable_83F7790:: @ 83F7790 + .4byte gSpriteAffineAnim_83F7774 + +gUnknown_083F7794:: @ 83F7794 + obj_tiles gBirchBallarrow_Gfx, 0x0800, 0x1000 + .space 8 + +gUnknown_083F77A4:: @ 83F77A4 + obj_tiles gBirchCircle_Gfx, 0x0800, 0x1001 + .space 8 + +gUnknown_083F77B4:: @ 83F77B4 + obj_pal gBirchBallarrow_Pal, 0x1000 + obj_pal gBirchCircle_Pal, 0x1001 + .space 8 + + .align 2 +gSpriteTemplate_83F77CC:: @ 83F77CC + spr_template 4096, 4096, gOamData_83F76CC, gSpriteAnimTable_83F774C, NULL, gDummySpriteAffineAnimTable, sub_810A62C + + .align 2 +gSpriteTemplate_83F77E4:: @ 83F77E4 + spr_template 4096, 4096, gOamData_83F76D4, gSpriteAnimTable_83F7750, NULL, gDummySpriteAffineAnimTable, sub_810A68C + + .align 2 +gSpriteTemplate_83F77FC:: @ 83F77FC + spr_template 4097, 4097, gOamData_83F76DC, gSpriteAnimTable_83F7758, NULL, gSpriteAffineAnimTable_83F7790, StarterPokemonSpriteAnimCallback + +@ 83F7814 +ClockGfx_Misc: + .incbin "graphics/misc/clock_misc.4bpp.lz" + +gUnknown_083F7A90:: @ 83F7A90 + obj_tiles ClockGfx_Misc, 0x2000, 0x1000 + .space 8 + +gUnknown_083F7AA0:: @ 83F7AA0 + obj_pal gMiscClockMale_Pal, 0x1000 + obj_pal gMiscClockFemale_Pal, 0x1001 + .space 8 + + .align 2 +gOamData_83F7AB8:: @ 83F7AB8 + .2byte 0x00A0 + .2byte 0xC000 + .2byte 0x0400 + + .align 2 +gSpriteAnim_83F7AC0:: @ 83F7AC0 + obj_image_anim_frame 0, 30 + obj_image_anim_end + + .align 2 +gSpriteAnim_83F7AC8:: @ 83F7AC8 + obj_image_anim_frame 64, 30 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83F7AD0:: @ 83F7AD0 + .4byte gSpriteAnim_83F7AC0 + + .align 2 +gSpriteAnimTable_83F7AD4:: @ 83F7AD4 + .4byte gSpriteAnim_83F7AC8 + + .align 2 +gSpriteTemplate_83F7AD8:: @ 83F7AD8 + spr_template 4096, 4096, gOamData_83F7AB8, gSpriteAnimTable_83F7AD0, NULL, gDummySpriteAffineAnimTable, sub_810B05C + + .align 2 +gSpriteTemplate_83F7AF0:: @ 83F7AF0 + spr_template 4096, 4096, gOamData_83F7AB8, gSpriteAnimTable_83F7AD4, NULL, gDummySpriteAffineAnimTable, sub_810B0F4 + + .align 2 +gOamData_83F7B08:: @ 83F7B08 + .2byte 0x00A0 + .2byte 0x4000 + .2byte 0x0800 + + .align 2 +gSpriteAnim_83F7B10:: @ 83F7B10 + obj_image_anim_frame 132, 30 + obj_image_anim_end + + .align 2 +gSpriteAnim_83F7B18:: @ 83F7B18 + obj_image_anim_frame 128, 30 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83F7B20:: @ 83F7B20 + .4byte gSpriteAnim_83F7B10 + + .align 2 +gSpriteAnimTable_83F7B24:: @ 83F7B24 + .4byte gSpriteAnim_83F7B18 + + .align 2 +gSpriteTemplate_83F7B28:: @ 83F7B28 + spr_template 4096, 4096, gOamData_83F7B08, gSpriteAnimTable_83F7B20, NULL, gDummySpriteAffineAnimTable, sub_810B18C + + .align 2 +gSpriteTemplate_83F7B40:: @ 83F7B40 + spr_template 4096, 4096, gOamData_83F7B08, gSpriteAnimTable_83F7B24, NULL, gDummySpriteAffineAnimTable, sub_810B230 + +@ 83F7B58 + .include "data/clock_hand_coords.inc" + +gUnknown_083F7E28:: @ 83F7E28 + .incbin "baserom.gba", 0x003f7e28, 0x80 + + .align 2 +gUnknown_083F7EA8:: @ 83F7EA8 + .4byte sub_80A5B40, c2_exit_to_overworld_2_switch + .4byte sub_802E424, c2_exit_to_overworld_2_switch + + .align 2 +gPokeblockNames:: @ 83F7EB8 + .4byte NULL + .4byte ContestStatsText_RedPokeBlock + .4byte ContestStatsText_BluePokeBlock + .4byte ContestStatsText_PinkPokeBlock + .4byte ContestStatsText_GreenPokeBlock + .4byte ContestStatsText_YellowPokeBlock + .4byte ContestStatsText_PurplePokeBlock + .4byte ContestStatsText_IndigoPokeBlock + .4byte ContestStatsText_BrownPokeBlock + .4byte ContestStatsText_LiteBluePokeBlock + .4byte ContestStatsText_OlivePokeBlock + .4byte ContestStatsText_GrayPokeBlock + .4byte ContestStatsText_BlackPokeBlock + .4byte ContestStatsText_WhitePokeBlock + .4byte ContestStatsText_GoldPokeBlock + + .align 2 +gUnknown_083F7EF4:: @ 83F7EF4 + .4byte OtherText_Use, sub_810C508 + .4byte OtherText_Toss, sub_810C5C0 + .4byte gOtherText_CancelNoTerminator, sub_810C748 + .4byte OtherText_Use, sub_810C788 + .4byte OtherText_Use, sub_810C854 + +gUnknown_083F7F1C:: @ 83F7F1C + .byte 0, 1, 2 + +gUnknown_083F7F1F:: @ 83F7F1F + .byte 3, 2 + +gUnknown_083F7F21:: @ 83F7F21 + .byte 4, 2 + + .align 2 +gUnknown_083F7F24:: @ 83F7F24 + .4byte sub_810C610 + .4byte sub_810C668 + +@ unreferenced + .byte 0x16, 0x17, 0x18, 0x21, 0x2F + + .align 2 +gOamData_83F7F34:: @ 83F7F34 + .2byte 0x0000 + .2byte 0xC000 + .2byte 0x0800 + + .align 2 +gSpriteAnim_83F7F3C:: @ 83F7F3C + obj_image_anim_frame 0, 0 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83F7F44:: @ 83F7F44 + .4byte gSpriteAnim_83F7F3C + +Unknown_83F7F48: + .incbin "baserom.gba", 0x003f7f48, 0x28 + + .align 2 +gUnknown_083F7F70:: @ 83F7F70 + .4byte Unknown_83F7F48 + + .align 2 +gUnknown_083F7F74:: @ 83F7F74 + obj_tiles gMenuPokeblockDevice_Gfx, 2048, 0x39d0 + + .align 2 +gUnknown_083F7F7C:: @ 83F7F7C + obj_pal gMenuPokeblockDevice_Pal, 0x39d0 + + .align 2 +gSpriteTemplate_83F7F84:: @ 83F7F84 + spr_template 14800, 14800, gOamData_83F7F34, gSpriteAnimTable_83F7F44, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + +gUnknown_083F7F9C:: @ 83F7F9C + .incbin "baserom.gba", 0x003f7f9c, 0x28 + + .align 2 +gUnknown_083F7FC4:: @ 83F7FC4 + .byte 1, 4, 1, 0 + .4byte sub_810CFF8 + .byte 2, 4, 1, 0 + .4byte sub_810CFF8 + .byte 3, 4, 1, 0 + .4byte sub_810CFF8 + .byte 5, 4, 1, 0 + .4byte sub_810CFF8 + .byte 6, 4, 1, 0 + .4byte sub_810CFF8 + .byte 7, 4, 1, 0 + .4byte sub_810CFF8 + .byte 8, 4, 1, 0 + .4byte sub_810CFF8 + .byte 9, 4, 1, 0 + .4byte sub_810CFF8 + + .byte 4, 1, 0, 1 + .4byte sub_810CE48 + .byte 4, 2, 0, 1 + .4byte sub_810CE48 + .byte 4, 3, 0, 1 + .4byte sub_810CE48 + .byte 4, 5, 0, 1 + .4byte sub_810CE48 + .byte 4, 6, 0, 1 + .4byte sub_810CE48 + .byte 4, 7, 0, 1 + .4byte sub_810CE48 + .byte 4, 8, 0, 1 + .4byte sub_810CE48 + .byte 4, 9, 0, 1 + .4byte sub_810CE48 + + .byte 0, 0, 0, 0 + .4byte NULL + + .align 2 +gCaveTransitionPalette_White:: @ 83F804C + .rept 16 + .2byte 0x7FFF + .endr + + .align 2 +gCaveTransitionPalette_Black:: @ 83F806C + .rept 16 + .2byte 0x0000 + .endr + +gUnknown_083F808C:: @ 83F808C + .incbin "baserom.gba", 0x003f808c, 0x10 + +gUnknown_083F809C:: @ 83F809C + .incbin "baserom.gba", 0x003f809c, 0x10 + + .align 2 +gCaveTransitionTilemap:: @ 83F80AC + .incbin "graphics/misc/cave_transition_map.bin.lz" + + .align 2 +gCaveTransitionTiles:: @ 83F828C + .incbin "graphics/misc/cave_transition.4bpp.lz" + +gUnknown_083F8340:: @ 83F8340 + .incbin "baserom.gba", 0x003f8340, 0x18 + +gUnknown_083F8358:: @ 83F8358 + .incbin "baserom.gba", 0x003f8358, 0x4 + +gUnknown_083F835C:: @ 83F835C + .incbin "baserom.gba", 0x003f835c, 0x8 + +gUnknown_083F8364:: @ 83F8364 + .incbin "baserom.gba", 0x003f8364, 0xc + +gUnknown_083F8370:: @ 83F8370 + .incbin "baserom.gba", 0x003f8370, 0x6 + +gUnknown_083F8376:: @ 83F8376 + .incbin "baserom.gba", 0x003f8376, 0xa + + .align 2 +gUnknown_083F8380:: @ 83F8380 + .4byte OtherText_1F + .4byte OtherText_2F + .4byte OtherText_3F + .4byte OtherText_4F + .4byte OtherText_5F + .4byte OtherText_6F + .4byte OtherText_7F + .4byte OtherText_8F + .4byte OtherText_9F + .4byte OtherText_10F + .4byte OtherText_11F + .4byte OtherText_B1F + .4byte OtherText_B2F + .4byte OtherText_B3F + .4byte OtherText_B4F + .4byte OtherText_Rooftop + + .align 2 +gUnknown_083F83C0:: @ 83F83C0 + .4byte OtherText_BlueFlute + .4byte OtherText_YellowFlute + .4byte OtherText_RedFlute + .4byte OtherText_WhiteFlute + .4byte OtherText_BlackFlute + .4byte OtherText_PrettyChair + .4byte OtherText_PrettyDesk + .4byte gOtherText_CancelNoTerminator + +gUnknown_083F83E0:: @ 83F83E0 + .incbin "baserom.gba", 0x003f83e0, 0xc + +gUnknown_083F83EC:: @ 83F83EC + .incbin "baserom.gba", 0x003f83ec, 0xc + +gUnknown_083F83F8:: @ 83F83F8 + .incbin "baserom.gba", 0x003f83f8, 0xc + +gUnknown_083F8404:: @ 83F8404 + .incbin "baserom.gba", 0x003f8404, 0x4 + +gUnknown_083F8408:: @ 83F8408 + .incbin "baserom.gba", 0x003f8408, 0x8 + +gUnknown_083F8410:: @ 83F8410 + .incbin "baserom.gba", 0x003f8410, 0x8 + +gUnknown_083F8418:: @ 83F8418 + .incbin "graphics/pokedex/area_glow.gbapal" + +gUnknown_083F8438:: @ 83F8438 + .incbin "graphics/pokedex/area_glow.4bpp.lz" + + .align 1 +gUnknown_083F856C:: @ 83F856C + .2byte 360 + + .align 1 +gUnknown_083F856E:: @ 83F856E + .2byte 328, 0, 34 + .2byte 412, 0, 0 + +gUnknown_083F857A:: @ 83F857A + .incbin "baserom.gba", 0x003f857a, 0x12 + + .align 2 +gUnknown_083F858C:: @ 83F858C + obj_tiles AreaMarkerTiles, 0x80, 2 + + .align 2 +gUnknown_083F8594:: @ 83F8594 + obj_pal AreaMarkerPalette, 2 + + .align 2 +gOamData_83F859C:: @ 83F859C + .2byte 0x0000 + .2byte 0x4000 + .2byte 0x0400 + + .align 2 +gSpriteTemplate_83F85A4:: @ 83F85A4 + spr_template 2, 2, gOamData_83F859C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +AreaMarkerPalette: + .incbin "graphics/pokedex/area_marker.gbapal" + + .align 2 +AreaMarkerTiles: + .incbin "graphics/pokedex/area_marker.4bpp" + + .align 2 +gUnknown_083F865C:: @ 83F865C + obj_pal gAreaUnknownPalette, 3 + + .align 2 +gUnknown_083F8664:: @ 83F8664 + obj_tiles 0x02000FB4, 0x600, 3 + + .align 2 +gOamData_83F866C:: @ 83F866C + .2byte 0x0000 + .2byte 0x8000 + .2byte 0x0400 + + .align 2 +gSpriteTemplate_83F8674:: @ 83F8674 + spr_template 3, 3, gOamData_83F866C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + +gUnknown_083F868C:: @ 83F868C + .incbin "baserom.gba", 0x003f868c, 0x30 + +gUnknown_083F86BC:: @ 83F86BC + .incbin "baserom.gba", 0x003f86bc, 0x40 + + .align 2 +gRouletteCenter_Pal:: + .incbin "graphics/roulette/center.gbapal" + + .incbin "baserom.gba", 0x003f871c, 0x1A0 + +gUnknown_083F88BC:: @ 83F88BC + .incbin "baserom.gba", 0x003f88bc, 0x1a4 + +gUnknown_083F8A60:: @ 83F8A60 + .incbin "baserom.gba", 0x003f8a60, 0x1a0 + +gUnknown_083F8C00:: @ 83F8C00 + .incbin "baserom.gba", 0x003f8c00, 0xc + +gUnknown_083F8C0C:: @ 83F8C0C + .incbin "baserom.gba", 0x003f8c0c, 0x184 + +gUnknown_083F8D90:: @ 83F8D90 + .incbin "baserom.gba", 0x003f8d90, 0x4 + +gUnknown_083F8D94:: @ 83F8D94 + .incbin "baserom.gba", 0x003f8d94, 0x5c + +gUnknown_083F8DF0:: @ 83F8DF0 + .incbin "baserom.gba", 0x003f8df0, 0x4 + +gUnknown_083F8DF4:: @ 83F8DF4 + .incbin "baserom.gba", 0x003f8df4, 0x40 + +gUnknown_083F8E34:: @ 83F8E34 + .incbin "baserom.gba", 0x003f8e34, 0x68 + +gUnknown_083F8E9C:: @ 83F8E9C + .incbin "baserom.gba", 0x003f8e9c, 0x18 + + .align 2 +gUnknown_083F8EB4:: @ 83F8EB4 + .4byte sub_811755C + .4byte sub_81175C0 + + .align 2 +gUnknown_083F8EBC:: @ 83F8EBC + .4byte sub_811577C + .4byte sub_81157AC + +gUnknown_083F8EC4:: @ 83F8EC4 + .incbin "baserom.gba", 0x003f8ec4, 0x6 + +gUnknown_083F8ECA:: @ 83F8ECA + .incbin "baserom.gba", 0x003f8eca, 0x4 + +gUnknown_083F8ECE:: @ 83F8ECE + .incbin "baserom.gba", 0x003f8ece, 0xa + +gUnknown_083F8ED8:: @ 83F8ED8 + .incbin "baserom.gba", 0x003f8ed8, 0x10 + +gUnknown_083F8EE8:: @ 83F8EE8 + .incbin "baserom.gba", 0x003f8ee8, 0xc + +gUnknown_083F8EF4:: @ 83F8EF4 + .byte 0, 3, 4, 6, 12 + + .align 2 +RouletteSpritePalette_01: + .incbin "graphics/roulette/shadow.gbapal" + + .align 2 +RouletteSpritePalette_02: + .incbin "graphics/roulette/ball.gbapal" + + .align 2 +RouletteSpritePalette_03: + .incbin "graphics/roulette/ball_counter.gbapal" + + .align 2 +RouletteSpritePalette_04: + .incbin "graphics/roulette/cursor.gbapal" + + .align 2 +RouletteSpritePalette_05: + .incbin "graphics/roulette/credit.gbapal" + + .align 2 +RouletteSpritePalette_06: + .incbin "graphics/roulette/shroomish.gbapal" + + .align 2 +RouletteSpritePalette_07: + .incbin "graphics/roulette/tailow.gbapal" + + .align 2 +RouletteSpritePalette_08: + .incbin "graphics/roulette/poke_icons.gbapal" + + .align 2 +RouletteSpritePalette_09: + .incbin "graphics/roulette/wynaut.gbapal" + + .align 2 +RouletteSpritePalette_10: + .incbin "graphics/roulette/azurill.gbapal" + + .align 2 +RouletteSpritePalette_11: + .incbin "graphics/roulette/skitty.gbapal" + + .align 2 +RouletteSpritePalette_12: + .incbin "graphics/roulette/makuhita.gbapal" + + .align 2 +RouletteSpritePalette_13: + .incbin "baserom.gba", 0x003F907C, 0x20 + + .align 2 +RouletteSpritePalette_14: + .incbin "baserom.gba", 0x003F909C, 0x20 + + .align 2 +RouletteSpritePalette_15: + .incbin "baserom.gba", 0x003F90BC, 0x20 + + .align 2 +RouletteSpritePalette_16: + .incbin "baserom.gba", 0x003F90DC, 0x20 + + .align 2 +gUnknown_083F90FC:: @ 83F90FC + .incbin "graphics/roulette/ball.4bpp.lz" + + .align 2 +RouletteBallCounterTiles: @ 83F9244 + .incbin "graphics/roulette/ball_counter.4bpp.lz" + + .align 2 +gUnknown_083F92A8:: @ 83F92A8 + .incbin "graphics/roulette/roulette_tilt.4bpp.lz" + + .align 2 +RoulettePokeIconsTiles: @ 83F9698 + .incbin "graphics/roulette/poke_icons.4bpp.lz" + + .align 2 +RoulettePokeIcons2Tiles: @ 83F983C + .incbin "graphics/roulette/poke_icons2.4bpp.lz" + + .align 2 +gUnknown_083F9D3C:: @ 83F9D3C + .incbin "graphics/roulette/shadow.4bpp.lz" + + .align 2 +RouletteCursorTiles: @ 83F9DD4 + .incbin "graphics/roulette/cursor.4bpp.lz" + + .align 2 +gUnknown_083F9E30:: @ 83F9E30 + obj_pal RouletteSpritePalette_01, 1 + obj_pal RouletteSpritePalette_02, 2 + obj_pal RouletteSpritePalette_03, 3 + obj_pal RouletteSpritePalette_04, 4 + obj_pal RouletteSpritePalette_05, 5 + obj_pal RouletteSpritePalette_06, 6 + obj_pal RouletteSpritePalette_07, 7 + obj_pal RouletteSpritePalette_08, 8 + obj_pal RouletteSpritePalette_09, 9 + obj_pal RouletteSpritePalette_10, 10 + obj_pal RouletteSpritePalette_11, 11 + obj_pal RouletteSpritePalette_12, 12 + obj_pal RouletteSpritePalette_13, 13 + obj_pal RouletteSpritePalette_14, 14 + obj_pal RouletteSpritePalette_15, 15 + obj_pal RouletteSpritePalette_16, 16 + null_obj_pal + + .align 2 +gOamData_83F9EB8:: @ 83F9EB8 + .2byte 0x0000 + .2byte 0x8000 + .2byte 0x0400 + + .align 2 +gOamData_83F9EC0:: @ 83F9EC0 + .2byte 0x0000 + .2byte 0x4000 + .2byte 0x0400 + + .align 2 +gOamData_83F9EC8:: @ 83F9EC8 + .2byte 0x833C + .2byte 0x8000 + .2byte 0x0800 + + .align 2 +gSpriteAnim_83F9ED0:: @ 83F9ED0 + obj_image_anim_frame 0, 0 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83F9ED8:: @ 83F9ED8 + .4byte gSpriteAnim_83F9ED0 + + .align 2 +gSpriteAffineAnim_83F9EDC:: @ 83F9EDC + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_83F9EE4:: @ 83F9EE4 + .4byte gSpriteAffineAnim_83F9EDC + + .align 2 +gUnknown_083F9EE8:: @ 83F9EE8 + obj_tiles RoulettePokeIcons2Tiles, 0xC00, 0 + + .align 2 +gSpriteAnim_83F9EF0:: @ 83F9EF0 + obj_image_anim_frame 0, 0 + obj_image_anim_frame 32, 0 + obj_image_anim_frame 64, 0 + obj_image_anim_frame 72, 0 + obj_image_anim_frame 8, 0 + obj_image_anim_frame 40, 0 + obj_image_anim_frame 48, 0 + obj_image_anim_frame 80, 0 + obj_image_anim_frame 16, 0 + obj_image_anim_frame 24, 0 + obj_image_anim_frame 56, 0 + obj_image_anim_frame 88, 0 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83F9F24:: @ 83F9F24 + .4byte gSpriteAnim_83F9EF0 + + .align 2 +gSpriteAnimTable_83F9F28:: @ 83F9F28 + .4byte gSpriteAnim_83F9EF0 + 0x4 + + .align 2 +gSpriteAnimTable_83F9F2C:: @ 83F9F2C + .4byte gSpriteAnim_83F9EF0 + 0x8 + + .align 2 +gSpriteAnimTable_83F9F30:: @ 83F9F30 + .4byte gSpriteAnim_83F9EF0 + 0xC + + .align 2 +gSpriteAnimTable_83F9F34:: @ 83F9F34 + .4byte gSpriteAnim_83F9EF0 + 0x10 + + .align 2 +gSpriteAnimTable_83F9F38:: @ 83F9F38 + .4byte gSpriteAnim_83F9EF0 + 0x14 + + .align 2 +gSpriteAnimTable_83F9F3C:: @ 83F9F3C + .4byte gSpriteAnim_83F9EF0 + 0x18 + + .align 2 +gSpriteAnimTable_83F9F40:: @ 83F9F40 + .4byte gSpriteAnim_83F9EF0 + 0x1C + + .align 2 +gSpriteAnimTable_83F9F44:: @ 83F9F44 + .4byte gSpriteAnim_83F9EF0 + 0x20 + + .align 2 +gSpriteAnimTable_83F9F48:: @ 83F9F48 + .4byte gSpriteAnim_83F9EF0 + 0x24 + + .align 2 +gSpriteAnimTable_83F9F4C:: @ 83F9F4C + .4byte gSpriteAnim_83F9EF0 + 0x28 + + .align 2 +gSpriteAnimTable_83F9F50:: @ 83F9F50 + .4byte gSpriteAnim_83F9EF0 + 0x2C + + .align 2 +gUnknown_083F9F54:: @ 83F9F54 + obj_tiles gRouletteHeadersTiles, 0x1600, 4 + + .align 2 +gUnknown_083F9F5C:: @ 83F9F5C + obj_tiles RoulettePokeIconsTiles, 0x400, 5 + + .align 2 +gSpriteAnim_83F9F64:: @ 83F9F64 + obj_image_anim_frame 0, 0 + obj_image_anim_frame 16, 0 + obj_image_anim_frame 32, 0 + obj_image_anim_frame 48, 0 + obj_image_anim_frame 64, 0 + obj_image_anim_frame 80, 0 + obj_image_anim_frame 96, 0 + obj_image_anim_frame 112, 0 + obj_image_anim_frame 128, 0 + obj_image_anim_frame 144, 0 + obj_image_anim_frame 160, 0 + obj_image_anim_end + + .align 2 +gSpriteAnim_83F9F94:: @ 83F9F94 + obj_image_anim_frame 0, 0 + obj_image_anim_frame 4, 0 + obj_image_anim_frame 8, 0 + obj_image_anim_frame 12, 0 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83F9FA8:: @ 83F9FA8 + .4byte gSpriteAnim_83F9F64 + + .align 2 +gSpriteAnimTable_83F9FAC:: @ 83F9FAC + .4byte gSpriteAnim_83F9F64 + 0x8 + + .align 2 +gSpriteAnimTable_83F9FB0:: @ 83F9FB0 + .4byte gSpriteAnim_83F9F64 + 0x10 + + .align 2 +gSpriteAnimTable_83F9FB4:: @ 83F9FB4 + .4byte gSpriteAnim_83F9F64 + 0x18 + + .align 2 +gSpriteAnimTable_83F9FB8:: @ 83F9FB8 + .4byte gSpriteAnim_83F9F64 + 0x20 + + .align 2 +gSpriteAnimTable_83F9FBC:: @ 83F9FBC + .4byte gSpriteAnim_83F9F64 + 0x24 + + .align 2 +gSpriteAnimTable_83F9FC0:: @ 83F9FC0 + .4byte gSpriteAnim_83F9F64 + 0x28 + + .align 2 +gSpriteAnimTable_83F9FC4:: @ 83F9FC4 + .4byte gSpriteAnim_83F9F94 + + .align 2 +gSpriteAnimTable_83F9FC8:: @ 83F9FC8 + .4byte gSpriteAnim_83F9F94 + 0x4 + + .align 2 +gSpriteAnimTable_83F9FCC:: @ 83F9FCC + .4byte gSpriteAnim_83F9F94 + 0x8 + + .align 2 +gSpriteAnimTable_83F9FD0:: @ 83F9FD0 + .4byte gSpriteAnim_83F9F94 + 0xC + + .align 2 +gSpriteTemplate_83F9FD4:: @ 83F9FD4 + spr_template 4, 8, gOamData_83F9EB8, gSpriteAnimTable_83F9FA8, NULL, gDummySpriteAffineAnimTable, sub_81184CC + + .align 2 +gSpriteTemplate_83F9FEC:: @ 83F9FEC + spr_template 4, 8, gOamData_83F9EB8, gSpriteAnimTable_83F9FAC, NULL, gDummySpriteAffineAnimTable, sub_81184CC + + .align 2 +gSpriteTemplate_83FA004:: @ 83FA004 + spr_template 4, 8, gOamData_83F9EB8, gSpriteAnimTable_83F9FB0, NULL, gDummySpriteAffineAnimTable, sub_81184CC + + .align 2 +gSpriteTemplate_83FA01C:: @ 83FA01C + spr_template 4, 8, gOamData_83F9EB8, gSpriteAnimTable_83F9FB4, NULL, gDummySpriteAffineAnimTable, sub_81184CC + + .align 2 +gSpriteTemplate_83FA034:: @ 83FA034 + spr_template 4, 8, gOamData_83F9EB8, gSpriteAnimTable_83F9FB8, NULL, gDummySpriteAffineAnimTable, sub_81184CC + + .align 2 +gSpriteTemplate_83FA04C:: @ 83FA04C + spr_template 4, 8, gOamData_83F9EB8, gSpriteAnimTable_83F9FBC, NULL, gDummySpriteAffineAnimTable, sub_81184CC + + .align 2 +gSpriteTemplate_83FA064:: @ 83FA064 + spr_template 4, 8, gOamData_83F9EB8, gSpriteAnimTable_83F9FC0, NULL, gDummySpriteAffineAnimTable, sub_81184CC + + .align 2 +gSpriteTemplate_83FA07C:: @ 83FA07C + spr_template 5, 8, gOamData_83F9EC0, gSpriteAnimTable_83F9FC4, NULL, gDummySpriteAffineAnimTable, sub_81184CC + + .align 2 +gSpriteTemplate_83FA094:: @ 83FA094 + spr_template 5, 8, gOamData_83F9EC0, gSpriteAnimTable_83F9FC8, NULL, gDummySpriteAffineAnimTable, sub_81184CC + + .align 2 +gSpriteTemplate_83FA0AC:: @ 83FA0AC + spr_template 5, 8, gOamData_83F9EC0, gSpriteAnimTable_83F9FCC, NULL, gDummySpriteAffineAnimTable, sub_81184CC + + .align 2 +gSpriteTemplate_83FA0C4:: @ 83FA0C4 + spr_template 5, 8, gOamData_83F9EC0, gSpriteAnimTable_83F9FD0, NULL, gDummySpriteAffineAnimTable, sub_81184CC + + .align 2 +gSpriteTemplate_83FA0DC:: @ 83FA0DC + spr_template 0, 9, gOamData_83F9EC8, gSpriteAnimTable_83F9F24, NULL, gDummySpriteAffineAnimTable, sub_8117E98 + + .align 2 +gSpriteTemplate_83FA0F4:: @ 83FA0F4 + spr_template 0, 10, gOamData_83F9EC8, gSpriteAnimTable_83F9F28, NULL, gDummySpriteAffineAnimTable, sub_8117E98 + + .align 2 +gSpriteTemplate_83FA10C:: @ 83FA10C + spr_template 0, 11, gOamData_83F9EC8, gSpriteAnimTable_83F9F2C, NULL, gDummySpriteAffineAnimTable, sub_8117E98 + + .align 2 +gSpriteTemplate_83FA124:: @ 83FA124 + spr_template 0, 12, gOamData_83F9EC8, gSpriteAnimTable_83F9F30, NULL, gDummySpriteAffineAnimTable, sub_8117E98 + + .align 2 +gSpriteTemplate_83FA13C:: @ 83FA13C + spr_template 0, 9, gOamData_83F9EC8, gSpriteAnimTable_83F9F34, NULL, gDummySpriteAffineAnimTable, sub_8117E98 + + .align 2 +gSpriteTemplate_83FA154:: @ 83FA154 + spr_template 0, 10, gOamData_83F9EC8, gSpriteAnimTable_83F9F38, NULL, gDummySpriteAffineAnimTable, sub_8117E98 + + .align 2 +gSpriteTemplate_83FA16C:: @ 83FA16C + spr_template 0, 11, gOamData_83F9EC8, gSpriteAnimTable_83F9F3C, NULL, gDummySpriteAffineAnimTable, sub_8117E98 + + .align 2 +gSpriteTemplate_83FA184:: @ 83FA184 + spr_template 0, 12, gOamData_83F9EC8, gSpriteAnimTable_83F9F40, NULL, gDummySpriteAffineAnimTable, sub_8117E98 + + .align 2 +gSpriteTemplate_83FA19C:: @ 83FA19C + spr_template 0, 9, gOamData_83F9EC8, gSpriteAnimTable_83F9F44, NULL, gDummySpriteAffineAnimTable, sub_8117E98 + + .align 2 +gSpriteTemplate_83FA1B4:: @ 83FA1B4 + spr_template 0, 10, gOamData_83F9EC8, gSpriteAnimTable_83F9F48, NULL, gDummySpriteAffineAnimTable, sub_8117E98 + + .align 2 +gSpriteTemplate_83FA1CC:: @ 83FA1CC + spr_template 0, 11, gOamData_83F9EC8, gSpriteAnimTable_83F9F4C, NULL, gDummySpriteAffineAnimTable, sub_8117E98 + + .align 2 +gSpriteTemplate_83FA1E4:: @ 83FA1E4 + spr_template 0, 12, gOamData_83F9EC8, gSpriteAnimTable_83F9F50, NULL, gDummySpriteAffineAnimTable, sub_8117E98 + + .align 2 +gOamData_83FA1FC:: @ 83FA1FC + .2byte 0x4000 + .2byte 0xC000 + .2byte 0x0400 + + .align 2 +gOamData_83FA204:: @ 83FA204 + .2byte 0x8000 + .2byte 0x0000 + .2byte 0x0400 + + .align 2 +gOamData_83FA20C:: @ 83FA20C + .2byte 0x4000 + .2byte 0x8000 + .2byte 0x0400 + + .align 2 +gOamData_83FA214:: @ 83FA214 + .2byte 0x4000 + .2byte 0x0000 + .2byte 0x0400 + + .align 2 +gUnknown_083FA21C:: @ 83FA21C + obj_tiles gRouletteCreditTiles, 0x400, 7 + obj_tiles gRouletteNumbersTiles, 0x280, 8 + obj_tiles gRouletteMultiplierTiles, 0x500, 9 + obj_tiles RouletteBallCounterTiles, 0x140, 10 + obj_tiles RouletteCursorTiles, 0x200, 11 + null_obj_tiles + + .align 2 +gSpriteAnim_83FA24C:: @ 83FA24C + obj_image_anim_frame 0, 0 + obj_image_anim_frame 2, 0 + obj_image_anim_frame 4, 0 + obj_image_anim_frame 6, 0 + obj_image_anim_frame 8, 0 + obj_image_anim_frame 10, 0 + obj_image_anim_frame 12, 0 + obj_image_anim_frame 14, 0 + obj_image_anim_frame 16, 0 + obj_image_anim_frame 18, 0 + + .align 2 +gSpriteAnimTable_83FA274:: @ 83FA274 + .4byte gSpriteAnim_83FA24C + + .align 2 +gSpriteAnim_83FA278:: @ 83FA278 + obj_image_anim_frame 0, 0 + obj_image_anim_frame 8, 0 + obj_image_anim_frame 16, 0 + obj_image_anim_frame 24, 0 + obj_image_anim_frame 32, 0 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83FA290:: @ 83FA290 + .4byte gSpriteAnim_83FA278 + + .align 2 +gSpriteAnim_83FA294:: @ 83FA294 + obj_image_anim_frame 0, 0 + obj_image_anim_frame 2, 0 + obj_image_anim_frame 4, 0 + obj_image_anim_frame 6, 0 + obj_image_anim_frame 8, 0 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83FA2AC:: @ 83FA2AC + .4byte gSpriteAnim_83FA294 + + .align 2 +gSpriteTemplate_83FA2B0:: @ 83FA2B0 + spr_template 7, 5, gOamData_83FA1FC, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gSpriteTemplate_83FA2C8:: @ 83FA2C8 + spr_template 8, 5, gOamData_83FA204, gSpriteAnimTable_83FA274, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gSpriteTemplate_83FA2E0:: @ 83FA2E0 + spr_template 9, 5, gOamData_83FA20C, gSpriteAnimTable_83FA290, NULL, gDummySpriteAffineAnimTable, sub_81184CC + + .align 2 +gSpriteTemplate_83FA2F8:: @ 83FA2F8 + spr_template 10, 3, gOamData_83FA214, gSpriteAnimTable_83FA2AC, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gSpriteTemplate_83FA310:: @ 83FA310 + spr_template 11, 5, gOamData_83F9EB8, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gOamData_83FA328:: @ 83FA328 + .2byte 0x0000 + .2byte 0x4000 + .2byte 0x0800 + + .align 2 +gSpriteImageTable_83FA330:: @ 83FA330 + obj_frame_tiles 0x02017E00, 0x80 + obj_frame_tiles 0x02017E80, 0x80 + obj_frame_tiles 0x02017F00, 0x80 + obj_frame_tiles 0x02017F80, 0x80 + + .align 2 +gSpriteAnim_83FA350:: @ 83FA350 + obj_image_anim_frame 0, 5 + obj_image_anim_frame 1, 5 + obj_image_anim_frame 2, 5 + obj_image_anim_frame 1, 5 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnim_83FA364:: @ 83FA364 + obj_image_anim_frame 0, 10 + obj_image_anim_frame 1, 10 + obj_image_anim_frame 2, 10 + obj_image_anim_frame 1, 10 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnim_83FA378:: @ 83FA378 + obj_image_anim_frame 0, 15 + obj_image_anim_frame 1, 15 + obj_image_anim_frame 2, 15 + obj_image_anim_frame 1, 15 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnim_83FA38C:: @ 83FA38C + obj_image_anim_frame 1, 2 + obj_image_anim_frame 2, 5 + obj_image_anim_frame 1, 5 + obj_image_anim_frame 3, 5 + obj_image_anim_end + + .align 2 +Unknown_083FA3A0: + .incbin "baserom.gba", 0x003fa3a0, 0x18 +Unknown_083FA3B8: + .incbin "baserom.gba", 0x003fa3b8, 0x14 +Unknown_083FA3CC: + .incbin "baserom.gba", 0x003fa3cc, 0x8 + + .align 2 +gSpriteAnim_83FA3D4:: @ 83FA3D4 + obj_image_anim_frame 2, 2 + obj_image_anim_frame 1, 5 + obj_image_anim_frame 0, 5 + obj_image_anim_frame 3, 5 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83FA3E8:: @ 83FA3E8 + .4byte gSpriteAnim_83FA350 + .4byte gSpriteAnim_83FA364 + .4byte gSpriteAnim_83FA378 + .4byte gSpriteAnim_83FA38C + .4byte gSpriteAnim_83FA3D4 + + .align 2 + .4byte Unknown_083FA3A0 + .4byte Unknown_083FA3B8 + .4byte Unknown_083FA3B8 + .4byte Unknown_083FA3CC + + .align 2 +gSpriteTemplate_83FA40C:: @ 83FA40C + spr_template 0xFFFF, 2, gOamData_83FA328, gSpriteAnimTable_83FA3E8, gSpriteImageTable_83FA330, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gOamData_83FA424:: @ 83FA424 + .2byte 0x0351 + .2byte 0xC000 + .2byte 0x0800 + + .align 2 +gUnknown_083FA42C:: @ 83FA42C + obj_tiles gRouletteCenter_Gfx, 2048, 0x0006 + + .align 2 +gSpriteTemplate_83FA434:: @ 83FA434 + spr_template 6, 2, gOamData_83FA424, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8118554 + + .align 2 +gOamData_83FA44C:: @ 83FA44C + .2byte 0x0000 + .2byte 0x8000 + .2byte 0x0800 + + .align 2 +gOamData_83FA454:: @ 83FA454 + .2byte 0x0000 + .2byte 0x8000 + .2byte 0x0800 + + .align 2 +gSpriteImageTable_83FA45C:: @ 83FA45C + obj_frame_tiles 0x02017000, 0x200 + obj_frame_tiles 0x02017200, 0x200 + obj_frame_tiles 0x02017400, 0x200 + obj_frame_tiles 0x02017600, 0x200 + obj_frame_tiles 0x02017800, 0x200 + obj_frame_tiles 0x02017A00, 0x200 + obj_frame_tiles 0x02017C00, 0x200 + + .align 2 +gSpriteAnim_83FA494:: @ 83FA494 + obj_image_anim_frame 0, 6 + obj_image_anim_frame 1, 6 + obj_image_anim_frame 2, 6 + obj_image_anim_frame 3, 6 + obj_image_anim_frame 2, 6 + obj_image_anim_frame 4, 6 + obj_image_anim_jump 2 + + .align 2 +gSpriteAnim_83FA4B0:: @ 83FA4B0 + obj_image_anim_frame 5, 10 + obj_image_anim_end + + .align 2 +gSpriteAnim_83FA4B8:: @ 83FA4B8 + obj_image_anim_frame 5, 10, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_end + + .align 2 +gSpriteAnim_83FA4C0:: @ 83FA4C0 + obj_image_anim_frame 5, 20 + obj_image_anim_frame 6, 20 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnim_83FA4CC:: @ 83FA4CC + obj_image_anim_frame 5, 20, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 6, 20, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_jump 0 + + .align 2 +gSpriteAnim_83FA4D8:: @ 83FA4D8 + obj_image_anim_frame 5, 10 + obj_image_anim_frame 6, 10 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnim_83FA4E4:: @ 83FA4E4 + obj_image_anim_frame 5, 10, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 6, 10, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_jump 0 + + .align 2 +gSpriteAnimTable_83FA4F0:: @ 83FA4F0 + .4byte gSpriteAnim_83FA494 + + .align 2 +gSpriteAnimTable_83FA4F4:: @ 83FA4F4 + .4byte gSpriteAnim_83FA4B0 + .4byte gSpriteAnim_83FA4B8 + .4byte gSpriteAnim_83FA4C0 + .4byte gSpriteAnim_83FA4CC + .4byte gSpriteAnim_83FA4D8 + .4byte gSpriteAnim_83FA4E4 + + .align 2 +gSpriteTemplate_83FA50C:: @ 83FA50C + spr_template 0xFFFF, 6, gOamData_83FA44C, gSpriteAnimTable_83FA4F0, gSpriteImageTable_83FA45C, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gSpriteTemplate_83FA524:: @ 83FA524 + spr_template 0xFFFF, 7, gOamData_83FA454, gSpriteAnimTable_83FA4F4, gSpriteImageTable_83FA45C, gDummySpriteAffineAnimTable, sub_8119D80 + + .align 2 +gOamData_83FA53C:: @ 83FA53C + .2byte 0x0000 + .2byte 0x4000 + .2byte 0x0800 + + .align 2 +gOamData_83FA544:: @ 83FA544 + .2byte 0x4000 + .2byte 0x8000 + .2byte 0x0800 + + .align 2 +gOamData_83FA54C:: @ 83FA54C + .2byte 0x4100 + .2byte 0x8000 + .2byte 0x0800 + + .align 2 +gSpriteImageTable_83FA554: @ 83FA554 + obj_frame_tiles 0x02018000, 0x80 + + .align 2 +gSpriteImageTable_83FA55C: @ 83FA55C + obj_frame_tiles 0x02018080, 0x100 + + .align 2 +gUnknown_083FA564: @ 83FA564 + .incbin "baserom.gba", 0x003fa564, 0x18 + + .align 2 +gSpriteAffineAnim_83FA57C:: @ 83FA57C + obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 + obj_rot_scal_anim_frame 0xFFFE, 0x0, 0, 15 + obj_rot_scal_anim_frame 0xFFFF, 0xFFFE, 0, 15 + obj_rot_scal_anim_frame 0xFFFF, 0xFFFB, 0, 24 + obj_rot_scal_anim_end + + .align 2 + .4byte gUnknown_083FA564 + + .align 2 +gSpriteAffineAnimTable_83FA5A8:: @ 83FA5A8 + .4byte gSpriteAffineAnim_83FA57C + + .align 2 +gUnknown_083FA5AC:: @ 83FA5AC + .incbin "baserom.gba", 0x003fa5ac, 0x10 + + .align 2 +@ unreferenced + .4byte gUnknown_083FA5AC + + .align 2 +gSpriteTemplate_83FA5C0:: @ 83FA5C0 + spr_template 0xFFFF, 1, gOamData_83FA53C, gSpriteAnimTable_83F9ED8, gSpriteImageTable_83FA554, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gSpriteTemplate_83FA5D8:: @ 83FA5D8 + spr_template 0xFFFF, 1, gOamData_83FA544, gSpriteAnimTable_83F9ED8, gSpriteImageTable_83FA55C, gDummySpriteAffineAnimTable, sub_8119964 + + .align 2 +gSpriteTemplate_83FA5F0:: @ 83FA5F0 + spr_template 0xFFFF, 1, gOamData_83FA54C, gSpriteAnimTable_83F9ED8, gSpriteImageTable_83FA55C, gSpriteAffineAnimTable_83FA5A8, sub_8119D80 + +gUnknown_083FA608:: @ 83FA608 + .incbin "baserom.gba", 0x003fa608, 0x6 + + .align 1 +gUnknown_083FA60E:: @ 83FA60E + .2byte 0x74, 0x2C + .2byte 0x74, 0x70 + +gUnknown_083FA616:: @ 83FA616 + .incbin "baserom.gba", 0x003fa616, 0x8 + +gUnknown_083FA61E:: @ 83FA61E + .incbin "baserom.gba", 0x003fa61e, 0x14 + +gUnknown_083FA632:: @ 83FA632 + .incbin "baserom.gba", 0x003fa632, 0x18 + +gUnknown_083FA64A:: @ 83FA64A + .byte -1, 1 + +gUnknown_083FA64C:: @ 83FA64C + .incbin "baserom.gba", 0x003fa64c, 0x10 + + .align 2 +CryMeterNeedlePalette: @ 83FA65C + .incbin "graphics/pokedex/cry_meter_needle.gbapal" + + .align 2 +CryMeterNeedleTiles: @ 83FA67C + .incbin "graphics/pokedex/cry_meter_needle.4bpp" + +gUnknown_083FAE7C:: @ 83FAE7C + .incbin "baserom.gba", 0x003fae7c, 0xa0 + +gUnknown_083FAF1C:: @ 83FAF1C + .incbin "graphics/pokedex/cry_meter.gbapal" + +gUnknown_083FAF3C:: @ 83FAF3C + .incbin "graphics/pokedex/cry_meter.4bpp.lz" + + .align 1 +gUnknown_083FB274:: @ 83FB274 + .2byte 0x0,0x4,0x8,0xC,0x10,0x14,0x18,0x1C,0x400,0x404,0x408,0x40C,0x410,0x414,0x418,0x41C,0x800,0x804,0x808,0x80C,0x810,0x814,0x818,0x81C,0xC00,0xC04,0xC08,0xC0C,0xC10,0xC14,0xC18,0xC1C,0x1000,0x1004,0x1008,0x100C,0x1010,0x1014,0x1018,0x101C,0x1400,0x1404,0x1408,0x140C,0x1410,0x1414,0x1418,0x141C,0x1800,0x1804,0x1808,0x180C,0x1810,0x1814,0x1818,0x181C,0x1C00,0x1C04,0x1C08,0x1C0C,0x1C10,0x1C14,0x1C18,0x1C1C,0x2000,0x2004,0x2008,0x200C,0x2010,0x2014,0x2018,0x201C + .2byte 0x0,0x4,0x8,0xC,0x10,0x14,0x18,0x1C,0x400,0x404,0x408,0x40C,0x410,0x414,0x418,0x41C,0x800,0x804,0x808,0x80C,0x810,0x814,0x818,0x81C,0xC00,0xC04,0xC08,0xC0C,0xC10,0xC14,0xC18,0xC1C,0x1000,0x1004,0x1008,0x100C,0x1010,0x1014,0x1018,0x101C,0x1400,0x1404,0x1408,0x140C,0x1410,0x1414,0x1418,0x141C,0x1800,0x1804,0x1808,0x180C,0x1810,0x1814,0x1818,0x181C,0x1C00,0x1C04,0x1C08,0x1C0C,0x1C10,0x1C14,0x1C18,0x1C1C,0x2000,0x2004,0x2008,0x200C,0x2010,0x2014,0x2018,0x201C + .2byte 0x1,0x5,0x9,0xD,0x11,0x15,0x19,0x1D,0x401,0x405,0x409,0x40D,0x411,0x415,0x419,0x41D,0x801,0x805,0x809,0x80D,0x811,0x815,0x819,0x81D,0xC01,0xC05,0xC09,0xC0D,0xC11,0xC15,0xC19,0xC1D,0x1001,0x1005,0x1009,0x100D,0x1011,0x1015,0x1019,0x101D,0x1401,0x1405,0x1409,0x140D,0x1411,0x1415,0x1419,0x141D,0x1801,0x1805,0x1809,0x180D,0x1811,0x1815,0x1819,0x181D,0x1C01,0x1C05,0x1C09,0x1C0D,0x1C11,0x1C15,0x1C19,0x1C1D,0x2001,0x2005,0x2009,0x200D,0x2011,0x2015,0x2019,0x201D + .2byte 0x1,0x5,0x9,0xD,0x11,0x15,0x19,0x1D,0x401,0x405,0x409,0x40D,0x411,0x415,0x419,0x41D,0x801,0x805,0x809,0x80D,0x811,0x815,0x819,0x81D,0xC01,0xC05,0xC09,0xC0D,0xC11,0xC15,0xC19,0xC1D,0x1001,0x1005,0x1009,0x100D,0x1011,0x1015,0x1019,0x101D,0x1401,0x1405,0x1409,0x140D,0x1411,0x1415,0x1419,0x141D,0x1801,0x1805,0x1809,0x180D,0x1811,0x1815,0x1819,0x181D,0x1C01,0x1C05,0x1C09,0x1C0D,0x1C11,0x1C15,0x1C19,0x1C1D,0x2001,0x2005,0x2009,0x200D,0x2011,0x2015,0x2019,0x201D + .2byte 0x2,0x6,0xA,0xE,0x12,0x16,0x1A,0x1E,0x402,0x406,0x40A,0x40E,0x412,0x416,0x41A,0x41E,0x802,0x806,0x80A,0x80E,0x812,0x816,0x81A,0x81E,0xC02,0xC06,0xC0A,0xC0E,0xC12,0xC16,0xC1A,0xC1E,0x1002,0x1006,0x100A,0x100E,0x1012,0x1016,0x101A,0x101E,0x1402,0x1406,0x140A,0x140E,0x1412,0x1416,0x141A,0x141E,0x1802,0x1806,0x180A,0x180E,0x1812,0x1816,0x181A,0x181E,0x1C02,0x1C06,0x1C0A,0x1C0E,0x1C12,0x1C16,0x1C1A,0x1C1E,0x2002,0x2006,0x200A,0x200E,0x2012,0x2016,0x201A,0x201E + .2byte 0x2,0x6,0xA,0xE,0x12,0x16,0x1A,0x1E,0x402,0x406,0x40A,0x40E,0x412,0x416,0x41A,0x41E,0x802,0x806,0x80A,0x80E,0x812,0x816,0x81A,0x81E,0xC02,0xC06,0xC0A,0xC0E,0xC12,0xC16,0xC1A,0xC1E,0x1002,0x1006,0x100A,0x100E,0x1012,0x1016,0x101A,0x101E,0x1402,0x1406,0x140A,0x140E,0x1412,0x1416,0x141A,0x141E,0x1802,0x1806,0x180A,0x180E,0x1812,0x1816,0x181A,0x181E,0x1C02,0x1C06,0x1C0A,0x1C0E,0x1C12,0x1C16,0x1C1A,0x1C1E,0x2002,0x2006,0x200A,0x200E,0x2012,0x2016,0x201A,0x201E + .2byte 0x3,0x7,0xB,0xF,0x13,0x17,0x1B,0x1F,0x403,0x407,0x40B,0x40F,0x413,0x417,0x41B,0x41F,0x803,0x807,0x80B,0x80F,0x813,0x817,0x81B,0x81F,0xC03,0xC07,0xC0B,0xC0F,0xC13,0xC17,0xC1B,0xC1F,0x1003,0x1007,0x100B,0x100F,0x1013,0x1017,0x101B,0x101F,0x1403,0x1407,0x140B,0x140F,0x1413,0x1417,0x141B,0x141F,0x1803,0x1807,0x180B,0x180F,0x1813,0x1817,0x181B,0x181F,0x1C03,0x1C07,0x1C0B,0x1C0F,0x1C13,0x1C17,0x1C1B,0x1C1F,0x2003,0x2007,0x200B,0x200F,0x2013,0x2017,0x201B,0x201F + .2byte 0x3,0x7,0xB,0xF,0x13,0x17,0x1B,0x1F,0x403,0x407,0x40B,0x40F,0x413,0x417,0x41B,0x41F,0x803,0x807,0x80B,0x80F,0x813,0x817,0x81B,0x81F,0xC03,0xC07,0xC0B,0xC0F,0xC13,0xC17,0xC1B,0xC1F,0x1003,0x1007,0x100B,0x100F,0x1013,0x1017,0x101B,0x101F,0x1403,0x1407,0x140B,0x140F,0x1413,0x1417,0x141B,0x141F,0x1803,0x1807,0x180B,0x180F,0x1813,0x1817,0x181B,0x181F,0x1C03,0x1C07,0x1C0B,0x1C0F,0x1C13,0x1C17,0x1C1B,0x1C1F,0x2003,0x2007,0x200B,0x200F,0x2013,0x2017,0x201B,0x201F + + .align 2 + .4byte 0x201C000 + +gUnknown_083FB6F8:: @ 83FB6F8 + .incbin "baserom.gba", 0x003fb6f8, 0x20 + +gUnknown_083FB718:: @ 83FB718 + .incbin "baserom.gba", 0x003fb718, 0x20 + +gUnknown_083FB738:: @ 83FB738 + .byte 0xF0, 0x0F + +gUnknown_083FB73A:: @ 83FB73A + .incbin "baserom.gba", 0x003fb73a, 0x26 + + .align 2 +gSpriteAnim_83FB760:: @ 83FB760 + obj_image_anim_frame 0, 30 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83FB768:: @ 83FB768 + .4byte gSpriteAnim_83FB760 + + .align 2 +gOamData_83FB76C:: @ 83FB76C + .2byte 0x01A0 + .2byte 0xC000 + .2byte 0x0400 + + .align 2 +gSpriteTemplate_83FB774:: @ 83FB774 + spr_template 8192, 8192, gOamData_83FB76C, gSpriteAnimTable_83FB768, NULL, gDummySpriteAffineAnimTable, sub_811A534 + + .align 2 +gCryMeterNeedleSpriteSheets:: @ 83FB78C + obj_tiles CryMeterNeedleTiles, 0x800, 8192 + null_obj_tiles + + .align 2 +gCryMeterNeedleSpritePalettes:: @ 83FB79C + obj_pal CryMeterNeedlePalette, 8192 + null_obj_pal + +@ 83FB7AC + .include "data/landmarks.inc" + + .align 2 +gUnknown_083FBB88:: @ 83FBB88 + .incbin "graphics/battle_transitions/big_pokeball.4bpp" + + .align 2 +gUnknown_083FC108:: @ 83FC108 + .incbin "graphics/battle_transitions/pokeball_trail.4bpp" + + .align 2 +gSpriteImage_83FC148:: @ 83FC148 + .incbin "graphics/battle_transitions/pokeball.4bpp" + + .align 2 +gUnknown_083FC348:: @ 83FC348 + .incbin "graphics/battle_transitions/elite_four_bg.4bpp" + + .align 2 +gSpriteImage_83FC528:: @ 83FC528 + .incbin "graphics/battle_transitions/unused_brendan.4bpp" + + .align 2 +gSpriteImage_83FCD28:: @ 83FCD28 + .incbin "graphics/battle_transitions/unused_lass.4bpp" + + .align 2 +gUnknown_083FD528:: @ 83FD528 + .incbin "graphics/battle_transitions/shrinking_box.4bpp" + + .align 2 +gUnknown_083FD708:: @ 83FD708 + .4byte 0x0200c000 + + .align 2 +gUnknown_083FD70C:: @ 83FD70C + .4byte sub_811AC64 + .4byte sub_811AC64 + .4byte sub_811AC64 + .4byte sub_811AC64 + .4byte sub_811AC64 + .4byte sub_811AC64 + .4byte sub_811AC64 + .4byte sub_811AC64 + .4byte sub_811AC64 + .4byte sub_811AC64 + .4byte sub_811AC64 + .4byte sub_811AC64 + .4byte sub_811AC64 + .4byte sub_811AC64 + .4byte sub_811AC64 + .4byte sub_811AC64 + .4byte sub_811AC64 + + .align 2 +gBattleTransitionFuncs:: @ 83FD750 + .4byte sub_811ACB4 + .4byte sub_811ADAC + .4byte sub_811AF44 + .4byte sub_811B0F0 + .4byte sub_811B578 + .4byte sub_811B7E8 + .4byte sub_811BCBC + .4byte sub_811BEA0 + .4byte sub_811CA5C + .4byte sub_811CCDC + .4byte sub_811D0B8 + .4byte sub_811D1C8 + .4byte sub_811C08C + .4byte sub_811C0AC + .4byte sub_811C0CC + .4byte sub_811C0EC + .4byte sub_811C10C + + .align 2 +gUnknown_083FD794:: @ 83FD794 + .4byte sub_811AB88 + .4byte sub_811ABD8 + .4byte sub_811AC0C + .4byte sub_811AC34 + + .align 2 +gUnknown_083FD7A4:: @ 83FD7A4 + .4byte sub_811ACEC + .4byte sub_811AD1C + .4byte sub_811AD80 + + .align 2 +gUnknown_083FD7B0:: @ 83FD7B0 + .4byte sub_811ADE4 + .4byte sub_811AE70 + + .align 2 +gUnknown_083FD7B8:: @ 83FD7B8 + .4byte sub_811AF7C + .4byte sub_811B000 + + .align 2 +gUnknown_083FD7C0:: @ 83FD7C0 + .4byte sub_811B128 + .4byte sub_811B1D8 + .4byte sub_811B268 + .4byte sub_811B2F4 + .4byte sub_811B380 + .4byte sub_811B3EC + + .align 2 +gUnknown_083FD7D8:: @ 83FD7D8 + .4byte sub_811B5B0 + .4byte sub_811B5FC + .4byte sub_811B688 + + .align 1 +gUnknown_083FD7E4:: @ 83FD7E4 + .2byte -16 + .2byte 256 + + .align 1 +gUnknown_083FD7E8:: @ 83FD7E8 + .2byte 0 + .2byte 32 + .2byte 64 + .2byte 18 + .2byte 48 + + .align 1 +gUnknown_083FD7F2:: @ 83FD7F2 + .2byte 8 + .2byte -8 + + .align 2 +gUnknown_083FD7F8:: @ 83FD7F8 + .4byte sub_811B820 + .4byte sub_811B884 + .4byte sub_811B90C + .4byte sub_811B9F0 + .4byte sub_811BA70 + .4byte sub_811BB60 + .4byte sub_811BBEC + + .align 2 +gUnknown_083FD814:: @ 83FD814 + .4byte sub_811BCF4 + .4byte sub_811BD60 + + .align 2 +gUnknown_083FD81C:: @ 83FD81C + .4byte sub_811BED8 + .4byte sub_811BF2C + .4byte sub_811BFC4 + + .align 2 +gUnknown_083FD828:: @ 83FD828 + .4byte sub_811C164 + .4byte sub_811C1CC + .4byte sub_811C2A4 + .4byte sub_811C38C + .4byte sub_811C400 + .4byte sub_811C43C + .4byte sub_811C4F0 + .4byte sub_811C5B4 + .4byte sub_811C5E8 + .4byte sub_811C630 + +gUnknown_083FD850:: @ 83FD850 + .incbin "baserom.gba", 0x003fd850, 0x6 + +gUnknown_083FD856:: @ 83FD856 + .incbin "baserom.gba", 0x003fd856, 0x14 + +gUnknown_083FD86A:: @ 83FD86A + .incbin "baserom.gba", 0x003fd86a, 0x16 + + .align 2 +gUnknown_083FD880:: @ 83FD880 + .4byte sub_811C934 + .4byte sub_811C938 + .4byte sub_811C984 + .4byte sub_811C9B8 + .4byte sub_811C934 + .4byte sub_811C9E4 + .4byte sub_811C934 + +gUnknown_083FD89C:: @ 83FD89C + .incbin "baserom.gba", 0x003fd89c, 0x4 + +gUnknown_083FD8A0:: @ 83FD8A0 + .incbin "baserom.gba", 0x003fd8a0, 0x4 + + .align 2 +gUnknown_083FD8A4:: @ 83FD8A4 + .4byte sub_811CA94 + .4byte sub_811CB20 + .4byte sub_811CBE8 + + .align 2 +gUnknown_083FD8B0:: @ 83FD8B0 + .4byte sub_811CD14 + .4byte sub_811CDA0 + .4byte sub_811CE14 + .4byte sub_811CE4C + .4byte sub_811CEB0 + +gUnknown_083FD8C4:: @ 83FD8C4 + .incbin "baserom.gba", 0x003fd8c4, 0x10 + + .align 2 +gUnknown_083FD8D4:: @ 83FD8D4 + .4byte sub_811D0F0 + .4byte sub_811D144 + .4byte sub_811D19C + + .align 2 +gUnknown_083FD8E0:: @ 83FD8E0 + .4byte sub_811D200 + .4byte sub_811D260 + .4byte sub_811D2D8 + .4byte sub_811D3B0 + .4byte sub_811D41C + +gUnknown_083FD8F4:: @ 83FD8F4 + .incbin "baserom.gba", 0x003fd8f4, 0x46 + +gUnknown_083FD93A:: @ 83FD93A + .incbin "baserom.gba", 0x003fd93a, 0xe + + .align 2 +gUnknown_083FD948:: @ 83FD948 + .4byte sub_811D584 + .4byte sub_811D5E0 + + .align 2 +gSpriteImageTable_83FD950:: @ 83FD950 + obj_frame_tiles gSpriteImage_83FC148, 0x200 + + .align 2 +gSpriteAnim_83FD958:: @ 83FD958 + obj_image_anim_frame 0, 1 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83FD960:: @ 83FD960 + .4byte gSpriteAnim_83FD958 + + .align 2 +gSpriteAffineAnim_83FD964:: @ 83FD964 + obj_rot_scal_anim_frame 0x0, 0x0, -4, 1 + obj_rot_scal_anim_jump 0 + + .align 2 +gSpriteAffineAnim_83FD974:: @ 83FD974 + obj_rot_scal_anim_frame 0x0, 0x0, 4, 1 + obj_rot_scal_anim_jump 0 + + .align 2 +gSpriteAffineAnimTable_83FD984:: @ 83FD984 + .4byte gSpriteAffineAnim_83FD964 + .4byte gSpriteAffineAnim_83FD974 + + .align 2 +gSpriteTemplate_83FD98C:: @ 83FD98C + spr_template 0xFFFF, 4105, gFieldOamData_32x32, gSpriteAnimTable_83FD960, gSpriteImageTable_83FD950, gSpriteAffineAnimTable_83FD984, sub_811B720 + + .align 2 +gOamData_83FD9A4:: @ 83FD9A4 + .2byte 0x0000 + .2byte 0xC000 + .2byte 0x0000 + + .align 2 +gSpriteImageTable_83FD9AC:: @ 83FD9AC + obj_frame_tiles gSpriteImage_83FC528, 0x800 + + .align 2 +gSpriteImageTable_83FD9B4:: @ 83FD9B4 + obj_frame_tiles gSpriteImage_83FCD28, 0x800 + + .align 2 +gSpriteAnim_83FD9BC:: @ 83FD9BC + obj_image_anim_frame 0, 1 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_83FD9C4:: @ 83FD9C4 + .4byte gSpriteAnim_83FD9BC + + .align 2 +gSpriteTemplate_83FD9C8:: @ 83FD9C8 + spr_template 0xFFFF, 4106, gOamData_83FD9A4, gSpriteAnimTable_83FD9C4, gSpriteImageTable_83FD9AC, gDummySpriteAffineAnimTable, sub_811C90C + + .align 2 +gSpriteTemplate_83FD9E0:: @ 83FD9E0 + spr_template 0xFFFF, 4106, gOamData_83FD9A4, gSpriteAnimTable_83FD9C4, gSpriteImageTable_83FD9B4, gDummySpriteAffineAnimTable, sub_811C90C + + .align 2 +gFieldEffectObjectPalette10:: @ 83FD9F8 + .incbin "graphics/field_effect_objects/palettes/10.gbapal" + + .align 2 +gFieldEffectObjectPaletteInfo10:: @ 83FDA18 + obj_pal gFieldEffectObjectPalette10, 0x1009 + + .align 2 +Unknown_83FDA20: + .incbin "graphics/battle_transitions/sidney_bg.gbapal" + + .align 2 +Unknown_83FDA40: + .incbin "graphics/battle_transitions/phoebe_bg.gbapal" + + .align 2 +Unknown_83FDA60: + .incbin "graphics/battle_transitions/glacia_bg.gbapal" + + .align 2 +Unknown_83FDA80: + .incbin "graphics/battle_transitions/drake_bg.gbapal" + + .align 2 +Unknown_83FDAA0: + .incbin "graphics/battle_transitions/steven_bg.gbapal" + + .align 2 +Unknown_83FDAC0: + .incbin "graphics/battle_transitions/brendan_bg.gbapal" + + .align 2 +Unknown_83FDAE0: + .incbin "graphics/battle_transitions/may_bg.gbapal" + + .align 2 +gUnknown_083FDB00:: @ 83FDB00 + .4byte Unknown_83FDA20 + .4byte Unknown_83FDA40 + .4byte Unknown_83FDA60 + .4byte Unknown_83FDA80 + .4byte Unknown_83FDAA0 + + .align 2 +gUnknown_083FDB14:: @ 83FDB14 + .4byte Unknown_83FDAC0 + .4byte Unknown_83FDAE0 + + .align 2 +UnusedTrainerPalette: + .incbin "graphics/battle_transitions/unused_trainer.gbapal" + + .align 2 +gSpritePalette_UnusedTrainer:: @ 83FDB3C + obj_pal UnusedTrainerPalette, 0x100A + + .align 2 +gUnknown_083FDB44:: @ 83FDB44 + .incbin "graphics/battle_transitions/big_pokeball_map.bin" + + .align 2 +gUnknown_083FDFF4:: @ 83FDFF4 + .incbin "graphics/battle_transitions/elite_four_bg_map.bin" + + .include "data/text/battle_strings.inc" + +gUnknown_084016BC:: @ 84016BC + .incbin "baserom.gba", 0x004016bc, 0xec + +gUnknown_084017A8:: @ 84017A8 + .incbin "baserom.gba", 0x004017a8, 0x8 + + .align 2 +gUnknown_084017B0:: @ 84017B0 + .4byte OtherText_Summary, sub_812265C + .4byte OtherText_Enter2, sub_8122694 + .4byte OtherText_NoEntry, sub_8122770 + .4byte gUnknownText_Exit, sub_8122838 + +gUnknown_084017D0:: @ 84017D0 + .byte 1, 0, 3 + +gUnknown_084017D3: @ 84017D3 + .byte 2, 0, 3 + +gUnknown_084017D6: @ 84017D6 + .byte 0, 3 + + .align 2 +gUnknown_084017D8:: @ 84017D8 + .byte 3, 9 + .space 2 + .4byte gUnknown_084017D0 + + .byte 3, 9 + .space 2 + .4byte gUnknown_084017D3 + + .byte 2, 9 + .space 2 + .4byte gUnknown_084017D6 + + .align 2 +gUnknown_084017F0:: @ 84017F0 + .4byte OtherText_Store, sub_8122F70 + .4byte OtherText_Summary, sub_81230BC + .4byte gUnknownText_Exit, sub_81230F4 + +gUnknown_08401808:: @ 8401808 + .byte 0, 1, 2 + +gUnknown_0840180B:: @ 840180B + .byte 1, 2 + + .align 2 +gUnknown_08401810:: @ 8401810 + .byte 3, 9 + .space 2 + .4byte gUnknown_08401808 + + .byte 2, 9 + .space 2 + .4byte gUnknown_0840180B + + .align 2 +gCableCarMtChimneyTilemap:: @ 8401820 + .incbin "graphics/misc/cable_car_mt_chimney_map.bin.lz" + + .align 2 +gCableCarTreeTilemap:: @ 8401978 + .incbin "graphics/misc/cable_car_tree_map.bin.lz" + + .align 2 +gCableCarMountainTilemap:: @ 8401AFC + .incbin "graphics/misc/cable_car_mountain_map.bin.lz" + + .align 2 +gCableCarPylonHookTilemapEntries:: @ 8401CC0 + .2byte 0x3000 + .2byte 0x3001 + .2byte 0x3002 + .2byte 0x3003 + .2byte 0x3004 + .2byte 0x3005 + .2byte 0x3006 + .2byte 0x3007 + .2byte 0x3008 + .2byte 0x3009 + + .align 2 +gCableCarPylonStemTilemap:: @ 8401CD4 + .incbin "graphics/misc/cable_car_pylon_stem_map.bin.lz" + + .align 2 +gUnknown_08401CF8:: @ 8401CF8 + obj_tiles gCableCar_Gfx, 0x800, 1 + obj_tiles gCableCarDoor_Gfx, 0x40, 2 + obj_tiles gCableCarCord_Gfx, 0x80, 3 + .space 8 + + .align 2 +gUnknown_08401D18:: @ 8401D18 + obj_pal gCableCar_Pal, 1 + .space 8 + + .align 2 +gOamData_8401D28:: @ 8401D28 + .2byte 0x0300 + .2byte 0xC000 + .2byte 0x0800 + + .align 2 +gOamData_8401D30:: @ 8401D30 + .2byte 0x4300 + .2byte 0x0000 + .2byte 0x0800 + + .align 2 +gOamData_8401D38:: @ 8401D38 + .2byte 0x0300 + .2byte 0x4000 + .2byte 0x0800 + + .align 2 +gSpriteTemplate_8401D40:: @ 8401D40 + spr_template 1, 1, gOamData_8401D28, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8123CB8 + + .align 2 +gSpriteTemplate_8401D58:: @ 8401D58 + spr_template 2, 1, gOamData_8401D30, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8123CB8 + + .align 2 +gSpriteTemplate_8401D70:: @ 8401D70 + spr_template 3, 1, gOamData_8401D38, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, nullsub_76 + +gCableCarPlayerGraphicsIDs:: @ 8401D88 + .byte MAP_OBJ_GFX_RIVAL_BRENDAN_NORMAL + .byte MAP_OBJ_GFX_RIVAL_MAY_NORMAL + +gMtChimneyHikerGraphicsIDs:: @ 8401D8A + .byte MAP_OBJ_GFX_HIKER + .byte MAP_OBJ_GFX_CAMPER + .byte MAP_OBJ_GFX_PICNICKER + .byte MAP_OBJ_GFX_POOCHYENA @ not used + + .align 1 +gMtChimneyHikerCoords:: @ 8401D8E + .2byte 0, 80 + .2byte 240, 146 + +gMtChimneyHikerMovementDelayTable:: @ 8401D96 + .byte 0 + .byte 60 + .byte 120 + .byte 170 + + .align 2 +gUnknown_08401D9C:: @ 8401D9C + .4byte sub_8123EB8 + .4byte sub_8123F44 + + .align 2 +gSaveSectionLocations:: @ 8401DA4 + .4byte gSaveBlock2, 0x890 + .4byte gSaveBlock1 + 0xF80 * 0, 0xF80 + .4byte gSaveBlock1 + 0xF80 * 1, 0xF80 + .4byte gSaveBlock1 + 0xF80 * 2, 0xF80 + .4byte gSaveBlock1 + 0xF80 * 3, 0xC40 + .4byte gPokemonStorage + 0xF80 * 0, 0xF80 + .4byte gPokemonStorage + 0xF80 * 1, 0xF80 + .4byte gPokemonStorage + 0xF80 * 2, 0xF80 + .4byte gPokemonStorage + 0xF80 * 3, 0xF80 + .4byte gPokemonStorage + 0xF80 * 4, 0xF80 + .4byte gPokemonStorage + 0xF80 * 5, 0xF80 + .4byte gPokemonStorage + 0xF80 * 6, 0xF80 + .4byte gPokemonStorage + 0xF80 * 7, 0xF80 + .4byte gPokemonStorage + 0xF80 * 8, 0x7D0 + + .align 2 +gHallOfFameSaveSectionLocations:: @ 8401E14 + .4byte gHallOfFame + 0xF80 * 0, 0xF80 + .4byte gHallOfFame + 0xF80 * 1, 0xF80 + +gUnknown_08401E24:: @ 8401E24 + .byte 0x1E, 0x1F @ flash sectors + +@ XXX: Unused? And why is this aligned? + .align 2 + .string "タマゴ$" + +gUnknown_08401E2C:: @ 8401E2C + .incbin "baserom.gba", 0x00401e2c, 0x6 + +gUnknown_08401E32:: @ 8401E32 + .incbin "baserom.gba", 0x00401e32, 0x4 + +gUnknown_08401E36:: @ 8401E36 + .incbin "baserom.gba", 0x00401e36, 0xa + + .align 2 +gUnknown_08401E40:: @ 8401E40 + .4byte sub_81275A0 + .4byte sub_81275C4 + + .align 2 +gUnknown_08401E48:: @ 8401E48 + .4byte sub_8127DA0 + .4byte sub_8127DD0 + .4byte sub_8127E30 + +gUnknown_08401E54:: @ 8401E54 + .incbin "baserom.gba", 0x00401e54, 0x6 + +gUnknown_08401E5A:: @ 8401E5A + .incbin "baserom.gba", 0x00401e5a, 0x6 + + .align 2 +gUnknown_08401E60:: @ 8401E60 + .4byte sub_8128AA8 + .4byte contest_ai_get_turn + .4byte sub_8128B0C + .4byte sub_8128B4C + .4byte sub_8128B8C + .4byte sub_8128BCC + .4byte contest_ai_get_excitement + .4byte sub_8128C2C + .4byte sub_8128C6C + .4byte sub_8128CAC + .4byte sub_8128CEC + .4byte contest_ai_get_user_order + .4byte sub_8128D50 + .4byte sub_8128D90 + .4byte sub_8128DD0 + .4byte sub_8128E10 + .4byte contest_ai_get_user_condition_maybe + .4byte sub_8128E90 + .4byte sub_8128ED0 + .4byte sub_8128F10 + .4byte sub_8128F50 + .4byte sub_8128F90 + .4byte sub_8128FBC + .4byte sub_8129008 + .4byte sub_8129054 + .4byte sub_81290A0 + .4byte sub_81290EC + .4byte sub_8129114 + .4byte sub_8129160 + .4byte sub_81291AC + .4byte sub_81291F8 + .4byte contest_ai_get_contest_type + .4byte sub_8129264 + .4byte sub_81292A4 + .4byte contest_ai_get_move_excitement + .4byte sub_8129324 + .4byte sub_8129368 + .4byte sub_81293AC + .4byte sub_81293F0 + .4byte contest_ai_get_move_effect + .4byte sub_8129470 + .4byte sub_81294B0 + .4byte contest_ai_get_move_effect_type + .4byte sub_8129538 + .4byte sub_8129578 + .4byte contest_ai_check_move_has_highest_appeal + .4byte sub_8129638 + .4byte sub_812967C + .4byte sub_81296FC + .4byte sub_8129740 + .4byte sub_8129798 + .4byte sub_81297D8 + .4byte sub_8129818 + .4byte sub_8129858 + .4byte sub_8129898 + .4byte sub_81298F0 + .4byte sub_8129930 + .4byte sub_8129970 + .4byte sub_81299B0 + .4byte contest_ai_get_move_used_count + .4byte sub_8129A44 + .4byte sub_8129A84 + .4byte sub_8129AC4 + .4byte sub_8129B04 + .4byte contest_ai_check_combo_starter + .4byte sub_8129BB8 + .4byte sub_8129BFC + .4byte contest_ai_check_combo_finisher + .4byte sub_8129CB4 + .4byte sub_8129CF8 + .4byte contest_ai_check_would_finish_combo + .4byte sub_8129D98 + .4byte sub_8129DDC + .4byte contest_ai_get_condition + .4byte sub_8129E64 + .4byte sub_8129EA4 + .4byte sub_8129EE4 + .4byte sub_8129F24 + .4byte contest_ai_get_used_combo_starter + .4byte sub_8129FBC + .4byte sub_8129FFC + .4byte sub_812A03C + .4byte sub_812A07C + .4byte contest_ai_check_can_participate + .4byte sub_812A100 + .4byte sub_812A144 + .4byte contest_ai_get_val_812A188 + .4byte sub_812A1C4 + .4byte sub_812A208 + .4byte sub_812A24C + .4byte sub_812A294 + .4byte sub_812A2D8 + .4byte sub_812A31C + .4byte sub_812A360 + .4byte sub_812A3A4 + .4byte sub_812A3E4 + .4byte sub_812A428 + .4byte sub_812A46C + .4byte sub_812A4B0 + .4byte sub_812A4F4 + .4byte sub_812A538 + .4byte sub_812A578 + .4byte sub_812A5B8 + .4byte sub_812A5F8 + .4byte sub_812A638 + .4byte sub_812A674 + .4byte sub_812A6B4 + .4byte sub_812A6F4 + .4byte sub_812A734 + .4byte sub_812A774 + .4byte sub_812A7C4 + .4byte sub_812A804 + .4byte sub_812A844 + .4byte sub_812A86C + .4byte sub_812A898 + .4byte sub_812A8CC + .4byte sub_812A8FC + .4byte sub_812A92C + .4byte sub_812A978 + .4byte sub_812A9C4 + .4byte sub_812AA10 + .4byte sub_812AA5C + .4byte sub_812AAAC + .4byte sub_812AAFC + .4byte sub_812AB4C + .4byte sub_812AB9C + .4byte sub_812ABE8 + .4byte sub_812AC34 + .4byte sub_812AC54 + .4byte sub_812AC84 + .4byte contest_ai_check_for_exciting_move + .4byte sub_812AD50 + .4byte sub_812AD94 + .4byte sub_812ADD8 + .4byte sub_812AE44 + .4byte sub_812AE88 + + .align 2 +gUnknown_08402080:: @ 8402080 + .4byte sub_812B864 + .4byte sub_812B870 + .4byte sub_812B87C + .4byte sub_812B888 + .4byte sub_812B894 + .4byte sub_812B8A0 + .4byte sub_812B8AC + .4byte sub_812B8B8 + .4byte sub_812B994 + .4byte sub_812B9A0 + .4byte sub_812B9AC + .4byte sub_812B9B8 + .4byte sub_812B9C4 + .4byte sub_812BA14 + .4byte sub_812BA70 + .4byte sub_812BA7C + .4byte dp01t_10_6_message + .4byte dp01t_11_6_message_for_player_only + .4byte sub_812BB10 + .4byte sub_812BBFC + .4byte sub_812BC08 + .4byte sub_812BC14 + .4byte sub_812BC54 + .4byte sub_812BC60 + .4byte sub_812BC6C + .4byte sub_812BC78 + .4byte sub_812BC84 + .4byte sub_812BCC0 + .4byte sub_812BCCC + .4byte sub_812BCD8 + .4byte sub_812BCE4 + .4byte sub_812BCF0 + .4byte sub_812BCFC + .4byte sub_812BD08 + .4byte sub_812BD14 + .4byte sub_812BD20 + .4byte sub_812BD2C + .4byte sub_812BD38 + .4byte sub_812BD44 + .4byte sub_812BD50 + .4byte sub_812BD5C + .4byte sub_812BD68 + .4byte sub_812BD74 + .4byte sub_812BD80 + .4byte sub_812BDC4 + .4byte sub_812BDF4 + .4byte dp01t_2E_6_battle_intro + .4byte sub_812BE64 + .4byte sub_812BEB0 + .4byte sub_812BEBC + .4byte sub_812BEC8 + .4byte sub_812BED4 + .4byte sub_812BEE0 + .4byte sub_812BF3C + .4byte sub_812BF48 + .4byte sub_812BF54 + .4byte nullsub_78 + + .align 2 +gSpriteAnim_8402164:: @ 8402164 + obj_image_anim_frame 0, 4 + obj_image_anim_frame 16, 4 + obj_image_anim_frame 32, 4 + obj_image_anim_frame 48, 4 + obj_image_anim_frame 64, 4 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_840217C:: @ 840217C + .4byte gSpriteAnim_8402164 + + .align 2 +gBattleAnimSpriteTemplate_8402180:: @ 8402180 + spr_template 10137, 10137, gOamData_837E054, gSpriteAnimTable_840217C, NULL, gDummySpriteAffineAnimTable, sub_80793C4 + + .align 2 +gBattleAnimSpriteTemplate_8402198:: @ 8402198 + spr_template 10016, 10016, gOamData_837DF54, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_812C144 + + .align 2 +gBattleAnimSpriteTemplate_84021B0:: @ 84021B0 + spr_template 10017, 10017, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80794A8 + + .align 2 +gSpriteAnim_84021C8:: @ 84021C8 + obj_image_anim_frame 0, 40 + obj_image_anim_frame 16, 8 + obj_image_anim_frame 32, 40 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_84021D8:: @ 84021D8 + .4byte gSpriteAnim_84021C8 + + .align 2 +gBattleAnimSpriteTemplate_84021DC:: @ 84021DC + spr_template 10190, 10190, gOamData_837DF34, gSpriteAnimTable_84021D8, NULL, gDummySpriteAffineAnimTable, sub_80793C4 + + .align 2 +gBattleAnimSpriteTemplate_84021F4:: @ 84021F4 + spr_template 10191, 10191, gOamData_837E05C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_812C220 + + .align 2 +gBattleAnimSpriteTemplate_840220C:: @ 840220C + spr_template 10189, 10189, gOamData_837DF94, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_812C2BC + + .align 2 +gSpriteAffineAnim_8402224:: @ 8402224 + obj_rot_scal_anim_frame 0x180, 0x180, 0, 0 + obj_rot_scal_anim_frame 0xFFE0, 0x18, 0, 5 + obj_rot_scal_anim_frame 0x18, 0xFFE0, 0, 5 + obj_rot_scal_anim_jump 1 + + .align 2 +gSpriteAffineAnim_8402244:: @ 8402244 + obj_rot_scal_anim_frame 0x30, 0x30, 0, 0 + obj_rot_scal_anim_frame 0x20, 0x20, 0, 6 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_840225C:: @ 840225C + .4byte gSpriteAffineAnim_8402224 + .4byte gSpriteAffineAnim_8402244 + + .align 2 +gBattleAnimSpriteTemplate_8402264:: @ 8402264 + spr_template 10187, 10187, gOamData_837E11C, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_840225C, sub_812C358 + + .align 2 +gBattleAnimSpriteTemplate_840227C:: @ 840227C + spr_template 10152, 10152, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_812C720 + + .align 2 +gSpriteAnim_8402294:: @ 8402294 + obj_image_anim_frame 0, 3 + obj_image_anim_frame 16, 3 + obj_image_anim_frame 32, 3 + obj_image_anim_frame 48, 3 + obj_image_anim_frame 64, 3 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_84022AC:: @ 84022AC + .4byte gSpriteAnim_8402294 + + .align 2 +gBattleAnimSpriteTemplate_84022B0:: @ 84022B0 + spr_template 10027, 10027, gOamData_837DF34, gSpriteAnimTable_84022AC, NULL, gDummySpriteAffineAnimTable, sub_812C80C + + .align 2 +gSpriteAnim_84022C8:: @ 84022C8 + obj_image_anim_frame 0, 3 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_84022D0:: @ 84022D0 + .4byte gSpriteAnim_84022C8 + + .align 2 +gSpriteAffineAnim_84022D4:: @ 84022D4 + obj_rot_scal_anim_frame 0xFFF9, 0xFFF9, -3, 16 + obj_rot_scal_anim_frame 0x7, 0x7, 3, 16 + obj_rot_scal_anim_jump 0 + + .align 2 +gSpriteAffineAnimTable_84022EC:: @ 84022EC + .4byte gSpriteAffineAnim_84022D4 + + .align 2 +gBattleAnimSpriteTemplate_84022F0:: @ 84022F0 + spr_template 10228, 10228, gOamData_837DF94, gSpriteAnimTable_84022D0, NULL, gSpriteAffineAnimTable_84022EC, sub_812C848 + + .align 2 +gSpriteAnim_8402308:: @ 8402308 + obj_image_anim_frame 0, 8 + obj_image_anim_frame 16, 16 + obj_image_anim_frame 32, 4 + obj_image_anim_frame 48, 4 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_840231C:: @ 840231C + .4byte gSpriteAnim_8402308 + + .align 2 +gSpriteAffineAnim_8402320:: @ 8402320 + obj_rot_scal_anim_frame 0x200, 0x200, 0, 0 + obj_rot_scal_anim_frame 0xFFE0, 0xFFE0, 0, 8 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_8402338:: @ 8402338 + .4byte gSpriteAffineAnim_8402320 + + .align 2 +gBattleAnimSpriteTemplate_840233C:: @ 840233C + spr_template 10192, 10192, gOamData_837DFF4, gSpriteAnimTable_840231C, NULL, gSpriteAffineAnimTable_8402338, sub_812C908 + + .align 2 +gSpriteAffineAnim_8402354:: @ 8402354 + obj_rot_scal_anim_frame 0x0, 0x180, 0, 0 + obj_rot_scal_anim_frame 0x10, 0x0, 0, 20 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_840236C:: @ 840236C + obj_rot_scal_anim_frame 0x140, 0x180, 0, 0 + obj_rot_scal_anim_frame 0xFFF0, 0x0, 0, 19 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_8402384:: @ 8402384 + .4byte gSpriteAffineAnim_8402354 + .4byte gSpriteAffineAnim_840236C + + .align 2 +gBattleAnimSpriteTemplate_840238C:: @ 840238C + spr_template 10227, 10227, gOamData_837DFFC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_8402384, sub_812C990 + + .align 2 +gBattleAnimSpriteTemplate_84023A4:: @ 84023A4 + spr_template 10247, 10247, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_812CAFC + + .align 2 +gBattleAnimSpriteTemplate_84023BC:: @ 84023BC + spr_template 10247, 10247, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_812CC28 + + .align 2 +gSpriteAnim_84023D4:: @ 84023D4 + obj_image_anim_frame 0, 2 + obj_image_anim_frame 8, 2 + obj_image_anim_frame 16, 2 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnimTable_84023E4:: @ 84023E4 + .4byte gSpriteAnim_84023D4 + + .align 2 +gBattleAnimSpriteTemplate_84023E8:: @ 84023E8 + spr_template 10229, 10229, gOamData_837DF54, gSpriteAnimTable_84023E4, NULL, gDummySpriteAffineAnimTable, sub_812CCE8 + + .align 2 +gUnknown_08402400:: @ 8402400 + .incbin "baserom.gba", 0x00402400, 0x20 + + .align 2 +gSpriteAnim_8402420:: @ 8402420 + obj_image_anim_frame 0, 8 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_8402428:: @ 8402428 + .4byte gSpriteAnim_8402420 + + .align 2 +gSpriteAffineAnim_840242C:: @ 840242C + obj_rot_scal_anim_frame 0x0, 0x0, 5, 40 + obj_rot_scal_anim_frame 0x0, 0x0, 10, 10 + obj_rot_scal_anim_frame 0x0, 0x0, 15, 10 + obj_rot_scal_anim_frame 0x0, 0x0, 20, 40 + obj_rot_scal_anim_jump 0 + + .align 2 +gSpriteAffineAnimTable_8402454:: @ 8402454 + .4byte gSpriteAffineAnim_840242C + + .align 2 +gBattleAnimSpriteTemplate_8402458:: @ 8402458 + spr_template 10230, 10230, gOamData_837DFFC, gSpriteAnimTable_8402428, NULL, gSpriteAffineAnimTable_8402454, sub_812D294 + + .align 2 +gSpriteAnim_8402470:: @ 8402470 + obj_image_anim_frame 0, 3 + obj_image_anim_frame 16, 3 + obj_image_anim_frame 32, 3 + obj_image_anim_frame 48, 3 + obj_image_anim_frame 32, 3, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 16, 3, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 0, 3, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_loop 1 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_8402494:: @ 8402494 + .4byte gSpriteAnim_8402470 + + .align 2 +gBattleAnimSpriteTemplate_8402498:: @ 8402498 + spr_template 10234, 10234, gOamData_837DF34, gSpriteAnimTable_8402494, NULL, gDummySpriteAffineAnimTable, sub_80793C4 + + .align 2 +gUnknown_084024B0:: @ 84024B0 + .incbin "baserom.gba", 0x004024b0, 0x20 + + .align 2 +gBattleAnimSpriteTemplate_84024D0:: @ 84024D0 + spr_template 10226, 10226, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_812D3AC + + .align 2 +gBattleAnimSpriteTemplate_84024E8:: @ 84024E8 + spr_template 10233, 10233, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_812D4B4 + + .align 2 +gSpriteTemplate_8402500:: @ 8402500 + spr_template 10233, 10233, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_812D588 + + .align 2 +gUnknown_08402518:: @ 8402518 + .incbin "baserom.gba", 0x00402518, 0x28 + + .align 2 +gUnknown_08402540:: @ 8402540 + .incbin "baserom.gba", 0x00402540, 0x38 + + .align 2 +gBattleAnimSpriteTemplate_8402578:: @ 8402578 + spr_template 10236, 10236, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_812D724 + + .align 2 +gUnknown_08402590:: @ 8402590 + .incbin "baserom.gba", 0x00402590, 0x30 + + .align 2 +gUnknown_084025C0:: @ 84025C0 + .incbin "baserom.gba", 0x004025c0, 0x4 + + .align 2 +gSpriteAnim_84025C4:: @ 84025C4 + obj_image_anim_frame 0, 6 + obj_image_anim_frame 4, 6 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnim_84025D0:: @ 84025D0 + obj_image_anim_frame 8, 6 + obj_image_anim_end + + .align 2 +gSpriteAnim_84025D8:: @ 84025D8 + obj_image_anim_frame 12, 6 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_84025E0:: @ 84025E0 + .4byte gSpriteAnim_84025C4 + .4byte gSpriteAnim_84025D0 + .4byte gSpriteAnim_84025D8 + + .align 2 +gBattleAnimSpriteTemplate_84025EC:: @ 84025EC + spr_template 10241, 10241, gOamData_837DF2C, gSpriteAnimTable_84025E0, NULL, gDummySpriteAffineAnimTable, sub_812DEAC + + .align 2 +gUnknown_08402604:: @ 8402604 + .incbin "baserom.gba", 0x00402604, 0x4 + +gUnknown_08402608:: @ 8402608 + .incbin "baserom.gba", 0x00402608, 0x8 + +gUnknown_08402610:: @ 8402610 + .incbin "baserom.gba", 0x00402610, 0x20 + + .align 2 +gBattleAnimSpriteTemplate_8402630:: @ 8402630 + spr_template 10087, 10087, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_812E4F0 + + .align 2 +gSpriteAnim_8402648:: @ 8402648 + obj_image_anim_frame 0, 8 + obj_image_anim_frame 1, 8 + obj_image_anim_frame 2, 8 + obj_image_anim_frame 3, 8 + obj_image_anim_frame 3, 8, OBJ_IMAGE_ANIM_V_FLIP + obj_image_anim_frame 2, 8, OBJ_IMAGE_ANIM_V_FLIP + obj_image_anim_frame 0, 8, OBJ_IMAGE_ANIM_V_FLIP + obj_image_anim_frame 1, 8, OBJ_IMAGE_ANIM_V_FLIP + obj_image_anim_jump 0 + + .align 2 +gSpriteAnim_840266C:: @ 840266C + obj_image_anim_frame 0, 8, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 1, 8, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 2, 8, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 3, 8, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 3, 8, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 2, 8, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 0, 8, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 1, 8, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_jump 0 + + .align 2 +gSpriteAnim_8402690:: @ 8402690 + obj_image_anim_frame 0, 8 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_8402698:: @ 8402698 + .4byte gSpriteAnim_8402648 + .4byte gSpriteAnim_840266C + .4byte gSpriteAnim_8402690 + + .align 2 +gBattleAnimSpriteTemplate_84026A4:: @ 84026A4 + spr_template 10238, 10238, gOamData_837DF24, gSpriteAnimTable_8402698, NULL, gDummySpriteAffineAnimTable, sub_812E7A0 + + .align 2 + .incbin "baserom.gba", 0x004026bc, 0x20 + + .align 2 +gSpriteAnim_84026DC:: @ 84026DC + obj_image_anim_frame 0, 5 + obj_image_anim_frame 4, 9 + obj_image_anim_frame 8, 5 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_84026EC:: @ 84026EC + .4byte gSpriteAnim_84026DC + + .align 2 +gBattleAnimSpriteTemplate_84026F0:: @ 84026F0 + spr_template 10239, 10239, gOamData_837DF2C, gSpriteAnimTable_84026EC, NULL, gDummySpriteAffineAnimTable, sub_812EA4C + + .align 2 +gBattleAnimSpriteTemplate_8402708:: @ 8402708 + spr_template 10240, 10240, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_812EC78 + + .align 2 +gBattleAnimSpriteTemplate_8402720:: @ 8402720 + spr_template 10227, 10227, gOamData_837DFFC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_8402384, sub_812ED84 + + .align 2 +gBattleAnimSpriteTemplate_8402738:: @ 8402738 + spr_template 10236, 10236, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_812EEA4 + + .align 2 +gUnknown_08402750:: @ 8402750 + .incbin "baserom.gba", 0x00402750, 0x30 + + .align 2 +gSpriteAffineAnim_8402780:: @ 8402780 + obj_rot_scal_anim_frame 0x80, 0x80, 0, 0 + obj_rot_scal_anim_frame 0xFFF8, 0xFFF8, 0, 8 + obj_rot_scal_anim_frame 0x8, 0x8, 0, 8 + obj_rot_scal_anim_jump 0 + + .align 2 +gSpriteAffineAnim_84027A0:: @ 84027A0 + obj_rot_scal_anim_frame 0xC0, 0xC0, 0, 0 + obj_rot_scal_anim_frame 0x8, 0x8, 0, 8 + obj_rot_scal_anim_frame 0xFFF8, 0xFFF8, 0, 8 + obj_rot_scal_anim_jump 0 + + .align 2 +gSpriteAffineAnim_84027C0:: @ 84027C0 + obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 + obj_rot_scal_anim_frame 0x8, 0x8, 0, 8 + obj_rot_scal_anim_frame 0xFFF8, 0xFFF8, 0, 8 + obj_rot_scal_anim_jump 0 + + .align 2 +gSpriteAffineAnimTable_84027E0:: @ 84027E0 + .4byte gSpriteAffineAnim_8402780 + .4byte gSpriteAffineAnim_84027A0 + .4byte gSpriteAffineAnim_84027C0 + + .align 2 +gBattleAnimSpriteTemplate_84027EC:: @ 84027EC + spr_template 10242, 10242, gOamData_837DF94, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_84027E0, sub_812F88C + + .align 2 +gSpriteAffineAnim_8402804:: @ 8402804 + obj_rot_scal_anim_frame 0x80, 0x80, 0, 0 + obj_rot_scal_anim_frame 0xFFFC, 0xFFFA, 0, 16 + obj_rot_scal_anim_frame 0x4, 0x6, 0, 16 + obj_rot_scal_anim_jump 0 + + .align 2 +gSpriteAffineAnim_8402824:: @ 8402824 + obj_rot_scal_anim_frame 0xC0, 0xC0, 0, 0 + obj_rot_scal_anim_frame 0x4, 0x6, 0, 16 + obj_rot_scal_anim_frame 0xFFFC, 0xFFFA, 0, 16 + obj_rot_scal_anim_jump 0 + + .align 2 +gSpriteAffineAnim_8402844:: @ 8402844 + obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 + obj_rot_scal_anim_frame 0x4, 0x6, 0, 16 + obj_rot_scal_anim_frame 0xFFFC, 0xFFFA, 0, 16 + obj_rot_scal_anim_jump 0 + + .align 2 +gSpriteAffineAnim_8402864:: @ 8402864 + obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 + obj_rot_scal_anim_frame 0x8, 0xA, 0, 30 + obj_rot_scal_anim_frame 0xFFF8, 0xFFF6, 0, 16 + obj_rot_scal_anim_jump 0 + + .align 2 +gSpriteAffineAnimTable_8402884:: @ 8402884 + .4byte gSpriteAffineAnim_8402804 + .4byte gSpriteAffineAnim_8402824 + .4byte gSpriteAffineAnim_8402844 + .4byte gSpriteAffineAnim_8402864 + + .align 2 +gBattleAnimSpriteTemplate_8402894:: @ 8402894 + spr_template 10242, 10242, gOamData_837DFF4, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_8402884, sub_812F948 + + .align 2 +gUnknown_084028AC:: @ 84028AC + .incbin "baserom.gba", 0x004028ac, 0x20 + + .align 2 +gSpriteTemplate_84028CC:: @ 84028CC + spr_template 10243, 10243, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_812FF94 + +gUnknown_084028E4:: @ 84028E4 + .incbin "baserom.gba", 0x004028e4, 0x30 + + .align 2 +gSpriteAnim_8402914:: @ 8402914 + obj_image_anim_frame 0, 3 + obj_image_anim_frame 16, 3 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnim_8402920:: @ 8402920 + obj_image_anim_frame 32, 3 + obj_image_anim_frame 48, 3 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnimTable_840292C:: @ 840292C + .4byte gSpriteAnim_8402914 + .4byte gSpriteAnim_8402920 + + .align 2 +gBattleAnimSpriteTemplate_8402934:: @ 8402934 + spr_template 10053, 10053, gOamData_837DF34, gSpriteAnimTable_840292C, NULL, gDummySpriteAffineAnimTable, sub_81300F4 + + .align 2 +gSpriteTemplate_840294C:: @ 840294C + spr_template 10248, 10248, gOamData_837DF24, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_81304DC + + .align 2 +gBattleAnimSpriteTemplate_8402964:: @ 8402964 + spr_template 10252, 10252, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_813051C + + .align 2 +gSpriteAffineAnim_840297C:: @ 840297C + obj_rot_scal_anim_frame 0x0, 0x0, -4, 24 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_840298C:: @ 840298C + obj_rot_scal_anim_frame 0x100, 0x100, -64, 0 + obj_rot_scal_anim_frame 0x0, 0x0, 4, 24 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_84029A4:: @ 84029A4 + .4byte gSpriteAffineAnim_840297C + .4byte gSpriteAffineAnim_840298C + + .align 2 +gSpriteTemplate_84029AC:: @ 84029AC + spr_template 10254, 10254, gOamData_837DF94, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_84029A4, SpriteCallbackDummy + + .align 2 +gBattleAnimSpriteTemplate_84029C4:: @ 84029C4 + spr_template 10247, 10247, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_81307B0 + + .align 2 +gUnknown_084029DC:: @ 84029DC + .incbin "baserom.gba", 0x004029dc, 0x18 + + .align 2 +gBattleAnimSpriteTemplate_84029F4:: @ 84029F4 + spr_template 10255, 10255, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8130A2C + + .align 2 +gBattleAnimSpriteTemplate_8402A0C:: @ 8402A0C + spr_template 10247, 10247, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8130AEC + + .align 2 +gBattleAnimSpriteTemplate_8402A24:: @ 8402A24 + spr_template 10258, 10258, gOamData_837E054, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8130F5C + + .align 2 +gBattleAnimSpriteTemplate_8402A3C:: @ 8402A3C + spr_template 10233, 10233, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8131264 + + .align 2 +gSpriteTemplate_8402A54:: @ 8402A54 + spr_template 10233, 10233, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_80D1FDC + + .align 2 +gBattleAnimSpriteTemplate_8402A6C:: @ 8402A6C + spr_template 10250, 10250, gOamData_837DF3C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8131564 + + .align 2 +gSpriteTemplate_8402A84:: @ 8402A84 + spr_template 10224, 10224, gOamData_837DF34, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8131EB8 + + .align 2 +gSpriteAnim_8402A9C:: @ 8402A9C + obj_image_anim_frame 0, 4 + obj_image_anim_frame 64, 4 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_8402AA8:: @ 8402AA8 + .4byte gSpriteAnim_8402A9C + + .align 2 +gSpriteAffineAnim_8402AAC:: @ 8402AAC + obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 + obj_rot_scal_anim_frame 0x0, 0x0, -4, 8 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_8402AC4:: @ 8402AC4 + obj_rot_scal_anim_frame 0xFF00, 0x100, 0, 0 + obj_rot_scal_anim_frame 0x0, 0x0, 4, 8 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_8402ADC:: @ 8402ADC + .4byte gSpriteAffineAnim_8402AAC + .4byte gSpriteAffineAnim_8402AC4 + + .align 2 +gBattleAnimSpriteTemplate_8402AE4:: @ 8402AE4 + spr_template 10277, 10277, gOamData_837DF9C, gSpriteAnimTable_8402AA8, NULL, gSpriteAffineAnimTable_8402ADC, sub_8132370 + + .align 2 +gSpriteAffineAnim_8402AFC:: @ 8402AFC + obj_rot_scal_anim_frame 0x0, 0x0, -4, 64 + obj_rot_scal_anim_jump 0 + + .align 2 +gSpriteAffineAnimTable_8402B0C:: @ 8402B0C + .4byte gSpriteAffineAnim_8402AFC + + .align 2 +gBattleAnimSpriteTemplate_8402B10:: @ 8402B10 + spr_template 10278, 10278, gOamData_837E0BC, gDummySpriteAnimTable, NULL, gSpriteAffineAnimTable_8402B0C, sub_81323E0 + + .align 2 +gUnknown_08402B28:: @ 8402B28 + .incbin "baserom.gba", 0x00402b28, 0x30 + + .align 2 +gDexArrows_Pal:: + .incbin "graphics/pokedex/arrows.gbapal" + + .align 2 +gDexArrows_Gfx:: + .incbin "graphics/pokedex/arrows.4bpp" + + .incbin "baserom.gba", 0x00402c78, 0x80 + +gUnknown_08402CF8:: @ 8402CF8 + .incbin "baserom.gba", 0x00402cf8, 0x10 + +gUnknown_08402D08:: @ 8402D08 + .4byte OtherText_Battle + .byte 1, 1, 0, 0 + .4byte OtherText_Power + .byte 1, 4, 1, 0 + .4byte OtherText_Accuracy + .byte 1, 9, 2, 0 + .space 8 + + .4byte OtherText_Contest + .byte 1, 1, 0, 0 + .4byte OtherText_Appeal + .byte 1, 4, 1, 0 + .4byte OtherText_Jam + .byte 1, 9, 2, 0 + .space 8 + + .incbin "baserom.gba", 0x402d48, 0x8 + + .align 2 +gOamData_8402D50:: @ 8402D50 + .2byte 0x0000 + .2byte 0x0000 + .2byte 0x0000 + + .align 2 +gOamData_8402D58:: @ 8402D58 + .2byte 0x8000 + .2byte 0x0000 + .2byte 0x0000 + + .align 2 +gOamData_8402D60:: @ 8402D60 + .2byte 0x4000 + .2byte 0x0000 + .2byte 0x0000 + + .align 2 +gSpriteAnim_8402D68:: @ 8402D68 + obj_image_anim_frame 2, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_8402D70:: @ 8402D70 + obj_image_anim_frame 0, 5 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_8402D78:: @ 8402D78 + .4byte gSpriteAnim_8402D68 + .4byte gSpriteAnim_8402D70 + + .align 2 +gUnknown_08402D80:: @ 8402D80 + obj_tiles gDexArrows_Gfx, 384, 0x1595 + + .align 2 +gUnknown_08402D88:: @ 8402D88 + obj_pal gDexArrows_Pal, 0x1596 + + .align 2 +gSpriteTemplate_8402D90:: @ 8402D90 + spr_template 5525, 5526, gOamData_8402D58, gSpriteAnimTable_8402D78, NULL, gDummySpriteAffineAnimTable, sub_8133300 + + .align 2 +gSpriteAnim_8402DA8:: @ 8402DA8 + obj_image_anim_frame 4, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_8402DB0:: @ 8402DB0 + obj_image_anim_frame 6, 5 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_8402DB8:: @ 8402DB8 + .4byte gSpriteAnim_8402DA8 + .4byte gSpriteAnim_8402DB0 + + .align 2 +gSpriteTemplate_8402DC0:: @ 8402DC0 + spr_template 5525, 5526, gOamData_8402D60, gSpriteAnimTable_8402DB8, NULL, gDummySpriteAffineAnimTable, sub_8133300 + + .align 2 +gSpriteAnim_8402DD8:: @ 8402DD8 + obj_image_anim_frame 8, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_8402DE0:: @ 8402DE0 + obj_image_anim_frame 9, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_8402DE8:: @ 8402DE8 + obj_image_anim_frame 10, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_8402DF0:: @ 8402DF0 + obj_image_anim_frame 11, 5 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_8402DF8:: @ 8402DF8 + .4byte gSpriteAnim_8402DD8 + .4byte gSpriteAnim_8402DE0 + .4byte gSpriteAnim_8402DE8 + .4byte gSpriteAnim_8402DF0 + + .align 2 +gSpriteTemplate_8402E08:: @ 8402E08 + spr_template 5525, 5526, gOamData_8402D50, gSpriteAnimTable_8402DF8, NULL, gDummySpriteAffineAnimTable, sub_8133300 + + .align 2 + .incbin "baserom.gba", 0x00402e20, 0x4 + +gUnknown_08402E24:: @ 8402E24 + .incbin "baserom.gba", 0x00402e24, 0x15 + +gUnknown_08402E39:: @ 8402E39 + .byte 0, 1, 2, 3 + +gUnknown_08402E3D:: @ 8402E3D + .byte 4, 5, 6 + +@ pointer to decorations, capacity + .align 2 +gDecorationInventories:: @ 8402E40 + .4byte gSaveBlock1 + 0x26A0, 10 @ DESK + .4byte gSaveBlock1 + 0x26AA, 10 @ CHAIR + .4byte gSaveBlock1 + 0x26B4, 10 @ PLANT + .4byte gSaveBlock1 + 0x26BE, 30 @ ORNAMENT + .4byte gSaveBlock1 + 0x26DC, 30 @ MAT + .4byte gSaveBlock1 + 0x26FA, 10 @ POSTER + .4byte gSaveBlock1 + 0x2704, 40 @ DOLL + .4byte gSaveBlock1 + 0x272C, 10 @ CUSHION + +gRoamerLocations:: @ 8402E80 + .byte 0x19,0x1A,0x20,0x21,0x31,0xFF + .byte 0x1A,0x19,0x20,0x21,0xFF,0xFF + .byte 0x20,0x1A,0x19,0x21,0xFF,0xFF + .byte 0x21,0x20,0x19,0x1A,0x22,0x26 + .byte 0x22,0x21,0x23,0xFF,0xFF,0xFF + .byte 0x23,0x22,0x24,0xFF,0xFF,0xFF + .byte 0x24,0x23,0x25,0x26,0xFF,0xFF + .byte 0x25,0x24,0x26,0xFF,0xFF,0xFF + .byte 0x26,0x25,0x21,0xFF,0xFF,0xFF + .byte 0x27,0x24,0x28,0x29,0xFF,0xFF + .byte 0x28,0x27,0x2A,0xFF,0xFF,0xFF + .byte 0x29,0x27,0x2A,0xFF,0xFF,0xFF + .byte 0x2A,0x28,0x29,0x2B,0xFF,0xFF + .byte 0x2B,0x2A,0x2C,0xFF,0xFF,0xFF + .byte 0x2C,0x2B,0x2D,0xFF,0xFF,0xFF + .byte 0x2D,0x2C,0x2E,0xFF,0xFF,0xFF + .byte 0x2E,0x2D,0x2F,0xFF,0xFF,0xFF + .byte 0x2F,0x2E,0x30,0xFF,0xFF,0xFF + .byte 0x30,0x2F,0x31,0xFF,0xFF,0xFF + .byte 0x31,0x30,0x19,0xFF,0xFF,0xFF + .byte 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF + +@ 8402F00 + .include "data/battle_tower/trainers.inc" + +@ 8403860 + .include "data/battle_tower/held_items.inc" + +@ 84038E0 + .include "data/battle_tower/level_50_mons.inc" + +@ 8404BA0 + .include "data/battle_tower/level_100_mons.inc" + +gUnknown_08405E60:: @ 8405E60 + .incbin "baserom.gba", 0x00405e60, 0x1e + +gUnknown_08405E7E:: @ 8405E7E + .incbin "baserom.gba", 0x00405e7e, 0x14 + +gUnknown_08405E92:: @ 8405E92 + .incbin "baserom.gba", 0x00405e92, 0x1e + +gUnknown_08405EB0:: @ 8405EB0 + .incbin "baserom.gba", 0x00405eb0, 0x14 + + .align 1 +gBattleTowerBanlist:: @ 8405EC4 + .2byte SPECIES_MEW + .2byte SPECIES_MEWTWO + .2byte SPECIES_HO_OH + .2byte SPECIES_LUGIA + .2byte SPECIES_CELEBI + .2byte SPECIES_KYOGRE + .2byte SPECIES_GROUDON + .2byte SPECIES_RAYQUAZA + .2byte SPECIES_JIRACHI + .2byte SPECIES_DEOXYS + .2byte -1 + +gUnknown_08405EDA:: @ 8405EDA + .incbin "baserom.gba", 0x00405eda, 0xc + +gUnknown_08405EE6:: @ 8405EE6 + .incbin "baserom.gba", 0x00405ee6, 0x12 + + .align 2 +ConditionUpDownPalette: + .incbin "graphics/misc/condition_up_down.gbapal" + + .align 2 +ConditionUpDownTiles: + .incbin "graphics/misc/condition_up_down.4bpp" + +gUnknown_08406118:: @ 8406118 + .incbin "baserom.gba", 0x00406118, 0x14 + + .align 2 +gUnknown_0840612C:: @ 840612C + obj_pal 0x02030400, 0x0001 + + .align 2 +gUnknown_08406134:: @ 8406134 + .4byte OtherText_Coolness + .4byte OtherText_Toughness + .4byte OtherText_Smartness + .4byte OtherText_Cuteness + .4byte OtherText_Beauty + + .align 2 +gSpriteSheet_ConditionUpDown:: @ 8406148 + obj_tiles ConditionUpDownTiles, 0x200, 0 + + .align 2 +gSpritePalette_ConditionUpDown:: @ 8406150 + obj_pal ConditionUpDownPalette, 0 + +gUnknown_08406158:: @ 8406158 + .incbin "baserom.gba", 0x00406158, 0x14 + + .align 2 +gOamData_840616C:: @ 840616C + .2byte 0x4000 + .2byte 0x8000 + .2byte 0x0400 + + .align 2 +gSpriteAnim_8406174:: @ 8406174 + obj_image_anim_frame 0, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_840617C:: @ 840617C + obj_image_anim_frame 8, 5 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_8406184:: @ 8406184 + .4byte gSpriteAnim_8406174 + .4byte gSpriteAnim_840617C + + .align 2 +gSpriteTemplate_840618C:: @ 840618C + spr_template 0, 0, gOamData_840616C, gSpriteAnimTable_8406184, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gUnknown_084061A4:: @ 84061A4 + .4byte dp01t_00_5_getattr + .4byte sub_8138230 + .4byte sub_813823C + .4byte sub_8138C90 + .4byte sub_8138C9C + .4byte sub_8138CA8 + .4byte sub_8138CB4 + .4byte sub_8138D38 + .4byte sub_8138E04 + .4byte sub_8138ED0 + .4byte sub_8138EDC + .4byte sub_8138EE8 + .4byte sub_8138EF4 + .4byte sub_8138F44 + .4byte sub_8138FA0 + .4byte sub_8138FAC + .4byte sub_8139208 + .4byte dp01t_11_5_message_for_player_only + .4byte sub_8139298 + .4byte sub_8139378 + .4byte sub_8139384 + .4byte sub_81393EC + .4byte sub_813942C + .4byte sub_8139438 + .4byte sub_8139444 + .4byte sub_8139544 + .4byte sub_8139550 + .4byte sub_813955C + .4byte sub_8139568 + .4byte sub_8139574 + .4byte sub_8139580 + .4byte sub_813958C + .4byte sub_8139598 + .4byte sub_81395A4 + .4byte sub_81395B0 + .4byte sub_81395BC + .4byte sub_81395C8 + .4byte sub_81395D4 + .4byte sub_81395E0 + .4byte sub_81395EC + .4byte sub_81395F8 + .4byte sub_8139604 + .4byte sub_8139674 + .4byte sub_8139680 + .4byte sub_81396B0 + .4byte sub_81396E0 + .4byte dp01t_2E_5_battle_intro + .4byte sub_8139750 + .4byte sub_8139AA0 + .4byte sub_8139B20 + .4byte sub_8139B2C + .4byte sub_8139B38 + .4byte sub_8139B44 + .4byte sub_8139BA0 + .4byte sub_8139BAC + .4byte sub_8139BB8 + .4byte nullsub_80 + + .align 2 +gUnknown_08406288:: @ 8406288 + .4byte PCText_TakeOutItems + .4byte PCText_StoreItems + .4byte PCText_ThrowAwayItems + .4byte gMenuText_GoBackToPrev + + .align 2 +gUnknown_08406298:: @ 8406298 + .4byte SecretBaseText_ItemStorage, PlayerPC_ItemStorage + .4byte gPCText_Mailbox, PlayerPC_Mailbox + .4byte SecretBaseText_Decoration, PlayerPC_Decoration + .4byte SecretBaseText_TurnOff, PlayerPC_TurnOff + +gUnknown_084062B8:: @ 84062B8 + .incbin "baserom.gba", 0x004062b8, 0x4 + +gUnknown_084062BC:: @ 84062BC + .incbin "baserom.gba", 0x004062bc, 0x4 + + .align 2 +gUnknown_084062C0:: @ 84062C0 + .4byte PCText_WithdrawItem, ItemStorage_Withdraw + .4byte PCText_DepositItem, ItemStorage_Deposit + .4byte PCText_TossItem, ItemStorage_Toss + .4byte gUnknownText_Exit, ItemStorage_Exit + + .align 2 +gUnknown_084062E0:: @ 84062E0 + .4byte sub_813A83C + .4byte sub_813A878 + + .align 2 +gUnknown_084062E8:: @ 84062E8 + .4byte sub_813B578 + .4byte sub_813B610 + + .align 2 +gNewGamePCItems:: @ 84062F0 + .2byte ITEM_POTION, 1 + .2byte 0, 0 + + .align 2 +gUnknown_084062F8:: @ 84062F8 + .4byte OtherText_Read, Mailbox_Read + .4byte gOtherText_MoveToBag, Mailbox_MoveToBag + .4byte OtherText_Give, Mailbox_Give + .4byte gOtherText_CancelNoTerminator, Mailbox_Cancel + +gUnknown_08406318:: @ 8406318 + .string "{STR_VAR_1}{CLEAR_TO 80}$" + +gUnknown_0840631E:: @ 840631E + .string "{COLOR RED}{STR_VAR_1}{CLEAR_TO 80}$" + +gUnknown_08406327:: @ 8406327 + .string "{STR_VAR_1}$" + +gUnknown_0840632A:: @ 840632A + .string "{COLOR RED}{STR_VAR_1}$" + +gUnknown_08406330:: @ 8406330 + .string "{CLEAR_TO 32}$" + +gUnknown_08406334:: @ 8406334 + .incbin "baserom.gba", 0x00406334, 0x6 + +gUnknown_0840633A:: @ 840633A + .string "{COLOR RED}{STR_VAR_1}$" + + .align 2 +Palette_406340:: @ 8406340 + .incbin "baserom.gba", 0x406340, 0x20 + + .align 2 +Palette_406360:: @ 8406360 + .incbin "baserom.gba", 0x406360, 0x20 + + .align 2 +gIntroTiles:: + .incbin "graphics/intro/intro.4bpp.lz" + + .align 2 +gUnknown_08406974:: @ 8406974 + .incbin "graphics/intro/intro1_bgpal1.gbapal" + .incbin "graphics/intro/intro1_bgpal2.gbapal" + .incbin "graphics/intro/intro1_bgpal3.gbapal" + .incbin "graphics/intro/intro1_bgpal4.gbapal" + .incbin "graphics/intro/intro1_bgpal5.gbapal" + .incbin "graphics/intro/intro1_bgpal6.gbapal" + .incbin "graphics/intro/intro1_bgpal7.gbapal" + .incbin "graphics/intro/intro1_bgpal8.gbapal" + .incbin "graphics/intro/intro1_bgpal9.gbapal" + .incbin "graphics/intro/intro1_bgpal10.gbapal" + .incbin "graphics/intro/intro1_bgpal11.gbapal" + .incbin "graphics/intro/intro1_bgpal12.gbapal" + .incbin "graphics/intro/intro1_bgpal13.gbapal" + .incbin "graphics/intro/intro1_bgpal14.gbapal" + .incbin "graphics/intro/intro1_bgpal15.gbapal" + .incbin "graphics/intro/intro1_bgpal16.gbapal" + + .align 2 +gUnknown_08406B74:: @ 8406B74 + .incbin "graphics/intro/intro1_bg0_map.bin.lz" + + .align 2 +gUnknown_08406F28:: @ 8406F28 + .incbin "graphics/intro/intro1_bg1_map.bin.lz" + + .align 2 +gUnknown_0840725C:: @ 840725C + .incbin "graphics/intro/intro1_bg2_map.bin.lz" + + .align 2 +gUnknown_0840754C:: @ 840754C + .incbin "graphics/intro/intro1_bg3_map.bin.lz" + + .align 2 +gUnknown_08407764:: @ 8407764 + .incbin "graphics/intro/introgfx.4bpp.lz" + + .align 2 +gUnknown_084098D4:: @ 84098D4 + .incbin "graphics/intro/intro3_pokeball.gbapal" + + .align 2 +gUnknown_08409AD4:: @ 8409AD4 + .incbin "graphics/intro/intro3_pokeball_map.bin.lz" + + .align 2 +gUnknown_08409C04:: @ 8409C04 + .incbin "graphics/intro/intro3_pokeball.8bpp.lz" + + .align 2 +gUnknown_0840A758:: @ 840A758 + .incbin "graphics/intro/intro3_streaks.gbapal" + + .align 2 +gUnknown_0840A778:: @ 840A778 + .incbin "graphics/intro/intro3_streaks.4bpp.lz" + + .align 2 +gUnknown_0840A7E4:: @ 840A7E4 + .incbin "graphics/intro/intro3_streaks_map.bin.lz" + + .align 2 +gIntro3Misc1Palette:: + .incbin "graphics/intro/intro3_misc1.gbapal" + + .align 2 +gIntro3Misc2Palette:: + .incbin "graphics/intro/intro3_misc2.gbapal" + + .align 2 +gIntro3MiscTiles:: + .incbin "graphics/intro/intro3_misc.4bpp.lz" + + .align 2 +gIntro1EonPalette:: + .incbin "graphics/intro/intro1_eon.gbapal" + + .align 2 +gIntro1EonTiles:: + .incbin "graphics/intro/intro1_eon.4bpp.lz" + + .align 2 +gOamData_840ADE8:: @ 840ADE8 + .2byte 0x00A0 + .2byte 0x8000 + .2byte 0x0000 + + .align 2 +gSpriteAnim_840ADF0:: @ 840ADF0 + obj_image_anim_frame 16, 8 + obj_image_anim_end + + .align 2 +gSpriteAnim_840ADF8:: @ 840ADF8 + obj_image_anim_frame 24, 8 + obj_image_anim_end + + .align 2 +gSpriteAnim_840AE00:: @ 840AE00 + obj_image_anim_frame 0, 8 + obj_image_anim_end + + .align 2 +gSpriteAnim_840AE08:: @ 840AE08 + obj_image_anim_frame 48, 8 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_840AE10:: @ 840AE10 + .4byte gSpriteAnim_840ADF0 + .4byte gSpriteAnim_840ADF8 + .4byte gSpriteAnim_840AE00 + .4byte gSpriteAnim_840AE08 + + .align 2 +gSpriteTemplate_840AE20:: @ 840AE20 + spr_template 2000, 2000, gOamData_840ADE8, gSpriteAnimTable_840AE10, NULL, gDummySpriteAffineAnimTable, sub_813D208 + + .align 2 +Unknown_40AE38: @ 840AE38 + .incbin "baserom.gba", 0x40ae38, 0x14 + + .align 2 +Unknown_40AE4C: @ 840AE4C + .incbin "baserom.gba", 0x40ae4c, 0x14 + + .align 2 +Unknown_40AE60: @ 840AE60 + .incbin "baserom.gba", 0x40ae60, 0x10 + + .align 2 +Unknown_40AE70: @ 840AE70 + .incbin "baserom.gba", 0x40ae70, 0x10 + + .align 2 +gUnknown_0840AE80:: @ 840AE80 + .4byte Unknown_40AE38 + .4byte Unknown_40AE4C + .4byte Unknown_40AE60 + .4byte Unknown_40AE70 + + .align 2 +gOamData_840AE90:: @ 840AE90 + .2byte 0x00A0 + .2byte 0x4000 + .2byte 0x0000 + + .align 2 +gOamData_840AE98:: @ 840AE98 + .2byte 0x00A0 + .2byte 0x0000 + .2byte 0x0000 + + .align 2 +gOamData_840AEA0:: @ 840AEA0 + .2byte 0x80A0 + .2byte 0xC000 + .2byte 0x0000 + + .align 2 +gSpriteAnim_840AEA8:: @ 840AEA8 + obj_image_anim_frame 80, 8 + obj_image_anim_end + + .align 2 +gSpriteAnim_840AEB0:: @ 840AEB0 + obj_image_anim_frame 84, 8 + obj_image_anim_end + + .align 2 +gSpriteAnim_840AEB8:: @ 840AEB8 + obj_image_anim_frame 88, 8 + obj_image_anim_end + + .align 2 +gSpriteAnim_840AEC0:: @ 840AEC0 + obj_image_anim_frame 92, 8 + obj_image_anim_end + + .align 2 +gSpriteAnim_840AEC8:: @ 840AEC8 + obj_image_anim_frame 96, 8 + obj_image_anim_end + + .align 2 +gSpriteAnim_840AED0:: @ 840AED0 + obj_image_anim_frame 100, 8 + obj_image_anim_end + + .align 2 +gSpriteAnim_840AED8:: @ 840AED8 + obj_image_anim_frame 104, 8 + obj_image_anim_end + + .align 2 +gSpriteAnim_840AEE0:: @ 840AEE0 + obj_image_anim_frame 112, 8 + obj_image_anim_end + + .align 2 +gSpriteAnim_840AEE8:: @ 840AEE8 + obj_image_anim_frame 113, 8 + obj_image_anim_end + + .align 2 +gSpriteAnim_840AEF0:: @ 840AEF0 + obj_image_anim_frame 114, 8 + obj_image_anim_end + + .align 2 +gSpriteAnim_840AEF8:: @ 840AEF8 + obj_image_anim_frame 115, 8 + obj_image_anim_end + + .align 2 +gSpriteAnim_840AF00:: @ 840AF00 + obj_image_anim_frame 116, 8 + obj_image_anim_end + + .align 2 +gSpriteAnim_840AF08:: @ 840AF08 + obj_image_anim_frame 117, 8 + obj_image_anim_end + + .align 2 +gSpriteAnim_840AF10:: @ 840AF10 + obj_image_anim_frame 128, 8 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_840AF18:: @ 840AF18 + .4byte gSpriteAnim_840AEA8 + .4byte gSpriteAnim_840AEB0 + .4byte gSpriteAnim_840AEB8 + .4byte gSpriteAnim_840AEC0 + .4byte gSpriteAnim_840AEC8 + .4byte gSpriteAnim_840AED0 + .4byte gSpriteAnim_840AED8 + + .align 2 +gSpriteAnimTable_840AF34:: @ 840AF34 + .4byte gSpriteAnim_840AEE0 + .4byte gSpriteAnim_840AEE8 + .4byte gSpriteAnim_840AEF0 + .4byte gSpriteAnim_840AEF8 + .4byte gSpriteAnim_840AF00 + .4byte gSpriteAnim_840AF08 + + .align 2 +gSpriteAnimTable_840AF4C:: @ 840AF4C + .4byte gSpriteAnim_840AF10 + +gUnknown_0840AF50:: @ 840AF50 + .incbin "baserom.gba", 0x0040af50, 0x24 + +gUnknown_0840AF74:: @ 840AF74 + .incbin "baserom.gba", 0x0040af74, 0x20 + + .align 2 +gSpriteTemplate_840AF94:: @ 840AF94 + spr_template 2000, 2001, gOamData_840AE90, gSpriteAnimTable_840AF18, NULL, gDummySpriteAffineAnimTable, sub_813D908 + + .align 2 +gSpriteTemplate_840AFAC:: @ 840AFAC + spr_template 2000, 2001, gOamData_840AE98, gSpriteAnimTable_840AF34, NULL, gDummySpriteAffineAnimTable, sub_813D908 + + .align 2 +gSpriteTemplate_840AFC4:: @ 840AFC4 + spr_template 2000, 2001, gOamData_840AEA0, gSpriteAnimTable_840AF4C, NULL, gDummySpriteAffineAnimTable, sub_813D908 + + .align 2 +gOamData_840AFDC:: @ 840AFDC + .2byte 0x40A0 + .2byte 0xC000 + .2byte 0x0000 + + .align 2 +gSpriteAnim_840AFE4:: @ 840AFE4 + obj_image_anim_frame 0, 10 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnimTable_840AFEC:: @ 840AFEC + .4byte gSpriteAnim_840AFE4 + + .align 2 +gSpriteTemplate_840AFF0:: @ 840AFF0 + spr_template 2002, 2002, gOamData_840AFDC, gSpriteAnimTable_840AFEC, NULL, gDummySpriteAffineAnimTable, sub_813DA64 + + .align 2 +gUnknown_0840B008:: @ 840B008 + obj_tiles gIntroTiles, 0x1400, 2000 + .space 8 + + .align 2 +gUnknown_0840B018:: @ 840B018 + obj_tiles gIntro1EonTiles, 0x400, 2002 + .space 8 + + .align 2 +gUnknown_0840B028:: @ 840B028 + obj_pal Palette_406340, 2000 + obj_pal Palette_406360, 2001 + obj_pal gIntro1EonPalette, 2002 + .space 8 + +gUnknown_0840B048:: @ 840B048 + .incbin "baserom.gba", 0x40b048, 0x8 + +gUnknown_0840B050:: @ 840B050 + .incbin "baserom.gba", 0x40b050, 0x8 + +gUnknown_0840B058:: @ 840B058 + .incbin "baserom.gba", 0x40b058, 0xc + + .align 2 +gUnknown_0840B064:: @ 840B064 + .4byte gUnknown_0840B048 + .4byte gUnknown_0840B050 + .4byte gUnknown_0840B058 + + .align 2 +gOamData_840B070:: @ 840B070 + .2byte 0x00A0 + .2byte 0x4000 + .2byte 0x0400 + + .align 2 +gSpriteAnim_840B078:: @ 840B078 + obj_image_anim_frame 0, 8 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_840B080:: @ 840B080 + .4byte gSpriteAnim_840B078 + + .align 2 +gSpriteTemplate_840B084:: @ 840B084 + spr_template 2002, 2002, gOamData_840B070, gSpriteAnimTable_840B080, NULL, gDummySpriteAffineAnimTable, sub_813E30C + + .align 2 +gOamData_840B09C:: @ 840B09C + .2byte 0x00A0 + .2byte 0x0000 + .2byte 0x0400 + + .align 2 +gSpriteAnim_840B0A4:: @ 840B0A4 + obj_image_anim_frame 1, 8 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_840B0AC:: @ 840B0AC + .4byte gSpriteAnim_840B0A4 + + .align 2 +gSpriteTemplate_840B0B0:: @ 840B0B0 + spr_template 2003, 2003, gOamData_840B09C, gSpriteAnimTable_840B0AC, NULL, gDummySpriteAffineAnimTable, sub_813E4B8 + + .align 2 +gOamData_840B0C8:: @ 840B0C8 + .2byte 0x00A0 + .2byte 0x0000 + .2byte 0x0400 + + .align 2 +gSpriteAnim_840B0D0:: @ 840B0D0 + obj_image_anim_frame 14, 8 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_840B0D8:: @ 840B0D8 + .4byte gSpriteAnim_840B0D0 + + .align 2 +gSpriteTemplate_840B0DC:: @ 840B0DC + spr_template 2003, 2004, gOamData_840B0C8, gSpriteAnimTable_840B0D8, NULL, gDummySpriteAffineAnimTable, sub_813E5E0 + + .align 2 +gSpriteTemplate_840B0F4:: @ 840B0F4 + spr_template 2003, 2004, gOamData_840B0C8, gSpriteAnimTable_840B0D8, NULL, gDummySpriteAffineAnimTable, sub_813E6C0 + + .align 2 +gOamData_840B10C:: @ 840B10C + .2byte 0x00A0 + .2byte 0x4000 + .2byte 0x0400 + + .align 2 +gSpriteAnim_840B114:: @ 840B114 + obj_image_anim_frame 6, 8 + obj_image_anim_frame 6, 8, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_jump 0 + + .align 2 +gSpriteAnimTable_840B120:: @ 840B120 + .4byte gSpriteAnim_840B114 + + .align 2 +gSpriteTemplate_840B124:: @ 840B124 + spr_template 2003, 2004, gOamData_840B10C, gSpriteAnimTable_840B120, NULL, gDummySpriteAffineAnimTable, sub_813E804 + + .align 2 +gOamData_840B13C:: @ 840B13C + .2byte 0x00A0 + .2byte 0x4000 + .2byte 0x0400 + + .align 2 +gSpriteAnim_840B144:: @ 840B144 + obj_image_anim_frame 10, 8 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_840B14C:: @ 840B14C + .4byte gSpriteAnim_840B144 + + .align 2 +gSpriteTemplate_840B150:: @ 840B150 + spr_template 2003, 2004, gOamData_840B13C, gSpriteAnimTable_840B14C, NULL, gDummySpriteAffineAnimTable, GetCurrentTrainerHillMapId + +gUnknown_0840B168:: @ 840B168 + .incbin "baserom.gba", 0x0040b168, 0x8 + + .align 2 +gSpriteTemplate_840B170:: @ 840B170 + spr_template 2003, 2004, gOamData_840B13C, gSpriteAnimTable_840B14C, NULL, gDummySpriteAffineAnimTable, sub_813EA60 + +gUnknown_0840B188:: @ 840B188 + .incbin "baserom.gba", 0x0040b188, 0x14 + + .align 2 +gOamData_840B19C:: @ 840B19C + .2byte 0x00A0 + .2byte 0x4000 + .2byte 0x0400 + + .align 2 +gSpriteAnim_840B1A4:: @ 840B1A4 + obj_image_anim_frame 2, 8 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_840B1AC:: @ 840B1AC + .4byte gSpriteAnim_840B1A4 + + .align 2 +gSpriteTemplate_840B1B0:: @ 840B1B0 + spr_template 2003, 2004, gOamData_840B19C, gSpriteAnimTable_840B1AC, NULL, gDummySpriteAffineAnimTable, sub_813EBBC + + .align 2 +gSpriteTemplate_840B1C8:: @ 840B1C8 + spr_template 2003, 2004, gOamData_840B19C, gSpriteAnimTable_840B1AC, NULL, gDummySpriteAffineAnimTable, sub_813EC90 + + .align 2 +gOamData_840B1E0:: @ 840B1E0 + .2byte 0x00A0 + .2byte 0xC000 + .2byte 0x0400 + + .align 2 +gSpriteAnim_840B1E8:: @ 840B1E8 + obj_image_anim_frame 16, 8 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_840B1F0:: @ 840B1F0 + .4byte gSpriteAnim_840B1E8 + + .align 2 +gSpriteTemplate_840B1F4:: @ 840B1F4 + spr_template 2003, 2003, gOamData_840B1E0, gSpriteAnimTable_840B1F0, NULL, gDummySpriteAffineAnimTable, sub_813EDFC + + .align 2 +gUnknown_0840B20C:: @ 840B20C + obj_tiles gInterfaceGfx_PokeBall, 0x100, 2002 + .space 8 + + .align 2 +gUnknown_0840B21C:: @ 840B21C + obj_tiles gIntro3MiscTiles, 0xa00, 2003 + .space 8 + + .align 2 +gUnknown_0840B22C:: @ 840B22C + obj_pal gInterfacePal_PokeBall, 2002 + .space 8 + + .align 2 +gUnknown_0840B23C:: @ 840B23C + obj_pal gIntro3Misc1Palette, 2003 + obj_pal gIntro3Misc2Palette, 2004 + .space 8 + + .incbin "baserom.gba", 0x0040b254, 0x4 + + .align 2 +gUnknown_0840B258:: @ 840B258 + obj_tiles gBattleAnimSpriteSheet_Particles, 0x100, 55020 + obj_tiles gBattleAnimSpriteSheet_Particles, 0x100, 55021 + obj_tiles gBattleAnimSpriteSheet_Particles, 0x100, 55022 + obj_tiles gBattleAnimSpriteSheet_Particles, 0x100, 55023 + obj_tiles gBattleAnimSpriteSheet_Particles, 0x100, 55024 + obj_tiles gBattleAnimSpriteSheet_Particles, 0x100, 55025 + obj_tiles gBattleAnimSpriteSheet_Particles, 0x100, 55026 + obj_tiles gBattleAnimSpriteSheet_Particles, 0x100, 55027 + obj_tiles gBattleAnimSpriteSheet_Particles, 0x100, 55028 + obj_tiles gBattleAnimSpriteSheet_Particles, 0x100, 55029 + obj_tiles gBattleAnimSpriteSheet_Particles, 0x100, 55030 + obj_tiles gBattleAnimSpriteSheet_Particles, 0x100, 55031 + + .align 2 +gUnknown_0840B2B8:: @ 840B2B8 + obj_pal gBattleAnimSpritePalette_136, 55020 + obj_pal gBattleAnimSpritePalette_136, 55021 + obj_pal gBattleAnimSpritePalette_136, 55022 + obj_pal gBattleAnimSpritePalette_136, 55023 + obj_pal gBattleAnimSpritePalette_136, 55024 + obj_pal gBattleAnimSpritePalette_136, 55025 + obj_pal gBattleAnimSpritePalette_136, 55026 + obj_pal gBattleAnimSpritePalette_136, 55027 + obj_pal gBattleAnimSpritePalette_136, 55028 + obj_pal gBattleAnimSpritePalette_136, 55029 + obj_pal gBattleAnimSpritePalette_136, 55030 + obj_pal gBattleAnimSpritePalette_136, 55031 + + .align 2 +gSpriteAnim_840B318:: @ 840B318 + obj_image_anim_frame 0, 1 + obj_image_anim_frame 1, 1 + obj_image_anim_frame 2, 1 + obj_image_anim_frame 0, 1, OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 2, 1 + obj_image_anim_frame 1, 1 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnim_840B334:: @ 840B334 + obj_image_anim_frame 3, 1 + obj_image_anim_end + + .align 2 +gSpriteAnim_840B33C:: @ 840B33C + obj_image_anim_frame 4, 1 + obj_image_anim_end + + .align 2 +gSpriteAnim_840B344:: @ 840B344 + obj_image_anim_frame 5, 1 + obj_image_anim_end + + .align 2 +gSpriteAnim_840B34C:: @ 840B34C + obj_image_anim_frame 6, 4 + obj_image_anim_frame 7, 4 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnim_840B358:: @ 840B358 + obj_image_anim_frame 7, 4 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_840B360:: @ 840B360 + .4byte gSpriteAnim_840B318 + .4byte gSpriteAnim_840B334 + .4byte gSpriteAnim_840B33C + .4byte gSpriteAnim_840B344 + .4byte gSpriteAnim_840B34C + .4byte gSpriteAnim_840B358 + +gUnknown_0840B378:: @ 840B378 + .incbin "baserom.gba", 0x0040b378, 0xc + + .align 2 +gUnknown_0840B384:: @ 840B384 + .4byte sub_8140930 + .4byte sub_8140DC4 + .4byte sub_8140C14 + .4byte sub_8140CE8 + .4byte sub_8141058 + .4byte sub_8140C14 + .4byte sub_8140B3C + .4byte sub_8140CE8 + .4byte sub_8140F24 + .4byte sub_8140A64 + .4byte sub_8140DC4 + .4byte sub_8141164 + + .align 2 +gSpriteTemplate_840B3B4:: @ 840B3B4 + spr_template 55020, 55020, gOamData_837DF24, gSpriteAnimTable_840B360, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gSpriteTemplate_840B3CC:: @ 840B3CC + spr_template 55021, 55021, gOamData_837DF24, gSpriteAnimTable_840B360, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gSpriteTemplate_840B3E4:: @ 840B3E4 + spr_template 55022, 55022, gOamData_837DF24, gSpriteAnimTable_840B360, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gSpriteTemplate_840B3FC:: @ 840B3FC + spr_template 55023, 55023, gOamData_837DF24, gSpriteAnimTable_840B360, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gSpriteTemplate_840B414:: @ 840B414 + spr_template 55024, 55024, gOamData_837DF24, gSpriteAnimTable_840B360, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gSpriteTemplate_840B42C:: @ 840B42C + spr_template 55025, 55025, gOamData_837DF24, gSpriteAnimTable_840B360, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gSpriteTemplate_840B444:: @ 840B444 + spr_template 55026, 55026, gOamData_837DF24, gSpriteAnimTable_840B360, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gSpriteTemplate_840B45C:: @ 840B45C + spr_template 55027, 55027, gOamData_837DF24, gSpriteAnimTable_840B360, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gSpriteTemplate_840B474:: @ 840B474 + spr_template 55028, 55028, gOamData_837DF24, gSpriteAnimTable_840B360, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gSpriteTemplate_840B48C:: @ 840B48C + spr_template 55029, 55029, gOamData_837DF24, gSpriteAnimTable_840B360, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gSpriteTemplate_840B4A4:: @ 840B4A4 + spr_template 55030, 55030, gOamData_837DF24, gSpriteAnimTable_840B360, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gSpriteTemplate_840B4BC:: @ 840B4BC + spr_template 55031, 55031, gOamData_837DF24, gSpriteAnimTable_840B360, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + +gUnknown_0840B4D4:: @ 840B4D4 + .incbin "baserom.gba", 0x0040b4d4, 0x28 + + .align 2 +gBattleAnimSpriteTemplate_840B4FC:: @ 840B4FC + spr_template 10269, 10269, gOamData_837DF2C, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8141C30 + + .align 2 +gUnknown_0840B514:: @ 840B514 + obj_tiles gContestConfetti_Gfx, 0x220, 1001 + .space 8 + +gUnknown_0840B524:: @ 840B524 + obj_pal gContestConfetti_Pal, 1001 + .space 8 + +gUnknown_0840B534:: @ 840B534 + .incbin "baserom.gba", 0x0040b534, 0x6 + +gUnknown_0840B53A:: @ 840B53A + .incbin "baserom.gba", 0x0040b53a, 0x2a + +gUnknown_0840B564:: @ 840B564 + .incbin "baserom.gba", 0x0040b564, 0x6 + +gUnknown_0840B56A:: @ 840B56A + .incbin "baserom.gba", 0x0040b56a, 0x12 + +gUnknown_0840B57C:: @ 840B57C + .incbin "baserom.gba", 0x0040b57c, 0x1c + + .align 2 +gOamData_840B598:: @ 840B598 + .2byte 0x0000 + .2byte 0xC000 + .2byte 0x0000 + + .align 2 +gUnknown_0840B5A0:: @ 840B5A0 + .4byte 0x02008000 + .4byte 0x0200A000 + .4byte 0x0200C000 + .4byte 0x0200E000 + .4byte 0x02010000 + .4byte 0x02014000 + .4byte 0x02018000 + + .align 2 +gSpriteImageTable_840B5BC:: @ 840B5BC + obj_frame_tiles 0x02008000, 0x800 + obj_frame_tiles 0x02008800, 0x800 + obj_frame_tiles 0x02009000, 0x800 + obj_frame_tiles 0x02009800, 0x800 + + .align 2 +gSpriteImageTable_840B5DC:: @ 840B5DC + obj_frame_tiles 0x0200A000, 0x800 + obj_frame_tiles 0x0200A800, 0x800 + obj_frame_tiles 0x0200B000, 0x800 + obj_frame_tiles 0x0200B800, 0x800 + + .align 2 +gSpriteImageTable_840B5FC:: @ 840B5FC + obj_frame_tiles 0x0200C000, 0x800 + obj_frame_tiles 0x0200C800, 0x800 + obj_frame_tiles 0x0200D000, 0x800 + obj_frame_tiles 0x0200D800, 0x800 + + .align 2 +gSpriteImageTable_840B61C:: @ 840B61C + obj_frame_tiles 0x0200E000, 0x800 + obj_frame_tiles 0x0200E800, 0x800 + obj_frame_tiles 0x0200F000, 0x800 + obj_frame_tiles 0x0200F800, 0x800 + + .align 2 +gSpriteImageTable_840B63C:: @ 840B63C + obj_frame_tiles 0x02010000, 0x800 + obj_frame_tiles 0x02010800, 0x800 + obj_frame_tiles 0x02011000, 0x800 + obj_frame_tiles 0x02011800, 0x800 + + .align 2 +gSpriteImageTable_840B65C:: @ 840B65C + obj_frame_tiles 0x02014000, 0x800 + obj_frame_tiles 0x02014800, 0x800 + obj_frame_tiles 0x02015000, 0x800 + obj_frame_tiles 0x02015800, 0x800 + + .align 2 +gSpriteImageTable_840B67C:: @ 840B67C + obj_frame_tiles 0x02018000, 0x800 + obj_frame_tiles 0x02018800, 0x800 + obj_frame_tiles 0x02019000, 0x800 + obj_frame_tiles 0x02019800, 0x800 + + .align 2 +gUnknown_0840B69C:: @ 840B69C + .4byte gSpriteImageTable_840B5BC + .4byte gSpriteImageTable_840B5DC + .4byte gSpriteImageTable_840B5FC + .4byte gSpriteImageTable_840B61C + .4byte gSpriteImageTable_840B63C + .4byte gSpriteImageTable_840B65C + .4byte gSpriteImageTable_840B67C + +gUnknown_0840B6B8:: @ 840B6B8 + spr_template -1, -1, gOamData_840B598, NULL, gSpriteImageTable_840B5BC, gDummySpriteAffineAnimTable, nullsub_81 + + .align 2 +gOamData_840B6D0:: @ 840B6D0 + .2byte 0x0000 + .2byte 0x0000 + .2byte 0x0000 + + .align 2 +gSpriteAnim_840B6D8:: @ 840B6D8 + obj_image_anim_frame 0, 30 + obj_image_anim_end + + .align 2 +gSpriteAnim_840B6E0:: @ 840B6E0 + obj_image_anim_frame 1, 30 + obj_image_anim_end + + .align 2 +gSpriteAnim_840B6E8:: @ 840B6E8 + obj_image_anim_frame 2, 30 + obj_image_anim_end + + .align 2 +gSpriteAnim_840B6F0:: @ 840B6F0 + obj_image_anim_frame 3, 30 + obj_image_anim_end + + .align 2 +gSpriteAnim_840B6F8:: @ 840B6F8 + obj_image_anim_frame 4, 30 + obj_image_anim_end + + .align 2 +gSpriteAnim_840B700:: @ 840B700 + obj_image_anim_frame 5, 30 + obj_image_anim_end + + .align 2 +gSpriteAnim_840B708:: @ 840B708 + obj_image_anim_frame 6, 30 + obj_image_anim_end + + .align 2 +gSpriteAnim_840B710:: @ 840B710 + obj_image_anim_frame 7, 30 + obj_image_anim_end + + .align 2 +gSpriteAnim_840B718:: @ 840B718 + obj_image_anim_frame 8, 30 + obj_image_anim_end + + .align 2 +gSpriteAnim_840B720:: @ 840B720 + obj_image_anim_frame 9, 30 + obj_image_anim_end + + .align 2 +gSpriteAnim_840B728:: @ 840B728 + obj_image_anim_frame 10, 30 + obj_image_anim_end + + .align 2 +gSpriteAnim_840B730:: @ 840B730 + obj_image_anim_frame 11, 30 + obj_image_anim_end + + .align 2 +gSpriteAnim_840B738:: @ 840B738 + obj_image_anim_frame 12, 30 + obj_image_anim_end + + .align 2 +gSpriteAnim_840B740:: @ 840B740 + obj_image_anim_frame 13, 30 + obj_image_anim_end + + .align 2 +gSpriteAnim_840B748:: @ 840B748 + obj_image_anim_frame 14, 30 + obj_image_anim_end + + .align 2 +gSpriteAnim_840B750:: @ 840B750 + obj_image_anim_frame 15, 30 + obj_image_anim_end + + .align 2 +gSpriteAnim_840B758:: @ 840B758 + obj_image_anim_frame 16, 30 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_840B760:: @ 840B760 + .4byte gSpriteAnim_840B6D8 + .4byte gSpriteAnim_840B6E0 + .4byte gSpriteAnim_840B6E8 + .4byte gSpriteAnim_840B6F0 + .4byte gSpriteAnim_840B6F8 + .4byte gSpriteAnim_840B700 + .4byte gSpriteAnim_840B708 + .4byte gSpriteAnim_840B710 + .4byte gSpriteAnim_840B718 + .4byte gSpriteAnim_840B720 + .4byte gSpriteAnim_840B728 + .4byte gSpriteAnim_840B730 + .4byte gSpriteAnim_840B738 + .4byte gSpriteAnim_840B740 + .4byte gSpriteAnim_840B748 + .4byte gSpriteAnim_840B750 + .4byte gSpriteAnim_840B758 + + .align 2 +gSpriteTemplate_840B7A4:: @ 840B7A4 + spr_template 1001, 1001, gOamData_840B6D0, gSpriteAnimTable_840B760, NULL, gDummySpriteAffineAnimTable, sub_814386C + +gUnknown_0840B7BC:: @ 840B7BC + .incbin "baserom.gba", 0x0040b7bc, 0x40 + +gUnknown_0840B7FC:: @ 840B7FC + .incbin "baserom.gba", 0x0040b7fc, 0x40 + +gUnknown_0840B83C:: @ 840B83C + .incbin "baserom.gba", 0x0040b83c, 0xf + +gUnknown_0840B84B:: @ 840B84B + .incbin "baserom.gba", 0x0040b84b, 0xf + +gUnknown_0840B85A:: @ 840B85A + .incbin "baserom.gba", 0x0040b85a, 0xf + +gUnknown_0840B869:: @ 840B869 + .incbin "baserom.gba", 0x0040b869, 0xf + +gUnknown_0840B878:: + .incbin "baserom.gba", 0x0040B878, 0xf + + .include "data/text/credits.inc" + +gUnknown_0840CA00:: @ 840CA00 + .incbin "baserom.gba", 0x0040ca00, 0x8 + +Unknown_840CA08: + .incbin "baserom.gba", 0x0040ca08, 0x14 +Unknown_840CA1C: + .incbin "baserom.gba", 0x0040ca1c, 0x14 +Unknown_840CA30: + .incbin "baserom.gba", 0x0040ca30, 0x10 +Unknown_840CA40: + .incbin "baserom.gba", 0x0040ca40, 0x14 + + .align 2 +gUnknown_0840CA54:: @ 840CA54 + .4byte Unknown_840CA08 + .4byte Unknown_840CA1C + .4byte Unknown_840CA30 + .4byte Unknown_840CA40 + +Unknown_840CA64: + .incbin "baserom.gba", 0x0040ca64, 0x14 +Unknown_840CA78: + .incbin "baserom.gba", 0x0040ca78, 0x14 +Unknown_840CA8C: + .incbin "baserom.gba", 0x0040ca8c, 0x8 + + .align 2 +gUnknown_0840CA94:: @ 840CA94 + .4byte Unknown_840CA64 + .4byte Unknown_840CA78 + .4byte Unknown_840CA8C + +gUnknown_0840CAA0:: @ 840CAA0 + .incbin "baserom.gba", 0x0040caa0, 0x10 + +gUnknown_0840CAB0:: @ 840CAB0 + .incbin "baserom.gba", 0x0040cab0, 0x10 + + .align 2 +gOamData_840CAC0:: @ 840CAC0 + .2byte 0x00A0 + .2byte 0xC000 + .2byte 0x0400 + + .align 2 +gSpriteAnim_840CAC8:: @ 840CAC8 + obj_image_anim_frame 0, 8 + obj_image_anim_end + + .align 2 +gSpriteAnim_840CAD0:: @ 840CAD0 + obj_image_anim_frame 64, 8 + obj_image_anim_end + + .align 2 +gSpriteAnim_840CAD8:: @ 840CAD8 + obj_image_anim_frame 128, 8 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_840CAE0:: @ 840CAE0 + .4byte gSpriteAnim_840CAC8 + .4byte gSpriteAnim_840CAD0 + .4byte gSpriteAnim_840CAD8 + + .align 2 +gSpriteTemplate_840CAEC:: @ 840CAEC + spr_template 1001, 1001, gOamData_840CAC0, gSpriteAnimTable_840CAE0, NULL, gDummySpriteAffineAnimTable, sub_814580C + +gUnknown_0840CB04:: @ 840CB04 + .incbin "baserom.gba", 0x0040cb04, 0x8 + + .align 2 +gDiplomaPalettes:: @ 840CB0C + .incbin "graphics/misc/diploma_national.gbapal" + .incbin "graphics/misc/diploma_hoenn.gbapal" + + .align 2 +gDiplomaTilemap:: @ 840CB4C + .incbin "graphics/misc/diploma_map.bin.lz" + + .align 2 +gDiplomaTiles:: @ 840D288 + .incbin "graphics/misc/diploma.4bpp.lz" + +gExpandedPlaceholder_Empty:: @ 840DC80 + .string "$" + +gExpandedPlaceholder_Kun:: @ 840DC81 + .string "$" + +gExpandedPlaceholder_Chan:: @ 840DC82 + .string "$" + +gExpandedPlaceholder_Sapphire:: @ 840DC83 + .string "SAPPHIRE$" + +gExpandedPlaceholder_Ruby:: @ 840DC8C + .string "RUBY$" + +gExpandedPlaceholder_Aqua:: @ 840DC91 + .string "AQUA$" + +gExpandedPlaceholder_Magma:: @ 840DC96 + .string "MAGMA$" + +gExpandedPlaceholder_Archie:: @ 840DC9C + .string "ARCHIE$" + +gExpandedPlaceholder_Maxie:: @ 840DCA3 + .string "MAXIE$" + +gExpandedPlaceholder_Kyogre:: @ 840DCA9 + .string "KYOGRE$" + +gExpandedPlaceholder_Groudon:: @ 840DCB0 + .string "GROUDON$" + +gExpandedPlaceholder_Brendan:: @ 840DCB8 + .string "BRENDAN$" + +gExpandedPlaceholder_May:: @ 840DCC0 + .string "MAY$" + +gSystemText_Egg:: @ 840DCC4 + .string "EGG$" + +gSystemText_Pokemon2:: @ 840DCC8 + .string "POKéMON$" + +gMainMenuString_NewGame:: @ 840DCD0 + .string "NEW GAME$" + +gMainMenuString_Continue:: @ 840DCD9 + .string "CONTINUE$" + +gMainMenuString_Option:: @ 840DCE2 + .string "OPTION$" + +gMainMenuString_MysteryEvents:: @ 840DCE9 + .string "MYSTERY EVENTS$" + +SystemText_UpdatingSaveExternal: + .string "Updating save file using external\ndata. Please wait.$" + +SystemText_SaveUpdated: + .string "The save file has been updated.$" + +SystemText_SaveUpdatedExchangeBackup: + .string "The save file has been updated.\pFurther game data cannot be saved\nto the backup memory.\pPlease exchange the backup memory.\pFor details, please contact the\nNintendo Service Center.$" + +SystemText_SaveNotUpdated: + .string "The save file could not be updated.\pPlease exchange the backup\nmemory.\pFor details, please contact the\nNintendo Service Center.$" + +gSaveFileCorruptMessage:: @ 840DE81 + .string "The save file is corrupt. The\nprevious save file will be loaded.$" + +gSaveFileDeletedMessage:: @ 840DEC2 + .string " The save file has been deleted...$" + +gBoardNotInstalledMessage:: @ 840DEE5 + .string "The 1M sub-circuit board is\nnot installed.$" + +gBatteryDryMessage:: @ 840DF10 + .string "The internal battery has run dry.\nThe game can be played.\pHowever, clock-based events will\nno longer occur.$" + +gMainMenuString_Player:: @ 840DF7C + .string "PLAYER$" + +gMainMenuString_Pokedex:: @ 840DF83 + .string "POKéDEX$" + +gMainMenuString_Time:: @ 840DF8B + .string "TIME$" + +gMainMenuString_Badges:: @ 840DF90 + .string "BADGES$" + +gBirchText_Boy:: + .string "BOY$" +gBirchText_Girl:: + .string "GIRL$" +gBirchText_NewName:: + .string "NEW NAME$" + +gDefaultBoyName1:: + .ifdef SAPPHIRE + .string "SEAN$" + .else + .string "LANDON$" + .endif +gDefaultBoyName2:: + .string "TERRY$" +gDefaultBoyName3:: + .string "SETH$" +gDefaultBoyName4:: + .string "TOM$" + +gDefaultGirlName1:: + .ifdef SAPPHIRE + .string "MARINA$" + .else + .string "TERRA$" + .endif +gDefaultGirlName2:: + .string "KIMMY$" +gDefaultGirlName3:: + .string "NICOLA$" +gDefaultGirlName4:: + .string "SARA$" + +gSystemText_IntroWeCall:: + .string "This is what we call\na POKéMON.$" + +gSystemText_NewPara:: @ 840DFF7 + .string "\p$" + +gDexText_UnknownPoke:: @ 840DFF9 + .string " ????? POKéMON$" @ why 12 spaces? + +gDexText_UnknownHeight:: @ 840E013 + .string "{CLEAR_TO 0x0C}??’??”$" + +gDexText_UnknownWeight:: @ 840E01D + .string "????.? lbs.$" + .string "$" + +gDexText_CryOf:: @ 840E02A + .string "{CLEAR_TO 2}CRY OF$" + .string "$" + +gDexText_SizeComparedTo:: @ 840E035 + .string "SIZE COMPARED TO $" + +gDexText_RegisterComplete:: @ 840E047 + .string "POKéDEX registration completed.$" + +gDexText_Searching:: @ 840E067 + .string "Searching...\nPlease wait.$" + +gDexText_SearchComplete:: @ 840E081 + .string "Search completed.$" + +gDexText_NoMatching:: @ 840E093 + .string "No matching POKéMON were found.$" + +DexText_SearchForPoke:: + .string "Search for POKéMON based on\nselected parameters.$" +DexText_SwitchDex:: + .string "Switch POKéDEX listings.$" +DexText_ReturnToDex:: + .string "Return to the POKéDEX.$" +DexText_SelectDexMode:: + .string "Select the POKéDEX mode.$" +DexText_SelectDexList:: + .string "Select the POKéDEX listing mode.$" +DexText_ListByABC:: + .string "List by the first letter in the name.\n/Spotted POKéMON only.$" +DexText_ListByColor:: + .string "List by body color.\n/Spotted POKéMON only.$" +DexText_ListByType:: + .string "List by type.\n/Owned POKéMON only.$" +DexText_ExecuteSearchSwitch:: + .string "Execute search/switch.$" +DexText_HoennDex:: + .string "HOENN DEX$" +DexText_NationalDex:: + .string "NATIONAL DEX$" +DexText_NumericalMode:: + .string "NUMERICAL MODE$" +DexText_ABCMode:: + .string "A TO Z MODE$" +DexText_HeaviestMode:: + .string "HEAVIEST MODE$" +DexText_LightestMode:: + .string "LIGHTEST MODE$" +DexText_TallestMode:: + .string "TALLEST MODE$" +DexText_SmallestMode:: + .string "SMALLEST MODE$" +DexText_ABC:: + .string "ABC$" +DexText_DEF:: + .string "DEF$" +DexText_GHI:: + .string "GHI$" +DexText_JKL:: + .string "JKL$" +DexText_MNO:: + .string "MNO$" +DexText_PQR:: + .string "PQR$" +DexText_STU:: + .string "STU$" +DexText_VWX:: + .string "VWX$" +DexText_YZ:: + .string "YZ$" +DexText_Red:: + .string "RED$" +DexText_Blue:: + .string "BLUE$" +DexText_Yellow:: + .string "YELLOW$" +DexText_Green:: + .string "GREEN$" +DexText_Black:: + .string "BLACK$" +DexText_Brown:: + .string "BROWN$" +DexText_Purple:: + .string "PURPLE$" +DexText_Gray:: + .string "GRAY$" +DexText_White:: + .string "WHITE$" +DexText_Pink:: + .string "PINK$" +DexText_HoennDex2:: + .string "HOENN region’s POKéDEX$" +DexText_NationalDex2:: + .string "National edition POKéDEX$" +DexText_ListByNumber:: + .string "POKéMON are listed according to their\nnumber.$" +DexText_ListByABC2:: + .string "Spotted and owned POKéMON are listed\nalphabetically.$" +DexText_ListByHeavyToLightest:: + .string "Owned POKéMON are listed from the\nheaviest to the lightest.$" +DexText_ListByLightToHeaviest:: + .string "Owned POKéMON are listed from the\nlightest to the heaviest.$" +DexText_ListByTallToSmallest:: + .string "Owned POKéMON are listed from the\ntallest to the smallest.$" +DexText_ListBySmallToTallest:: + .string "Owned POKéMON are listed from the\nsmallest to the tallest.$" +DexText_Terminator5:: + .string "$" +DexText_DontSpecify:: + .string "DON’T SPECIFY.$" +DexText_None:: + .string "NONE$" +DexText_RightPointingTriangle:: + .string "▶$" @ right-pointing triangle +DexText_Terminator6:: + .string " $" + +gMenuText_WelcomeToHOFAndDexRating:: @ 840E44F + .string "Welcome to the HALL OF FAME!$" + .string "Spotted POKéMON: {STR_VAR_1}!\nOwned POKéMON: {STR_VAR_2}!\pPROF. BIRCH’s POKéDEX rating!\pPROF. BIRCH: Let’s see...\p$" + +gMenuText_HOFSaving:: @ 840E4CD + .string "SAVING...\nDON’T TURN OFF THE POWER.$" + +gMenuText_HOFCorrupt:: @ 840E4F1 + .string "The HALL OF FAME data is corrupt.$" + +gMenuText_HOFNumber:: @ 840E513 + .string "HALL OF FAME No. $" + +gMenuText_HOFCongratulations:: @ 840E525 + .string "LEAGUE CHAMPION!\nCONGRATULATIONS!$" + +gOtherText_Number2:: @ 840E547 + .string "No. $" + +gOtherText_Level3:: @ 840E54C + .string "Lv. $" + +gOtherText_IDNumber:: @ 840E551 + .string "IDNo. /$" + +gOtherText_Name:: @ 840E559 + .string "NAME /$" + +gOtherText_IDNumber2:: @ 840E560 + .string "IDNo. /$" + +gOtherText_BirchInTrouble:: @ 840E568 + .string "{HIGHLIGHT WHITE2}{COLOR DARK_GREY}PROF. BIRCH is in trouble!\nRelease a POKéMON and rescue him!$" + +gOtherText_DoYouChoosePoke:: @ 840E5AB + .string "{HIGHLIGHT WHITE2}{COLOR DARK_GREY}Do you choose this POKéMON?$" + +gOtherText_Poke:: @ 840E5CD + .string "POKéMON$" + +gSystemText_SaveErrorExchangeBackup:: @ 840E5D5 + .string "Save error.\pPlease exchange the\nbackup memory.$" + +gOtherText_FlyToWhere:: @ 840E604 + .string "FLY to where?$" + +OtherText_Use:: + .string "USE$" +OtherText_Toss:: + .string "TOSS$" +OtherText_Register:: + .string "REGISTER$" +OtherText_Give2:: + .string "GIVE$" +OtherText_CheckTag:: + .string "CHECK TAG$" +OtherText_Confirm:: + .string "CONFIRM$" + +gOtherText_Walk:: @ 840E63B + .string "WALK$" + +gUnknownText_Exit:: @ 840E640 + .string "EXIT$" + +gOtherText_CancelNoTerminator:: @ 840E645 + .string "CANCEL$" + +gOtherText_CancelWithTerminator:: @ 840E64C + .string "$CANCEL$" + +OtherText_Item:: + .string "ITEM$" +OtherText_Mail:: + .string "MAIL$" +OtherText_Take2:: + .string "TAKE$" +OtherText_Store:: + .string "STORE$" + +gOtherText_Check:: @ 840E669 + .string "CHECK$" + +gOtherText_None:: @ 840E66F + .string "NONE$" + +gOtherText_ThreeQuestions2:: @ 840E674 + .string "???$" + +gOtherText_FiveQuestionsAndSlash:: @ 840E678 + .string "?????$" + .string "/$" + +gOtherText_OneDash:: @ 840E680 + .string "-$" + +gOtherText_TwoDashes:: @ 840E682 + .string "--$" + +gOtherText_ThreeDashes2:: @ 840E685 + .string "---$" + +gOtherText_MaleSymbol2:: @ 840E689 + .string "♂$" + +gOtherText_FemaleSymbolAndLv:: @ 840E68B + .string "♀$" + .string "Lv.$" + +gOtherText_TallPlusAndRightArrow:: @ 840E691 + .string "{TALL_PLUS}$" + .string "{RIGHT_ARROW}$" + +gMenuText_GoBackToPrev:: @ 840E697 + .string "Go back to the\nprevious menu.$" + +gOtherText_WhatWillYouDo:: @ 840E6B5 + .string "What would you like to do?$" + +gOtherText_xString1:: @ 840E6D0 + .string "×{STR_VAR_1}$" + +gOtherText_Berry2:: @ 840E6D4 + .string " BERRY$" + +gOtherText_Coins2:: @ 840E6DB + .string "{STR_VAR_1} COINS$" + +gOtherText_CloseBag:: @ 840E6E4 + .string "CLOSE BAG$" + +OtherText_TheField3:: + .string "the field.$" +OtherText_TheBattle:: + .string "the battle.$" +OtherText_ThePokeList:: + .string "the POKéMON LIST.$" +OtherText_TheShop:: + .string "the shop.$" +OtherText_TheField:: + .string "the field.$" +OtherText_TheField2:: + .string "the field.$" +OtherText_ThePC:: + .string "the PC.$" + + .align 2 +gUnknown_0840E740:: @ 840E740 + .4byte OtherText_TheField3 + .4byte OtherText_TheBattle + .4byte OtherText_ThePokeList + .4byte OtherText_TheShop + .4byte OtherText_TheField + .4byte OtherText_TheField2 + .4byte OtherText_ThePC + +gOtherText_ReturnTo:: @ 840E75C + .string "Return to$" + +gOtherText_WhatWillYouDo2:: @ 840E766 + .string "What would you\nlike to do?$" + +gOtherText_CantWriteMail:: @ 840E781 + .string "You can’t write\nMAIL here.$" + +gOtherText_NoPokemon:: @ 840E79C + .string "There is no\nPOKéMON.{PAUSE_UNTIL_PRESS}$" + +gOtherText_SwitchWhichItem:: @ 840E7B3 + .string "Switch with which\nitem?$" + +gOtherText_CantBeHeld:: @ 840E7CB + .string "{STR_VAR_1} can’t be held.$" + +gOtherText_CantBeHeldHere:: @ 840E7DD + .string "{STR_VAR_1} can’t be held here.$" + +gOtherText_HowManyToDeposit:: @ 840E7F4 + .string "How many do you\nwant to deposit?$" + +gOtherText_DepositedItems:: @ 840E815 + .string "Deposited {STR_VAR_2}\n{STR_VAR_1}(s).$" + +gOtherText_NoRoomForItems:: @ 840E829 + .string "There’s no room to\nstore items.$" + +gOtherText_CantStoreSomeoneItem:: @ 840E849 + .string "You can’t store\nsomeone else’s item\nin the PC.$" + +gOtherText_TooImportant:: @ 840E878 + .string "That’s much too\nimportant to toss\nout!$" + +gOtherText_HowManyToToss:: @ 840E89F + .string "Toss out how many?$" + +gOtherText_ThrewAwayItem:: @ 840E8B2 + .string "Threw away {STR_VAR_2}\n{STR_VAR_1}(s).$" + +gOtherText_OkayToThrowAwayPrompt:: @ 840E8C7 + .string "Is it okay to\nthrow away {STR_VAR_2}\n{STR_VAR_1}(s)?$" + +gOtherText_DadsAdvice:: @ 840E8EA + .string "DAD’s advice...\n{PLAYER}, there’s a time and place for\leverything!{PAUSE_UNTIL_PRESS}$" + +gOtherText_CantGetOffBike:: @ 840E929 + .string "You can’t dismount your BIKE here.{PAUSE_UNTIL_PRESS}$" + +gOtherText_ItemfinderResponding:: @ 840E94E + .string "Oh!\nThe machine’s responding!\pThere’s an item buried around here!{PAUSE_UNTIL_PRESS}$" + +gOtherText_ItemfinderFoundItem:: @ 840E992 + .string "The machine’s indicating something\nright underfoot!{PAUSE_UNTIL_PRESS}$" + +gOtherText_NoResponse:: @ 840E9C8 + .string "... ... ... ... Nope!\nThere’s no response.{PAUSE_UNTIL_PRESS}$" + +gOtherText_Coins3:: @ 840E9F5 + .string "Your COINS:\n{STR_VAR_1}{PAUSE_UNTIL_PRESS}$" + +gOtherText_BootedTM:: @ 840EA06 + .string "Booted up a TM.$" + +gOtherText_BootedHM:: @ 840EA16 + .string "Booted up an HM.$" + +gOtherText_ContainsMove:: @ 840EA27 + .string "It contained\n{STR_VAR_1}.\pTeach {STR_VAR_1}\nto a POKéMON?$" + +gOtherText_UsedItem:: @ 840EA4F + .string "{PLAYER} used the\n{STR_VAR_2}.{PAUSE_UNTIL_PRESS}$" + +gOtherText_RepelLingers:: @ 840EA61 + .string "But the effects of a REPEL lingered\nfrom earlier.{PAUSE_UNTIL_PRESS}$" + +gOtherText_UsedFlute:: @ 840EA95 + .string "{PLAYER} used the\n{STR_VAR_2}.\pWild POKéMON will be lured.{PAUSE_UNTIL_PRESS}$" + +gOtherText_UsedRepel:: @ 840EAC3 + .string "{PLAYER} used the\n{STR_VAR_2}.\pWild POKéMON will be repelled.{PAUSE_UNTIL_PRESS}$" + +gOtherText_BoxIsFull:: @ 840EAF4 + .string "The BOX is full.{PAUSE_UNTIL_PRESS}$" + +gOtherText_Size:: @ 840EB07 + .string "SIZE /$" + +gOtherText_Firm:: @ 840EB0E + .string "FIRM /$" + +gContestStatsText_Unknown1:: @ 840EB15 + .string "{STR_VAR_1}.{STR_VAR_2}”$" + +ContestStatsText_VerySoft: + .string "Very soft$" +ContestStatsText_Soft: + .string "Soft$" +ContestStatsText_Hard: + .string "Hard$" +ContestStatsText_VeryHard: + .string "Very hard$" +ContestStatsText_SuperHard: + .string "Super hard$" +ContestStatsText_RedPokeBlock: + .string "RED {POKEBLOCK}$" +ContestStatsText_BluePokeBlock: + .string "BLUE {POKEBLOCK}$" +ContestStatsText_PinkPokeBlock: + .string "PINK {POKEBLOCK}$" +ContestStatsText_GreenPokeBlock: + .string "GREEN {POKEBLOCK}$" +ContestStatsText_YellowPokeBlock: + .string "YELLOW {POKEBLOCK}$" +ContestStatsText_PurplePokeBlock: + .string "PURPLE {POKEBLOCK}$" +ContestStatsText_IndigoPokeBlock: + .string "INDIGO {POKEBLOCK}$" +ContestStatsText_BrownPokeBlock: + .string "BROWN {POKEBLOCK}$" +ContestStatsText_LiteBluePokeBlock: + .string "LITEBLUE {POKEBLOCK}$" +ContestStatsText_OlivePokeBlock: + .string "OLIVE {POKEBLOCK}$" +ContestStatsText_GrayPokeBlock: + .string "GRAY {POKEBLOCK}$" +ContestStatsText_BlackPokeBlock: + .string "BLACK {POKEBLOCK}$" +ContestStatsText_WhitePokeBlock: + .string "WHITE {POKEBLOCK}$" +ContestStatsText_GoldPokeBlock: + .string "GOLD {POKEBLOCK}$" + +gContestStatsText_Spicy:: @ 840EBED + .string "SPICY$" + +gContestStatsText_Dry:: @ 840EBF3 + .string "DRY$" + +gContestStatsText_Sweet:: @ 840EBF7 + .string "SWEET$" + +gContestStatsText_Bitter:: @ 840EBFD + .string "BITTER$" + +gContestStatsText_Sour:: @ 840EC04 + .string "SOUR$" + .string "TASTY$" @ tasty is probably unused, but feel isn't. + .string "FEEL$" + +gContestStatsText_StowCase:: @ 840EC14 + .string "Stow CASE.$" + +gContestStatsText_ThrowAwayPrompt:: @ 840EC1F + .string "Throw away this\n{STR_VAR_1}?$" + +gContestStatsText_WasThrownAway:: @ 840EC33 + .string "The {STR_VAR_1}\nwas thrown away.$" + +gContestStatsText_NormallyAte:: @ 840EC4B + .string "{STR_VAR_1} ate the\n{STR_VAR_2}.{PAUSE_UNTIL_PRESS}$" + +gContestStatsText_HappilyAte:: @ 840EC5C + .string "{STR_VAR_1} happily ate the\n{STR_VAR_2}.{PAUSE_UNTIL_PRESS}$" + +gContestStatsText_DisdainfullyAte:: @ 840EC75 + .string "{STR_VAR_1} disdainfully ate the\n{STR_VAR_2}.{PAUSE_UNTIL_PRESS}$" + +MartText_Buy: + .string "BUY$" +MartText_Sell: + .string "SELL$" +MartText_Quit2: + .string "QUIT$" + +gOtherText_QuitShopping:: @ 840ECA1 + .string "Quit shopping.$" + +gOtherText_HowManyYouWant:: @ 840ECB0 + .string "{STR_VAR_1}? Certainly.\nHow many would you like?$" + +gOtherText_ThatWillBe:: @ 840ECD8 + .string "{STR_VAR_1}? And you wanted {STR_VAR_2}?\nThat will be ¥{STR_VAR_3}.$" + +gOtherText_ThatWillBe2:: @ 840ED01 + .string "{STR_VAR_1}, is it?\nThat’ll be ¥{STR_VAR_2}. Do you want it?$" + +gOtherText_ThatWillBe3:: @ 840ED2C + .string "You wanted {STR_VAR_1}?\nThat’ll be ¥{STR_VAR_2}. Will that be okay?$" + +gOtherText_HereYouGo:: @ 840ED5E + .string "Here you go!\nThank you very much.$" + +gOtherText_HereYouGo2:: @ 840ED80 + .string "Thank you!\nI’ll send it to your home PC.$" + +gOtherText_HereYouGo3:: @ 840EDA9 + .string "Thanks!\nI’ll send it to your PC at home.$" + +gOtherText_NotEnoughMoney:: @ 840EDD2 + .string "You don’t have enough money.{PAUSE_UNTIL_PRESS}$" + +gOtherText_NoRoomFor:: @ 840EDF1 + .string "You have no more room for items.{PAUSE_UNTIL_PRESS}$" + +gOtherText_SpaceForIsFull:: @ 840EE14 + .string "The space for {STR_VAR_1} is full.{PAUSE_UNTIL_PRESS}$" + +gOtherText_AnythingElse:: @ 840EE30 + .string "Is there anything else I can help\nyou with?$" + +gOtherText_CanIHelpYou:: @ 840EE5C + .string "Can I help you with anything else?$" + +gOtherText_FreePremierBall:: @ 840EE7F + .string "I’ll throw in a PREMIER BALL, too.{PAUSE_UNTIL_PRESS}$" + +gOtherText_CantBuyThat:: @ 840EEA4 + .string "{STR_VAR_2}? Oh, no.\nI can’t buy that.{PAUSE_UNTIL_PRESS}$" + +gOtherText_HowManyToSell:: @ 840EEC4 + .string "{STR_VAR_2}?\nHow many would you like to sell?$" + +gOtherText_CanPay:: @ 840EEE9 + .string "I can pay ¥{STR_VAR_1}.\nWould that be okay?$" + +gOtherText_SoldItem:: @ 840EF0C + .string "Turned over the {STR_VAR_2}\nand received ¥{STR_VAR_1}.$" + +OtherText_Money:: + .string "¥{STR_VAR_1}$" +OtherText_Shift:: + .string "SHIFT$" +OtherText_SendOut:: + .string "SEND OUT$" +OtherText_Switch2:: + .string "SWITCH$" +OtherText_Summary:: + .string "SUMMARY$" +OtherText_Moves:: + .string "MOVES$" +OtherText_Enter2:: + .string "ENTER$" +OtherText_NoEntry:: + .string "NO ENTRY$" +OtherText_Take:: + .string "TAKE$" +OtherText_Read2:: + .string "READ$" + +gOtherText_Hp2:: @ 840EF72 + .string "HP$" + +gOtherText_SpAtk2:: @ 840EF75 + .string "SP. ATK$" + +gOtherText_SpDef2:: @ 840EF7D + .string "SP. DEF$" + +gOtherText_WontHaveAnyEffect:: @ 840EF85 + .string "It won’t have any effect.{PAUSE_UNTIL_PRESS}$" + +gOtherText_CantUseOnPoke:: @ 840EFA1 + .if REVISION >= 1 + .string "This can’t be used on\nthat POKéMON.{PAUSE_UNTIL_PRESS}$" + .else + .string "This item can’t be used on\nthat POKéMON.{PAUSE_UNTIL_PRESS}$" + .endif + +gOtherText_CantBeSwitched:: @ 840EFCC + .string "{STR_VAR_1} can’t be switched\nout!{PAUSE_UNTIL_PRESS}$" + +gOtherText_AlreadyBattle:: @ 840EFE8 + .string "{STR_VAR_1} is already\nin battle!{PAUSE_UNTIL_PRESS}$" + +gOtherText_AlreadySelected:: @ 840F003 + .string "{STR_VAR_1} has already been\nselected.{PAUSE_UNTIL_PRESS}$" + +gOtherText_NoEnergyLeft:: @ 840F023 + .string "{STR_VAR_1} has no energy\nleft to battle!{PAUSE_UNTIL_PRESS}$" + +gOtherText_CantSwitchPokeWithYours:: @ 840F046 + .string "You can’t switch {STR_VAR_1}’s\nPOKéMON with one of yours!{PAUSE_UNTIL_PRESS}$" + +gOtherText_EGGCantBattle:: @ 840F079 + .string "An EGG can’t battle!{PAUSE_UNTIL_PRESS}$" + +gOtherText_CantBeUsedBadge:: @ 840F090 + .string "This can’t be used until a new\nBADGE is obtained.$" + +gOtherText_NoMoreThreePoke:: @ 840F0C2 + .string "No more than three POKéMON\nmay enter.$" + +gOtherText_SendRemovedMailPrompt:: @ 840F0E8 + .string "Send the removed MAIL to\nyour PC?$" + +gOtherText_MailWasSent:: @ 840F10A + .string "The MAIL was sent to your PC.{PAUSE_UNTIL_PRESS}$" + +gOtherText_MailboxIsFull:: @ 840F12A + .string "Your PC’s MAILBOX is full.{PAUSE_UNTIL_PRESS}$" + +gOtherText_MailRemovedMessageLost:: @ 840F147 + .string "If the MAIL is removed, the\nmessage will be lost. Okay?$" + +gOtherText_MailMustBeRemoved:: @ 840F17F + .string "MAIL must be removed before\nholding an item.{PAUSE_UNTIL_PRESS}$" + +gOtherText_WasGivenToHold:: @ 840F1AE + .string "{STR_VAR_1} was given the\n{STR_VAR_2} to hold.{PAUSE_UNTIL_PRESS}$" + +gOtherText_AlreadyHolding:: @ 840F1CD + .string "{STR_VAR_1} is already holding\none {STR_VAR_2}.\pWould you like to switch the\ntwo items?$" + +gOtherText_NotHoldingAnything:: @ 840F213 + .string "{STR_VAR_1} isn’t\nholding anything.{PAUSE_UNTIL_PRESS}$" + +gOtherText_ReceivedTheThingFrom:: @ 840F230 + .string "Received the {STR_VAR_2}\nfrom {STR_VAR_1}.{PAUSE_UNTIL_PRESS}$" + +gOtherText_MailTaken:: @ 840F24B + .string "MAIL was taken from the\nPOKéMON.{PAUSE_UNTIL_PRESS}$" + +gOtherText_TakenAndReplaced:: @ 840F26E + .string "The {STR_VAR_2} was taken and\nreplaced with the {STR_VAR_1}.{PAUSE_UNTIL_PRESS}$" + +gOtherText_PokeHoldingItemCantMail:: @ 840F29B + .string "This POKéMON is holding an item.\nIt cannot hold MAIL.{PAUSE_UNTIL_PRESS}$" + +gOtherText_MailTransferredMailbox:: @ 840F2D3 + .string "MAIL was transferred from\nthe MAILBOX.{PAUSE_UNTIL_PRESS}$" + +gOtherText_BagFullCannotRemoveItem:: @ 840F2FC + .string "The BAG is full. The POKéMON’s\nitem could not be removed.{PAUSE_UNTIL_PRESS}$" + +gOtherText_LearnedMove:: @ 840F338 + .string "{STR_VAR_1} learned\n{STR_VAR_2}!$" + +gOtherText_NotCompatible:: @ 840F347 + .string "{STR_VAR_1} and {STR_VAR_2}\nare not compatible.\p{STR_VAR_2} can’t be learned.{PAUSE_UNTIL_PRESS}$" + +gOtherText_WantsToLearn:: @ 840F37C + .string "{STR_VAR_1} wants to learn the\nmove {STR_VAR_2}.\pHowever, {STR_VAR_1} already\nknows four moves.\pShould a move be deleted and\nreplaced with {STR_VAR_2}?$" + +gOtherText_StopTryingTo:: @ 840F3F0 + .string "Stop trying to teach\n{STR_VAR_2}?$" + +gOtherText_DidNotLearnMove2:: @ 840F409 + .string "{STR_VAR_1} did not learn the\nmove {STR_VAR_2}.{PAUSE_UNTIL_PRESS}$" + +gOtherText_WhichMoveToForget2:: @ 840F429 + .string "Which move should be forgotten?{PAUSE_UNTIL_PRESS}$" + +gOtherText_ForgetMove123_2:: @ 840F44B + .string "{PAUSE 32}1, {PAUSE 15}2, and{PAUSE 15}... {PAUSE 15}... {PAUSE 15}... {PAUSE 15}{PLAY_SE SE_KON}Poof!\p{STR_VAR_1} forgot how to\nuse {STR_VAR_2}.\pAnd...{PAUSE_UNTIL_PRESS}$" + +gOtherText_AlreadyKnows:: @ 840F49E + .string "{STR_VAR_1} already knows\n{STR_VAR_2}.{PAUSE_UNTIL_PRESS}$" + +gOtherText_HPRestoredBy:: @ 840F4B5 + .string "{STR_VAR_1}’s HP was restored by\n{STR_VAR_2} points.{PAUSE_UNTIL_PRESS}$" + +gOtherText_CuredPoisoning:: @ 840F4DA + .string "{STR_VAR_1} was cured of its\npoisoning.{PAUSE_UNTIL_PRESS}$" + +gOtherText_CuredParalysis:: @ 840F4FB + .string "{STR_VAR_1} was cured of\nparalysis.{PAUSE_UNTIL_PRESS}$" + +gOtherText_WokeUp:: @ 840F518 + .string "{STR_VAR_1} woke up.{PAUSE_UNTIL_PRESS}$" + +gOtherText_BurnHealed:: @ 840F526 + .string "{STR_VAR_1}’s burn was healed.{PAUSE_UNTIL_PRESS}$" + +gOtherText_ThawedOut:: @ 840F53E + .string "{STR_VAR_1} was thawed out.{PAUSE_UNTIL_PRESS}$" + +gOtherText_PPRestored:: @ 840F553 + .string "PP was restored.{PAUSE_UNTIL_PRESS}$" + +gOtherText_RegainedHealth:: @ 840F566 + .string "{STR_VAR_1} regained health.{PAUSE_UNTIL_PRESS}$" + +gOtherText_BecameHealthy:: @ 840F57C + .string "{STR_VAR_1} became healthy.{PAUSE_UNTIL_PRESS}$" + +gOtherText_PPIncreased:: @ 840F591 + .string "{STR_VAR_1}’s PP increased.{PAUSE_UNTIL_PRESS}$" + +gOtherText_ElevatedTo:: @ 840F5A6 + .string "{STR_VAR_1} was elevated to\nLv. {STR_VAR_2}.$" + +gOtherText_WasRaised:: @ 840F5C1 + .string "{STR_VAR_1}’s {STR_VAR_2} was\nraised.{PAUSE_UNTIL_PRESS}$" + +gOtherText_SnapConfusion:: @ 840F5D7 + .string "{STR_VAR_1} snapped out of its\nconfusion.{PAUSE_UNTIL_PRESS}$" + +gOtherText_GotOverLove:: @ 840F5FA + .string "{STR_VAR_1} got over its\ninfatuation.{PAUSE_UNTIL_PRESS}$" + +OtherText_ChoosePoke:: + .string "Choose a POKéMON.$" +OtherText_MovePokeTo:: + .string "Move to where?$" +OtherText_TeachWhat:: + .string "Teach which POKéMON?$" +OtherText_UseWhat:: + .string "Use on which POKéMON?$" +OtherText_GiveWhat:: + .string "Give to which POKéMON?$" +OtherText_DoWhat:: + .string "Do what with {STR_VAR_1}?$" +OtherText_NothingToCut:: + .string "There’s nothing to CUT.$" +OtherText_CantSurf:: + .string "You can’t SURF here.$" +OtherText_AlreadySurfing:: + .string "You’re already SURFING.$" +OtherText_CantUseThatHere:: + .string "Can’t use that here.$" +OtherText_RestoreWhatMove:: + .string "Restore which move?$" +OtherText_BoostPP:: + .string "Boost PP of which move?$" +OtherText_DoWhatWithItem:: + .string "Do what with an item?$" +OtherText_NoPokeForBattle:: + .string "No POKéMON for battle!$" +OtherText_ChoosePoke2:: + .string "Choose a POKéMON.$" +OtherText_NotEnoughHP:: + .string "Not enough HP...$" +OtherText_ThreePokeNeeded:: + .string "Three POKéMON are needed.$" +OtherText_PokeCantBeSame:: + .string "POKéMON can’t be the same.$" +OtherText_NoIdenticalHoldItems:: + .string "No identical hold items.$" +OtherText_TeachWhichPoke:: + .string "Teach which POKéMON?$" + +gOtherText_Attack:: @ 840F7C6 + .string "ATTACK$" + +gOtherText_Defense:: @ 840F7CD + .string "DEFENSE$" + +gOtherText_SpAtk:: @ 840F7D5 + .string "SP. ATK$" + +gOtherText_SpDef:: @ 840F7DD + .string "SP. DEF$" + +gOtherText_Speed:: @ 840F7E5 + .string "SPEED$" + +gOtherText_HP:: @ 840F7EB + .string "HP$" + +gOtherText_Terminator18:: @ 840F7EE + .string "$" + +gOtherText_OriginalTrainer:: @ 840F7EF + .string "OT/$" + +gOtherText_Type2:: @ 840F7F3 + .string "TYPE/$" + +gOtherText_Power2:: @ 840F7F9 + .string "POWER$" + +gOtherText_Accuracy2:: @ 840F7FF + .string "ACCURACY$" + +gOtherText_Appeal2:: @ 840F808 + .string "APPEAL$" + +gOtherText_Jam2:: @ 840F80F + .string "JAM$" + +gOtherText_Status:: @ 840F813 + .string "STATUS$" + +gOtherText_ExpPoints:: @ 840F81A + .string "EXP. POINTS$" + +gOtherText_NextLv:: @ 840F826 + .string "NEXT LV.$" + +gOtherText_Ribbons00:: @ 840F82F + .string "RIBBONS: 00$" + +OtherText_Event:: + .string "EVENT$" +OtherText_Switch:: + .string "SWITCH$" +OtherText_PokeInfo:: + .string "POKéMON INFO$" +OtherText_PokeSkills:: + .string "POKéMON SKILLS$" +OtherText_BattleMoves:: + .string "BATTLE MOVES$" +OtherText_ContestMoves:: + .string "C0NTEST MOVES$" @why the l33t 0, that's stupid +OtherText_Info:: + .string "INFO$" + +gOtherText_EggLongTime:: @ 840F884 + .string "It looks like this EGG will\ntake a long time to hatch.$" + +gOtherText_EggSomeTime:: @ 840F8BB + .string "What will hatch from this?\nIt will take some time.$" + +gOtherText_EggSoon:: @ 840F8EE + .string "It moves occasionally.\nIt should hatch soon.$" + +gOtherText_EggAbout:: @ 840F91B + .string "It’s making sounds.\nIt’s about to hatch!$" + +gOtherText_CantForgetHMs:: @ 840F944 + .string "HM moves can’t be\nforgotten now.$" + +gOtherText_PlayersBase:: @ 840F965 + .string "’s BASE$" + +gOtherText_OkayToDeleteFromRegistry:: @ 840F96D + .string "Is it okay to delete {STR_VAR_1}\nfrom the REGISTRY?$" + +gOtherText_RegisteredDataDeleted:: @ 840F998 + .string "The registered data was deleted.{PAUSE_UNTIL_PRESS}$" + +gSecretBaseText_NoRegistry:: @ 840F9BB + .string "There is no REGISTRY.{PAUSE_UNTIL_PRESS}$" + +SecretBaseText_DelRegist:: + .string "DEL REGIST.$" +SecretBaseText_Decorate:: + .string "DECORATE$" +SecretBaseText_PutAway:: + .string "PUT AWAY$" +SecretBaseText_Toss:: + .string "TOSS$" +SecretBaseText_PutOutDecor:: + .string "Put out the selected decoration item.$" +SecretBaseText_StoreChosenDecor:: + .string "Store the chosen decoration in the PC.$" +SecretBaseText_ThrowAwayDecor:: + .string "Throw away unwanted decorations.$" + +gSecretBaseText_NoDecors:: @ 840FA64 + .string "There are no decorations.{PAUSE_UNTIL_PRESS}$" + +SecretBaseText_Desk:: + .string "DESK$" +SecretBaseText_Chair:: + .string "CHAIR$" +SecretBaseText_Plant:: + .string "PLANT$" +SecretBaseText_Ornament:: + .string "ORNAMENT$" +SecretBaseText_Mat:: + .string "MAT$" +SecretBaseText_Poster:: + .string "POSTER$" +SecretBaseText_Doll:: + .string "DOLL$" +SecretBaseText_Cushion:: + .string "CUSHION$" + +gSecretBaseText_GoldRank:: @ 840FAB2 + .string "GOLD$" + +gSecretBaseText_SilverRank:: @ 840FAB7 + .string "SILVER$" + +gSecretBaseText_PlaceItHere:: @ 840FABE + .string "Place it here?$" + +gSecretBaseText_CantBePlacedHere:: @ 840FACD + .string "It can’t be placed here.$" + +gSecretBaseText_CancelDecorating:: @ 840FAE6 + .string "Cancel decorating?$" + +gSecretBaseText_InUseAlready:: @ 840FAF9 + .string "This is in use already.$" + +gSecretBaseText_NoMoreDecor:: @ 840FB11 + .string "No more decorations can be placed.\nThe most that can be placed is {STR_VAR_1}.$" + +gSecretBaseText_NoMoreDecor2:: @ 840FB57 + .string "No more decorations can be placed.\nThe most that can be placed is {STR_VAR_1}.$" + .string "This can’t be placed here.\nIt must be on a DESK, etc.$" + +gSecretBaseText_DecorCantPlace:: @ 840FBD3 + .string "This decoration can’t be placed in\nyour own room.$" + +gSecretBaseText_DecorInUse:: @ 840FC05 + .string "This decoration is in use.\nIt can’t be thrown away.$" + +gSecretBaseText_WillBeDiscarded:: @ 840FC39 + .string "This {STR_VAR_1} will be discarded.\nIs that okay?$" + +gSecretBaseText_DecorThrownAway:: @ 840FC62 + .string "The decoration item was thrown away.$" + +gSecretBaseText_StopPuttingAwayDecor:: @ 840FC87 + .string "Stop putting away decorations?$" + +gSecretBaseText_NoDecor:: @ 840FCA6 + .string "There is no decoration item here.$" + +gSecretBaseText_ReturnDecor:: @ 840FCC8 + .string "Return this decoration to the PC?$" + +gSecretBaseText_DecorReturned:: @ 840FCEA + .string "The decoration was returned to the PC.$" + +gSecretBaseText_NoDecorInUse:: @ 840FD11 + .string "There are no decorations in use.{PAUSE_UNTIL_PRESS}$" + +SecretBaseText_Tristan:: + .string "TRISTAN$" +SecretBaseText_Philip:: + .string "PHILIP$" +SecretBaseText_Dennis:: + .string "DENNIS$" +SecretBaseText_Roberto:: + .string "ROBERTO$" +SecretBaseText_TurnOff:: + .string "TURN OFF$" +SecretBaseText_Decoration:: + .string "DECORATION$" +SecretBaseText_ItemStorage:: + .string "ITEM STORAGE$" + +gPCText_Mailbox:: @ 840FD73 + .string "MAILBOX$" + +PCText_DepositItem:: + .string "DEPOSIT ITEM$" +PCText_WithdrawItem:: + .string "WITHDRAW ITEM$" +PCText_TossItem:: + .string "TOSS ITEM$" +PCText_StoreItems:: + .string "Store items in the PC.$" +PCText_TakeOutItems:: + .string "Take out items from the PC.$" +PCText_ThrowAwayItems:: + .string "Throw away items stored in the PC.$" + +gOtherText_NoItems:: @ 840FDF6 + .string "There are no items.{PAUSE_UNTIL_PRESS}$" + +gOtherText_NoMoreRoom:: @ 840FE0C + .string "There is no more\nroom in the BAG.$" + +gOtherText_HowManyToWithdraw:: @ 840FE2E + .string "How many do you\nwant to withdraw?$" + +gOtherText_WithdrewThing:: @ 840FE50 + .string "Withdrew {STR_VAR_2}\n{STR_VAR_1}(s).$" + +OtherText_Read: + .string "READ$" + +gOtherText_MoveToBag:: @ 840FE68 + .string "MOVE TO BAG$" + +OtherText_Give: + .string "GIVE$" + +gOtherText_NoMailHere:: @ 840FE79 + .string "There’s no MAIL here.{PAUSE_UNTIL_PRESS}$" + +gOtherText_WhatWillYouDoMail:: @ 840FE91 + .string "What would you like to do with\n{STR_VAR_1}’s MAIL?$" + +gOtherText_MessageWillBeLost:: @ 840FEBB + .string "The message will be lost.\nIs that okay?$" + +gOtherText_BagIsFull:: @ 840FEE3 + .string "The BAG is full.{PAUSE_UNTIL_PRESS}$" + +gOtherText_MailWasReturned:: @ 840FEF6 + .string "The MAIL was returned to the BAG\nwith its message erased.{PAUSE_UNTIL_PRESS}$" + +gOtherText_Dad:: @ 840FF32 + .string "DAD$" + +gOtherText_Mom:: @ 840FF36 + .string "MOM$" + +gOtherText_Wallace:: @ 840FF3A + .string "WALLACE$" + +gOtherText_Steven:: @ 840FF42 + .string "STEVEN$" + +gOtherText_Brawly:: @ 840FF49 + .string "BRAWLY$" + +gOtherText_Winona:: @ 840FF50 + .string "WINONA$" + +gOtherText_Phoebe:: @ 840FF57 + .string "PHOEBE$" + +gOtherText_Glacia:: @ 840FF5E + .string "GLACIA$" + +gContestText_ContestWinner:: @ 840FF65 + .string "CONTEST WINNER\n$" + +gOtherText_Unknown1:: @ 840FF75 + .string "’s $" + +OtherText_Cool:: + .string "COOL $" +OtherText_Beauty2:: + .string "BEAUTY $" +OtherText_Cute:: + .string "CUTE $" +OtherText_Smart:: + .string "SMART $" +OtherText_Tough:: + .string "TOUGH $" +OtherText_NonstopSuperCool:: + .string "Nonstop super-cool -\nthe inestimable $" +OtherText_Terminator6:: + .string "$" +OtherText_GoodLookingPoke:: + .string "Hey, there!\nThe good-looking POKéMON $" +OtherText_Terminator7:: + .string "$" +OtherText_MarvelousGreat:: + .string "The marvelous, wonderful, and\nvery great $" +OtherText_Terminator8:: + .string "$" +OtherText_CenturyLastVenus:: + .string "This century’s last Venus -\nthe beautiful $" +OtherText_Terminator9:: + .string "$" +OtherText_Terminator10:: + .string "$" +OtherText_DazzlingSlime:: + .string "’s dazzling,\nglittering smile$" +OtherText_PokeCenterIdol:: + .string "POKéMON CENTER’s super idol -\nthe incomparable $" +OtherText_Terminator11:: + .string "$" +OtherText_LovelyAndSweet:: + .string "The lovely and sweet $" +OtherText_Terminator12:: + .string "$" +OtherText_ThePretty:: + .string "The pretty $" +OtherText_WinningPortrait:: + .string "’s\nwinning portrait$" +OtherText_GiveUsWink:: + .string "Give us a wink!\nThe cutie POKéMON $" +OtherText_Terminator13:: + .string "$" +OtherText_SmartnessMaestro:: + .string "The smartness maestro -\nThe wise POKéMON $" +OtherText_Terminator14:: + .string "$" +OtherText_ChosenPokeAmong:: + .string "The chosen POKéMON -\nThe one among POKéMON $" +OtherText_Terminator15:: + .string "$" +OtherText_TheExcellent:: + .string "The excellent $" +OtherText_ItsMomentOfElegance:: + .string "’s\nmoment of elegance$" +OtherText_PowerfullyMuscular:: + .string "The powerfully muscular\nspeedster $" +OtherText_Terminator16:: + .string "$" +OtherText_StrongErEst:: + .string "The strong, stronger, and\nstrongest $" +OtherText_Terminator17:: + .string "$" +OtherText_MightyTough:: + .string "The mighty tough\nhyper POKéMON $" +OtherText_Exclamation:: + .string "!$" +OtherText_Petalburg:: + .string "PETALBURG$" +OtherText_Slateport:: + .string "SLATEPORT$" +OtherText_Littleroot:: + .string "LITTLEROOT$" +OtherText_Lilycove:: + .string "LILYCOVE$" +OtherText_Dewford:: + .string "DEWFORD$" +OtherText_Enter:: + .string "ENTER$" +OtherText_Info3:: + .string "INFO$" +OtherText_WhatsAContest:: + .string "What’s a CONTEST?$" +OtherText_TypesOfContest:: + .string "Types of CONTESTS$" +OtherText_Ranks:: + .string "Ranks$" +OtherText_Judging:: + .string "Judging$" +OtherText_CoolContest:: + .string "COOL CONTEST$" +OtherText_BeautyContest:: + .string "BEAUTY CONTEST$" +OtherText_CuteContest:: + .string "CUTE CONTEST$" +OtherText_SmartContest:: + .string "SMART CONTEST$" +OtherText_ToughContest:: + .string "TOUGH CONTEST$" +OtherText_Decoration:: + .string "DECORATION$" +OtherText_PackUp:: + .string "PACK UP$" +OtherText_Count:: + .string "COUNT$" +OtherText_Registry:: + .string "REGISTRY$" +OtherText_Information:: + .string "INFORMATION$" +OtherText_Mach:: + .string "MACH$" +OtherText_Acro:: + .string "ACRO$" +OtherText_Poison:: + .string "PSN$" +OtherText_Paralysis:: + .string "PAR$" +OtherText_Sleep:: + .string "SLP$" +OtherText_Burn:: + .string "BRN$" +OtherText_Frozen:: + .string "FRZ$" +OtherText_Quit:: + .string "QUIT$" +OtherText_SawIt:: + .string "Saw it$" +OtherText_NotYet:: + .string "Not yet$" +OtherText_Yes:: + .string "YES$" +OtherText_No:: + .string "NO$" +OtherText_Info2:: + .string "INFO$" +OtherText_SingleBattle:: + .string "SINGLE BATTLE$" +OtherText_DoubleBattle:: + .string "DOUBLE BATTLE$" +OtherText_MultiBattle:: + .string "MULTI BATTLE$" +OtherText_MrBriney:: + .string "MR. BRINEY$" +OtherText_MakeAChallenge:: + .string "Make a challenge.$" +OtherText_ObtainInformation:: + .string "Obtain information.$" +OtherText_Lv50_2:: + .string "LV. 50$" +OtherText_Lv100_2:: + .string "LV. 100$" +OtherText_Zigzagoon:: + .string "ZIGZAGOON$" +OtherText_Nincada:: + .string "NINCADA$" +OtherText_Poochyena:: + .string "POOCHYENA$" +OtherText_Nincada2:: + .string "NINCADA$" +OtherText_Lotad:: + .string "LOTAD$" +OtherText_Roselia:: + .string "ROSELIA$" +OtherText_Shroomish:: + .string "SHROOMISH$" +OtherText_Nincada3:: + .string "NINCADA$" +OtherText_Surskit:: + .string "SURSKIT$" +OtherText_Treecko:: + .string "TREECKO$" +OtherText_Torchic:: + .string "TORCHIC$" +OtherText_Mudkip:: + .string "MUDKIP$" +OtherText_Seedot:: + .string "SEEDOT$" +OtherText_Shroomish2:: + .string "SHROOMISH$" +OtherText_Spinda:: + .string "SPINDA$" +OtherText_Shroomish3:: + .string "SHROOMISH$" +OtherText_Zigzagoon2:: + .string "ZIGZAGOON$" +OtherText_Wurmple:: + .string "WURMPLE$" +OtherText_PokeBall:: + .string "POKé BALL$" +OtherText_SuperPotion:: + .string "SUPER POTION$" +OtherText_SamePrice:: + .string "Same price$" +OtherText_Yen135:: + .string "¥135$" +OtherText_Yen155:: + .string "¥155$" +OtherText_Yen175:: + .string "¥175$" +OtherText_CostMore:: + .string "They will cost more.$" +OtherText_CostLess:: + .string "They will cost less.$" +OtherText_SamePrice2:: + .string "Same price$" +OtherText_MaleSymbol:: + .string "♂$" +OtherText_FemaleSymbol:: + .string "♀$" +OtherText_Neither:: + .string "Neither$" +OtherText_Males:: + .string "Males$" +OtherText_Females:: + .string "Females$" +OtherText_SameNumber:: + .string "Same number$" +OtherText_Male:: + .string "Male$" +OtherText_Female:: + .string "Female$" +OtherText_ItDepends:: + .string "It depends$" +OtherText_Six2:: + .string "6$" +OtherText_Eight2:: + .string "8$" +OtherText_Ten:: + .string "10$" +OtherText_One:: + .string "1$" +OtherText_Two:: + .string "2$" +OtherText_Three:: + .string "3$" +OtherText_Six:: + .string "6$" +OtherText_Seven:: + .string "7$" +OtherText_Eight:: + .string "8$" +OtherText_FreshWater:: + .string "FRESH WATER{CLEAR_TO 0x48}¥200$" +OtherText_SodaPop:: + .string "SODA POP{CLEAR_TO 0x48}¥300$" +OtherText_Lemonade:: + .string "LEMONADE{CLEAR_TO 0x48}¥350$" +OtherText_HowToRide:: + .string "HOW TO RIDE$" +OtherText_HowToTurn:: + .string "HOW TO TURN$" +OtherText_SandySlopes:: + .string "SANDY SLOPES$" +OtherText_Wheelies:: + .string "WHEELIES$" +OtherText_BunnyHops:: + .string "BUNNY-HOPS$" +OtherText_Jumping:: + .string "JUMPING$" +OtherText_Satisfied:: + .string "Satisfied$" +OtherText_Dissatisfied:: + .string "Dissatisfied$" +OtherText_Deepseatooth:: + .string "DEEPSEATOOTH$" +OtherText_Deepseascale:: + .string "DEEPSEASCALE$" +OtherText_BlueFlute2:: + .string "BLUE FLUTE$" +OtherText_YellowFlute2:: + .string "YELLOW FLUTE$" +OtherText_RedFlute2:: + .string "RED FLUTE$" +OtherText_WhiteFlute2:: + .string "WHITE FLUTE$" +OtherText_BlackFlute2:: + .string "BLACK FLUTE$" +OtherText_GlassChair:: + .string "GLASS CHAIR$" +OtherText_GlassDesk:: + .string "GLASS DESK$" +OtherText_TreeckoDoll:: + .string "TREECKO DOLL 1,000 COINS$" +OtherText_TorchicDoll:: + .string "TORCHIC DOLL 1,000 COINS$" +OtherText_MudkipDoll:: + .string "MUDKIP DOLL 1,000 COINS$" +OtherText_50Coins:: + .string " 50 COINS ¥1,000$" +OtherText_500Coins:: + .string "500 COINS ¥10,000$" +OtherText_Excellent:: + .string "Excellent!$" +OtherText_NotSoHot:: + .string "Not so hot$" +OtherText_RedShard:: + .string "RED SHARD$" +OtherText_YellowShard:: + .string "YELLOW SHARD$" +OtherText_BlueShard:: + .string "BLUE SHARD$" +OtherText_GreenShard:: + .string "GREEN SHARD$" +OtherText_BattleTower:: + .string "BATTLE TOWER$" +OtherText_Right:: + .string "Right$" +OtherText_Left:: + .string "Left$" +OtherText_TM32:: + .string "TM32 1,500 COINS$" +OtherText_TM29:: + .string "TM29 3,500 COINS$" +OtherText_TM35:: + .string "TM35 4,000 COINS$" +OtherText_TM24:: + .string "TM24 4,000 COINS$" +OtherText_TM13:: + .string "TM13 4,000 COINS$" +OtherText_1F_2:: + .string "1F$" +OtherText_2F_2:: + .string "2F$" +OtherText_3F_2:: + .string "3F$" +OtherText_4F_2:: + .string "4F$" +OtherText_5F_2:: + .string "5F$" +OtherText_Cool2:: + .string "COOL$" +OtherText_Beauty3:: + .string "BEAUTY$" +OtherText_Cute2:: + .string "CUTE$" +OtherText_Smart2:: + .string "SMART$" +OtherText_Tough2:: + .string "TOUGH$" +OtherText_Normal:: + .string "NORMAL$" +OtherText_Super:: + .string "SUPER$" +OtherText_Hyper:: + .string "HYPER$" +OtherText_Master:: + .string "MASTER$" +OtherText_Cool3:: + .string "COOL$" +OtherText_Beauty4:: + .string "BEAUTY$" +OtherText_Cute3:: + .string "CUTE$" +OtherText_Smart3:: + .string "SMART$" +OtherText_Tough3:: + .string "TOUGH$" +OtherText_Items:: + .string "ITEMS$" +OtherText_KeyItems:: + .string "KEY ITEMS$" +OtherText_Balls:: + .string "BALLS$" +OtherText_TMsHMs:: + .string "TMs & HMs$" +OtherText_Berries:: + .string "BERRIES$" + +gPCText_SomeonesPC:: @ 8410753 + .string "SOMEONE’S PC$" + +gPCText_LanettesPC:: @ 8410760 + .string "LANETTE’S PC$" + +gPCText_PlayersPC:: @ 841076D + .string "{PLAYER}’s PC$" + +gPCText_HallOfFame:: @ 8410775 + .string "HALL OF FAME$" + +gPCText_LogOff:: @ 8410782 + .string "LOG OFF$" + +gOtherText_99Times:: @ 841078A + .string "99 times +$" + +gOtherText_1Minute:: @ 8410795 + .string "1 minute +$" + +gOtherText_Seconds:: @ 84107A0 + .string " seconds$" + +gOtherText_Times:: @ 84107A9 + .string " times$" + .string ".$" + +gOtherText_BigGuy:: @ 84107B2 + .string "Big guy$" + +gOtherText_BigGirl:: @ 84107BA + .string "Big girl$" + +gOtherText_Son:: @ 84107C3 + .string "son$" + +gOtherText_Daughter:: @ 84107C7 + .string "daughter$" + +OtherText_BlueFlute: + .string "BLUE FLUTE$" +OtherText_YellowFlute: + .string "YELLOW FLUTE$" +OtherText_RedFlute: + .string "RED FLUTE$" +OtherText_WhiteFlute: + .string "WHITE FLUTE$" +OtherText_BlackFlute: + .string "BLACK FLUTE$" +OtherText_PrettyChair: + .string "PRETTY CHAIR$" +OtherText_PrettyDesk: + .string "PRETTY DESK$" +OtherText_1F: + .string "1F$" +OtherText_2F: + .string "2F$" +OtherText_3F: + .string "3F$" +OtherText_4F: + .string "4F$" +OtherText_5F: + .string "5F$" +OtherText_6F: + .string "6F$" +OtherText_7F: + .string "7F$" +OtherText_8F: + .string "8F$" +OtherText_9F: + .string "9F$" +OtherText_10F: + .string "10F$" +OtherText_11F: + .string "11F$" +OtherText_B1F: + .string "B1F$" +OtherText_B2F: + .string "B2F$" +OtherText_B3F: + .string "B3F$" +OtherText_B4F: + .string "B4F$" +OtherText_Rooftop: + .string "ROOFTOP$" + +gOtherText_NowOn:: @ 841085E + .string "Now on:$" + +gPCText_Cancel:: @ 8410866 + .string "CANCEL$" + +PCText_ExitBox: + .string "Exit from the BOX.$" +PCText_WhatYouDo: + .string "What would you like to do?$" +PCText_PickATheme: + .string "Please pick a theme.$" +PCText_PickAWallpaper: + .string "Please pick out wallpaper.$" +PCText_IsSelected: + .string " is selected.$" +PCText_JumpToWhichBox: + .string "Jump to which BOX?$" +PCText_DepositInWhichBox: + .string "Deposit in which BOX?$" +PCText_WasDeposited: + .string " was deposited.$" +PCText_BoxIsFull: + .string "The BOX is full.$" +PCText_ReleasePoke: + .string "Release this POKéMON?$" +PCText_WasReleased: + .string " was released.$" +PCText_ByeBye: + .string "Bye-bye, !$" +PCText_MarkPoke: + .string "Mark your POKéMON.$" +PCText_LastPoke: + .string "That’s your last POKéMON!$" +PCText_PartyFull: + .string "Your party’s full!$" +PCText_HoldingPoke: + .string "You’re holding a POKéMON!$" +PCText_WhichOneWillTake: + .string "Which one will you take?$" +PCText_CantReleaseEgg: + .string "You can’t release an EGG.$" +PCText_ContinueBox: + .string "Continue BOX operations?$" +PCText_CameBack: + .string " came back!$" +PCText_Worried: + .string "Was it worried about you?$" +PCText_Surprise: + .string "... ... ... ... ...!$" +PCText_PleaseRemoveMail: + .string "Please remove the MAIL.$" +PCText_Cancel2: + .string "CANCEL$" +PCText_Deposit: + .string "DEPOSIT$" +PCText_Withdraw: + .string "WITHDRAW$" +PCText_Switch: + .string "SWITCH$" +PCText_Move: + .string "MOVE$" +PCText_Place: + .string "PLACE$" +PCText_Summary: + .string "SUMMARY$" +PCText_Release: + .string "RELEASE$" +PCText_Mark: + .string "MARK$" +PCText_Name: + .string "NAME$" +PCText_Jump: + .string "JUMP$" +PCText_Wallpaper: + .string "WALLPAPER$" +PCText_Scenery1: + .string "SCENERY 1$" +PCText_Scenery2: + .string "SCENERY 2$" +PCText_Scenery3: + .string "SCENERY 3$" +PCText_Etc: + .string "ETCETERA$" +PCText_Forest: + .string "FOREST$" +PCText_City: + .string "CITY$" +PCText_Desert: + .string "DESERT$" +PCText_Savanna: + .string "SAVANNA$" +PCText_Crag: + .string "CRAG$" +PCText_Volcano: + .string "VOLCANO$" +PCText_Snow: + .string "SNOW$" +PCText_Cave: + .string "CAVE$" +PCText_Beach: + .string "BEACH$" +PCText_Seafloor: + .string "SEAFLOOR$" +PCText_River: + .string "RIVER$" +PCText_Sky: + .string "SKY$" +PCText_Polka: + .string "POLKA-DOT$" +PCText_PokeCenter: + .string "POKéCENTER$" +PCText_Machine: + .string "MACHINE$" +PCText_Plain: + .string "PLAIN$" +PCText_WhatDoYouWant: + .string "What do you want?$" +PCText_WithdrawPoke: + .string "WITHDRAW POKéMON$" +PCText_DepositPoke: + .string "DEPOSIT POKéMON$" +PCText_MovePoke: + .string "MOVE POKéMON$" +PCText_SeeYa: + .string "SEE YA!$" +PCText_MovePokeToParty: + .string "Move POKéMON stored in BOXES to\nyour party.$" +PCText_StorePokeInBox: + .string "Store POKéMON in your party in BOXES.$" +PCText_OrganizeBoxesParty: + .string "Organize the POKéMON in BOXES and\nin your party.$" +PCText_ReturnToPrevMenu: + .string "Return to the previous menu.$" + +gPCText_OnlyOne:: @ 8410C1C + .string "There is just one POKéMON with you.$" + +gPCText_PartyFull2:: @ 8410C40 + .string "Your party is full!$" + +gPCText_BOX:: @ 8410C54 + .string "BOX$" + +PCText_CheckMap: + .string "{CLEAR 0}Check the map of the HOENN region.$" +PCText_CheckPoke: + .string "{CLEAR 0}Check POKéMON in detail.$" +PCText_CheckTrainer: + .string "{CLEAR 0}Check TRAINER information.$" +PCText_CheckRibbons: + .string "{CLEAR 0}Check obtained RIBBONS.$" +PCText_PutAwayNav: + .string "{CLEAR 0}Put away the POKéNAV.$" +PCText_NoRibbonWin: + .string "{CLEAR 0}There are no RIBBON winners.$" +PCText_NoTrainers: + .string "{CLEAR 0}No TRAINERS are registered.$" +PCText_CheckParty: + .string "{CLEAR 0}Check party POKéMON in detail.$" +PCText_CheckPokeAll: + .string "{CLEAR 0}Check all POKéMON in detail.$" +PCText_ReturnToNav: + .string "{CLEAR 0}Return to the POKéNAV menu.$" +PCText_FindCool: + .string "{CLEAR 0}Find cool POKéMON.$" +PCText_FindBeauty: + .string "{CLEAR 0}Find beautiful POKéMON.$" +PCText_FindCute: + .string "{CLEAR 0}Find cute POKéMON.$" +PCText_FindSmart: + .string "{CLEAR 0}Find smart POKéMON.$" +PCText_FindTough: + .string "{CLEAR 0}Find tough POKéMON.$" +PCText_ReturnToCondition: + .string "{CLEAR 0}Return to the CONDITION menu.$" + +gOtherText_NumberRegistered:: @ 8410E22 + .string "No. registered$" + +gOtherText_NumberBattles:: @ 8410E31 + .string "No. of battles$" + +gOtherText_Strategy:: @ 8410E40 + .string "{PALETTE 5}STRATEGY$" + +gOtherText_TrainersPokemon:: @ 8410E4C + .string "{PALETTE 5}TRAINER’S POKéMON$" + +gOtherText_SelfIntroduction:: @ 8410E61 + .string "{PALETTE 5}SELF-INTRODUCTION$" + +gOtherText_Nature2:: @ 8410E76 + .string "NATURE/$" + +gOtherText_InParty:: @ 8410E7E + .string "IN PARTY$" + +gOtherText_Number:: @ 8410E87 + .string "No. $" + +gOtherText_Ribbons:: @ 8410E8C + .string "RIBBONS$" + +OtherText_MakeProfilePage1:: + .string "Make your profile by combining$" +OtherText_MakeProfilePage2:: + .string "four words or phrases.$" +OtherText_MakeMessagePage1:: + .string "Make a message with 6 phrases.$" +OtherText_MakeMessagePage2:: + .string "Max. two 12-letter phrases/line.$" +OtherText_DescribeFeelingsPage1:: + .string "Find words that describe your$" +OtherText_DescribeFeelingsPage2:: + .string "feelings right now.$" +OtherText_WithFourPhrases:: + .string "With four phrases,$" +OtherText_CombineNinePhrasesPage1:: + .string "Combine nine phrases and$" +OtherText_CombineNinePhrasesPage2:: + .string "make a message.$" +OtherText_ImproveBardSongPage1:: + .string "Change just one word or phrase$" +OtherText_ImproveBardSongPage2:: + .string "and improve the BARD’s song.$" +OtherText_YourProfile:: + .string "Your profile $" +OtherText_YourFeelingBattle:: + .string "Your feeling at the battle’s start$" +OtherText_SetWinMessage:: + .string "What you say if you win a battle$" +OtherText_SetLossMessage:: + .string "What you say if you lose a battle$" +OtherText_TheAnswer:: + .string "The answer$" +OtherText_MailMessage:: + .string "The MAIL message$" +OtherText_MailSalutation:: + .string "The MAIL salutation$" +OtherText_NewSong:: + .string "The new song$" +OtherText_CombineTwoPhrasesPage1:: + .string "Combine two phrases and$" +OtherText_CombineTwoPhrasesPage2:: + .string "make a trendy saying.$" +OtherText_ConfirmTrendyPage1:: + .string "The trendy saying$" +OtherText_ConfirmTrendyPage2:: + .string "is as shown. Okay?$" +OtherText_HipsterPage1:: + .string "I’ll combine two phrases and$" +OtherText_HipsterPage2:: + .string "teach you a good saying.$" + +gOtherText_TextDeletedConfirmPage1:: @ 84110EE + .string "All the text being edited will$" + +gOtherText_TextDeletedConfirmPage2:: @ 841110D + .string "be deleted. Is that okay?$" + +gOtherText_QuitEditing:: @ 8411127 + .string "Quit editing?$" + +gOtherText_EditedTextNoSavePage1:: @ 8411135 + .string "The edited text will not be saved.$" + +gOtherText_EditedTextNoSavePage2:: @ 8411158 + .string "Is that okay?$" + +gOtherText_EnterAPhraseOrWord:: @ 8411166 + .string "Please enter a phrase or word.$" + +gOtherText_TextNoDelete:: @ 8411185 + .string "The entire text can’t be deleted.$" + +gOtherText_OnlyOnePhrase:: @ 84111A7 + .string "Only one phrase may be changed.$" + +gOtherText_OriginalSongRestored:: @ 84111C7 + .string "The original song will be restored.$" + +gOtherText_TrendyAlready:: @ 84111EB + .string "That’s trendy already!$" + +gOtherText_CombineTwoPhrases:: @ 8411202 + .string "Combine two words or phrases.$" + +gOtherText_QuitGivingInfo:: @ 8411220 + .string "Quit giving information?$" + +gOtherText_StopGivingMail:: @ 8411239 + .string "Stop giving the POKéMON MAIL?$" + +gOtherText_Profile:: @ 8411257 + .string "PROFILE$" + +gOtherText_AtBattleStart:: @ 841125F + .string "At the battle’s start.$" + +gOtherText_UponWinningBattle:: @ 8411276 + .string "Upon winning a battle.$" + +gOtherText_UponLosingBattle:: @ 841128D + .string "Upon losing a battle.$" + +gOtherText_TheBardsSong:: @ 84112A3 + .string "The BARD’s Song$" + +gOtherText_WhatsHipHappening:: @ 84112B3 + .string "What’s hip and happening?$" + +gOtherText_Interview:: @ 84112CD + .string "Interview$" + +gOtherText_GoodSaying:: @ 84112D7 + .string "Good saying$" + +OtherText_SoPretty:: + .string " so pretty!$" +OtherText_SoDarling:: + .string " so darling!$" +OtherText_SoRelaxed:: + .string " so relaxed!$" +OtherText_SoSunny:: + .string " so sunny!$" +OtherText_SoDesirable:: + .string " so desirable!$" +OtherText_SoExciting:: + .string " so exciting!$" +OtherText_SoAmusing:: + .string " so amusing!$" +OtherText_SoMagical:: + .string " so magical!$" + +gOtherText_Is:: @ 841134B + .string " is$" + +gOtherText_DontYouAgree:: @ 841134F + .string "\nDon’t you agree?$" + +OtherText_WantVacationNicePlace:: + .string "I so want to go on a vacation.\nWould you happen to know a nice place?$" +OtherText_BoughtCrayonsIsNice:: + .string "I bought crayons with 120 colors!\nDon’t you think that’s nice?$" +OtherText_IfWeCouldFloat:: + .string "Wouldn’t it be nice if we could float\naway on a cloud of bubbles?$" +OtherText_SandWashesAwayMakeSad:: + .string "When you write on a sandy beach,\nthey wash away. It makes me sad.$" +OtherText_WhatsBottomSeaLike:: + .string "What’s the bottom of the sea like?\nJust once I would so love to go!$" +OtherText_SeeSettingSun:: + .string "When you see the setting sun, does it\nmake you want to go home?$" +OtherText_LyingInGreenGrass:: + .string "Lying back in the green grass...\nOh, it’s so, so nice!$" +OtherText_SecretBasesWonderful:: + .string "SECRET BASES are so wonderful!\nCan’t you feel the excitement?$" +OtherText_PokeLeague:: + .string "POKéMON LEAGUE$" +OtherText_PokeCenter:: + .string "POKéMON CENTER$" + +gOtherText_GetsAPokeBlock:: @ 8411581 + .string " gets a {POKEBLOCK}?$" + +OtherText_Coolness:: + .string "Coolness $" +OtherText_Beauty:: + .string "Beauty $" +OtherText_Cuteness:: + .string "Cuteness $" +OtherText_Smartness:: + .string "Smartness $" +OtherText_Toughness:: + .string "Toughness $" + +gOtherText_WasEnhanced:: @ 84115C2 + .string "was enhanced!$" + +gOtherText_NothingChanged:: @ 84115D0 + .string "Nothing changed!$" + +gOtherText_WontEat:: @ 84115E1 + .string "It won’t eat anymore...$" + +gSystemText_SaveFailedBackupCheck:: @ 84115F9 + .string "Save failed.\nChecking the backup memory...\nPlease wait.\n{COLOR RED}“Time required: 1 minute”$" + +gSystemText_BackupDamagedGameContinue:: @ 841164E + .string "The backup memory is damaged or\nthe internal battery has run dry.\nThe game can be played. However,\nprogress cannot be saved.$" + +gSystemText_GameplayEnded:: @ 84116CB + .string "{COLOR RED}“Gameplay cannot be continued.\nReturning to the title screen...”$" + +gSystemText_CheckCompleteSaveAttempt:: @ 841170F + .string "Check completed.\nAttempting to save again.\nPlease wait.$" + +gSystemText_SaveCompletedGameEnd:: @ 8411747 + .string "Save completed.\n{COLOR RED}“Gameplay cannot be continued.\nReturning to the title screen.”$" + +gSystemText_SaveCompletedPressA:: @ 8411799 + .string "Save completed.\n{COLOR RED}“Please press the A Button.”$" + +gOtherText_Ferry:: @ 84117C9 + .string "FERRY$" + +gOtherText_SecretBase:: @ 84117CF + .string "SECRET BASE$" + +gOtherText_Hideout:: @ 84117DB + .string "HIDEOUT$" + +gSystemText_ResetRTCPrompt:: @ 84117E3 + .string "Reset RTC?\nA: Confirm, B: Cancel$" + +gSystemText_PresentTime:: @ 8411804 + .string "Present time in game$" + +gSystemText_PreviousTime:: @ 8411819 + .string "Previous time in game$" + +gSystemText_PleaseResetTime:: @ 841182F + .string "Please reset the time.$" + +gSystemText_ClockResetDataSave:: @ 8411846 + .string "The clock has been reset.\nData will be saved. Please wait.$" + +gSystemText_SaveCompleted:: @ 8411881 + .string "Save completed.$" + +gSystemText_SaveFailed:: @ 8411891 + .string "Save failed...$" + +gSystemText_NoSaveFileNoTime:: @ 84118A0 + .string "There is no save file, so the time\ncan’t be set.$" + +gSystemText_ClockAdjustmentUsable:: @ 84118D1 + .string "The in-game clock adjustment system\nis now useable.$" + +gSystemText_Saving:: @ 8411905 + .string "SAVING...\nDON’T TURN OFF THE POWER.$" + + .align 2 +gUnknown_0841192C:: @ 841192C + .4byte ContestStatsText_VerySoft + .4byte ContestStatsText_Soft + .4byte ContestStatsText_Hard + .4byte ContestStatsText_VeryHard + .4byte ContestStatsText_SuperHard + +gUnknown_08411940:: @ 8411940 + .incbin "baserom.gba", 0x00411940, 0x8 + +gUnknown_08411948:: @ 8411948 + .incbin "baserom.gba", 0x00411948, 0x18 + +gSaveFailedClockPal:: @ 8411960 + .incbin "graphics/misc/clock_small.gbapal" + +gSaveFailedClockGfx:: @ 8411980 + .incbin "graphics/misc/clock_small.4bpp.lz" + +@ 8411A10 + .include "data/mon_pokeblock_anims.inc" + + .align 2 +gSpriteAffineAnim_8411E90:: @ 8411E90 + obj_rot_scal_anim_frame 0xFF00, 0x100, 0, 0 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_8411EA0:: @ 8411EA0 + obj_rot_scal_anim_frame 0x0, 0x0, 12, 1 + obj_rot_scal_anim_frame 0x0, 0x0, 0, 30 + obj_rot_scal_anim_frame 0x0, 0x0, -12, 1 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_8411EC0:: @ 8411EC0 + obj_rot_scal_anim_frame 0xFF00, 0x100, 0, 0 + obj_rot_scal_anim_frame 0x0, 0x0, 12, 1 + obj_rot_scal_anim_frame 0x0, 0x0, 0, 28 + obj_rot_scal_anim_frame 0x0, 0x0, -4, 3 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_8411EE8:: @ 8411EE8 + obj_rot_scal_anim_frame 0x0, 0x0, 1, 16 + obj_rot_scal_anim_frame 0x0, 0x0, -1, 32 + obj_rot_scal_anim_frame 0x0, 0x0, 1, 16 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_8411F08:: @ 8411F08 + obj_rot_scal_anim_frame 0xFF00, 0x100, 0, 0 + obj_rot_scal_anim_frame 0x0, 0x0, 1, 16 + obj_rot_scal_anim_frame 0x0, 0x0, -1, 32 + obj_rot_scal_anim_frame 0x0, 0x0, 1, 16 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_8411F30:: @ 8411F30 + obj_rot_scal_anim_frame 0x0, 0x0, -1, 8 + obj_rot_scal_anim_frame 0x0, 0x0, 0, 16 + obj_rot_scal_anim_frame 0x0, 0x0, 1, 8 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_8411F50:: @ 8411F50 + obj_rot_scal_anim_frame 0xFF00, 0x100, 0, 0 + obj_rot_scal_anim_frame 0x0, 0x0, -1, 8 + obj_rot_scal_anim_frame 0x0, 0x0, 0, 16 + obj_rot_scal_anim_frame 0x0, 0x0, 1, 8 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_8411F78:: @ 8411F78 + obj_rot_scal_anim_frame 0x0, 0x0, -1, 8 + obj_rot_scal_anim_frame 0x0, 0x0, 0, 32 + obj_rot_scal_anim_frame 0x0, 0x0, 1, 8 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_8411F98:: @ 8411F98 + obj_rot_scal_anim_frame 0xFF00, 0x100, 0, 0 + obj_rot_scal_anim_frame 0x0, 0x0, -1, 8 + obj_rot_scal_anim_frame 0x0, 0x0, 0, 32 + obj_rot_scal_anim_frame 0x0, 0x0, 1, 8 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_8411FC0:: @ 8411FC0 + obj_rot_scal_anim_frame 0x0, 0x0, -1, 4 + obj_rot_scal_anim_frame 0x0, 0x0, 0, 24 + obj_rot_scal_anim_frame 0x0, 0x0, 1, 4 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_8411FE0:: @ 8411FE0 + obj_rot_scal_anim_frame 0xFF00, 0x100, 0, 0 + obj_rot_scal_anim_frame 0x0, 0x0, -1, 4 + obj_rot_scal_anim_frame 0x0, 0x0, 0, 24 + obj_rot_scal_anim_frame 0x0, 0x0, 1, 4 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_8412008:: @ 8412008 + obj_rot_scal_anim_frame 0x0, 0x0, 1, 24 + obj_rot_scal_anim_frame 0x0, 0x0, 0, 16 + obj_rot_scal_anim_frame 0x0, 0x0, -12, 2 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_8412028:: @ 8412028 + obj_rot_scal_anim_frame 0xFF00, 0x100, 0, 0 + obj_rot_scal_anim_frame 0x0, 0x0, 1, 24 + obj_rot_scal_anim_frame 0x0, 0x0, 0, 16 + obj_rot_scal_anim_frame 0x0, 0x0, -12, 2 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_8412050:: @ 8412050 + .4byte gSpriteAffineAnim_8411E90 + .4byte gSpriteAffineAnim_8411EA0 + .4byte gSpriteAffineAnim_8411EE8 + .4byte gSpriteAffineAnim_8411F30 + .4byte gSpriteAffineAnim_8411F78 + .4byte gSpriteAffineAnim_8411FC0 + .4byte gSpriteAffineAnim_8412008 + .4byte gSpriteAffineAnim_8411E90 + .4byte gSpriteAffineAnim_8411E90 + .4byte gSpriteAffineAnim_8411E90 + .4byte gSpriteAffineAnim_8411E90 + .4byte gSpriteAffineAnim_8411EC0 + .4byte gSpriteAffineAnim_8411F08 + .4byte gSpriteAffineAnim_8411F50 + .4byte gSpriteAffineAnim_8411F98 + .4byte gSpriteAffineAnim_8411FE0 + .4byte gSpriteAffineAnim_8412028 + .4byte gSpriteAffineAnim_8411E90 + .4byte gSpriteAffineAnim_8411E90 + .4byte gSpriteAffineAnim_8411E90 + .4byte gSpriteAffineAnim_8411E90 + + .align 2 +gUnknown_084120A4:: @ 84120A4 + .4byte gPokeblockRed_Pal + .4byte gPokeblockBlue_Pal + .4byte gPokeblockPink_Pal + .4byte gPokeblockGreen_Pal + .4byte gPokeblockYellow_Pal + .4byte gPokeblockPurple_Pal + .4byte gPokeblockIndigo_Pal + .4byte gPokeblockBrown_Pal + .4byte gPokeblockLiteBlue_Pal + .4byte gPokeblockOlive_Pal + .4byte gPokeblockGray_Pal + .4byte gPokeblockBlack_Pal + .4byte gPokeblockWhite_Pal + .4byte gPokeblockGold_Pal + + .align 2 +gSpriteAffineAnim_84120DC:: @ 84120DC + obj_rot_scal_anim_frame 0xFF00, 0x100, 0, 0 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_84120EC:: @ 84120EC + .4byte gSpriteAffineAnim_84120DC + + .align 2 +gSpriteAffineAnim_84120F0:: @ 84120F0 + obj_rot_scal_anim_frame 0xFF00, 0x100, 0, 0 + obj_rot_scal_anim_frame 0x0, 0x0, -8, 1 + obj_rot_scal_anim_frame 0x0, 0x0, -8, 1 + obj_rot_scal_anim_frame 0x0, 0x0, -8, 1 + obj_rot_scal_anim_frame 0x0, 0x0, -8, 1 + obj_rot_scal_anim_frame 0x0, 0x0, 0, 8 + obj_rot_scal_anim_frame 0x0, 0x0, 16, 1 + obj_rot_scal_anim_frame 0x0, 0x0, 16, 1 + obj_rot_scal_anim_frame 0x0, 0x0, 16, 1 + obj_rot_scal_anim_frame 0xFF00, 0x100, 0, 0 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_8412148:: @ 8412148 + obj_rot_scal_anim_frame 0xFF00, 0x100, 0, 0 + obj_rot_scal_anim_frame 0x0, 0x0, 8, 1 + obj_rot_scal_anim_frame 0x0, 0x0, 8, 1 + obj_rot_scal_anim_frame 0x0, 0x0, 8, 1 + obj_rot_scal_anim_frame 0x0, 0x0, 8, 1 + obj_rot_scal_anim_frame 0x0, 0x0, 0, 8 + obj_rot_scal_anim_frame 0x0, 0x0, -16, 1 + obj_rot_scal_anim_frame 0x0, 0x0, -16, 1 + obj_rot_scal_anim_frame 0x0, 0x0, -16, 1 + obj_rot_scal_anim_frame 0xFF00, 0x100, 0, 0 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_84121A0:: @ 84121A0 + .4byte gSpriteAffineAnim_84120DC + + .align 2 +gSpriteAffineAnimTable_84121A4:: @ 84121A4 + .4byte gSpriteAffineAnim_84120F0 + + .align 2 +gSpriteAffineAnimTable_84121A8:: @ 84121A8 + .4byte gSpriteAffineAnim_8412148 + + .align 2 +gOamData_84121AC:: @ 84121AC + .2byte 0x0300 + .2byte 0x0000 + .2byte 0x0400 + + .align 2 +gSpriteAnim_84121B4:: @ 84121B4 + obj_image_anim_frame 0, 0 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_84121BC:: @ 84121BC + .4byte gSpriteAnim_84121B4 + + .align 2 +gSpriteAffineAnim_84121C0:: @ 84121C0 + obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 + obj_rot_scal_anim_frame 0xFFF8, 0xFFF8, 0, 1 + obj_rot_scal_anim_jump 1 + + .align 2 +gSpriteAffineAnimTable_84121D8:: @ 84121D8 + .4byte gSpriteAffineAnim_84121C0 + + .align 2 +gUnknown_084121DC:: @ 84121DC + obj_tiles gPokeblock_Gfx, 0x20, 14818 + + .align 2 +gSpriteTemplate_84121E4:: @ 84121E4 + spr_template 14818, 14818, gOamData_84121AC, gSpriteAnimTable_84121BC, NULL, gSpriteAffineAnimTable_84121D8, sub_81481B0 + +gUnknown_084121FC:: @ 84121FC + .incbin "graphics/intro/intro2_grass.gbapal" + +gUnknown_0841221C:: @ 841221C + .incbin "baserom.gba", 0x0041221c, 0x20 + +gUnknown_0841223C:: @ 841223C + .incbin "baserom.gba", 0x0041223c, 0x20 + + .align 2 +gUnknown_0841225C:: @ 841225C + .incbin "graphics/intro/intro2_grass.4bpp.lz" + + .align 2 +gUnknown_084126DC:: @ 84126DC + .incbin "graphics/intro/intro2_grass_map.bin.lz" + +gUnknown_08412818:: @ 8412818 + .incbin "baserom.gba", 0x00412818, 0x60 + +gUnknown_08412878:: @ 8412878 + .incbin "baserom.gba", 0x00412878, 0x60 + + .align 2 +gUnknown_084128D8:: @ 84128D8 + .incbin "graphics/intro/intro2_bgclouds.4bpp.lz" + + .align 2 +gUnknown_08412EB4:: @ 8412EB4 + .incbin "graphics/intro/intro2_bgclouds_map.bin.lz" + +gUnknown_08413184:: @ 8413184 + .incbin "graphics/intro/intro2_bgclouds.gbapal" + +gUnknown_084131A4:: @ 84131A4 + .incbin "baserom.gba", 0x004131a4, 0x20 + +gUnknown_084131C4:: @ 84131C4 + .incbin "graphics/intro/intro2_bgclouds2.4bpp.lz" + +gUnknown_08413300:: @ 8413300 + .incbin "baserom.gba", 0x00413300, 0x20 + +gUnknown_08413320:: @ 8413320 + .incbin "baserom.gba", 0x00413320, 0x20 + + .align 2 +gUnknown_08413340:: @ 8413340 + .incbin "graphics/intro/intro2_bgtrees.4bpp.lz" + + .align 2 +gUnknown_084139C8:: @ 84139C8 + .incbin "graphics/intro/intro2_bgtrees_map.bin.lz" + + .align 2 +gUnknown_08413CCC:: @ 8413CCC + .incbin "graphics/intro/intro2_bgtrees.gbapal" + + .align 2 +gIntro2TreeTiles:: @ 8413CEC + .incbin "graphics/intro/intro2_bgtreessmall.4bpp.lz" + +gUnknown_08413E38:: @ 8413E38 + .incbin "baserom.gba", 0x00413e38, 0x40 @ two palettes? + + .align 2 +gUnknown_08413E78:: @ 8413E78 + .incbin "graphics/intro/intro2_bgnight.4bpp.lz" @ only used in credits, coupled with intro because bicycle sequence + + .align 2 +gUnknown_08414064:: @ 8414064 + .incbin "graphics/intro/intro2_bgnight.gbapal" + + .align 2 +gUnknown_08414084:: @ 8414084 + .incbin "graphics/intro/intro2_bgnight_map.bin.lz" + + .align 2 +gIntro2NightTiles:: @ 8414330 + .incbin "graphics/intro/intro2_night.4bpp.lz" + + .align 1 +gIntro2BrendanPalette:: @ 84143B4 + .incbin "graphics/intro/intro2_brendan.gbapal" + + .align 2 +gIntro2BrendanTiles:: @ 84143D4 + .incbin "graphics/intro/intro2_brendan.4bpp.lz" + + .align 1 +gIntro2MayPalette:: @ 8414F70 + .incbin "graphics/intro/intro2_may.gbapal" + + .align 2 +gUnknown_08414F90:: @ 8414F90 + .space 0x1E0 + + .align 2 +gIntro2MayTiles:: @ 8415170 + .incbin "graphics/intro/intro2_may.4bpp.lz" + + .align 2 +gIntro2BicycleTiles:: @ 8415E08 + .incbin "graphics/intro/intro2_bicycle.4bpp.lz" + + .align 1 +gIntro2LatiosPalette:: @ 8416234 + .incbin "graphics/intro/intro2_latios.gbapal" + + .align 2 +gIntro2LatiosTiles:: @ 8416254 + .incbin "graphics/intro/intro2_latios.4bpp.lz" + + .align 1 +gIntro2LatiasPalette:: @ 84166F8 + .incbin "graphics/intro/intro2_latias.gbapal" + + .align 2 +gIntro2LatiasTiles:: @ 8416718 + .incbin "graphics/intro/intro2_latias.4bpp.lz" + + .align 2 +gSpriteTemplate_8416B3C:: @ 8416B3C + spr_template 2000, 0xFFFF, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_814910C + + .align 2 +gUnknown_08416B54:: @ 8416B54 + obj_tiles gUnknown_084131C4, 0x400, 2000 + null_obj_tiles + + .align 2 +gSpriteAnim_8416B64:: @ 8416B64 + obj_image_anim_frame 0, 30 + obj_image_anim_end + + .align 2 +gSpriteAnim_8416B6C:: @ 8416B6C + obj_image_anim_frame 16, 30 + obj_image_anim_end + + .align 2 +gSpriteAnim_8416B74:: @ 8416B74 + obj_image_anim_frame 20, 30 + obj_image_anim_end + + .align 2 +gSpriteAnim_8416B7C:: @ 8416B7C + obj_image_anim_frame 22, 30 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_8416B84:: @ 8416B84 + .4byte gSpriteAnim_8416B64 + .4byte gSpriteAnim_8416B6C + .4byte gSpriteAnim_8416B74 + .4byte gSpriteAnim_8416B7C + +gUnknown_08416B94:: @ 8416B94 + .incbin "baserom.gba", 0x00416b94, 0x48 + + .align 2 +gUnknown_08416BDC:: @ 8416BDC + obj_tiles gIntro2TreeTiles, 0x400, 2000 + null_obj_tiles + + .align 2 +gSpriteAnim_8416BEC:: @ 8416BEC + obj_image_anim_frame 0, 30 + obj_image_anim_end + + .align 2 +gSpriteAnim_8416BF4:: @ 8416BF4 + obj_image_anim_frame 16, 30 + obj_image_anim_end + + .align 2 +gSpriteAnim_8416BFC:: @ 8416BFC + obj_image_anim_frame 24, 30 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_8416C04:: @ 8416C04 + .4byte gSpriteAnim_8416BEC + .4byte gSpriteAnim_8416BF4 + .4byte gSpriteAnim_8416BFC + +gUnknown_08416C10:: @ 8416C10 + .incbin "baserom.gba", 0x00416c10, 0x60 + + .align 2 +gUnknown_08416C70:: @ 8416C70 + obj_tiles gIntro2NightTiles, 0x400, 2000 + null_obj_tiles + + .align 2 +gSpriteAnim_8416C80:: @ 8416C80 + obj_image_anim_frame 0, 30 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_8416C88:: @ 8416C88 + .4byte gSpriteAnim_8416C80 + +gUnknown_08416C8C:: @ 8416C8C + .incbin "baserom.gba", 0x00416c8c, 0x30 + + .align 2 +gOamData_8416CBC:: @ 8416CBC + .2byte 0x00A0 + .2byte 0xC000 + .2byte 0x0400 + + .align 2 +gSpriteAnim_8416CC4:: @ 8416CC4 + obj_image_anim_frame 0, 8 + obj_image_anim_frame 64, 8 + obj_image_anim_frame 128, 8 + obj_image_anim_frame 192, 8 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnimTable_8416CD8:: @ 8416CD8 + .4byte gSpriteAnim_8416CC4 + + .align 2 +gSpriteTemplate_8416CDC:: @ 8416CDC + spr_template 1002, 1002, gOamData_8416CBC, gSpriteAnimTable_8416CD8, NULL, gDummySpriteAffineAnimTable, nullsub_82 + + .align 2 +gSpriteTemplate_8416CF4:: @ 8416CF4 + spr_template 1003, 1003, gOamData_8416CBC, gSpriteAnimTable_8416CD8, NULL, gDummySpriteAffineAnimTable, nullsub_82 + + .align 2 +gOamData_8416D0C:: @ 8416D0C + .2byte 0x40A0 + .2byte 0xC000 + .2byte 0x0400 + + .align 2 +gSpriteAnim_8416D14:: @ 8416D14 + obj_image_anim_frame 0, 8 + obj_image_anim_frame 32, 8 + obj_image_anim_frame 64, 8 + obj_image_anim_frame 96, 8 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnimTable_8416D28:: @ 8416D28 + .4byte gSpriteAnim_8416D14 + + .align 2 +gSpriteTemplate_8416D2C:: @ 8416D2C + spr_template 1001, 1002, gOamData_8416D0C, gSpriteAnimTable_8416D28, NULL, gDummySpriteAffineAnimTable, sub_81492A0 + + .align 2 +gSpriteTemplate_8416D44:: @ 8416D44 + spr_template 1001, 1003, gOamData_8416D0C, gSpriteAnimTable_8416D28, NULL, gDummySpriteAffineAnimTable, sub_81492A0 + + .align 2 +gOamData_8416D5C:: @ 8416D5C + .2byte 0x00A0 + .2byte 0xC000 + .2byte 0x0400 + + .align 2 +gSpriteAnim_8416D64:: @ 8416D64 + obj_image_anim_frame 0, 16 + obj_image_anim_end + + .align 2 +gSpriteAnim_8416D6C:: @ 8416D6C + obj_image_anim_frame 64, 16 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_8416D74:: @ 8416D74 + .4byte gSpriteAnim_8416D64 + .4byte gSpriteAnim_8416D6C + + .align 2 +gSpriteTemplate_8416D7C:: @ 8416D7C + spr_template 1004, 1004, gOamData_8416D5C, gSpriteAnimTable_8416D74, NULL, gDummySpriteAffineAnimTable, nullsub_83 + + .align 2 +gSpriteTemplate_8416D94:: @ 8416D94 + spr_template 1005, 1005, gOamData_8416D5C, gSpriteAnimTable_8416D74, NULL, gDummySpriteAffineAnimTable, nullsub_83 + + .align 2 +gIntro2BrendanSpriteSheet:: @ 8416DAC + obj_tiles gIntro2BrendanTiles, 0x3800, 1002 + .space 8 + + .align 2 +gIntro2MaySpriteSheet:: @ 8416DBC + obj_tiles gIntro2MayTiles, 0x3800, 1003 + .space 8 + + .align 2 +gIntro2BicycleSpriteSheet:: @ 8416DCC + obj_tiles gIntro2BicycleTiles, 0x1000, 1001 + .space 8 + + .align 2 +gIntro2LatiosSpriteSheet:: @ 8416DDC + obj_tiles gIntro2LatiosTiles, 0x1000, 1004 + .space 8 + + .align 2 +gIntro2LatiasSpriteSheet:: @ 8416DEC + obj_tiles gIntro2LatiasTiles, 0x1000, 1005 + .space 8 + + .align 2 +gIntro2SpritePalettes:: @ 8416DFC + obj_pal gIntro2BrendanPalette, 1002 + obj_pal gIntro2MayPalette, 1003 + obj_pal gIntro2LatiosPalette, 1004 + obj_pal gIntro2LatiasPalette, 1005 + .space 8 + +gUnknown_08416E24:: @ 8416E24 + obj_tiles gIntro2BrendanTiles, 0x2000, 1002 + .space 8 + +gUnknown_08416E34:: @ 8416E34 + obj_tiles gIntro2MayTiles, 0x2000, 1003 + .space 8 + + .align 2 +gEvoSparklePalette: @ 8416E44 + .incbin "graphics/misc/evo_sparkle.gbapal" + + .align 2 +gEvoSparkleTiles: @ 8416E64 + .incbin "graphics/misc/evo_sparkle.4bpp.lz" + +gUnknown_08416E84:: @ 8416E84 + obj_tiles gEvoSparkleTiles, 0x20, 1001 + .space 8 + +gUnknown_08416E94:: @ 8416E94 + obj_pal gEvoSparklePalette, 1001 + .space 8 + + .align 2 +gOamData_8416EA4:: @ 8416EA4 + .2byte 0x00A0 + .2byte 0x0000 + .2byte 0x0400 + + .align 2 +gSpriteAnim_8416EAC:: @ 8416EAC + obj_image_anim_frame 0, 8 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_8416EB4:: @ 8416EB4 + .4byte gSpriteAnim_8416EAC + + .align 2 +gSpriteTemplate_8416EB8:: @ 8416EB8 + spr_template 1001, 1001, gOamData_8416EA4, gSpriteAnimTable_8416EB4, NULL, gDummySpriteAffineAnimTable, nullsub_84 + +gUnknown_08416ED0:: @ 8416ED0 + .incbin "baserom.gba", 0x00416ed0, 0x38 + +Unknown_8416F08: + .incbin "baserom.gba", 0x00416f08, 0x4 +Unknown_8416F0C: + .incbin "baserom.gba", 0x00416f0c, 0x4 +Unknown_8416F10: + .incbin "baserom.gba", 0x00416f10, 0x4 +Unknown_8416F14: + .incbin "baserom.gba", 0x00416f14, 0x4 +Unknown_8416F18: + .incbin "baserom.gba", 0x00416f18, 0x4 +Unknown_8416F1C: + .incbin "baserom.gba", 0x00416f1c, 0x6 +Unknown_8416F22: + .incbin "baserom.gba", 0x00416f22, 0x6 +Unknown_8416F28: + .incbin "baserom.gba", 0x00416f28, 0x6 +Unknown_8416F2E: + .incbin "baserom.gba", 0x00416f2e, 0x6 +Unknown_8416F34: + .incbin "baserom.gba", 0x00416f34, 0x6 +Unknown_8416F3A: + .incbin "baserom.gba", 0x00416f3a, 0x8 +Unknown_8416F42: + .incbin "baserom.gba", 0x00416f42, 0x8 +Unknown_8416F4A: + .incbin "baserom.gba", 0x00416f4a, 0x8 +Unknown_8416F52: + .incbin "baserom.gba", 0x00416f52, 0x8 +Unknown_8416F5A: + .incbin "baserom.gba", 0x00416f5a, 0x8 +Unknown_8416F62: + .incbin "baserom.gba", 0x00416f62, 0xA +Unknown_8416F6C: + .incbin "baserom.gba", 0x00416f6c, 0xA +Unknown_8416F76: + .incbin "baserom.gba", 0x00416f76, 0xA +Unknown_8416F80: + .incbin "baserom.gba", 0x00416f80, 0xA +Unknown_8416F8A: + .incbin "baserom.gba", 0x00416f8a, 0xA +Unknown_8416F94: + .incbin "baserom.gba", 0x00416f94, 0xC +Unknown_8416FA0: + .incbin "baserom.gba", 0x00416fa0, 0xC +Unknown_8416FAC: + .incbin "baserom.gba", 0x00416fac, 0xC +Unknown_8416FB8: + .incbin "baserom.gba", 0x00416fb8, 0xC +Unknown_8416FC4: + .incbin "baserom.gba", 0x00416fc4, 0xC +Unknown_8416FD0: + .incbin "baserom.gba", 0x00416fd0, 0xE +Unknown_8416FDE: + .incbin "baserom.gba", 0x00416fde, 0xE +Unknown_8416FEC: + .incbin "baserom.gba", 0x00416fec, 0xE +Unknown_8416FFA: + .incbin "baserom.gba", 0x00416ffa, 0xE +Unknown_8417008: + .incbin "baserom.gba", 0x00417008, 0xE +Unknown_8417016: + .incbin "baserom.gba", 0x00417016, 0x10 +Unknown_8417026: + .incbin "baserom.gba", 0x00417026, 0x10 +Unknown_8417036: + .incbin "baserom.gba", 0x00417036, 0x10 +Unknown_8417046: + .incbin "baserom.gba", 0x00417046, 0x10 +Unknown_8417056: + .incbin "baserom.gba", 0x00417056, 0x12 + + .align 2 +gUnknown_08417068:: @ 8417068 + .4byte Unknown_8416F08 + .4byte Unknown_8416F0C + .4byte Unknown_8416F10 + .4byte Unknown_8416F14 + .4byte Unknown_8416F18 + .4byte Unknown_8416F1C + .4byte Unknown_8416F22 + .4byte Unknown_8416F28 + .4byte Unknown_8416F2E + .4byte Unknown_8416F34 + .4byte Unknown_8416F3A + .4byte Unknown_8416F42 + .4byte Unknown_8416F4A + .4byte Unknown_8416F52 + .4byte Unknown_8416F5A + .4byte Unknown_8416F62 + .4byte Unknown_8416F6C + .4byte Unknown_8416F76 + .4byte Unknown_8416F80 + .4byte Unknown_8416F8A + .4byte Unknown_8416F94 + .4byte Unknown_8416FA0 + .4byte Unknown_8416FAC + .4byte Unknown_8416FB8 + .4byte Unknown_8416FC4 + .4byte Unknown_8416FD0 + .4byte Unknown_8416FDE + .4byte Unknown_8416FEC + .4byte Unknown_8416FFA + .4byte Unknown_8417008 + .4byte Unknown_8417016 + .4byte Unknown_8417026 + .4byte Unknown_8417036 + .4byte Unknown_8417046 + .4byte Unknown_8417056 + +gUnknown_084170F4:: @ 84170F4 + .incbin "baserom.gba", 0x004170f4, 0xD0 + +@ 84171C4 + .include "data/bard_music.inc" + +UnknownString_1stRound: + .string "1st round$" +UnknownString_2ndRound: + .string "2nd round$" +UnknownString_3rdRound: + .string "3rd round$" +UnknownString_4thRound: + .string "4th round$" +UnknownString_5thRound: + .string "5th round$" +UnknownString_6thRound: + .string "6th round$" +UnknownString_7thRound: + .string "7th round$" +UnknownString_8thRound: + .string "8th round$" + + .align 2 +gUnknown_0842C29C:: @ 842C29C + .4byte UnknownString_1stRound, sub_814A4B8 + .4byte UnknownString_2ndRound, sub_814A4B8 + .4byte UnknownString_3rdRound, sub_814A4B8 + .4byte UnknownString_4thRound, sub_814A4B8 + .4byte UnknownString_5thRound, sub_814A4B8 + .4byte UnknownString_6thRound, sub_814A4B8 + .4byte UnknownString_7thRound, sub_814A4B8 + .4byte UnknownString_8thRound, sub_814A4B8 + + @ unused +gOtherText_TopSpeed:: + .string "TOP SPEED$" + +gMultiText_BerryBlenderMaxSpeedRecord:: @ 842C2E6 + .string "BERRY BLENDER\nMAXIMUM SPEED RECORD!$" + +gMultiText_2P3P4P:: @ 842C30A + .string "2 PLAYERS\n3 PLAYERS\n4 PLAYERS$" + +gMultiText_Saving:: @ 842C328 + .string "SAVING...\nDON’T TURN OFF THE POWER.$" + +gMultiText_LinkError:: @ 842C34C + .string "{HIGHLIGHT TRANSPARENT}{COLOR WHITE2}Link error...\nCheck your Game Link cable connection,\nand turn the power off and on.$" + +gSystemText_OptionMenu:: @ 842C3A6 + .string "{PALETTE 9}OPTION$" + +gSystemText_TextSpeed:: @ 842C3B0 + .string "{PALETTE 9}TEXT SPEED$" + +gSystemText_BattleScene:: @ 842C3BE + .string "{PALETTE 9}BATTLE SCENE$" + +gSystemText_BattleStyle:: @ 842C3CE + .string "{PALETTE 9}BATTLE STYLE$" + +gSystemText_Sound:: @ 842C3DE + .string "{PALETTE 9}SOUND$" + +gSystemText_Frame:: @ 842C3E7 + .string "{PALETTE 9}FRAME$" + +gSystemText_Cancel:: @ 842C3F0 + .string "{PALETTE 9}CANCEL$" + +gSystemText_ButtonMode:: @ 842C3FA + .string "{PALETTE 9}BUTTON MODE$" + +gSystemText_Slow:: @ 842C409 + .string "{PALETTE 15}SLOW$" + +gSystemText_Mid:: @ 842C411 + .string "{PALETTE 15}MID$" + +gSystemText_Fast:: @ 842C418 + .string "{PALETTE 15}FAST$" + +gSystemText_On:: @ 842C420 + .string "{PALETTE 15}ON$" + +gSystemText_Off:: @ 842C426 + .string "{PALETTE 15}OFF$" + +gSystemText_Shift:: @ 842C42D + .string "{PALETTE 15}SHIFT$" + +gSystemText_Set:: @ 842C436 + .string "{PALETTE 15}SET$" + +gSystemText_Mono:: @ 842C43D + .string "{PALETTE 15}MONO$" + +gSystemText_Stereo:: @ 842C445 + .string "{PALETTE 15}STEREO$" + +gSystemText_Type:: @ 842C44F + .string "{PALETTE 15}TYPE$" + +gSystemText_Terminator:: @ 842C457 + .string "{PALETTE 8}$" + +gSystemText_Normal:: @ 842C45B + .string "{PALETTE 15}NORMAL$" + +gSystemText_LR:: @ 842C465 + .string "{PALETTE 15}LR$" + +gSystemText_LA:: @ 842C46B + .string "{PALETTE 15}L=A$" + +SystemText_Pokedex: + .string "POKéDEX$" +SystemText_Pokemon: + .string "POKéMON$" +SystemText_BAG: + .string "BAG$" +SystemText_Pokenav: + .string "POKéNAV$" +SystemText_Player: + .string "{PLAYER}$" +SystemText_Save: + .string "SAVE$" +SystemText_Option: + .string "OPTION$" +SystemText_Exit: + .string "EXIT$" +SystemText_Retire: @ safari zone? + .string "RETIRE$" + +gOtherText_SafariStock:: @ 842C4A9 + .string "SAFARI BALLS\nStock: {STR_VAR_1}$" + +gSystemText_LinkStandby:: @ 842C4C0 + .string "Link standby...\n... ... B Button: Cancel$" + +gSystemText_LoadEventPressA:: @ 842C4E9 + .string "Press the A Button to load event.\n... ... B Button: Cancel$" + +gSystemText_LoadingEvent:: @ 842C524 + .string "Loading event...$" + +gSystemText_DontCutLink:: @ 842C535 + .string "Don’t remove the Game Link cable.\nDon’t turn off the power.$" + +gSystemText_EventLoadSuccess:: @ 842C571 + .string "The event was safely loaded.$$" + +gSystemText_LoadingError:: @ 842C58F + .string "Loading error.\nEnding session.$$$$$$$$" + +gOtherText_Hoenn:: @ 842C5B5 + .string "HOENN$" + +gOtherText_OhABite:: @ 842C5BB + .string "Oh! A bite!$" + +gOtherText_PokeOnHook:: @ 842C5C7 + .string "A POKéMON’s on the hook!{PAUSE_UNTIL_PRESS}$" + +gOtherText_NotEvenANibble:: @ 842C5E2 + .string "Not even a nibble...{PAUSE_UNTIL_PRESS}$" + +gOtherText_ItGotAway:: @ 842C5F9 + .string "It got away...{PAUSE_UNTIL_PRESS}$$" + +gTradeText_WillBeSent:: @ 842C60B + .string "{STR_VAR_2} will be sent to {STR_VAR_1}.$" + +gTradeText_ByeBye:: @ 842C622 + .string "Bye-bye, {STR_VAR_2}!$" + +gTradeText_SentOverPoke:: @ 842C62F + .string "{STR_VAR_1} sent over {STR_VAR_3}.$" + +gTradeText_TakeGoodCare:: @ 842C640 + .string "Take good care of {STR_VAR_3}!$" + +TradeText_Cancel:: + .string "CANCEL$" +TradeText_ChoosePoke:: + .string "Choose a POKéMON.$" +TradeText_Summary1:: + .string "SUMMARY$" +TradeText_Trade1:: + .string "TRADE$" +TradeText_CancelTradePrompt:: + .string "Cancel trade?$" +TradeText_PressBToExit:: + .string "Press the B Button to exit.$" +TradeText_Summary2:: + .string "SUMMARY$" +TradeText_Trade2:: + .string "TRADE$" +TradeText_LinkStandby:: + .string "{COLOR DARK_GREY}{HIGHLIGHT WHITE2}{SHADOW LIGHT_GREY}Link standby...\nPlease wait.$" +TradeText_TradeCancelled:: + .string "{COLOR DARK_GREY}{HIGHLIGHT WHITE2}{SHADOW LIGHT_GREY}The trade has\nbeen canceled.$" +TradeText_OnlyPoke:: + .string "{COLOR DARK_GREY}{HIGHLIGHT WHITE2}{SHADOW LIGHT_GREY}That’s your only\nPOKéMON for battle.$" +TradeText_NonTradablePoke:: + .string "{COLOR DARK_GREY}{HIGHLIGHT WHITE2}{SHADOW LIGHT_GREY}Your friend can’t\ntrade that one.$" +TradeText_WaitingForFriend:: + .string "{COLOR DARK_GREY}{HIGHLIGHT WHITE2}{SHADOW LIGHT_GREY}Waiting for your\nfriend to finish...$" +TradeText_WantToTrade:: + .string "{COLOR DARK_GREY}{HIGHLIGHT WHITE2}{SHADOW LIGHT_GREY}Your friend wants\nto trade POKéMON.$" + .string "$" + +gTradeText_TradeOkayPrompt:: @ 842C7B6 + .string "Is this trade okay?$" + +gOtherText_Terminator2:: @ 842C7CA + .string "$" + +gOtherText_ControlAndMiscText:: @ 842C7CB + .string "\n$" + .string "/$" + .string "Lv$" + .string "---$" + +gOtherText_FourQuestions:: @ 842C7D6 + .string "????$" + +@ 842C7DB + .include "data/text/easy_chat/group_name_strings.inc" + +gOtherText_ThreeQuestions:: @ 842C890 + .string "???$" + +gOtherText_From:: @ 842C894 + .string "From $" + +gOtherText_MixingRecordsWithFriend:: @ 842C89A + .string "Mixing records...$" + +gOtherText_MixingComplete:: @ 842C8AC + .string "Record mixing completed.\nThank you for waiting.$" + +gOtherText_TrainersTrainerCard:: @ 842C8DC + .string "’s TRAINER CARD$" + +gOtherText_FirstHOF:: @ 842C8EC + .string "FIRST HALL OF FAME$" + +gOtherText_LinkCableBattles:: @ 842C8FF + .string "LINK CABLE BATTLES W/ L/$" + +gOtherText_BattleTowerWinRecord:: @ 842C924 + .string "BATTLE TOWER W/{CLEAR_TO 0x72}&{CLEAR_TO 0x98}STRAIGHT$" + +gOtherText_ContestRecord:: @ 842C943 + .string "CONTESTS W/FRIENDS W/$" + +gOtherText_MixingRecord:: @ 842C959 + .string "{POKEBLOCK}S W/FRIENDS$" + +gOtherText_TradeRecord:: @ 842C96A + .string "POKéMON TRADES$" + +gOtherText_Boy:: @ 842C979 + .string "BOY$" + +gOtherText_Girl:: @ 842C97D + .string "GIRL$" + .string "$" + +gOtherText_Player:: @ 842C983 + .string "PLAYER$" + +gOtherText_Badges:: @ 842C98A + .string "BADGES$" + .string "$" + +gOtherText_Pokedex:: @ 842C992 + .string "POKéDEX$" + +gOtherText_PlayTime:: @ 842C99A + .string "PLAY TIME$" + +gOtherText_SentToPC:: @ 842C9A4 + .string "{STR_VAR_1} was sent to\nthe PC.{PAUSE_UNTIL_PRESS}$" + +OtherText_YourName: + .string "YOUR NAME?$" +OtherText_BoxName: + .string "BOX NAME?$" +OtherText_PokeName: + .string "{STR_VAR_1}’s nickname?$" + +gOtherText_Marco:: @ 842C9E1 + .string "MARCO$" @ polo + +gOtherText_Coins:: @ 842C9E7 + .string "{STR_VAR_1} COINS$" + +gOtherText_BattleResults:: @ 842C9F0 + .string "{PLAYER}’s BATTLE RESULTS$" + +gOtherText_WinRecord:: @ 842CA04 + .string "TOTAL RECORD W/{STR_VAR_1} L/{STR_VAR_2} D/{STR_VAR_3}$" + +gOtherText_WinLoseDraw:: @ 842CA20 + .string "WIN LOSE DRAW$" + +gOtherText_SevenDashes:: @ 842CA3C + .string "-------$" + +gOtherText_FourDashes:: @ 842CA44 + .string "----$" + +gOtherText_BattleTowerResults:: @ 842CA49 + .string "{PLAYER}’s BATTLE TOWER RESULTS$" + +gOtherText_Lv50:: @ 842CA63 + .string "LV 50$" + +gOtherText_Lv100:: @ 842CA69 + .string "LV 100$" + +gOtherText_WinStreak:: @ 842CA70 + .string "{STR_VAR_1}W STREAK$" + +gOtherText_Current:: @ 842CA7B + .string "CURRENT$" + +gOtherText_Record:: @ 842CA83 + .string "RECORD$" + +gOtherText_Prev:: @ 842CA8A + .string "PREV.$" + +gOtherText_QuitGamePrompt:: @ 842CA90 + .string "Quit the game?$" + +gOtherText_MaxCoins:: @ 842CA9F + .string "You’ve got 9,999 COINS.$" + +gOtherText_OutOfCoins:: @ 842CAB7 + .string "You’ve run out of COINS.\nGame over!$" + +gOtherText_DontHaveThreeCoins:: @ 842CADB + .string "You don’t have three COINS.$" + +gOtherText_ReelTime:: @ 842CAF7 + .string "REEL TIME\nHere’s your chance to take\naim and nail marks!\nThe Reel Time continues for\nas often as the drawn number.\nIt all ends on a Big Bonus.$" + +DaycareText_GetAlongVeryWell:: + .string "The two seem to get along very well.$" +DaycareText_GetAlong:: + .string "The two seem to get along.$" +DaycareText_DontLikeOther:: + .string "The two don’t seem to like each other.$" +DaycareText_PlayOther:: + .string "The two prefer to play with other\nPOKéMON than each other.$" + +gOtherText_NewLine2:: @ 842CC28 + .string "\n$" + +gOtherText_CancelAndLv:: @ 842CC2A + .string "CANCEL$" + .string "LV$" + +gEggNickname:: @ 842CC34 + .string "EGG$" + +gOtherText_HatchedFromEgg:: @ 842CC38 + .string "{COLOR WHITE2}{HIGHLIGHT TRANSPARENT}{SHADOW DARK_GREY}{STR_VAR_1} hatched from the EGG!$" + +gOtherText_NickHatchPrompt:: @ 842CC5A + .string "{COLOR WHITE2}{HIGHLIGHT TRANSPARENT}{SHADOW DARK_GREY}Would you like to nickname the newly\nhatched {STR_VAR_1}?$" + +OtherText_Battle:: + .string "BATTLE$" +OtherText_Contest:: + .string "CONTEST$" +OtherText_Type:: + .string "TYPE/$" +OtherText_PP:: + .string "PP/$" +OtherText_Power:: + .string "POWER$" +OtherText_Accuracy:: + .string "ACCURACY$" +OtherText_Appeal:: + .string "APPEAL$" +OtherText_Jam:: + .string "JAM$" + +gOtherText_TeachWhichMove:: @ 842CCC7 + .string "Teach which move to {STR_VAR_1}?$" + +gOtherText_TeachSpecificMove:: @ 842CCDF + .string "Teach {STR_VAR_2}?$" + +gOtherText_PokeLearnedMove:: @ 842CCE9 + .string "{STR_VAR_1} learned {STR_VAR_2}.$" + +gOtherText_DeleteOlderMove:: @ 842CCF8 + .string "{STR_VAR_1} is trying to learn\n{STR_VAR_2}.\pBut {STR_VAR_1} can’t learn more\nthan four moves.\pDelete an older move to make\nroom for {STR_VAR_2}?$" + +gOtherText_StopLearningMove:: @ 842CD65 + .string "Stop learning {STR_VAR_2}?$" + +gOtherText_ForgotMove123:: @ 842CD77 + .string "{PAUSE 32}1, {PAUSE 15}2 {PAUSE 15}...{PAUSE 15}...{PAUSE 15}...{PAUSE 15} {PLAY_SE 0x0038}Poof!\p$" + +gOtherText_ForgotOrDidNotLearnMove:: @ 842CDA3 + .string "{STR_VAR_1} forgot {STR_VAR_3}.\pAnd...\p{STR_VAR_1} learned {STR_VAR_2}.$" + .string "{STR_VAR_1} did not learn\n{STR_VAR_2}.$" + +gOtherText_GiveUpTeachingMove:: @ 842CDDC + .string "Give up trying to teach a new move\nto {STR_VAR_1}?$" + +gOtherText_WhichMoveToForget:: @ 842CE06 + .string "Which move should be forgotten?\p$" + +gSystemText_ClearAllSaveDataPrompt:: @ 842CE27 + .string "Clear all save data areas?$" + +gSystemText_ClearingData:: @ 842CE42 + .string "Clearing data...\nPlease wait.$" + +gContestText_AnnounceResults:: @ 842CE60 + .string "Announcing the results!$" + +gContestText_PreliminaryResults:: @ 842CE78 + .string "The preliminary results!$" + +gContestText_Round2Results:: @ 842CE91 + .string "Round 2 results!$" + +gContestText_PokeWon:: @ 842CEA2 + .string "{STR_VAR_1}’s {STR_VAR_2} won!$" + +gOtherText_LinkStandby:: @ 842CEAF + .string "Link standby...$" + +@ 842CEBF + .include "data/text/landmarks.inc" + +gOtherText_Terminator4:: @ 842D0E6 + .string "$" + +gOtherText_Nature:: @ 842D0E7 + .string " nature, $" + +gOtherText_Comma:: @ 842D0F1 + .string ",$" + +gOtherText_Met:: @ 842D0F3 + .string " (met).$" + +gOtherText_Egg2:: @ 842D0FB + .string " (EGG).$" + +gOtherText_ObtainedInTrade:: @ 842D103 + .string "obtained in a trade.$" + +gOtherText_FatefulEncounter:: @ 842D118 + .string "fateful encounter.$" + +gOtherText_Met2:: @ 842D12B + .string " (met).$" + +gOtherText_EggDayCare:: @ 842D133 + .string "An odd POKéMON EGG found\nby the DAY CARE couple.$" + +gOtherText_EggNicePlace:: @ 842D164 + .string "A peculiar POKéMON EGG\nobtained at the nice place.$" + +gOtherText_EggObtainedInTrade:: @ 842D197 + .string "A peculiar POKéMON EGG\nobtained in a trade.$" + +gOtherText_EggHotSprings:: @ 842D1C3 + .string "A POKéMON EGG obtained\nat the hot springs.$" + +gOtherText_LinkStandby2:: @ 842D1EE + .string "Link standby...$" + +gOtherText_YesNoAndPlayer:: @ 842D1FE + .string "{COLOR DARK_GREY}{HIGHLIGHT WHITE2}{SHADOW LIGHT_GREY}YES\nNO$" + .string "{HIGHLIGHT TRANSPARENT}PLAYER$" + .string "{HIGHLIGHT TRANSPARENT}$" + +gOtherText_HoennDex:: @ 842D21C + .string "HOENN$" + +gOtherText_NationalDex:: @ 842D222 + .string "NATIONAL$" + +gOtherText_DiplomaCertificationGameFreak:: @ 842D22B + .string "{HIGHLIGHT TRANSPARENT}Player: {CLEAR 0x10}{COLOR RED}{PLAYER}\n\n{COLOR DARK_GREY}{STR_VAR_1} POKéDEX\nThis document certifies\nthat you have successfully\ncompleted your POKéDEX.\n\n{CLEAR_TO 0x42}{COLOR RED}GAME FREAK$" + .string "{COLOR RED}{HIGHLIGHT TRANSPARENT}GAME FREAK$" + +gOtherText_PLink:: @ 842D2BC + .string "{STR_VAR_1}P LINK$" + +gOtherText_YesNoTerminating:: @ 842D2C5 + .string "YES\nNO$" + .string "Terminating.$" + +gOtherText_LinkNotFound:: @ 842D2D9 + .string "Link partner(s) not found.\nPlease try again.\p$" + +gOtherText_BlenderChooseBerry:: @ 842D307 + .string "Starting up the BERRY BLENDER.\pPlease select a BERRY from your BAG\nto put in the BERRY BLENDER.\p$" + +gOtherText_PokeBlockMade:: @ 842D368 + .string " was made!$" + +gOtherText_PressAToStart:: @ 842D373 + .string "Press the A Button to start.$" + +gOtherText_PleaseWait:: @ 842D390 + .string "Please wait a while.$" + +gOtherText_LinkStandby3:: @ 842D3A5 + .string "Link standby...$" + +gOtherText_BlendAnotherBerryPrompt:: @ 842D3B5 + .string "Would you like to blend another BERRY?$" + +gOtherText_OutOfBerries:: @ 842D3DC + .string "You’ve run out of BERRIES for\nblending in the BERRY BLENDER.\p$" + +gOtherText_CaseIsFull:: @ 842D41A + .string "Your {POKEBLOCK} CASE is full.\p$" + +gOtherText_NoBerriesForBlend:: @ 842D434 + .string " has no BERRIES to put in\nthe BERRY BLENDER.$" + +gOtherText_OtherCaseIsFull:: @ 842D461 + .string "’s {POKEBLOCK} CASE is full.\p$" + +gOtherText_ResultsOfBlending:: @ 842D479 + .string "RESULTS OF BLENDING$" + .string "BERRY USED$" + +gOtherText_Berry:: @ 842D498 + .string " BERRY$" + +gOtherText_RequiredTime:: @ 842D49F + .string "REQUIRED TIME$" + +gOtherText_Min:: @ 842D4AD + .string "MIN.$" + +gOtherText_Sec:: @ 842D4B2 + .string "SEC.$" + +gOtherText_MaxSpeed:: @ 842D4B7 + .string "MAXIMUM SPEED$" + +gOtherText_RPM:: @ 842D4C5 + .string "RPM$" + .string ".$" + +gOtherText_Ranking:: @ 842D4CB + .string "RANKING$" + +gOtherText_BlockLevelIs:: @ 842D4D3 + .string "The level is $" + +gOtherText_BlockFeelIs:: @ 842D4E1 + .string ", and the feel is $" + +gOtherText_Period:: @ 842D4F4 + .string ".$" + +gOtherText_Day:: @ 842D4F6 + .string "DAY$" + .string ":$" + +gOtherText_OK:: @ 842D4FC + .string "OK$" + +gOtherText_CorrectTimePrompt:: @ 842D4FF + .string "Is this the correct time?$" + + .align 2 +OutlineCursorTiles_00: + .incbin "graphics/interface/outline_cursor_00.4bpp" + + .align 2 +OutlineCursorTiles_01: + .incbin "graphics/interface/outline_cursor_01.4bpp" + + .align 2 +OutlineCursorTiles_02: + .incbin "graphics/interface/outline_cursor_02.4bpp" + + .align 2 +OutlineCursorTiles_03: + .incbin "graphics/interface/outline_cursor_03.4bpp" + + .align 2 +OutlineCursorTiles_04: + .incbin "graphics/interface/outline_cursor_04.4bpp" + + .align 2 +OutlineCursorTiles_05: + .incbin "graphics/interface/outline_cursor_05.4bpp" + + .align 2 +OutlineCursorTiles_06: + .incbin "graphics/interface/outline_cursor_06.4bpp" + + .align 2 +OutlineCursorTiles_07: + .incbin "graphics/interface/outline_cursor_07.4bpp" + + .align 2 +OutlineCursorTiles_08: + .incbin "graphics/interface/outline_cursor_08.4bpp" + + .align 2 +OutlineCursorTiles_09: + .incbin "graphics/interface/outline_cursor_09.4bpp" + + .align 2 +OutlineCursorTiles_10: + .incbin "graphics/interface/outline_cursor_10.4bpp" + + .align 2 +OutlineCursorTiles_11: + .incbin "graphics/interface/outline_cursor_11.4bpp" + + .align 2 +OutlineCursorTiles_12: + .incbin "graphics/interface/outline_cursor_12.4bpp" + + .align 2 +OutlineCursorTiles_13: + .incbin "graphics/interface/outline_cursor_13.4bpp" + + .align 2 +OutlineCursorTiles_14: + .incbin "graphics/interface/outline_cursor_14.4bpp" + + .align 2 +OutlineCursorTiles_15: + .incbin "graphics/interface/outline_cursor_15.4bpp" + + .align 2 +gOamData_842F11C:: @ 842F11C + .2byte 0x8000 + .2byte 0x0000 + .2byte 0x0000 + + .align 2 +gOamData_842F124:: @ 842F124 + .2byte 0x8800 + .2byte 0x0000 + .2byte 0x0000 + + .align 2 +gOamData_842F12C:: @ 842F12C + .2byte 0x8000 + .2byte 0x0000 + .2byte 0x0000 + + .align 2 +gSpriteAnim_842F134:: @ 842F134 + obj_image_anim_frame 0, 63 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_842F13C:: @ 842F13C + .4byte gSpriteAnim_842F134 + + .align 2 +gUnknown_0842F140:: @ 842F140 + obj_tiles OutlineCursorTiles_00, 0x1C0, 0xFFF0 + obj_tiles OutlineCursorTiles_01, 0x1C0, 0xFFF0 + obj_tiles OutlineCursorTiles_02, 0x1C0, 0xFFF0 + obj_tiles OutlineCursorTiles_03, 0x1C0, 0xFFF0 + obj_tiles OutlineCursorTiles_04, 0x1C0, 0xFFF0 + obj_tiles OutlineCursorTiles_05, 0x1C0, 0xFFF0 + obj_tiles OutlineCursorTiles_06, 0x1C0, 0xFFF0 + obj_tiles OutlineCursorTiles_07, 0x1C0, 0xFFF0 + obj_tiles OutlineCursorTiles_08, 0x1C0, 0xFFF0 + obj_tiles OutlineCursorTiles_09, 0x1C0, 0xFFF0 + obj_tiles OutlineCursorTiles_10, 0x1C0, 0xFFF0 + obj_tiles OutlineCursorTiles_11, 0x1C0, 0xFFF0 + obj_tiles OutlineCursorTiles_12, 0x1C0, 0xFFF0 + obj_tiles OutlineCursorTiles_13, 0x1C0, 0xFFF0 + obj_tiles OutlineCursorTiles_14, 0x1C0, 0xFFF0 + obj_tiles OutlineCursorTiles_15, 0x1C0, 0xFFF0 + + .align 2 +gUnknown_0842F1C0:: @ 842F1C0 + obj_tiles OutlineCursorTiles_00, 0x1C0, 0xFFF1 + obj_tiles OutlineCursorTiles_01, 0x1C0, 0xFFF1 + obj_tiles OutlineCursorTiles_02, 0x1C0, 0xFFF1 + obj_tiles OutlineCursorTiles_03, 0x1C0, 0xFFF1 + obj_tiles OutlineCursorTiles_04, 0x1C0, 0xFFF1 + obj_tiles OutlineCursorTiles_05, 0x1C0, 0xFFF1 + obj_tiles OutlineCursorTiles_06, 0x1C0, 0xFFF1 + obj_tiles OutlineCursorTiles_07, 0x1C0, 0xFFF1 + obj_tiles OutlineCursorTiles_08, 0x1C0, 0xFFF1 + obj_tiles OutlineCursorTiles_09, 0x1C0, 0xFFF1 + obj_tiles OutlineCursorTiles_10, 0x1C0, 0xFFF1 + obj_tiles OutlineCursorTiles_11, 0x1C0, 0xFFF1 + obj_tiles OutlineCursorTiles_12, 0x1C0, 0xFFF1 + obj_tiles OutlineCursorTiles_13, 0x1C0, 0xFFF1 + obj_tiles OutlineCursorTiles_14, 0x1C0, 0xFFF1 + obj_tiles OutlineCursorTiles_15, 0x1C0, 0xFFF1 + + .align 2 +gUnknown_0842F240:: @ 842F240 + obj_pal 0x0203a360, 0xfff0 + + .align 2 +gUnknown_0842F248:: @ 842F248 + obj_pal 0x0203a360, 0xfff1 + + .align 2 +gSpriteTemplate_842F250:: @ 842F250 + spr_template 65520, 65520, gOamData_842F11C, gSpriteAnimTable_842F13C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gSpriteTemplate_842F268:: @ 842F268 + spr_template 65520, 0xFFFF, gOamData_842F11C, gSpriteAnimTable_842F13C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gSpriteTemplate_842F280:: @ 842F280 + spr_template 65520, 0xFFFF, gOamData_842F124, gSpriteAnimTable_842F13C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gSpriteTemplate_842F298:: @ 842F298 + spr_template 65521, 65521, gOamData_842F12C, gSpriteAnimTable_842F13C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gSpriteTemplate_842F2B0:: @ 842F2B0 + spr_template 65521, 0xFFFF, gOamData_842F12C, gSpriteAnimTable_842F13C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +Unknown_842F2C8: @ 842F2C8 + .incbin "baserom.gba", 0x0042f2c8, 0x10 +Unknown_842F2D8: @ 842F2D8 + .incbin "baserom.gba", 0x0042f2d8, 0x18 +Unknown_842F2F0: @ 842F2F0 + .incbin "baserom.gba", 0x0042f2f0, 0x20 +Unknown_842F310: @ 842F310 + .incbin "baserom.gba", 0x0042f310, 0x18 +Unknown_842F328: @ 842F328 + .incbin "baserom.gba", 0x0042f328, 0x18 +Unknown_842F340: @ 842F340 + .incbin "baserom.gba", 0x0042f340, 0x20 +Unknown_842F360: @ 842F360 + .incbin "baserom.gba", 0x0042f360, 0x20 +Unknown_842F380: @ 842F380 + .incbin "baserom.gba", 0x0042f380, 0x20 +Unknown_842F3A0: @ 842F3A0 + .incbin "baserom.gba", 0x0042f3a0, 0x20 +Unknown_842F3C0: @ 842F3C0 + .incbin "baserom.gba", 0x0042f3c0, 0x28 +Unknown_842F3E8: @ 842F3E8 + .incbin "baserom.gba", 0x0042f3e8, 0x28 +Unknown_842F410: @ 842F410 + .incbin "baserom.gba", 0x0042f410, 0x28 +Unknown_842F438: @ 842F438 + .incbin "baserom.gba", 0x0042f438, 0x28 +Unknown_842F460: @ 842F460 + .incbin "baserom.gba", 0x0042f460, 0x30 +Unknown_842F490: @ 842F490 + .incbin "baserom.gba", 0x0042f490, 0x30 +Unknown_842F4C0: @ 842F4C0 + .incbin "baserom.gba", 0x0042f4c0, 0x30 +Unknown_842F4F0: @ 842F4F0 + .incbin "baserom.gba", 0x0042f4f0, 0x30 +Unknown_842F520: @ 842F520 + .incbin "baserom.gba", 0x0042f520, 0x38 +Unknown_842F558: @ 842F558 + .incbin "baserom.gba", 0x0042f558, 0x18 + + .4byte Unknown_842F2C8 + .4byte Unknown_842F2C8 + .4byte Unknown_842F2D8 + .4byte Unknown_842F2F0 + .4byte Unknown_842F310 + .4byte Unknown_842F328 + .4byte Unknown_842F340 + .4byte Unknown_842F360 + .4byte Unknown_842F380 + .4byte Unknown_842F3A0 + .4byte Unknown_842F3C0 + .4byte Unknown_842F3E8 + .4byte Unknown_842F410 + .4byte Unknown_842F438 + .4byte Unknown_842F460 + .4byte Unknown_842F490 + .4byte Unknown_842F4C0 + .4byte Unknown_842F4F0 + .4byte Unknown_842F520 + + .align 2 +gUnknown_0842F5BC:: @ 842F5BC + .4byte Unknown_842F558 + + .align 2 +gSubspriteTables_842F5C0:: @ 842F5C0 + .4byte 1, gMenuCursorSubsprites + .4byte 1, gMenuCursorSubsprites + .4byte 2, gMenuCursorSubsprites + .4byte 3, gMenuCursorSubsprites + .4byte 4, gMenuCursorSubsprites + .4byte 5, gMenuCursorSubsprites + .4byte 6, gMenuCursorSubsprites + .4byte 7, gMenuCursorSubsprites + .4byte 8, gMenuCursorSubsprites + .4byte 9, gMenuCursorSubsprites + .4byte 10, gMenuCursorSubsprites + .4byte 11, gMenuCursorSubsprites + .4byte 12, gMenuCursorSubsprites + .4byte 13, gMenuCursorSubsprites + .4byte 14, gMenuCursorSubsprites + .4byte 15, gMenuCursorSubsprites + .4byte 1, gMenuCursorSubsprites + .4byte 17, gMenuCursorSubsprites + .4byte 18, gMenuCursorSubsprites + .4byte 19, gMenuCursorSubsprites + .4byte 20, gMenuCursorSubsprites + .4byte 21, gMenuCursorSubsprites + .4byte 22, gMenuCursorSubsprites + .4byte 23, gMenuCursorSubsprites + .4byte 24, gMenuCursorSubsprites + .4byte 25, gMenuCursorSubsprites + .4byte 26, gMenuCursorSubsprites + .4byte 27, gMenuCursorSubsprites + .4byte 28, gMenuCursorSubsprites + .4byte 29, gMenuCursorSubsprites + .4byte 30, gMenuCursorSubsprites + .4byte 31, gMenuCursorSubsprites + + .align 2 +gUnknown_0842F6C0:: @ 842F6C0 + .4byte 0x2, Unknown_842F2C8 + .4byte 0x2, Unknown_842F2C8 + .4byte 0x3, Unknown_842F2D8 + .4byte 0x4, Unknown_842F2F0 + .4byte 0x3, Unknown_842F310 + .4byte 0x3, Unknown_842F328 + .4byte 0x4, Unknown_842F340 + .4byte 0x4, Unknown_842F360 + .4byte 0x4, Unknown_842F380 + .4byte 0x4, Unknown_842F3A0 + .4byte 0x5, Unknown_842F3C0 + .4byte 0x5, Unknown_842F3E8 + .4byte 0x5, Unknown_842F410 + .4byte 0x5, Unknown_842F438 + .4byte 0x6, Unknown_842F460 + .4byte 0x6, Unknown_842F490 + .4byte 0x6, Unknown_842F4C0 + .4byte 0x6, Unknown_842F4F0 + .4byte 0x7, Unknown_842F520 + + .align 2 +gUnknown_0842F758:: @ 842F758 + .4byte 3, gMenuCursorSubsprites + .4byte 0, 2 + .4byte 0, 66 + .4byte 0, 105 + .4byte 0, 34 + + .align 2 +gUnknown_0842F780:: @ 842F780 + .4byte 0, 105 + + .align 2 +gUnknown_0842F788:: @ 842F788 + .4byte 0, 34 + + .align 2 +gUnknown_0842F790:: @ 842F790 + .4byte 0, 66 + +gOtherText_BerryObtainedDadHasIt:: @ 842F798 + .string "Obtained a {STR_VAR_2} BERRY!\nDad has it at PETALBURG GYM.$" + +gOtherText_BerryTransformed:: @ 842F7CA + .string "The {STR_VAR_1} BERRY transformed into\none {STR_VAR_2} BERRY.$" + +gOtherText_BerryAlreadyObtained:: @ 842F7F6 + .string "The {STR_VAR_1} BERRY has already been\nobtained.$" + +gOtherText_SpecialRibbonReceived:: @ 842F81E + .string "A special RIBBON was awarded to your\nparty POKéMON.$" + +gOtherText_DexUpgraded:: @ 842F852 + .string "The POKéDEX has been upgraded with\nthe NATIONAL MODE.$" + +gOtherText_RareWordAdded:: @ 842F888 + .string "A rare word has been added.$" + +gOtherText_PokeWasSentOver:: @ 842F8A4 + .string "{STR_VAR_1} was sent over!$" + +gOtherText_PartyIsFull:: @ 842F8B6 + .string "Your party is full.\n{STR_VAR_1} could not be sent over.$" + +gOtherText_NewTrainerInHoenn:: @ 842F8E5 + .string "A new TRAINER has arrived in HOENN.$" + .string "A new adversary has arrived in the\nBATTLE TOWER.$" + +gOtherText_DataCannotUseVersion:: @ 842F93A + .string "This data cannot be used in\nthis version.$" diff --git a/data/event_scripts.s b/data/event_scripts.s index e76663f7f..41ac10d06 100644 --- a/data/event_scripts.s +++ b/data/event_scripts.s @@ -1686,7 +1686,7 @@ gUnknown_081A0009:: @ 81A0009 end EventScript_1A0023: - message UnknownString_81A0A01 + message gPCText_WhichPCShouldBeAccessed waittext special 262 waitstate @@ -2970,8 +2970,7 @@ UnusedMixRecordsSeeYouAgainText: @ 81A09D2 UnknownString_81A09EC: @ 81A09EC .string "{PLAYER} booted up the PC.$" -gUnknown_081A0A01:: @ 81A0A01 -UnknownString_81A0A01: @ 81A0A01 +gPCText_WhichPCShouldBeAccessed:: @ 81A0A01 .string "Which PC should be accessed?$" UnknownString_81A0A1E: @ 81A0A1E diff --git a/data/field_door.s b/data/field_door.s new file mode 100644 index 000000000..d7ccdd2d4 --- /dev/null +++ b/data/field_door.s @@ -0,0 +1,416 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + + .align 2 +DoorAnimTiles_04: @ 8308F1C + .incbin "graphics/door_anims/04/0.4bpp" + .incbin "graphics/door_anims/04/1.4bpp" + .incbin "graphics/door_anims/04/2.4bpp" + + .space 32 + + .align 2 +DoorAnimTiles_05: @ 830923C + .incbin "graphics/door_anims/05/0.4bpp" + .incbin "graphics/door_anims/05/1.4bpp" + .incbin "graphics/door_anims/05/2.4bpp" + + .align 2 +DoorAnimTiles_08: @ 830953C + .incbin "graphics/door_anims/08/0.4bpp" + .incbin "graphics/door_anims/08/1.4bpp" + .incbin "graphics/door_anims/08/2.4bpp" + + .space 32 + + .align 2 +DoorAnimTiles_15: @ 830985C + .incbin "graphics/door_anims/15/0.4bpp" + .incbin "graphics/door_anims/15/1.4bpp" + .incbin "graphics/door_anims/15/2.4bpp" + + .space 32 + + .align 2 +DoorAnimTiles_16: @ 8309B7C + .incbin "graphics/door_anims/16/0.4bpp" + .incbin "graphics/door_anims/16/1.4bpp" + .incbin "graphics/door_anims/16/2.4bpp" + + .space 32 + + .align 2 +DoorAnimTiles_00: @ 8309E9C + .incbin "graphics/door_anims/00/0.4bpp" + .incbin "graphics/door_anims/00/1.4bpp" + .incbin "graphics/door_anims/00/2.4bpp" + + .align 2 +DoorAnimTiles_01: @ 830A19C + .incbin "graphics/door_anims/01/0.4bpp" + .incbin "graphics/door_anims/01/1.4bpp" + .incbin "graphics/door_anims/01/2.4bpp" + + .align 2 +DoorAnimTiles_02: @ 830A49C + .incbin "graphics/door_anims/02/0.4bpp" + .incbin "graphics/door_anims/02/1.4bpp" + .incbin "graphics/door_anims/02/2.4bpp" + + .align 2 +DoorAnimTiles_03: @ 830A79C + .incbin "graphics/door_anims/03/0.4bpp" + .incbin "graphics/door_anims/03/1.4bpp" + .incbin "graphics/door_anims/03/2.4bpp" + + .align 2 +DoorAnimTiles_06: @ 830AA9C + .incbin "graphics/door_anims/06/0.4bpp" + .incbin "graphics/door_anims/06/1.4bpp" + .incbin "graphics/door_anims/06/2.4bpp" + + .align 2 +DoorAnimTiles_07: @ 830AD9C + .incbin "graphics/door_anims/07/0.4bpp" + .incbin "graphics/door_anims/07/1.4bpp" + .incbin "graphics/door_anims/07/2.4bpp" + + .align 2 +DoorAnimTiles_09: @ 830B09C + .incbin "graphics/door_anims/09/0.4bpp" + .incbin "graphics/door_anims/09/1.4bpp" + .incbin "graphics/door_anims/09/2.4bpp" + + .space 32 + + .align 2 +DoorAnimTiles_10: @ 830B3BC + .incbin "graphics/door_anims/10/0.4bpp" + .incbin "graphics/door_anims/10/1.4bpp" + .incbin "graphics/door_anims/10/2.4bpp" + + .space 32 + + .align 2 +DoorAnimTiles_11: @ 830B6DC + .incbin "graphics/door_anims/11/0.4bpp" + .incbin "graphics/door_anims/11/1.4bpp" + .incbin "graphics/door_anims/11/2.4bpp" + + .space 32 + + .align 2 +DoorAnimTiles_12: @ 830B9FC + .incbin "graphics/door_anims/12/0.4bpp" + .incbin "graphics/door_anims/12/1.4bpp" + .incbin "graphics/door_anims/12/2.4bpp" + + .space 32 + + .align 2 +DoorAnimTiles_13: @ 830BD1C + .incbin "graphics/door_anims/13/0.4bpp" + .incbin "graphics/door_anims/13/1.4bpp" + .incbin "graphics/door_anims/13/2.4bpp" + + .space 32 + + .align 2 +DoorAnimTiles_14: @ 830C03C + .incbin "graphics/door_anims/14/0.4bpp" + .incbin "graphics/door_anims/14/1.4bpp" + .incbin "graphics/door_anims/14/2.4bpp" + + .space 32 + + .align 2 +DoorAnimTiles_17: @ 830C35C + .incbin "graphics/door_anims/17/0.4bpp" + .incbin "graphics/door_anims/17/1.4bpp" + .incbin "graphics/door_anims/17/2.4bpp" + + .space 32 + + .align 2 +DoorAnimTiles_18: @ 830C67C + .incbin "graphics/door_anims/18/0.4bpp" + .incbin "graphics/door_anims/18/1.4bpp" + .incbin "graphics/door_anims/18/2.4bpp" + + .space 32 + + .align 2 +DoorAnimTiles_19: @ 830C99C + .incbin "graphics/door_anims/19/0.4bpp" + .incbin "graphics/door_anims/19/1.4bpp" + .incbin "graphics/door_anims/19/2.4bpp" + + .space 32 + + .align 2 +DoorAnimTiles_20: @ 830CCBC + .incbin "graphics/door_anims/20/0.4bpp" + .incbin "graphics/door_anims/20/1.4bpp" + .incbin "graphics/door_anims/20/2.4bpp" + + .space 32 + + .align 2 +DoorAnimTiles_21: @ 830CFDC + .incbin "graphics/door_anims/21/0.4bpp" + .incbin "graphics/door_anims/21/1.4bpp" + .incbin "graphics/door_anims/21/2.4bpp" + + .space 32 + + .align 2 +DoorAnimTiles_22: @ 830D2FC + .incbin "graphics/door_anims/22/0.4bpp" + .incbin "graphics/door_anims/22/1.4bpp" + .incbin "graphics/door_anims/22/2.4bpp" + + .space 32 + + .align 2 +DoorAnimTiles_23: @ 830D61C + .incbin "graphics/door_anims/23/0.4bpp" + .incbin "graphics/door_anims/23/1.4bpp" + .incbin "graphics/door_anims/23/2.4bpp" + + .space 32 + + .align 2 +DoorAnimTiles_24: @ 830D93C + .incbin "graphics/door_anims/24/0.4bpp" + .incbin "graphics/door_anims/24/1.4bpp" + .incbin "graphics/door_anims/24/2.4bpp" + + .space 32 + + .align 2 +DoorAnimTiles_25: @ 830DC5C + .incbin "graphics/door_anims/25/0.4bpp" + .incbin "graphics/door_anims/25/1.4bpp" + .incbin "graphics/door_anims/25/2.4bpp" + + .space 32 + + .align 2 +DoorAnimTiles_26: @ 830DF7C + .incbin "graphics/door_anims/26/0.4bpp" + .incbin "graphics/door_anims/26/1.4bpp" + .incbin "graphics/door_anims/26/2.4bpp" + + .space 32 + + .align 2 +DoorAnimTiles_27: @ 830E29C + .incbin "graphics/door_anims/27/0.4bpp" + .incbin "graphics/door_anims/27/1.4bpp" + .incbin "graphics/door_anims/27/2.4bpp" + + .space 32 + + .align 2 +DoorAnimTiles_28: @ 830E5BC + .incbin "graphics/door_anims/28/0.4bpp" + .incbin "graphics/door_anims/28/1.4bpp" + .incbin "graphics/door_anims/28/2.4bpp" + + .space 32 + + .align 2 +DoorAnimTiles_29: @ 830E8DC + .incbin "graphics/door_anims/29/0.4bpp" + .incbin "graphics/door_anims/29/1.4bpp" + .incbin "graphics/door_anims/29/2.4bpp" + + .space 32 + + .align 2 +DoorAnimTiles_30: @ 830EBFC + .incbin "graphics/door_anims/30/0.4bpp" + .incbin "graphics/door_anims/30/1.4bpp" + .incbin "graphics/door_anims/30/2.4bpp" + + .space 32 + + .align 2 +DoorAnimTiles_31: @ 830EF1C + .incbin "graphics/door_anims/31/0.4bpp" + .incbin "graphics/door_anims/31/1.4bpp" + .incbin "graphics/door_anims/31/2.4bpp" + + .space 32 + + .align 2 +DoorAnimTiles_32: @ 830F23C + .incbin "graphics/door_anims/32/0.4bpp" + .incbin "graphics/door_anims/32/1.4bpp" + .incbin "graphics/door_anims/32/2.4bpp" + + .space 32 + + .align 2 +DoorAnimTiles_33: @ 830F55C + .incbin "graphics/door_anims/33/0.4bpp" + .incbin "graphics/door_anims/33/1.4bpp" + .incbin "graphics/door_anims/33/2.4bpp" + + .space 32 + +gDoorOpenAnimFrames:: @ 830F87C + door_anim_frame 4, -1 + door_anim_frame 4, 0 + door_anim_frame 4, 0x100 + door_anim_frame 4, 0x200 + door_anim_frame 0, 0 + +gDoorCloseAnimFrames:: @ 830F890 + door_anim_frame 4, 0x200 + door_anim_frame 4, 0x100 + door_anim_frame 4, 0 + door_anim_frame 4, -1 + door_anim_frame 0, 0 + +DoorAnimPalettes_830F8A4: + .byte 1, 1, 1, 1, 1, 1, 1, 1 + +DoorAnimPalettes_830F8AC: + .byte 1, 1, 1, 1, 1, 1, 1, 1 + +DoorAnimPalettes_830F8B4: + .byte 5, 5, 5, 5, 5, 5, 5, 5 + +DoorAnimPalettes_830F8BC: + .byte 0, 0, 1, 1, 1, 1, 1, 1 + +DoorAnimPalettes_830F8C4: + .byte 6, 6, 6, 6, 6, 6, 6, 6 + +DoorAnimPalettes_830F8CC: + .byte 8, 8, 8, 8, 8, 8, 8, 8 + +DoorAnimPalettes_830F8D4: + .byte 11, 11, 11, 11, 11, 11, 11, 11 + +DoorAnimPalettes_830F8DC: + .byte 10, 10, 10, 10, 10, 10, 10, 10 + +DoorAnimPalettes_830F8E4: + .byte 7, 7, 7, 7, 7, 7, 7, 7 + +DoorAnimPalettes_830F8EC: + .byte 8, 8, 8, 8, 8, 8, 8, 8 + +DoorAnimPalettes_830F8F4: + .byte 9, 9, 9, 9, 9, 9, 9, 9 + +DoorAnimPalettes_830F8FC: + .byte 9, 9, 1, 1, 1, 1, 1, 1 + +DoorAnimPalettes_830F904: + .byte 8, 8, 8, 8, 8, 8, 8, 8 + +DoorAnimPalettes_830F90C: + .byte 9, 9, 9, 9, 9, 9, 9, 9 + +DoorAnimPalettes_830F914: + .byte 6, 6, 6, 6, 6, 6, 6, 6 + +DoorAnimPalettes_830F91C: + .byte 6, 6, 6, 6, 6, 6, 6, 6 + +DoorAnimPalettes_830F924: + .byte 0, 0, 5, 5, 5, 5, 5, 5 + +DoorAnimPalettes_830F92C: + .byte 6, 6, 1, 1, 1, 1, 1, 1 + +DoorAnimPalettes_830F934: + .byte 7, 7, 7, 7, 7, 7, 7, 7 + +DoorAnimPalettes_830F93C: + .byte 6, 6, 5, 5, 5, 5, 5, 5 + +DoorAnimPalettes_830F944: + .byte 5, 5, 5, 5, 5, 5, 5, 5 + +DoorAnimPalettes_830F94C: + .byte 1, 1, 1, 1, 1, 1, 1, 1 + +DoorAnimPalettes_830F954: + .byte 6, 6, 7, 7, 7, 7, 7, 7 + +DoorAnimPalettes_830F95C: + .byte 7, 7, 7, 7, 7, 7, 7, 7 + +DoorAnimPalettes_830F964: + .byte 5, 5, 5, 5, 5, 5, 5, 5 + +DoorAnimPalettes_830F96C: + .byte 9, 9, 9, 9, 9, 9, 9, 9 + +DoorAnimPalettes_830F974: + .byte 8, 8, 8, 8, 8, 8, 8, 8 + +DoorAnimPalettes_830F97C: + .byte 6, 6, 6, 6, 6, 6, 6, 6 + +DoorAnimPalettes_830F984: + .byte 7, 7, 7, 7, 7, 7, 7, 7 + +DoorAnimPalettes_830F98C: + .byte 11, 11, 7, 7, 7, 7, 7, 7 + +DoorAnimPalettes_830F994: + .byte 7, 7, 7, 7, 7, 7, 7, 7 + +DoorAnimPalettes_830F99C: + .byte 6, 6, 7, 7, 7, 7, 7, 7 + +DoorAnimPalettes_830F9A4: + .byte 9, 9, 9, 9, 9, 9, 9, 9 + +DoorAnimPalettes_830F9AC: + .byte 7, 7, 7, 7, 7, 7, 7, 7 + + .align 2 +gDoorAnimGraphicsTable:: @ 830F9B4 + door_anim_gfx 0x021, 0, DoorAnimTiles_00, DoorAnimPalettes_830F8A4 + door_anim_gfx 0x061, 1, DoorAnimTiles_01, DoorAnimPalettes_830F8AC + door_anim_gfx 0x1CD, 1, DoorAnimTiles_02, DoorAnimPalettes_830F8B4 + door_anim_gfx 0x041, 1, DoorAnimTiles_03, DoorAnimPalettes_830F8BC + door_anim_gfx 0x248, 0, DoorAnimTiles_04, DoorAnimPalettes_830F8C4 + door_anim_gfx 0x249, 0, DoorAnimTiles_05, DoorAnimPalettes_830F8CC + door_anim_gfx 0x22F, 0, DoorAnimTiles_06, DoorAnimPalettes_830F8D4 + door_anim_gfx 0x21F, 0, DoorAnimTiles_07, DoorAnimPalettes_830F8DC + door_anim_gfx 0x2A5, 0, DoorAnimTiles_08, DoorAnimPalettes_830F8E4 + door_anim_gfx 0x287, 0, DoorAnimTiles_09, DoorAnimPalettes_830F8F4 + door_anim_gfx 0x2AC, 0, DoorAnimTiles_10, DoorAnimPalettes_830F934 + door_anim_gfx 0x3A1, 0, DoorAnimTiles_11, DoorAnimPalettes_830F93C + door_anim_gfx 0x2DC, 0, DoorAnimTiles_12, DoorAnimPalettes_830F92C + door_anim_gfx 0x225, 0, DoorAnimTiles_13, DoorAnimPalettes_830F924 + door_anim_gfx 0x1DB, 1, DoorAnimTiles_14, DoorAnimPalettes_830F94C + door_anim_gfx 0x246, 0, DoorAnimTiles_15, DoorAnimPalettes_830F8EC + door_anim_gfx 0x28E, 0, DoorAnimTiles_16, DoorAnimPalettes_830F944 + door_anim_gfx 0x2A1, 0, DoorAnimTiles_17, DoorAnimPalettes_830F8FC + door_anim_gfx 0x21C, 0, DoorAnimTiles_18, DoorAnimPalettes_830F914 + door_anim_gfx 0x21E, 0, DoorAnimTiles_19, DoorAnimPalettes_830F91C + door_anim_gfx 0x21D, 1, DoorAnimTiles_20, DoorAnimPalettes_830F904 + door_anim_gfx 0x21A, 0, DoorAnimTiles_21, DoorAnimPalettes_830F90C + door_anim_gfx 0x224, 0, DoorAnimTiles_22, DoorAnimPalettes_830F954 + door_anim_gfx 0x289, 0, DoorAnimTiles_23, DoorAnimPalettes_830F95C + door_anim_gfx 0x30C, 1, DoorAnimTiles_24, DoorAnimPalettes_830F964 + door_anim_gfx 0x32D, 1, DoorAnimTiles_25, DoorAnimPalettes_830F96C + door_anim_gfx 0x2ED, 1, DoorAnimTiles_26, DoorAnimPalettes_830F974 + door_anim_gfx 0x264, 1, DoorAnimTiles_27, DoorAnimPalettes_830F97C + door_anim_gfx 0x22B, 0, DoorAnimTiles_28, DoorAnimPalettes_830F984 + door_anim_gfx 0x2F7, 0, DoorAnimTiles_29, DoorAnimPalettes_830F98C + door_anim_gfx 0x297, 0, DoorAnimTiles_30, DoorAnimPalettes_830F994 + door_anim_gfx 0x285, 1, DoorAnimTiles_31, DoorAnimPalettes_830F99C + door_anim_gfx 0x25D, 1, DoorAnimTiles_32, DoorAnimPalettes_830F9A4 + door_anim_gfx 0x20E, 1, DoorAnimTiles_33, DoorAnimPalettes_830F9AC + door_anim_gfx 0, 0, 0, 0 diff --git a/data/field_ground_effect.s b/data/field_ground_effect.s new file mode 100644 index 000000000..d3dbceedb --- /dev/null +++ b/data/field_ground_effect.s @@ -0,0 +1,72 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + + .align 2 +gUnknown_08376040:: @ 8376040 + .4byte MetatileBehavior_IsJumpSouth + .4byte MetatileBehavior_IsJumpNorth + .4byte MetatileBehavior_IsJumpWest + .4byte MetatileBehavior_IsJumpEast + +gUnknown_08376050:: @ 8376050 + .byte 0x73, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x73, 0x53, 0x00, 0x00, 0x73 + +@ Each byte corresponds to a sprite priority for a field object. +@ This is directly the inverse of gFieldObjectPriorities_08376070. +gFieldObjectPriorities_08376060:: @ 8376060 + .byte 2, 2, 2, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 0, 0, 2 + +@ Each byte corresponds to a sprite priority for a field object. +@ This is the inverse of gFieldObjectPriorities_08376060. +@ 1 = Above player sprite +@ 2 = Below player sprite +gFieldObjectPriorities_08376070:: @ 8376070 + .byte 1, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 0, 0, 1 + + .align 2 +gUnknown_08376080:: @ 8376080 + .4byte nullsub_50 + .4byte DoTracksGroundEffect_Footprints + .4byte DoTracksGroundEffect_BikeTireTracks + +@ First byte is a Field Effect script id. (gFieldEffectScriptPointers) +@ Last three bytes are unknown. +gSandFootprints_FieldEffectData:: @ 837608C + .byte 0xD, 0x0, 0x18, 0x0 + +@ Specifies which bike track shape to show next. +@ For example, when the bike turns from up to right, it will show +@ a track that curves to the right. +@ Each 4-byte row corresponds to the initial direction of the bike, and +@ each byte in that row is for the next direction of the bike in the order +@ of down, up, left, right. +gBikeTireTracks_Transitions:: @ 8376090 + .byte 1, 2, 7, 8 + .byte 1, 2, 6, 5 + .byte 5, 8, 3, 4 + .byte 6, 7, 3, 4 + + .align 2 +gUnknown_083760A0:: @ 83760A0 + .4byte GroundEffect_SpawnOnTallGrass + .4byte sub_8063E94 + .4byte sub_8063EE0 + .4byte sub_8063F2C + .4byte GroundEffect_WaterReflection + .4byte GroundEffect_IceReflection + .4byte GroundEffect_FlowingWater + .4byte sub_8063FA0 + .4byte sub_8063FCC + .4byte GroundEffect_Ripple + .4byte GroundEffect_StepOnPuddle + .4byte GroundEffect_SandPile + .4byte GroundEffect_JumpOnTallGrass + .4byte GroundEffect_JumpOnLongGrass + .4byte GroundEffect_JumpOnShallowWater + .4byte GroundEffect_JumpOnWater + .4byte GroundEffect_JumpLandingDust + .4byte GroundEffect_ShortGrass + .4byte GroundEffect_HotSprings + .4byte GroundEffect_Seaweed diff --git a/data/field_map_obj.s b/data/field_map_obj.s new file mode 100644 index 000000000..9ff432961 --- /dev/null +++ b/data/field_map_obj.s @@ -0,0 +1,2107 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + +gUnknown_0830FD14:: @ 830FD14 + .byte 1, 1, 6, 7, 8, 9, 6, 7, 8, 9, 11, 11, 0, 0, 0, 0 + + .align 2 +gSpriteTemplate_830FD24:: @ 830FD24 + spr_template 0, 0xFFFF, gDummyOamData, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, ObjectCB_CameraObject + + .align 2 +gUnknown_0830FD3C:: @ 830FD3C + .4byte CameraObject_0 + .4byte CameraObject_1 + .4byte CameraObject_2 + +@ 830FD48 + .include "data/graphics/field_objects/map_object_graphics.inc" + +@ 8368528 + .include "data/graphics/field_objects/field_effect_object_graphics.inc" + + .align 2 +gUnknown_0836DA88:: @ 836DA88 + .4byte sub_805C884 + .4byte sub_805CDE8 + .4byte sub_805C8AC + .4byte sub_805CF28 + .4byte sub_805CF28 + .4byte sub_805D0AC + .4byte sub_805D0AC + .4byte sub_805D230 + .4byte sub_805D230 + .4byte sub_805D230 + .4byte sub_805D230 + .4byte sub_80587B4 + .4byte FieldObjectCB_BerryTree + .4byte sub_805D4F4 + .4byte sub_805D634 + .4byte sub_805D774 + .4byte sub_805D8B4 + .4byte sub_805D9F4 + .4byte sub_805DB34 + .4byte sub_805DC74 + .4byte sub_805DDB4 + .4byte sub_805DEF4 + .4byte sub_805E034 + .4byte sub_805E174 + .4byte sub_805E278 + .4byte sub_805E37C + .4byte sub_805E37C + .4byte sub_805E37C + .4byte sub_805E37C + .4byte sub_805E5DC + .4byte sub_805E668 + .4byte sub_805E6F4 + .4byte sub_805E780 + .4byte sub_805E80C + .4byte sub_805E898 + .4byte sub_805E924 + .4byte sub_805E9B0 + .4byte sub_805EA3C + .4byte sub_805EAC8 + .4byte sub_805EB54 + .4byte sub_805EBE0 + .4byte sub_805EC6C + .4byte sub_805ECF8 + .4byte sub_805ED84 + .4byte sub_805EE10 + .4byte sub_805EE9C + .4byte sub_805EF28 + .4byte sub_805EFB4 + .4byte sub_805F040 + .4byte sub_805F0CC + .4byte sub_805F158 + .4byte sub_805F1E4 + .4byte sub_805F270 + .4byte sub_805F2FC + .4byte sub_805F2FC + .4byte sub_805F2FC + .4byte sub_805F2FC + .4byte FieldObjectCB_TreeDisguise + .4byte FieldObjectCB_MountainDisguise + .4byte sub_805F8E0 + .4byte sub_805F8E0 + .4byte sub_805F8E0 + .4byte sub_805F8E0 + .4byte FieldObjectCB_Hidden1 + .4byte sub_805FB20 + .4byte sub_805FB20 + .4byte sub_805FB20 + .4byte sub_805FB20 + .4byte sub_805FB90 + .4byte sub_805FB90 + .4byte sub_805FB90 + .4byte sub_805FB90 + .4byte sub_805FC00 + .4byte sub_805FC00 + .4byte sub_805FC00 + .4byte sub_805FC00 + .4byte sub_805FC70 + +gUnknown_0836DBBC:: @ 836DBBC + .byte 0 + .byte 0 + .byte 1 + .byte 1 + .byte 1 + .byte 1 + .byte 1 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 1 + .byte 1 + .byte 1 + .byte 1 + .byte 1 + .byte 1 + .byte 1 + .byte 1 + .byte 1 + .byte 1 + .byte 1 + .byte 1 + .byte 1 + .byte 1 + .byte 1 + .byte 1 + .byte 1 + .byte 1 + .byte 1 + .byte 1 + .byte 1 + .byte 1 + .byte 1 + .byte 1 + .byte 1 + .byte 1 + .byte 1 + .byte 1 + .byte 1 + .byte 1 + .byte 1 + .byte 1 + .byte 0 + .byte 0 + .byte 1 + .byte 1 + .byte 1 + .byte 1 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + +gUnknown_0836DC09:: @ 836DC09 + .byte DIR_SOUTH + .byte DIR_SOUTH + .byte DIR_SOUTH + .byte DIR_NORTH + .byte DIR_SOUTH + .byte DIR_WEST + .byte DIR_EAST + .byte DIR_NORTH + .byte DIR_SOUTH + .byte DIR_WEST + .byte DIR_EAST + .byte DIR_SOUTH + .byte DIR_SOUTH + .byte DIR_SOUTH + .byte DIR_WEST + .byte DIR_NORTH + .byte DIR_NORTH + .byte DIR_SOUTH + .byte DIR_SOUTH + .byte DIR_SOUTH + .byte DIR_SOUTH + .byte DIR_NORTH + .byte DIR_SOUTH + .byte DIR_SOUTH + .byte DIR_SOUTH + .byte DIR_NORTH + .byte DIR_SOUTH + .byte DIR_WEST + .byte DIR_EAST + .byte DIR_NORTH + .byte DIR_EAST + .byte DIR_SOUTH + .byte DIR_WEST + .byte DIR_NORTH + .byte DIR_WEST + .byte DIR_SOUTH + .byte DIR_EAST + .byte DIR_WEST + .byte DIR_NORTH + .byte DIR_EAST + .byte DIR_SOUTH + .byte DIR_EAST + .byte DIR_NORTH + .byte DIR_WEST + .byte DIR_SOUTH + .byte DIR_NORTH + .byte DIR_SOUTH + .byte DIR_WEST + .byte DIR_EAST + .byte DIR_NORTH + .byte DIR_SOUTH + .byte DIR_WEST + .byte DIR_EAST + .byte DIR_NORTH + .byte DIR_SOUTH + .byte DIR_WEST + .byte DIR_EAST + .byte DIR_SOUTH + .byte DIR_SOUTH + .byte DIR_NORTH + .byte DIR_SOUTH + .byte DIR_WEST + .byte DIR_EAST + .byte DIR_SOUTH + .byte DIR_SOUTH + .byte DIR_NORTH + .byte DIR_WEST + .byte DIR_EAST + .byte DIR_SOUTH + .byte DIR_NORTH + .byte DIR_WEST + .byte DIR_EAST + .byte DIR_SOUTH + .byte DIR_NORTH + .byte DIR_WEST + .byte DIR_EAST + .byte DIR_SOUTH + +@ 836DC58 + .include "data/graphics/field_objects/map_object_graphics_info_pointers.inc" + +@ 836DFC0 + .include "data/graphics/field_objects/field_effect_object_template_pointers.inc" + +@ 836E050 + .include "data/graphics/field_objects/map_object_pic_tables.inc" + +@ 83708C8 + .include "data/graphics/field_objects/map_object_anims.inc" + +@ 83711C4 + .include "data/graphics/field_objects/base_oam.inc" + +@ 8371204 + .include "data/graphics/field_objects/map_object_subsprites.inc" + +@ 83718D4 + .include "data/graphics/field_objects/map_object_graphics_info.inc" + + .align 2 +gUnknown_0837377C:: @ 837377C + obj_pal gMapObjectPalette0, 0x1103 + obj_pal gMapObjectPalette1, 0x1104 + obj_pal gMapObjectPalette2, 0x1105 + obj_pal gMapObjectPalette3, 0x1106 + obj_pal gMapObjectPalette4, 0x1107 + obj_pal gMapObjectPalette5, 0x1108 + obj_pal gMapObjectPalette6, 0x1109 + obj_pal gMapObjectPalette7, 0x110A + obj_pal gMapObjectPalette8, 0x1100 + obj_pal gMapObjectPalette9, 0x1101 + obj_pal gMapObjectPalette10, 0x1102 + obj_pal gMapObjectPalette11, 0x1115 + obj_pal gMapObjectPalette12, 0x110B + obj_pal gMapObjectPalette13, 0x110C + obj_pal gMapObjectPalette14, 0x110D + obj_pal gMapObjectPalette15, 0x110E + obj_pal gMapObjectPalette16, 0x110F + obj_pal gMapObjectPalette17, 0x1110 + obj_pal gMapObjectPalette18, 0x1111 + obj_pal gMapObjectPalette19, 0x1112 + obj_pal gMapObjectPalette20, 0x1113 + obj_pal gMapObjectPalette21, 0x1114 + obj_pal gMapObjectPalette22, 0x1116 + obj_pal gMapObjectPalette23, 0x1117 + obj_pal gMapObjectPalette24, 0x1118 + obj_pal gMapObjectPalette25, 0x1119 + obj_pal gMapObjectPalette26, 0x111A + null_obj_pal + + .align 1 +Palettes_837385C: + .2byte 0x1101 + .2byte 0x1101 + .2byte 0x1101 + .2byte 0x1101 + + @ unused? + .2byte 0x1111 + .2byte 0x1111 + .2byte 0x1111 + .2byte 0x1111 + + .align 1 +Palettes_837386C: + .2byte 0x1115 + .2byte 0x1115 + .2byte 0x1115 + .2byte 0x1115 + + .align 2 +gUnknown_08373874:: @ 8373874 + paired_pals 0x1100, Palettes_837385C + paired_pals 0x1110, Palettes_837385C + paired_pals 0x1115, Palettes_837386C + paired_pals 0x11FF, NULL + + .align 1 +Palettes_8373894: + .2byte 0x110C + .2byte 0x110C + .2byte 0x110C + .2byte 0x110C + + .align 1 +Palettes_837389C: + .2byte 0x110D + .2byte 0x110D + .2byte 0x110D + .2byte 0x110D + + .align 1 +Palettes_83738A4: + .2byte 0x110E + .2byte 0x110E + .2byte 0x110E + .2byte 0x110E + + .align 1 +Palettes_83738AC: + .2byte 0x1112 + .2byte 0x1112 + .2byte 0x1112 + .2byte 0x1112 + + .align 1 +Palettes_83738B4: + .2byte 0x1113 + .2byte 0x1113 + .2byte 0x1113 + .2byte 0x1113 + + .align 1 +Palettes_83738BC: + .2byte 0x1114 + .2byte 0x1114 + .2byte 0x1114 + .2byte 0x1114 + + .align 1 +Palettes_83738C4: + .2byte 0x111A + .2byte 0x111A + .2byte 0x111A + .2byte 0x111A + + .align 1 +Palettes_83738CC: + .2byte 0x1117 + .2byte 0x1117 + .2byte 0x1117 + .2byte 0x1117 + + .align 1 +Palettes_83738D4: + .2byte 0x1119 + .2byte 0x1119 + .2byte 0x1119 + .2byte 0x1119 + + .align 1 +Palettes_83738DC: + .2byte 0x1109 + .2byte 0x1109 + .2byte 0x1109 + .2byte 0x1109 + + .align 2 +gUnknown_083738E4:: @ 83738E4 + paired_pals 0x1100, Palettes_837385C + paired_pals 0x1110, Palettes_837385C + paired_pals 0x110B, Palettes_8373894 + paired_pals 0x110D, Palettes_837389C + paired_pals 0x110E, Palettes_83738A4 + paired_pals 0x1112, Palettes_83738AC + paired_pals 0x1113, Palettes_83738B4 + paired_pals 0x1114, Palettes_83738BC + paired_pals 0x1116, Palettes_83738CC + paired_pals 0x1118, Palettes_83738D4 + paired_pals 0x1105, Palettes_83738DC + paired_pals 0x111A, Palettes_83738C4 + paired_pals 0x11FF, NULL + + .align 1 +Unknown_837394C: + .2byte 0x1100 + .2byte 0x1101 + .2byte 0x1103 + .2byte 0x1104 + .2byte 0x1105 + .2byte 0x1106 + .2byte 0x1107 + .2byte 0x1108 + .2byte 0x1109 + .2byte 0x110A + + .align 1 +Unknown_8373960: + .2byte 0x1100 + .2byte 0x1101 + .2byte 0x1103 + .2byte 0x1104 + .2byte 0x1105 + .2byte 0x1106 + .2byte 0x1107 + .2byte 0x1108 + .2byte 0x1109 + .2byte 0x110A + + .align 1 +Unknown_8373974: + .2byte 0x1100 + .2byte 0x1101 + .2byte 0x1103 + .2byte 0x1104 + .2byte 0x1105 + .2byte 0x1106 + .2byte 0x1107 + .2byte 0x1108 + .2byte 0x1109 + .2byte 0x110A + + .align 1 +Unknown_8373988: + .2byte 0x1100 + .2byte 0x1101 + .2byte 0x1103 + .2byte 0x1104 + .2byte 0x1105 + .2byte 0x1106 + .2byte 0x1107 + .2byte 0x1108 + .2byte 0x1109 + .2byte 0x110A + + .align 2 +gUnknown_0837399C:: @ 837399C + .4byte Unknown_837394C + .4byte Unknown_8373960 + .4byte Unknown_8373974 + .4byte Unknown_8373988 + +@ 83739AC + .include "data/graphics/field_objects/berry_tree_graphics_tables.inc" + +@ 8374524 + .include "data/graphics/field_objects/field_effect_objects.inc" + + .align 1 +gUnknown_0837520C:: @ 837520C + .2byte 0x20, 0x40, 0x60, 0x80, 0x20, 0x40, 0x80, 0xC0 + + .align 1 +gUnknown_0837521C:: @ 837521C + .2byte 0x20, 0x30, 0x40, 0x50 + + .align 2 +gUnknown_08375224:: @ 8375224 + .4byte sub_805C8F0 + .4byte sub_805C904 + .4byte sub_805C930 + .4byte sub_805C96C + .4byte sub_805C98C + .4byte sub_805C9D8 + .4byte sub_805CA08 + +gUnknown_08375240:: @ 8375240 + .byte DIR_SOUTH, DIR_NORTH, DIR_WEST, DIR_EAST + + .align 2 +gUnknown_08375244:: @ 8375244 + .4byte sub_805CAAC + .4byte sub_805CADC + .4byte sub_805CAEC + .4byte sub_805CB00 + .4byte sub_805CB5C + .4byte sub_805CBB8 + .4byte sub_805CC14 + .4byte sub_805CC70 + .4byte sub_805CCAC + .4byte sub_805CCE8 + .4byte sub_805CD24 + + .align 2 +gUnknown_08375270:: @ 8375270 + .4byte sub_805CE2C + .4byte sub_805CE40 + .4byte sub_805CE6C + .4byte sub_805CEB0 + .4byte sub_805CEE0 + + .align 2 +gUnknown_08375284:: @ 8375284 + .4byte sub_805CF6C + .4byte sub_805CF80 + .4byte sub_805CFAC + .4byte sub_805CFE8 + .4byte sub_805D008 + .4byte sub_805D054 + .4byte sub_805D084 + +gUnknown_083752A0:: @ 83752A0 + .byte DIR_SOUTH, DIR_NORTH + + .align 2 +gUnknown_083752A4:: @ 83752A4 + .4byte sub_805D0F0 + .4byte sub_805D104 + .4byte sub_805D130 + .4byte sub_805D16C + .4byte sub_805D18C + .4byte sub_805D1D8 + .4byte sub_805D208 + +gUnknown_083752C0:: @ 83752C0 + .byte DIR_WEST, DIR_EAST + + .align 2 +gUnknown_083752C4:: @ 83752C4 + .4byte sub_805D274 + .4byte sub_805D2A0 + .4byte sub_805D2C0 + + .align 2 +gUnknown_083752D0:: @ 83752D0 + .4byte do_berry_tree_growth_sparkle_1 + .4byte sub_805D3EC + .4byte do_berry_tree_growth_sparkle_2 + .4byte sub_805D458 + .4byte sub_805D4A8 + + .align 2 +gUnknown_083752E4:: @ 83752E4 + .4byte sub_805D538 + .4byte sub_805D54C + .4byte sub_805D578 + .4byte sub_805D5BC + .4byte sub_805D5EC + + .align 2 +gUnknown_083752F8:: @ 83752F8 + .4byte sub_805D678 + .4byte sub_805D68C + .4byte sub_805D6B8 + .4byte sub_805D6FC + .4byte sub_805D72C + + .align 2 +gUnknown_0837530C:: @ 837530C + .4byte sub_805D7B8 + .4byte sub_805D7CC + .4byte sub_805D7F8 + .4byte sub_805D83C + .4byte sub_805D86C + +gUnknown_08375320:: @ 8375320 + .byte DIR_NORTH, DIR_WEST + + .align 2 +gUnknown_08375324:: @ 8375324 + .4byte sub_805D8F8 + .4byte sub_805D90C + .4byte sub_805D938 + .4byte sub_805D97C + .4byte sub_805D9AC + +gUnknown_08375338:: @ 8375338 + .byte DIR_NORTH, DIR_EAST + + .align 2 +gUnknown_0837533C:: @ 837533C + .4byte sub_805DA38 + .4byte sub_805DA4C + .4byte sub_805DA78 + .4byte sub_805DABC + .4byte sub_805DAEC + +gUnknown_08375350:: @ 8375350 + .byte DIR_SOUTH, DIR_WEST + + .align 2 +gUnknown_08375354:: @ 8375354 + .4byte sub_805DB78 + .4byte sub_805DB8C + .4byte sub_805DBB8 + .4byte sub_805DBFC + .4byte sub_805DC2C + +gUnknown_08375368:: @ 8375368 + .byte DIR_SOUTH, DIR_EAST + + .align 2 +gUnknown_0837536C:: @ 837536C + .4byte sub_805DCB8 + .4byte sub_805DCCC + .4byte sub_805DCF8 + .4byte sub_805DD3C + .4byte sub_805DD6C + +gUnknown_08375380:: @ 8375380 + .byte DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_SOUTH + + .align 2 +gUnknown_08375384:: @ 8375384 + .4byte sub_805DDF8 + .4byte sub_805DE0C + .4byte sub_805DE38 + .4byte sub_805DE7C + .4byte sub_805DEAC + +gUnknown_08375398:: @ 8375398 + .byte DIR_SOUTH, DIR_NORTH, DIR_EAST, DIR_SOUTH + + .align 2 +gUnknown_0837539C:: @ 837539C + .4byte sub_805DF38 + .4byte sub_805DF4C + .4byte sub_805DF78 + .4byte sub_805DFBC + .4byte sub_805DFEC + +gUnknown_083753B0:: @ 83753B0 + .byte DIR_NORTH, DIR_WEST, DIR_EAST, DIR_NORTH + + .align 2 +gUnknown_083753B4:: @ 83753B4 + .4byte sub_805E078 + .4byte sub_805E08C + .4byte sub_805E0B8 + .4byte sub_805E0FC + .4byte sub_805E12C + +gUnknown_083753C8:: @ 83753C8 + .byte DIR_WEST, DIR_EAST, DIR_SOUTH, DIR_SOUTH + + .align 2 +gUnknown_083753CC:: @ 83753CC + .4byte sub_805E1B8 + .4byte sub_805E1E4 + .4byte sub_805E208 + .4byte sub_805E234 + +gUnknown_083753DC:: @ 83753DC + .byte DIR_SOUTH, DIR_EAST, DIR_WEST, DIR_SOUTH, DIR_NORTH + + .align 2 +gUnknown_083753E4:: @ 83753E4 + .4byte sub_805E2BC + .4byte sub_805E2E8 + .4byte sub_805E30C + .4byte sub_805E338 + +gUnknown_083753F4:: @ 83753F4 + .byte DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH + + .align 2 +gUnknown_083753FC:: @ 83753FC + .4byte sub_805E3C0 + .4byte sub_805E3D4 + .4byte sub_805E40C + .4byte sub_805E4C4 + + .align 2 +gUnknown_0837540C:: @ 837540C + .4byte sub_805E4EC + .4byte sub_805E620 + .4byte sub_805E5B4 + +gUnknown_08375418:: @ 8375418 + .byte DIR_NORTH, DIR_EAST, DIR_WEST, DIR_SOUTH + + .align 2 +gUnknown_0837541C:: @ 837541C + .4byte sub_805E4EC + .4byte sub_805E6AC + .4byte sub_805E5B4 + + .align 2 +gUnknown_08375428:: @ 8375428 + .byte DIR_EAST, DIR_WEST, DIR_SOUTH, DIR_NORTH + +gUnknown_0837542C:: @ 837542C + .4byte sub_805E4EC + .4byte sub_805E738 + .4byte sub_805E5B4 + +gUnknown_08375438:: @ 8375438 + .byte DIR_SOUTH, DIR_NORTH, DIR_EAST, DIR_WEST + + .align 2 +gUnknown_0837543C:: @ 837543C + .4byte sub_805E4EC + .4byte sub_805E7C4 + .4byte sub_805E5B4 + +gUnknown_08375448:: @ 8375448 + .byte DIR_WEST, DIR_SOUTH, DIR_NORTH, DIR_EAST + + .align 2 +gUnknown_0837544C:: @ 837544C + .4byte sub_805E4EC + .4byte sub_805E850 + .4byte sub_805E5B4 + +gUnknown_08375458:: @ 8375458 + .byte DIR_NORTH, DIR_WEST, DIR_EAST, DIR_SOUTH + + .align 2 +gUnknown_0837545C:: @ 837545C + .4byte sub_805E4EC + .4byte sub_805E8DC + .4byte sub_805E5B4 + +gUnknown_08375468:: @ 8375468 + .byte DIR_WEST, DIR_EAST, DIR_SOUTH, DIR_NORTH + + .align 2 +gUnknown_0837546C:: @ 837546C + .4byte sub_805E4EC + .4byte sub_805E968 + .4byte sub_805E5B4 + + .align 2 +gUnknown_08375478:: @ 8375478 + .4byte sub_805E4EC + .4byte sub_805E9F4 + .4byte sub_805E5B4 + +gUnknown_08375484:: @ 8375484 + .byte DIR_EAST, DIR_SOUTH, DIR_NORTH, DIR_WEST + + .align 2 +gUnknown_08375488:: @ 8375488 + .4byte sub_805E4EC + .4byte sub_805EA80 + .4byte sub_805E5B4 + +gUnknown_08375494:: @ 8375494 + .byte DIR_WEST, DIR_NORTH, DIR_SOUTH, DIR_EAST + + .align 2 +gUnknown_08375498:: @ 8375498 + .4byte sub_805E4EC + .4byte sub_805EB0C + .4byte sub_805E5B4 + +gUnknown_083754A4:: @ 83754A4 + .byte DIR_NORTH, DIR_SOUTH, DIR_EAST, DIR_WEST + + .align 2 +gUnknown_083754A8:: @ 83754A8 + .4byte sub_805E4EC + .4byte sub_805EB98 + .4byte sub_805E5B4 + +gUnknown_083754B4:: @ 83754B4 + .byte DIR_EAST, DIR_WEST, DIR_NORTH, DIR_SOUTH + + .align 2 +gUnknown_083754B8:: @ 83754B8 + .4byte sub_805E4EC + .4byte sub_805EC24 + .4byte sub_805E5B4 + +gUnknown_083754C4:: @ 83754C4 + .byte DIR_SOUTH, DIR_EAST, DIR_WEST, DIR_NORTH + + .align 2 +gUnknown_083754C8:: @ 83754C8 + .4byte sub_805E4EC + .4byte sub_805ECB0 + .4byte sub_805E5B4 + +gUnknown_083754D4:: @ 83754D4 + .byte DIR_EAST, DIR_NORTH, DIR_SOUTH, DIR_WEST + + .align 2 +gUnknown_083754D8:: @ 83754D8 + .4byte sub_805E4EC + .4byte sub_805ED3C + .4byte sub_805E5B4 + +gUnknown_083754E4:: @ 83754E4 + .byte DIR_NORTH, DIR_SOUTH, DIR_WEST, DIR_EAST + + .align 2 +gUnknown_083754E8:: @ 83754E8 + .4byte sub_805E4EC + .4byte sub_805EDC8 + .4byte sub_805E5B4 + +gUnknown_083754F4:: @ 83754F4 + .byte DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH + + .align 2 +gUnknown_083754F8:: @ 83754F8 + .4byte sub_805E4EC + .4byte sub_805EE54 + .4byte sub_805E5B4 + +gUnknown_08375504:: @ 8375504 + .byte DIR_SOUTH, DIR_WEST, DIR_EAST, DIR_NORTH + + .align 2 +gUnknown_08375508:: @ 8375508 + .4byte sub_805E4EC + .4byte sub_805EEE0 + .4byte sub_805E5B4 + +gUnknown_08375514:: @ 8375514 + .byte DIR_NORTH, DIR_WEST, DIR_SOUTH, DIR_EAST + + .align 2 +gUnknown_08375518:: @ 8375518 + .4byte sub_805E4EC + .4byte sub_805EF6C + .4byte sub_805E5B4 + +gUnknown_08375524:: @ 8375524 + .byte DIR_SOUTH, DIR_EAST, DIR_NORTH, DIR_WEST + + .align 2 +gUnknown_08375528:: @ 8375528 + .4byte sub_805E4EC + .4byte sub_805EFF8 + .4byte sub_805E5B4 + +gUnknown_08375534:: @ 8375534 + .byte DIR_WEST, DIR_SOUTH, DIR_EAST, DIR_NORTH + + .align 2 +gUnknown_08375538:: @ 8375538 + .4byte sub_805E4EC + .4byte sub_805F084 + .4byte sub_805E5B4 + +gUnknown_08375544:: @ 8375544 + .byte DIR_EAST, DIR_NORTH, DIR_WEST, DIR_SOUTH + + .align 2 +gUnknown_08375548:: @ 8375548 + .4byte sub_805E4EC + .4byte sub_805F110 + .4byte sub_805E5B4 + +gUnknown_08375554:: @ 8375554 + .byte DIR_NORTH, DIR_EAST, DIR_SOUTH, DIR_WEST + + .align 2 +gUnknown_08375558:: @ 8375558 + .4byte sub_805E4EC + .4byte sub_805F19C + .4byte sub_805E5B4 + +gUnknown_08375564:: @ 8375564 + .byte DIR_SOUTH, DIR_WEST, DIR_NORTH, DIR_EAST + + .align 2 +gUnknown_08375568:: @ 8375568 + .4byte sub_805E4EC + .4byte sub_805F228 + .4byte sub_805E5B4 + +gUnknown_08375574:: @ 8375574 + .byte DIR_WEST, DIR_NORTH, DIR_EAST, DIR_SOUTH + + .align 2 +gUnknown_08375578:: @ 8375578 + .4byte sub_805E4EC + .4byte sub_805F2B4 + .4byte sub_805E5B4 + + .align 2 +gUnknown_08375584:: @ 8375584 + .byte DIR_EAST, DIR_SOUTH, DIR_WEST, DIR_NORTH + + .align 2 +gUnknown_08375588:: @ 8375588 + .4byte mss_npc_reset_oampriv3_1_unk2_unk3 + .4byte sub_805F364 + .4byte sub_805F3C4 + + .align 2 +gUnknown_08375594:: @ 8375594 + .4byte sub_805F3EC + .4byte sub_805F3F0 + .4byte sub_805F438 + .4byte sub_805F4F0 + .4byte sub_805F5A8 + .4byte sub_805F660 + .4byte cph_IM_DIFFERENT + .4byte sub_805F760 + .4byte oac_hopping + .4byte sub_805F3EC + .4byte sub_805F3EC + + .align 2 +gUnknown_083755C0:: @ 83755C0 + .4byte mss_npc_reset_oampriv3_1_unk2_unk3 + .4byte mss_08062EA4 + .4byte sub_805F3C4 + + .align 2 +gUnknown_083755CC:: @ 83755CC + .4byte sub_805FAF8 + + .align 2 +gUnknown_083755D0:: @ 83755D0 + .4byte sub_805FB64 + .4byte sub_805FB04 + + .align 2 +gUnknown_083755D8:: @ 83755D8 + .4byte sub_805FBD4 + .4byte sub_805FB04 + + .align 2 +gUnknown_083755E0:: @ 83755E0 + .4byte sub_805FC44 + .4byte sub_805FB04 + + .align 2 +gUnknown_083755E8:: @ 83755E8 + .4byte sub_805FCB4 + .4byte sub_805FCE8 + .4byte sub_805FD08 + +gUnknown_083755F4:: @ 83755F4 + .byte 0x00, 0x00, 0x01, 0x02, 0x03, 0x00, 0x00, 0x01, 0x01 + +gUnknown_083755FD:: @ 83755FD + .byte 0x04, 0x04, 0x05, 0x06, 0x07, 0x04, 0x04, 0x05, 0x05 + +gUnknown_08375606:: @ 8375606 + .byte 0x08, 0x08, 0x09, 0x0A, 0x0B, 0x08, 0x08, 0x09, 0x09 + +gUnknown_0837560F:: @ 837560F + .byte 0x0C, 0x0C, 0x0D, 0x0E, 0x0F, 0x0C, 0x0C, 0x0D, 0x0D + +gUnknown_08375618:: @ 8375618 + .byte 0x10, 0x10, 0x11, 0x12, 0x13, 0x10, 0x10, 0x11, 0x11 + +gUnknown_08375621:: @ 8375621 + .byte 0x14, 0x14, 0x15, 0x16, 0x17, 0x14, 0x14, 0x15, 0x15 + +gUnknown_0837562A:: @ 837562A + .byte 0x14, 0x14, 0x15, 0x16, 0x17, 0x14, 0x14, 0x15, 0x15 + +gUnknown_08375633:: @ 8375633 + .byte 0x18, 0x18, 0x19, 0x1A, 0x1B, 0x18, 0x18, 0x19, 0x19 + +gUnknown_0837563C:: @ 837563C + .byte 0x1C, 0x1C, 0x1D, 0x1E, 0x1F, 0x1C, 0x1C, 0x1D, 0x1D + +gUnknown_08375645:: @ 8375645 + .byte 0x20, 0x20, 0x21, 0x22, 0x23, 0x20, 0x20, 0x21, 0x21 + +gUnknown_0837564E:: @ 837564E + .byte 0x24, 0x24, 0x25, 0x26, 0x27, 0x24, 0x24, 0x25, 0x25 + +gUnknown_08375657:: @ 8375657 + .byte 0x00, 0x00, 0x01, 0x02, 0x03, 0x00, 0x00, 0x01, 0x01 + +gUnknown_08375660:: @ 8375660 + .byte 0x04, 0x04, 0x05, 0x06, 0x07, 0x04, 0x04, 0x05, 0x05 + +gUnknown_08375669:: @ 8375669 + .byte 0x08, 0x08, 0x09, 0x0A, 0x0B, 0x08, 0x08, 0x09, 0x09 + +gUnknown_08375672:: @ 8375672 + .byte 0x14, 0x14, 0x15, 0x16, 0x17, 0x14, 0x14, 0x15, 0x15 + +gUnknown_0837567B:: @ 837567B + .byte 0x08, 0x08, 0x07, 0x09, 0x0A, 0x08, 0x08, 0x07, 0x07 + + .align 2 +gUnknown_08375684:: @ 8375684 + .4byte MetatileBehavior_IsSouthBlocked + .4byte MetatileBehavior_IsNorthBlocked + .4byte MetatileBehavior_IsWestBlocked + .4byte MetatileBehavior_IsEastBlocked + + .align 2 +gUnknown_08375694:: @ 8375694 + .4byte MetatileBehavior_IsNorthBlocked + .4byte MetatileBehavior_IsSouthBlocked + .4byte MetatileBehavior_IsEastBlocked + .4byte MetatileBehavior_IsWestBlocked + + .align 1 +gDirectionToVector:: @ 83756A4 + .2byte 0, 0 + .2byte 0, 1 + .2byte 0, -1 + .2byte -1, 0 + .2byte 1, 0 + .2byte -1, 1 + .2byte 1, 1 + .2byte -1, -1 + .2byte 1, -1 + +gUnknown_083756C8:: @ 83756C8 + .byte 0x00, 0x00, 0x01, 0x02, 0x03 + +gUnknown_083756CD:: @ 83756CD + .byte 0x04, 0x04, 0x05, 0x06, 0x07 + +gUnknown_083756D2:: @ 83756D2 + .byte 0x08, 0x08, 0x09, 0x0A, 0x0B + +gUnknown_083756D7:: @ 83756D7 + .byte 0x15, 0x15, 0x16, 0x17, 0x18 + +gUnknown_083756DC:: @ 83756DC + .byte 0x29, 0x29, 0x2A, 0x2B, 0x2C + +gUnknown_083756E1:: @ 83756E1 + .byte 0x2D, 0x2D, 0x2E, 0x2F, 0x30 + +gUnknown_083756E6:: @ 83756E6 + .byte 0x31, 0x31, 0x32, 0x33, 0x34 + +gUnknown_083756EB:: @ 83756EB + .byte 0x35, 0x35, 0x36, 0x37, 0x38 + +gUnknown_083756F0:: @ 83756F0 + .byte 0x0C, 0x0C, 0x0D, 0x0E, 0x0F + +gUnknown_083756F5:: @ 83756F5 + .byte 0x46, 0x46, 0x47, 0x48, 0x49 + +gUnknown_083756FA:: @ 83756FA + .byte 0x4B, 0x4B, 0x4A, 0x4D, 0x4C + +gUnknown_083756FF:: @ 83756FF + .byte 0x42, 0x42, 0x43, 0x44, 0x45 + +gUnknown_08375704:: @ 8375704 + .byte 0x3A, 0x3A, 0x3B, 0x3C, 0x3D + +gUnknown_08375709:: @ 8375709 + .byte 0x19, 0x19, 0x1A, 0x1B, 0x1C + +gUnknown_0837570E:: @ 837570E + .byte 0x1D, 0x1D, 0x1E, 0x1F, 0x20 + +gUnknown_08375713:: @ 8375713 + .byte 0x21, 0x21, 0x22, 0x23, 0x24 + +gUnknown_08375718:: @ 8375718 + .byte 0x25, 0x25, 0x26, 0x27, 0x28 + +gUnknown_0837571D:: @ 837571D + .byte 0x62, 0x62, 0x63, 0x64, 0x65 + +gUnknown_08375722:: @ 8375722 + .byte 0x66, 0x66, 0x67, 0x68, 0x69 + +gUnknown_08375727:: @ 8375727 + .byte 0x6A, 0x6A, 0x6B, 0x6C, 0x6D + +gUnknown_0837572C:: @ 837572C + .byte 0x6E, 0x6E, 0x6F, 0x70, 0x71 + +gUnknown_08375731:: @ 8375731 + .byte 0x72, 0x72, 0x73, 0x74, 0x75 + +gUnknown_08375736:: @ 8375736 + .byte 0x76, 0x76, 0x77, 0x78, 0x79 + +gUnknown_0837573B:: @ 837573B + .byte 0x7A, 0x7A, 0x7B, 0x7C, 0x7D + +gUnknown_08375740:: @ 8375740 + .byte 0x7E, 0x7E, 0x7F, 0x80, 0x81 + +gUnknown_08375745:: @ 8375745 + .byte 0x82, 0x82, 0x83, 0x84, 0x85 + +gUnknown_0837574A:: @ 837574A + .byte 0x86, 0x86, 0x87, 0x88, 0x89 + +gUnknown_0837574F:: @ 837574F + .byte 2, 1, 4, 3, 8, 7, 6, 5 + +gUnknown_08375757:: @ 8375757 + .byte 2, 1, 4, 3, 1, 2, 3, 4, 3, 4, 2, 1, 4, 3, 1, 2 + +gUnknown_08375767:: @ 8375767 + .byte 2, 1, 4, 3, 1, 2, 3, 4, 4, 3, 1, 2, 3, 4, 2, 1 + + .align 2 +gUnknown_08375778:: @ 8375778 + .4byte Unknown_83759A0 + .4byte Unknown_83759A8 + .4byte Unknown_83759B0 + .4byte Unknown_83759B8 + .4byte Unknown_83759D4 + .4byte Unknown_83759E0 + .4byte Unknown_83759EC + .4byte Unknown_83759F8 + .4byte Unknown_8375A04 + .4byte Unknown_8375A10 + .4byte Unknown_8375A1C + .4byte Unknown_8375A28 + .4byte Unknown_8375A40 + .4byte Unknown_8375A4C + .4byte Unknown_8375A58 + .4byte Unknown_8375A64 + .4byte Unknown_8375A70 + .4byte Unknown_8375A7C + .4byte Unknown_8375A88 + .4byte Unknown_8375A94 + .4byte Unknown_8375AA0 + .4byte Unknown_8375AAC + .4byte Unknown_8375AB8 + .4byte Unknown_8375AC4 + .4byte Unknown_8375AD0 + .4byte Unknown_8375ADC + .4byte Unknown_8375AE8 + .4byte Unknown_8375AF4 + .4byte Unknown_8375B00 + .4byte Unknown_8375B0C + .4byte Unknown_8375B18 + .4byte Unknown_8375B24 + .4byte Unknown_8375B30 + .4byte Unknown_8375B3C + .4byte Unknown_8375B48 + .4byte Unknown_8375B54 + .4byte Unknown_8375B60 + .4byte Unknown_8375B6C + .4byte Unknown_8375B78 + .4byte Unknown_8375B84 + .4byte Unknown_8375B90 + .4byte Unknown_8375B9C + .4byte Unknown_8375BA8 + .4byte Unknown_8375BB4 + .4byte Unknown_8375BC0 + .4byte Unknown_8375BCC + .4byte Unknown_8375BD8 + .4byte Unknown_8375BE4 + .4byte Unknown_8375BF0 + .4byte Unknown_8375BFC + .4byte Unknown_8375C08 + .4byte Unknown_8375C14 + .4byte Unknown_8375C20 + .4byte Unknown_8375C2C + .4byte Unknown_8375C38 + .4byte Unknown_8375C44 + .4byte Unknown_8375C50 + .4byte Unknown_8375C5C + .4byte Unknown_8375C68 + .4byte Unknown_8375C74 + .4byte Unknown_8375C80 + .4byte Unknown_8375C8C + .4byte Unknown_8375C98 + .4byte Unknown_8375CA0 + .4byte Unknown_8375CA8 + .4byte Unknown_8375CB0 + .4byte Unknown_8375CB8 + .4byte Unknown_8375CC4 + .4byte Unknown_8375CD0 + .4byte Unknown_8375CDC + .4byte Unknown_8375CE8 + .4byte Unknown_8375CF4 + .4byte Unknown_8375D00 + .4byte Unknown_8375D0C + .4byte Unknown_8375D18 + .4byte Unknown_8375D24 + .4byte Unknown_8375D30 + .4byte Unknown_8375D3C + .4byte Unknown_8375D48 + .4byte Unknown_8375D50 + .4byte Unknown_8375D5C + .4byte Unknown_8375D64 + .4byte Unknown_8375D6C + .4byte Unknown_8375D74 + .4byte Unknown_8375D7C + .4byte Unknown_8375D84 + .4byte Unknown_8375D8C + .4byte Unknown_8375D94 + .4byte Unknown_8375D9C + .4byte Unknown_8375DA4 + .4byte Unknown_8375DB0 + .4byte Unknown_8375DC0 + .4byte Unknown_8375DD0 + .4byte Unknown_8375DD8 + .4byte Unknown_8375DE0 + .4byte Unknown_8375DE8 + .4byte Unknown_8375DF0 + .4byte Unknown_8375DFC + .4byte Unknown_8375E08 + .4byte Unknown_8375E10 + .4byte Unknown_8375E18 + .4byte Unknown_8375E20 + .4byte Unknown_8375E28 + .4byte Unknown_8375E34 + .4byte Unknown_8375E40 + .4byte Unknown_8375E4C + .4byte Unknown_8375E58 + .4byte Unknown_8375E64 + .4byte Unknown_8375E70 + .4byte Unknown_8375E7C + .4byte Unknown_8375EB8 + .4byte Unknown_8375EC4 + .4byte Unknown_8375ED0 + .4byte Unknown_8375EDC + .4byte Unknown_8375EE8 + .4byte Unknown_8375EF4 + .4byte Unknown_8375F00 + .4byte Unknown_8375F0C + .4byte Unknown_8375F18 + .4byte Unknown_8375F24 + .4byte Unknown_8375F30 + .4byte Unknown_8375F3C + .4byte Unknown_8375F48 + .4byte Unknown_8375F54 + .4byte Unknown_8375F60 + .4byte Unknown_8375F6C + .4byte Unknown_8375F78 + .4byte Unknown_8375F84 + .4byte Unknown_8375F90 + .4byte Unknown_8375F9C + .4byte Unknown_8375FA8 + .4byte Unknown_8375FB4 + .4byte Unknown_8375FC0 + .4byte Unknown_8375FCC + .4byte Unknown_8375FD8 + .4byte Unknown_8375FE4 + .4byte Unknown_8375FF0 + .4byte Unknown_8375FFC + + .align 2 +Unknown_83759A0: + .4byte sub_8060CE0 + .4byte sub_8063474 + + .align 2 +Unknown_83759A8: + .4byte sub_8060CF0 + .4byte sub_8063474 + + .align 2 +Unknown_83759B0: + .4byte sub_8060D00 + .4byte sub_8063474 + + .align 2 +Unknown_83759B8: + .4byte sub_8060D10 + .4byte sub_8063474 + + .align 2 +gUnknown_083759C0:: @ 83759C0 + .4byte get_go_image_anim_num + .4byte get_go_fast_image_anim_num + .4byte get_go_fast_image_anim_num + .4byte get_go_faster_image_anim_num + .4byte sub_805FD78 + + .align 2 +Unknown_83759D4: + .4byte sub_8060F3C + .4byte sub_8060F5C + .4byte sub_8063474 + + .align 2 +Unknown_83759E0: + .4byte sub_8060F7C + .4byte sub_8060F9C + .4byte sub_8063474 + + .align 2 +Unknown_83759EC: + .4byte sub_8060FBC + .4byte sub_8060FDC + .4byte sub_8063474 + + .align 2 +Unknown_83759F8: + .4byte sub_8060FFC + .4byte sub_806101C + .4byte sub_8063474 + + .align 2 +Unknown_8375A04: + .4byte sub_806103C + .4byte sub_806105C + .4byte sub_8063474 + + .align 2 +Unknown_8375A10: + .4byte sub_806107C + .4byte sub_806109C + .4byte sub_8063474 + + .align 2 +Unknown_8375A1C: + .4byte sub_80610BC + .4byte sub_80610DC + .4byte sub_8063474 + + .align 2 +Unknown_8375A28: + .4byte sub_80610FC + .4byte sub_806111C + .4byte sub_8063474 + + .align 1 +gUnknown_08375A34:: @ 8375A34 + .2byte 0, 1, 1 + + .align 1 +gUnknown_08375A3A:: @ 8375A3A + .2byte 0, 0, 1 + + .align 2 +Unknown_8375A40: + .4byte sub_80613A8 + .4byte sub_80613D4 + .4byte sub_8063474 + + .align 2 +Unknown_8375A4C: + .4byte sub_8061400 + .4byte sub_806142C + .4byte sub_8063474 + + .align 2 +Unknown_8375A58: + .4byte sub_8061458 + .4byte sub_8061484 + .4byte sub_8063474 + + .align 2 +Unknown_8375A64: + .4byte sub_80614B0 + .4byte sub_80614DC + .4byte sub_8063474 + + .align 2 +Unknown_8375A70: + .4byte sub_806152C + .4byte sub_8061510 + .4byte sub_8063470 + + .align 2 +Unknown_8375A7C: + .4byte sub_806154C + .4byte sub_8061510 + .4byte sub_8063470 + + .align 2 +Unknown_8375A88: + .4byte sub_806156C + .4byte sub_8061510 + .4byte sub_8063470 + + .align 2 +Unknown_8375A94: + .4byte sub_806158C + .4byte sub_8061510 + .4byte sub_8063470 + + .align 2 +Unknown_8375AA0: + .4byte sub_80615AC + .4byte sub_8061510 + .4byte sub_8063470 + + .align 2 +Unknown_8375AAC: + .4byte sub_80615CC + .4byte sub_80615EC + .4byte sub_8063474 + + .align 2 +Unknown_8375AB8: + .4byte sub_806160C + .4byte sub_806162C + .4byte sub_8063474 + + .align 2 +Unknown_8375AC4: + .4byte sub_806164C + .4byte sub_806166C + .4byte sub_8063474 + + .align 2 +Unknown_8375AD0: + .4byte sub_806168C + .4byte sub_80616AC + .4byte sub_8063474 + + .align 2 +Unknown_8375ADC: + .4byte sub_8061778 + .4byte sub_806173C + .4byte sub_8063474 + + .align 2 +Unknown_8375AE8: + .4byte sub_80617B0 + .4byte sub_806173C + .4byte sub_8063474 + + .align 2 +Unknown_8375AF4: + .4byte sub_80617E8 + .4byte sub_806173C + .4byte sub_8063474 + + .align 2 +Unknown_8375B00: + .4byte sub_8061820 + .4byte sub_806173C + .4byte sub_8063474 + + .align 2 +Unknown_8375B0C: + .4byte sub_8061858 + .4byte sub_8061714 + .4byte sub_8063474 + + .align 2 +Unknown_8375B18: + .4byte sub_8061890 + .4byte sub_8061714 + .4byte sub_8063474 + + .align 2 +Unknown_8375B24: + .4byte sub_80618C8 + .4byte sub_8061714 + .4byte sub_8063474 + + .align 2 +Unknown_8375B30: + .4byte sub_8061900 + .4byte sub_8061714 + .4byte sub_8063474 + + .align 2 +Unknown_8375B3C: + .4byte sub_8061938 + .4byte sub_8061714 + .4byte sub_8063474 + + .align 2 +Unknown_8375B48: + .4byte sub_8061970 + .4byte sub_8061714 + .4byte sub_8063474 + + .align 2 +Unknown_8375B54: + .4byte sub_80619A8 + .4byte sub_8061714 + .4byte sub_8063474 + + .align 2 +Unknown_8375B60: + .4byte sub_80619E0 + .4byte sub_8061714 + .4byte sub_8063474 + + .align 2 +Unknown_8375B6C: + .4byte sub_8061A18 + .4byte sub_8061714 + .4byte sub_8063474 + + .align 2 +Unknown_8375B78: + .4byte sub_8061A50 + .4byte sub_8061714 + .4byte sub_8063474 + + .align 2 +Unknown_8375B84: + .4byte sub_8061A88 + .4byte sub_8061714 + .4byte sub_8063474 + + .align 2 +Unknown_8375B90: + .4byte sub_8061AC0 + .4byte sub_8061714 + .4byte sub_8063474 + + .align 2 +Unknown_8375B9C: + .4byte sub_8061AF8 + .4byte sub_8061B18 + .4byte sub_8063474 + + .align 2 +Unknown_8375BA8: + .4byte sub_8061B38 + .4byte sub_8061B58 + .4byte sub_8063474 + + .align 2 +Unknown_8375BB4: + .4byte sub_8061B78 + .4byte sub_8061B98 + .4byte sub_8063474 + + .align 2 +Unknown_8375BC0: + .4byte sub_8061BB8 + .4byte sub_8061BD8 + .4byte sub_8063474 + + .align 2 +Unknown_8375BCC: + .4byte sub_8061BF8 + .4byte sub_8061C18 + .4byte sub_8063474 + + .align 2 +Unknown_8375BD8: + .4byte sub_8061C38 + .4byte sub_8061C58 + .4byte sub_8063474 + + .align 2 +Unknown_8375BE4: + .4byte sub_8061C78 + .4byte sub_8061C98 + .4byte sub_8063474 + + .align 2 +Unknown_8375BF0: + .4byte sub_8061CB8 + .4byte sub_8061CD8 + .4byte sub_8063474 + + .align 2 +Unknown_8375BFC: + .4byte sub_8061CF8 + .4byte sub_8061D18 + .4byte sub_8063474 + + .align 2 +Unknown_8375C08: + .4byte sub_8061D38 + .4byte sub_8061D58 + .4byte sub_8063474 + + .align 2 +Unknown_8375C14: + .4byte sub_8061D78 + .4byte sub_8061D98 + .4byte sub_8063474 + + .align 2 +Unknown_8375C20: + .4byte sub_8061DB8 + .4byte sub_8061DD8 + .4byte sub_8063474 + + .align 2 +Unknown_8375C2C: + .4byte do_run_south_anim + .4byte sub_8061E18 + .4byte sub_8063474 + + .align 2 +Unknown_8375C38: + .4byte do_run_north_anim + .4byte sub_8061E58 + .4byte sub_8063474 + + .align 2 +Unknown_8375C44: + .4byte do_run_west_anim + .4byte sub_8061E98 + .4byte sub_8063474 + + .align 2 +Unknown_8375C50: + .4byte do_run_east_anim + .4byte sub_8061ED8 + .4byte sub_8063474 + + .align 2 +Unknown_8375C5C: + .4byte sub_8061F24 + .4byte sub_8061F3C + .4byte sub_8063474 + + .align 2 +Unknown_8375C68: + .4byte sub_8061F90 + .4byte sub_8061FB0 + .4byte sub_8063474 + + .align 2 +Unknown_8375C74: + .4byte sub_8061FD8 + .4byte sub_8061FF8 + .4byte sub_8063474 + + .align 2 +Unknown_8375C80: + .4byte sub_8062020 + .4byte sub_8062040 + .4byte sub_8063474 + + .align 2 +Unknown_8375C8C: + .4byte sub_8062068 + .4byte sub_8062088 + .4byte sub_8063474 + + .align 2 +Unknown_8375C98: + .4byte sub_80620B0 + .4byte sub_8063474 + + .align 2 +Unknown_8375CA0: + .4byte sub_806210C + .4byte sub_8063474 + + .align 2 +Unknown_8375CA8: + .4byte sub_8062170 + .4byte sub_8063474 + + .align 2 +Unknown_8375CB0: + .4byte sub_8062180 + .4byte sub_8063474 + + .align 2 +Unknown_8375CB8: + .4byte sub_8062190 + .4byte sub_80621BC + .4byte sub_8063474 + + .align 2 +Unknown_8375CC4: + .4byte sub_80621E8 + .4byte sub_8062214 + .4byte sub_8063474 + + .align 2 +Unknown_8375CD0: + .4byte sub_8062240 + .4byte sub_806226C + .4byte sub_8063474 + + .align 2 +Unknown_8375CDC: + .4byte sub_8062298 + .4byte sub_80622C4 + .4byte sub_8063474 + + .align 2 +Unknown_8375CE8: + .4byte sub_80622F0 + .4byte sub_806231C + .4byte sub_8063474 + + .align 2 +Unknown_8375CF4: + .4byte sub_8062348 + .4byte sub_8062374 + .4byte sub_8063474 + + .align 2 +Unknown_8375D00: + .4byte sub_80623A0 + .4byte sub_80623CC + .4byte sub_8063474 + + .align 2 +Unknown_8375D0C: + .4byte sub_80623F8 + .4byte sub_8062424 + .4byte sub_8063474 + + .align 2 +Unknown_8375D18: + .4byte sub_8062450 + .4byte sub_806247C + .4byte sub_8063474 + + .align 2 +Unknown_8375D24: + .4byte sub_80624A8 + .4byte sub_80624D4 + .4byte sub_8063474 + + .align 2 +Unknown_8375D30: + .4byte sub_8062500 + .4byte sub_806252C + .4byte sub_8063474 + + .align 2 +Unknown_8375D3C: + .4byte sub_8062558 + .4byte sub_8062584 + .4byte sub_8063474 + + .align 2 +Unknown_8375D48: + .4byte sub_80625B0 + .4byte sub_8063474 + + .align 2 +Unknown_8375D50: + .4byte sub_80625C8 + .4byte sub_8061F3C + .4byte sub_8063474 + + .align 2 +Unknown_8375D5C: + .4byte sub_80625D8 + .4byte sub_8063470 + + .align 2 +Unknown_8375D64: + .4byte sub_80625E8 + .4byte sub_8063470 + + .align 2 +Unknown_8375D6C: + .4byte sub_80625F8 + .4byte sub_8063470 + + .align 2 +Unknown_8375D74: + .4byte sub_8062608 + .4byte sub_8063470 + + .align 2 +Unknown_8375D7C: + .4byte sub_8062634 + .4byte sub_8063470 + + .align 2 +Unknown_8375D84: + .4byte sub_8062644 + .4byte sub_8063470 + + .align 2 +Unknown_8375D8C: + .4byte do_exclamation_mark_bubble_1 + .4byte sub_8063470 + + .align 2 +Unknown_8375D94: + .4byte do_exclamation_mark_bubble_2 + .4byte sub_8063470 + + .align 2 +Unknown_8375D9C: + .4byte do_heart_bubble + .4byte sub_8063470 + + .align 2 +Unknown_8375DA4: + .4byte sub_80626C0 + .4byte sub_8062704 + .4byte sub_8063470 + + .align 2 +Unknown_8375DB0: + .4byte sub_8062724 + .4byte sub_8062740 + .4byte sub_8062764 + .4byte sub_8063470 + + .align 2 +Unknown_8375DC0: + .4byte sub_80627A0 + .4byte sub_80627BC + .4byte sub_80627E0 + .4byte sub_8063470 + + .align 2 +Unknown_8375DD0: + .4byte sub_806281C + .4byte sub_8063470 + + .align 2 +Unknown_8375DD8: + .4byte sub_806282C + .4byte sub_8063470 + + .align 2 +Unknown_8375DE0: + .4byte sub_806283C + .4byte sub_8063470 + + .align 2 +Unknown_8375DE8: + .4byte sub_806286C + .4byte sub_8063470 + + .align 2 +Unknown_8375DF0: + .4byte sub_806289C + .4byte sub_80628D0 + .4byte sub_8063474 + + .align 2 +Unknown_8375DFC: + .4byte sub_80628FC + .4byte sub_8062930 + .4byte sub_8063474 + + .align 2 +Unknown_8375E08: + .4byte sub_806299C + .4byte sub_8063474 + + .align 2 +Unknown_8375E10: + .4byte sub_80629AC + .4byte sub_8063474 + + .align 2 +Unknown_8375E18: + .4byte sub_80629BC + .4byte sub_8063474 + + .align 2 +Unknown_8375E20: + .4byte sub_80629CC + .4byte sub_8063474 + + .align 2 +Unknown_8375E28: + .4byte sub_80629DC + .4byte sub_8061F3C + .4byte sub_8063474 + + .align 2 +Unknown_8375E34: + .4byte sub_8062A00 + .4byte sub_8061F3C + .4byte sub_8063474 + + .align 2 +Unknown_8375E40: + .4byte sub_8062A24 + .4byte sub_8061F3C + .4byte sub_8063474 + + .align 2 +Unknown_8375E4C: + .4byte sub_8062A48 + .4byte sub_8061F3C + .4byte sub_8063474 + + .align 2 +Unknown_8375E58: + .4byte sub_8062A6C + .4byte sub_8061F3C + .4byte sub_8063474 + + .align 2 +Unknown_8375E64: + .4byte sub_8062A90 + .4byte sub_8061F3C + .4byte sub_8063474 + + .align 2 +Unknown_8375E70: + .4byte sub_8062AB4 + .4byte sub_8061F3C + .4byte sub_8063474 + + .align 2 +Unknown_8375E7C: + .4byte sub_8062AD8 + .4byte sub_8061F3C + .4byte sub_8063474 + .4byte sub_8062AFC + .4byte sub_8061F3C + .4byte sub_8063474 + .4byte sub_8062B20 + .4byte sub_8061F3C + .4byte sub_8063474 + .4byte sub_8062B44 + .4byte sub_8061F3C + .4byte sub_8063474 + .4byte sub_8062B68 + .4byte sub_8061F3C + .4byte sub_8063474 + + .align 2 +Unknown_8375EB8: + .4byte sub_8062BD0 + .4byte sub_8062BFC + .4byte sub_8063474 + + .align 2 +Unknown_8375EC4: + .4byte sub_8062C28 + .4byte sub_8062C54 + .4byte sub_8063474 + + .align 2 +Unknown_8375ED0: + .4byte sub_8062C80 + .4byte sub_8062CAC + .4byte sub_8063474 + + .align 2 +Unknown_8375EDC: + .4byte sub_8062CD8 + .4byte sub_8062D04 + .4byte sub_8063474 + + .align 2 +Unknown_8375EE8: + .4byte sub_8062D30 + .4byte sub_8062D5C + .4byte sub_8063474 + + .align 2 +Unknown_8375EF4: + .4byte sub_8062D88 + .4byte sub_8062DB4 + .4byte sub_8063474 + + .align 2 +Unknown_8375F00: + .4byte sub_8062DE0 + .4byte sub_8062E0C + .4byte sub_8063474 + + .align 2 +Unknown_8375F0C: + .4byte sub_8062E38 + .4byte sub_8062E64 + .4byte sub_8063474 + + .align 2 +Unknown_8375F18: + .4byte sub_8062E90 + .4byte sub_8062EBC + .4byte sub_8063474 + + .align 2 +Unknown_8375F24: + .4byte sub_8062EE8 + .4byte sub_8062F14 + .4byte sub_8063474 + + .align 2 +Unknown_8375F30: + .4byte sub_8062F40 + .4byte sub_8062F6C + .4byte sub_8063474 + + .align 2 +Unknown_8375F3C: + .4byte sub_8062F98 + .4byte sub_8062FC4 + .4byte sub_8063474 + + .align 2 +Unknown_8375F48: + .4byte sub_8062FF0 + .4byte sub_8061714 + .4byte sub_8063474 + + .align 2 +Unknown_8375F54: + .4byte sub_8063028 + .4byte sub_8061714 + .4byte sub_8063474 + + .align 2 +Unknown_8375F60: + .4byte sub_8063060 + .4byte sub_8061714 + .4byte sub_8063474 + + .align 2 +Unknown_8375F6C: + .4byte sub_8063098 + .4byte sub_8061714 + .4byte sub_8063474 + + .align 2 +Unknown_8375F78: + .4byte sub_8063108 + .4byte sub_8063128 + .4byte sub_8063474 + + .align 2 +Unknown_8375F84: + .4byte sub_8063148 + .4byte sub_8063168 + .4byte sub_8063474 + + .align 2 +Unknown_8375F90: + .4byte sub_8063188 + .4byte sub_80631A8 + .4byte sub_8063474 + + .align 2 +Unknown_8375F9C: + .4byte sub_80631C8 + .4byte sub_80631E8 + .4byte sub_8063474 + + .align 2 +Unknown_8375FA8: + .4byte sub_8063238 + .4byte sub_8063258 + .4byte sub_8063474 + + .align 2 +Unknown_8375FB4: + .4byte sub_8063278 + .4byte sub_8063298 + .4byte sub_8063474 + + .align 2 +Unknown_8375FC0: + .4byte sub_80632B8 + .4byte sub_80632D8 + .4byte sub_8063474 + + .align 2 +Unknown_8375FCC: + .4byte sub_80632F8 + .4byte sub_8063318 + .4byte sub_8063474 + + .align 2 +Unknown_8375FD8: + .4byte sub_8063370 + .4byte sub_8063390 + .4byte sub_8063474 + + .align 2 +Unknown_8375FE4: + .4byte sub_80633B0 + .4byte sub_80633D0 + .4byte sub_8063474 + + .align 2 +Unknown_8375FF0: + .4byte sub_80633F0 + .4byte sub_8063410 + .4byte sub_8063474 + + .align 2 +Unknown_8375FFC: + .4byte sub_8063430 + .4byte sub_8063450 + .4byte sub_8063474 diff --git a/data/field_player_avatar.s b/data/field_player_avatar.s new file mode 100644 index 000000000..1491a1ad4 --- /dev/null +++ b/data/field_player_avatar.s @@ -0,0 +1,184 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + + .align 2 +gUnknown_0830FB58:: @ 830FB58 + .4byte MetatileBehavior_IsTrickHouseSlipperyFloor + .4byte MetatileBehavior_IsIce_2 + .4byte MetatileBehavior_IsWalkSouth + .4byte MetatileBehavior_IsWalkNorth + .4byte MetatileBehavior_IsWalkWest + .4byte MetatileBehavior_IsWalkEast + .4byte MetatileBehavior_IsSouthwardCurrent + .4byte MetatileBehavior_IsNorthwardCurrent + .4byte MetatileBehavior_IsWestwardCurrent + .4byte MetatileBehavior_IsEastwardCurrent + .4byte MetatileBehavior_IsSlideSouth + .4byte MetatileBehavior_IsSlideNorth + .4byte MetatileBehavior_IsSlideWest + .4byte MetatileBehavior_IsSlideEast + .4byte MetatileBehavior_IsWaterfall + .4byte MetatileBehavior_0xBB + .4byte MetatileBehavior_0xBC + .4byte MetatileBehavior_IsMuddySlope + + .align 2 +gUnknown_0830FBA0:: @ 830FBA0 + .4byte ForcedMovement_None + .4byte ForcedMovement_Slip + .4byte ForcedMovement_Slip + .4byte sub_8058AAC + .4byte sub_8058AC4 + .4byte sub_8058ADC + .4byte sub_8058AF4 + .4byte sub_8058B0C + .4byte sub_8058B24 + .4byte sub_8058B3C + .4byte sub_8058B54 + .4byte ForcedMovement_SlideSouth + .4byte ForcedMovement_SlideNorth + .4byte ForcedMovement_SlideWest + .4byte ForcedMovement_SlideEast + .4byte sub_8058B0C + .4byte sub_8058C04 + .4byte sub_8058C10 + .4byte ForcedMovement_MuddySlope + + .align 2 +gUnknown_0830FBEC:: @ 830FBEC + .4byte PlayerNotOnBikeNotMoving + .4byte PlayerNotOnBikeTurningInPlace + .4byte sub_8058D0C + + .align 2 +gUnknown_0830FBF8:: @ 830FBF8 + .4byte MetatileBehavior_IsBumpySlope + .4byte MetatileBehavior_IsIsolatedVerticalRail + .4byte MetatileBehavior_IsIsolatedHorizontalRail + .4byte MetatileBehavior_IsVerticalRail + .4byte MetatileBehavior_IsHorizontalRail + +gUnknown_0830FC0C:: @ 830FC0C + .byte 0x9, 0xA, 0xB, 0xC, 0xD + + .align 2 +gUnknown_0830FC14:: @ 830FC14 + .4byte PlayerAvatarTransition_Normal + .4byte PlayerAvatarTransition_MachBike + .4byte PlayerAvatarTransition_AcroBike + .4byte PlayerAvatarTransition_Surfing + .4byte PlayerAvatarTransition_Underwater + .4byte sub_80591F4 + .4byte nullsub_49 + .4byte nullsub_49 + + .align 2 +gUnknown_0830FC34:: @ 830FC34 + .4byte MetatileBehavior_IsSouthArrowWarp + .4byte MetatileBehavior_IsNorthArrowWarp + .4byte MetatileBehavior_IsWestArrowWarp + .4byte MetatileBehavior_IsEastArrowWarp + +gUnknown_0830FC44:: @ 830FC44 + .byte MAP_OBJ_GFX_RIVAL_BRENDAN_NORMAL, MAP_OBJ_GFX_RIVAL_MAY_NORMAL + .byte MAP_OBJ_GFX_RIVAL_BRENDAN_MACH_BIKE, MAP_OBJ_GFX_RIVAL_MAY_MACH_BIKE + .byte MAP_OBJ_GFX_RIVAL_BRENDAN_ACRO_BIKE, MAP_OBJ_GFX_RIVAL_MAY_ACRO_BIKE + .byte MAP_OBJ_GFX_RIVAL_BRENDAN_SURFING, MAP_OBJ_GFX_RIVAL_MAY_SURFING + .byte MAP_OBJ_GFX_BRENDAN_UNDERWATER, MAP_OBJ_GFX_MAY_UNDERWATER + .byte MAP_OBJ_GFX_RIVAL_BRENDAN_FIELD_MOVE, MAP_OBJ_GFX_RIVAL_MAY_FIELD_MOVE + .byte MAP_OBJ_GFX_BRENDAN_FISHING, MAP_OBJ_GFX_MAY_FISHING + .byte MAP_OBJ_GFX_BRENDAN_WATERING, MAP_OBJ_GFX_MAY_WATERING + +gUnknown_0830FC54:: @ 830FC54 + .byte MAP_OBJ_GFX_BRENDAN_NORMAL, MAP_OBJ_GFX_MAY_NORMAL + .byte MAP_OBJ_GFX_BRENDAN_MACH_BIKE, MAP_OBJ_GFX_MAY_MACH_BIKE + .byte MAP_OBJ_GFX_BRENDAN_ACRO_BIKE, MAP_OBJ_GFX_MAY_ACRO_BIKE + .byte MAP_OBJ_GFX_BRENDAN_SURFING, MAP_OBJ_GFX_MAY_SURFING + .byte MAP_OBJ_GFX_BRENDAN_UNDERWATER, MAP_OBJ_GFX_MAY_UNDERWATER + .byte MAP_OBJ_GFX_BRENDAN_FIELD_MOVE, MAP_OBJ_GFX_MAY_FIELD_MOVE + .byte MAP_OBJ_GFX_BRENDAN_FISHING, MAP_OBJ_GFX_MAY_FISHING + .byte MAP_OBJ_GFX_BRENDAN_WATERING, MAP_OBJ_GFX_MAY_WATERING + +gUnknown_0830FC64:: @ 830FC64 + @ male + .byte MAP_OBJ_GFX_BRENDAN_NORMAL, 1 + .byte MAP_OBJ_GFX_BRENDAN_MACH_BIKE, 2 + .byte MAP_OBJ_GFX_BRENDAN_ACRO_BIKE, 4 + .byte MAP_OBJ_GFX_BRENDAN_SURFING, 8 + .byte MAP_OBJ_GFX_BRENDAN_UNDERWATER, 16 + @ female + .byte MAP_OBJ_GFX_MAY_NORMAL, 1 + .byte MAP_OBJ_GFX_MAY_MACH_BIKE, 2 + .byte MAP_OBJ_GFX_MAY_ACRO_BIKE, 4 + .byte MAP_OBJ_GFX_MAY_SURFING, 8 + .byte MAP_OBJ_GFX_MAY_UNDERWATER, 16 + + .align 2 +gUnknown_0830FC78:: @ 830FC78 + .4byte MetatileBehavior_IsSouthArrowWarp + .4byte MetatileBehavior_IsNorthArrowWarp + .4byte MetatileBehavior_IsWestArrowWarp + .4byte MetatileBehavior_IsEastArrowWarp + + .align 2 +gUnknown_0830FC88:: @ 830FC88 + .4byte sub_8059E84 + .4byte sub_8059EA4 + .4byte sub_8059F40 + + .align 2 +gUnknown_0830FC94:: @ 830FC94 + .4byte sub_805A000 + + .align 2 +gUnknown_0830FC98:: @ 830FC98 + .4byte sub_805A0D8 + .4byte sub_805A100 + .4byte sub_805A178 + .4byte sub_805A1B8 + +gUnknown_0830FCA8:: @ 830FCA8 + .byte DIR_WEST, DIR_EAST, DIR_NORTH, DIR_SOUTH + +gUnknown_0830FCAC:: @ 830FCAC + .byte 0x10, 0x10, 0x11, 0x12, 0x13 + + .align 2 +gUnknown_0830FCB4:: @ 830FCB4 + .4byte Fishing1 + .4byte Fishing2 + .4byte Fishing3 + .4byte Fishing4 + .4byte Fishing5 + .4byte Fishing6 + .4byte Fishing7 + .4byte Fishing8 + .4byte Fishing9 + .4byte Fishing10 + .4byte Fishing11 + .4byte Fishing12 + .4byte Fishing13 + .4byte Fishing14 + .4byte Fishing15 + .4byte Fishing16 + + .align 1 +gUnknown_0830FCF4:: @ 830FCF4 + .2byte 1, 1, 1 + + .align 1 +gUnknown_0830FCFA:: @ 830FCFA + .2byte 1, 3, 6 + +gUnknown_0830FD00:: @ 830FD00 + .string "·$" + + .align 1 +gUnknown_0830FD02:: @ 830FD02 + .2byte 36, 33, 30 + + .align 1 +gUnknown_0830FD08:: @ 830FD08 + .2byte 0, 0, 40, 10, 70, 30 diff --git a/data/graphics/field_objects/base_oam.inc b/data/graphics/field_objects/base_oam.inc index 88a8ed058..7a2793374 100644 --- a/data/graphics/field_objects/base_oam.inc +++ b/data/graphics/field_objects/base_oam.inc @@ -1,47 +1,47 @@ .align 2 -gFieldOamData_8x8: @ 83711C4 +gFieldOamData_8x8:: @ 83711C4 .4byte OAM_SIZE_8x8 .2byte 2 << 10 @ priority .align 2 -gFieldOamData_16x8: @ 83711CC +gFieldOamData_16x8:: @ 83711CC .4byte OAM_SIZE_16x8 .2byte 2 << 10 @ priority .align 2 -gFieldOamData_16x16: @ 83711D4 +gFieldOamData_16x16:: @ 83711D4 .4byte OAM_SIZE_16x16 .2byte 2 << 10 @ priority .align 2 -gFieldOamData_32x8: @ 83711DC +gFieldOamData_32x8:: @ 83711DC .4byte OAM_SIZE_32x8 .2byte 2 << 10 @ priority .align 2 -gFieldOamData_64x32: @ 83711E4 +gFieldOamData_64x32:: @ 83711E4 .4byte OAM_SIZE_64x32 .2byte 2 << 10 @ priority .align 2 -gFieldOamData_16x32: @ 83711EC +gFieldOamData_16x32:: @ 83711EC .4byte OAM_SIZE_16x32 .2byte 2 << 10 @ priority .align 2 -gFieldOamData_32x32: @ 83711F4 +gFieldOamData_32x32:: @ 83711F4 .4byte OAM_SIZE_32x32 .2byte 2 << 10 @ priority .align 2 -gFieldOamData_64x64: @ 83711FC +gFieldOamData_64x64:: @ 83711FC .4byte OAM_SIZE_64x64 .2byte 2 << 10 @ priority diff --git a/data/graphics/field_objects/field_effect_object_graphics.inc b/data/graphics/field_objects/field_effect_object_graphics.inc index 67865c4d0..e3affcf9e 100644 --- a/data/graphics/field_objects/field_effect_object_graphics.inc +++ b/data/graphics/field_objects/field_effect_object_graphics.inc @@ -1,139 +1,139 @@ .align 2 -gFieldEffectPic_ShadowSmall: @ 8368528 +gFieldEffectPic_ShadowSmall:: @ 8368528 .incbin "graphics/field_effect_objects/pics/shadow_small.4bpp" .align 2 -gFieldEffectPic_ShadowMedium: @ 8368548 +gFieldEffectPic_ShadowMedium:: @ 8368548 .incbin "graphics/field_effect_objects/pics/shadow_medium.4bpp" .align 2 -gFieldEffectPic_ShadowLarge: @ 8368588 +gFieldEffectPic_ShadowLarge:: @ 8368588 .incbin "graphics/field_effect_objects/pics/shadow_large.4bpp" .align 2 -gFieldEffectPic_ShadowExtraLarge: @ 8368608 +gFieldEffectPic_ShadowExtraLarge:: @ 8368608 .incbin "graphics/field_effect_objects/pics/shadow_extra_large.4bpp" .align 2 .space 0x120 .align 2 -gFieldEffectPic_CutGrass: @ 8368B28 +gFieldEffectPic_CutGrass:: @ 8368B28 .incbin "graphics/field_effect_objects/pics/cut_grass.4bpp" .incbin "graphics/field_effect_objects/pics/cut_grass.4bpp" @ included twice .align 2 -gFieldEffectObjectPalette6: @ 8368B68 +gFieldEffectObjectPalette6:: @ 8368B68 .incbin "graphics/field_effect_objects/palettes/06.gbapal" .align 2 -gFieldEffectPic_Ripple_0: @ 8368B88 +gFieldEffectPic_Ripple_0:: @ 8368B88 .incbin "graphics/field_effect_objects/pics/ripple/0.4bpp" .align 2 -gFieldEffectPic_Ripple_1: @ 8368C08 +gFieldEffectPic_Ripple_1:: @ 8368C08 .incbin "graphics/field_effect_objects/pics/ripple/1.4bpp" .align 2 -gFieldEffectPic_Ripple_2: @ 8368C88 +gFieldEffectPic_Ripple_2:: @ 8368C88 .incbin "graphics/field_effect_objects/pics/ripple/2.4bpp" .align 2 -gFieldEffectPic_Ripple_3: @ 8368D08 +gFieldEffectPic_Ripple_3:: @ 8368D08 .incbin "graphics/field_effect_objects/pics/ripple/3.4bpp" .align 2 -gFieldEffectPic_Ripple_4: @ 8368D88 +gFieldEffectPic_Ripple_4:: @ 8368D88 .incbin "graphics/field_effect_objects/pics/ripple/4.4bpp" .align 2 -gFieldEffectPic_Ash_0: @ 8368E08 +gFieldEffectPic_Ash_0:: @ 8368E08 .incbin "graphics/field_effect_objects/pics/ash/0.4bpp" .align 2 -gFieldEffectPic_Ash_1: @ 8368E88 +gFieldEffectPic_Ash_1:: @ 8368E88 .incbin "graphics/field_effect_objects/pics/ash/1.4bpp" .align 2 -gFieldEffectPic_Ash_2: @ 8368F08 +gFieldEffectPic_Ash_2:: @ 8368F08 .incbin "graphics/field_effect_objects/pics/ash/2.4bpp" .align 2 -gFieldEffectPic_Ash_3: @ 8368F88 +gFieldEffectPic_Ash_3:: @ 8368F88 .incbin "graphics/field_effect_objects/pics/ash/3.4bpp" .align 2 -gFieldEffectPic_Ash_4: @ 8369008 +gFieldEffectPic_Ash_4:: @ 8369008 .incbin "graphics/field_effect_objects/pics/ash/4.4bpp" .align 2 -gFieldEffectPic_Arrow_0: @ 8369088 +gFieldEffectPic_Arrow_0:: @ 8369088 .incbin "graphics/field_effect_objects/pics/arrow/0.4bpp" .align 2 -gFieldEffectPic_Arrow_1: @ 8369108 +gFieldEffectPic_Arrow_1:: @ 8369108 .incbin "graphics/field_effect_objects/pics/arrow/1.4bpp" .align 2 -gFieldEffectPic_Arrow_2: @ 8369188 +gFieldEffectPic_Arrow_2:: @ 8369188 .incbin "graphics/field_effect_objects/pics/arrow/2.4bpp" .align 2 -gFieldEffectPic_Arrow_3: @ 8369208 +gFieldEffectPic_Arrow_3:: @ 8369208 .incbin "graphics/field_effect_objects/pics/arrow/3.4bpp" .align 2 -gFieldEffectPic_Arrow_4: @ 8369288 +gFieldEffectPic_Arrow_4:: @ 8369288 .incbin "graphics/field_effect_objects/pics/arrow/4.4bpp" .align 2 -gFieldEffectPic_Arrow_5: @ 8369308 +gFieldEffectPic_Arrow_5:: @ 8369308 .incbin "graphics/field_effect_objects/pics/arrow/5.4bpp" .align 2 -gFieldEffectPic_Arrow_6: @ 8369388 +gFieldEffectPic_Arrow_6:: @ 8369388 .incbin "graphics/field_effect_objects/pics/arrow/6.4bpp" .align 2 -gFieldEffectPic_Arrow_7: @ 8369408 +gFieldEffectPic_Arrow_7:: @ 8369408 .incbin "graphics/field_effect_objects/pics/arrow/7.4bpp" .align 2 -gFieldEffectObjectPalette0: @ 8369488 +gFieldEffectObjectPalette0:: @ 8369488 .incbin "graphics/field_effect_objects/palettes/00.gbapal" .align 2 -gFieldEffectObjectPalette1: @ 83694A8 +gFieldEffectObjectPalette1:: @ 83694A8 .incbin "graphics/field_effect_objects/palettes/01.gbapal" .align 2 -gFieldEffectPic_Dust_0: @ 83694C8 +gFieldEffectPic_Dust_0:: @ 83694C8 .incbin "graphics/field_effect_objects/pics/dust/0.4bpp" .align 2 -gFieldEffectPic_Dust_1: @ 8369508 +gFieldEffectPic_Dust_1:: @ 8369508 .incbin "graphics/field_effect_objects/pics/dust/1.4bpp" .align 2 -gFieldEffectPic_Dust_2: @ 8369548 +gFieldEffectPic_Dust_2:: @ 8369548 .incbin "graphics/field_effect_objects/pics/dust/2.4bpp" .incbin "graphics/field_effect_objects/unknown.bin" .align 2 -gFieldEffectPic_JumpTallGrass_0: @ 8369648 +gFieldEffectPic_JumpTallGrass_0:: @ 8369648 .incbin "graphics/field_effect_objects/pics/jump_tall_grass/0.4bpp" .align 2 -gFieldEffectPic_JumpTallGrass_1: @ 8369688 +gFieldEffectPic_JumpTallGrass_1:: @ 8369688 .incbin "graphics/field_effect_objects/pics/jump_tall_grass/1.4bpp" .align 2 -gFieldEffectPic_JumpTallGrass_2: @ 83696C8 +gFieldEffectPic_JumpTallGrass_2:: @ 83696C8 .incbin "graphics/field_effect_objects/pics/jump_tall_grass/2.4bpp" .align 2 -gFieldEffectPic_JumpTallGrass_3: @ 8369708 +gFieldEffectPic_JumpTallGrass_3:: @ 8369708 .incbin "graphics/field_effect_objects/pics/jump_tall_grass/3.4bpp" .incbin "graphics/field_effect_objects/pics/unused_grass/0.4bpp" @@ -142,415 +142,415 @@ gFieldEffectPic_JumpTallGrass_3: @ 8369708 .incbin "graphics/field_effect_objects/pics/unused_grass/3.4bpp" .align 2 -gFieldEffectPic_JumpLongGrass_0: @ 8369948 +gFieldEffectPic_JumpLongGrass_0:: @ 8369948 .incbin "graphics/field_effect_objects/pics/jump_long_grass/0.4bpp" .align 2 -gFieldEffectPic_JumpLongGrass_1: @ 83699C8 +gFieldEffectPic_JumpLongGrass_1:: @ 83699C8 .incbin "graphics/field_effect_objects/pics/jump_long_grass/1.4bpp" .align 2 -gFieldEffectPic_JumpLongGrass_2: @ 8369A48 +gFieldEffectPic_JumpLongGrass_2:: @ 8369A48 .incbin "graphics/field_effect_objects/pics/jump_long_grass/2.4bpp" .align 2 -gFieldEffectPic_JumpLongGrass_3: @ 8369AC8 +gFieldEffectPic_JumpLongGrass_3:: @ 8369AC8 .incbin "graphics/field_effect_objects/pics/jump_long_grass/3.4bpp" .align 2 -gFieldEffectPic_JumpLongGrass_4: @ 8369B48 +gFieldEffectPic_JumpLongGrass_4:: @ 8369B48 .incbin "graphics/field_effect_objects/pics/jump_long_grass/4.4bpp" .incbin "graphics/field_effect_objects/pics/jump_long_grass/unused.4bpp" .align 2 -gFieldEffectPic_JumpLongGrass_5: @ 8369C48 +gFieldEffectPic_JumpLongGrass_5:: @ 8369C48 .incbin "graphics/field_effect_objects/pics/jump_long_grass/5.4bpp" .align 2 -gFieldEffectPic_Unknown17_0: @ 8369CC8 +gFieldEffectPic_Unknown17_0:: @ 8369CC8 .incbin "graphics/field_effect_objects/pics/unknown_17/0.4bpp" .align 2 -gFieldEffectPic_Unknown17_1: @ 8369D48 +gFieldEffectPic_Unknown17_1:: @ 8369D48 .incbin "graphics/field_effect_objects/pics/unknown_17/1.4bpp" .align 2 -gFieldEffectPic_Unknown17_2: @ 8369DC8 +gFieldEffectPic_Unknown17_2:: @ 8369DC8 .incbin "graphics/field_effect_objects/pics/unknown_17/2.4bpp" .align 2 -gFieldEffectPic_Unknown17_3: @ 8369E48 +gFieldEffectPic_Unknown17_3:: @ 8369E48 .incbin "graphics/field_effect_objects/pics/unknown_17/3.4bpp" .align 2 -gFieldEffectPic_Unknown17_4: @ 8369EC8 +gFieldEffectPic_Unknown17_4:: @ 8369EC8 .incbin "graphics/field_effect_objects/pics/unknown_17/4.4bpp" .align 2 -gFieldEffectPic_Unknown17_5: @ 8369F48 +gFieldEffectPic_Unknown17_5:: @ 8369F48 .incbin "graphics/field_effect_objects/pics/unknown_17/5.4bpp" .align 2 -gFieldEffectPic_Unknown17_6: @ 8369FC8 +gFieldEffectPic_Unknown17_6:: @ 8369FC8 .incbin "graphics/field_effect_objects/pics/unknown_17/6.4bpp" .align 2 -gFieldEffectPic_Unknown17_7: @ 836A048 +gFieldEffectPic_Unknown17_7:: @ 836A048 .incbin "graphics/field_effect_objects/pics/unknown_17/7.4bpp" .align 2 -gFieldEffectPic_Unknown18_0: @ 836A0C8 +gFieldEffectPic_Unknown18_0:: @ 836A0C8 .incbin "graphics/field_effect_objects/pics/unknown_18/0.4bpp" .align 2 -gFieldEffectPic_Unknown18_1: @ 836A148 +gFieldEffectPic_Unknown18_1:: @ 836A148 .incbin "graphics/field_effect_objects/pics/unknown_18/1.4bpp" .align 2 -gFieldEffectPic_Unknown18_2: @ 836A1C8 +gFieldEffectPic_Unknown18_2:: @ 836A1C8 .incbin "graphics/field_effect_objects/pics/unknown_18/2.4bpp" .align 2 -gFieldEffectPic_Unknown18_3: @ 836A248 +gFieldEffectPic_Unknown18_3:: @ 836A248 .incbin "graphics/field_effect_objects/pics/unknown_18/3.4bpp" .align 2 -gFieldEffectPic_LongGrass_0: @ 836A2C8 +gFieldEffectPic_LongGrass_0:: @ 836A2C8 .incbin "graphics/field_effect_objects/pics/long_grass/0.4bpp" .align 2 -gFieldEffectPic_LongGrass_1: @ 836A348 +gFieldEffectPic_LongGrass_1:: @ 836A348 .incbin "graphics/field_effect_objects/pics/long_grass/1.4bpp" .align 2 -gFieldEffectPic_LongGrass_2: @ 836A3C8 +gFieldEffectPic_LongGrass_2:: @ 836A3C8 .incbin "graphics/field_effect_objects/pics/long_grass/2.4bpp" .align 2 -gFieldEffectPic_LongGrass_3: @ 836A448 +gFieldEffectPic_LongGrass_3:: @ 836A448 .incbin "graphics/field_effect_objects/pics/long_grass/3.4bpp" .align 2 -gFieldEffectPic_TallGrass_0: @ 836A4C8 +gFieldEffectPic_TallGrass_0:: @ 836A4C8 .incbin "graphics/field_effect_objects/pics/tall_grass/0.4bpp" .align 2 -gFieldEffectPic_TallGrass_1: @ 836A548 +gFieldEffectPic_TallGrass_1:: @ 836A548 .incbin "graphics/field_effect_objects/pics/tall_grass/1.4bpp" .align 2 -gFieldEffectPic_TallGrass_2: @ 836A5C8 +gFieldEffectPic_TallGrass_2:: @ 836A5C8 .incbin "graphics/field_effect_objects/pics/tall_grass/2.4bpp" .align 2 -gFieldEffectPic_TallGrass_3: @ 836A648 +gFieldEffectPic_TallGrass_3:: @ 836A648 .incbin "graphics/field_effect_objects/pics/tall_grass/3.4bpp" .align 2 -gFieldEffectPic_TallGrass_4: @ 836A6C8 +gFieldEffectPic_TallGrass_4:: @ 836A6C8 .incbin "graphics/field_effect_objects/pics/tall_grass/4.4bpp" .align 2 -gFieldEffectPic_ShortGrass_0: @ 836A748 +gFieldEffectPic_ShortGrass_0:: @ 836A748 .incbin "graphics/field_effect_objects/pics/short_grass/0.4bpp" .align 2 -gFieldEffectPic_ShortGrass_1: @ 836A7C8 +gFieldEffectPic_ShortGrass_1:: @ 836A7C8 .incbin "graphics/field_effect_objects/pics/short_grass/1.4bpp" .align 2 -gFieldEffectPic_SandFootprints_0: @ 836A848 +gFieldEffectPic_SandFootprints_0:: @ 836A848 .incbin "graphics/field_effect_objects/pics/sand_footprints/0.4bpp" .align 2 -gFieldEffectPic_SandFootprints_1: @ 836A8C8 +gFieldEffectPic_SandFootprints_1:: @ 836A8C8 .incbin "graphics/field_effect_objects/pics/sand_footprints/1.4bpp" .align 2 -gFieldEffectPic_DeepSandFootprints_0: @ 836A948 +gFieldEffectPic_DeepSandFootprints_0:: @ 836A948 .incbin "graphics/field_effect_objects/pics/deep_sand_footprints/0.4bpp" .align 2 -gFieldEffectPic_DeepSandFootprints_1: @ 836A9C8 +gFieldEffectPic_DeepSandFootprints_1:: @ 836A9C8 .incbin "graphics/field_effect_objects/pics/deep_sand_footprints/1.4bpp" .align 2 -gFieldEffectPic_BikeTireTracks_0: @ 836AA48 +gFieldEffectPic_BikeTireTracks_0:: @ 836AA48 .incbin "graphics/field_effect_objects/pics/bike_tire_tracks/0.4bpp" .align 2 -gFieldEffectPic_BikeTireTracks_1: @ 836AAC8 +gFieldEffectPic_BikeTireTracks_1:: @ 836AAC8 .incbin "graphics/field_effect_objects/pics/bike_tire_tracks/1.4bpp" .align 2 -gFieldEffectPic_BikeTireTracks_2: @ 836AB48 +gFieldEffectPic_BikeTireTracks_2:: @ 836AB48 .incbin "graphics/field_effect_objects/pics/bike_tire_tracks/2.4bpp" .align 2 -gFieldEffectPic_BikeTireTracks_3: @ 836ABC8 +gFieldEffectPic_BikeTireTracks_3:: @ 836ABC8 .incbin "graphics/field_effect_objects/pics/bike_tire_tracks/3.4bpp" .align 2 -gFieldEffectPic_Unknown19_0: @ 836AC48 +gFieldEffectPic_Unknown19_0:: @ 836AC48 .incbin "graphics/field_effect_objects/pics/unknown_19/0.4bpp" .align 2 -gFieldEffectPic_Unknown19_1: @ 836ACC8 +gFieldEffectPic_Unknown19_1:: @ 836ACC8 .incbin "graphics/field_effect_objects/pics/unknown_19/1.4bpp" .align 2 -gFieldEffectPic_Unknown19_2: @ 836AD48 +gFieldEffectPic_Unknown19_2:: @ 836AD48 .incbin "graphics/field_effect_objects/pics/unknown_19/2.4bpp" .align 2 -gFieldEffectPic_Unknown19_3: @ 836ADC8 +gFieldEffectPic_Unknown19_3:: @ 836ADC8 .incbin "graphics/field_effect_objects/pics/unknown_19/3.4bpp" .align 2 -gFieldEffectPic_SandPile_0: @ 836AE48 +gFieldEffectPic_SandPile_0:: @ 836AE48 .incbin "graphics/field_effect_objects/pics/sand_pile/0.4bpp" .align 2 -gFieldEffectPic_SandPile_1: @ 836AE88 +gFieldEffectPic_SandPile_1:: @ 836AE88 .incbin "graphics/field_effect_objects/pics/sand_pile/1.4bpp" .align 2 -gFieldEffectPic_SandPile_2: @ 836AEC8 +gFieldEffectPic_SandPile_2:: @ 836AEC8 .incbin "graphics/field_effect_objects/pics/sand_pile/2.4bpp" .align 2 -gFieldEffectPic_JumpBigSplash_0: @ 836AF08 +gFieldEffectPic_JumpBigSplash_0:: @ 836AF08 .incbin "graphics/field_effect_objects/pics/jump_big_splash/0.4bpp" .align 2 -gFieldEffectPic_JumpBigSplash_1: @ 836AF88 +gFieldEffectPic_JumpBigSplash_1:: @ 836AF88 .incbin "graphics/field_effect_objects/pics/jump_big_splash/1.4bpp" .align 2 -gFieldEffectPic_JumpBigSplash_2: @ 836B008 +gFieldEffectPic_JumpBigSplash_2:: @ 836B008 .incbin "graphics/field_effect_objects/pics/jump_big_splash/2.4bpp" .align 2 -gFieldEffectPic_JumpBigSplash_3: @ 836B088 +gFieldEffectPic_JumpBigSplash_3:: @ 836B088 .incbin "graphics/field_effect_objects/pics/jump_big_splash/3.4bpp" .align 2 -gFieldEffectPic_Splash_0: @ 836B108 +gFieldEffectPic_Splash_0:: @ 836B108 .incbin "graphics/field_effect_objects/pics/splash/0.4bpp" .align 2 -gFieldEffectPic_Splash_1: @ 836B148 +gFieldEffectPic_Splash_1:: @ 836B148 .incbin "graphics/field_effect_objects/pics/splash/1.4bpp" .align 2 -gFieldEffectPic_JumpSmallSplash_0: @ 836B188 +gFieldEffectPic_JumpSmallSplash_0:: @ 836B188 .incbin "graphics/field_effect_objects/pics/jump_small_splash/0.4bpp" .align 2 -gFieldEffectPic_JumpSmallSplash_1: @ 836B1C8 +gFieldEffectPic_JumpSmallSplash_1:: @ 836B1C8 .incbin "graphics/field_effect_objects/pics/jump_small_splash/1.4bpp" .align 2 -gFieldEffectPic_JumpSmallSplash_2: @ 836B208 +gFieldEffectPic_JumpSmallSplash_2:: @ 836B208 .incbin "graphics/field_effect_objects/pics/jump_small_splash/2.4bpp" .align 2 -gFieldEffectPic_Unknown20_0: @ 836B248 +gFieldEffectPic_Unknown20_0:: @ 836B248 .incbin "graphics/field_effect_objects/pics/unknown_20/0.4bpp" .align 2 -gFieldEffectPic_Unknown20_1: @ 836B2C8 +gFieldEffectPic_Unknown20_1:: @ 836B2C8 .incbin "graphics/field_effect_objects/pics/unknown_20/1.4bpp" .align 2 -gFieldEffectPic_Unknown20_2: @ 836B348 +gFieldEffectPic_Unknown20_2:: @ 836B348 .incbin "graphics/field_effect_objects/pics/unknown_20/2.4bpp" .align 2 -gFieldEffectPic_Unknown20_3: @ 836B3C8 +gFieldEffectPic_Unknown20_3:: @ 836B3C8 .incbin "graphics/field_effect_objects/pics/unknown_20/3.4bpp" .align 2 -gFieldEffectPic_Unknown20_4: @ 836B448 +gFieldEffectPic_Unknown20_4:: @ 836B448 .incbin "graphics/field_effect_objects/pics/unknown_20/4.4bpp" .align 2 -gFieldEffectPic_TreeDisguise_0: @ 836B4C8 +gFieldEffectPic_TreeDisguise_0:: @ 836B4C8 .incbin "graphics/field_effect_objects/pics/tree_disguise/0.4bpp" .align 2 -gFieldEffectPic_TreeDisguise_1: @ 836B5C8 +gFieldEffectPic_TreeDisguise_1:: @ 836B5C8 .incbin "graphics/field_effect_objects/pics/tree_disguise/1.4bpp" .align 2 -gFieldEffectPic_TreeDisguise_2: @ 836B6C8 +gFieldEffectPic_TreeDisguise_2:: @ 836B6C8 .incbin "graphics/field_effect_objects/pics/tree_disguise/2.4bpp" .align 2 -gFieldEffectPic_TreeDisguise_3: @ 836B7C8 +gFieldEffectPic_TreeDisguise_3:: @ 836B7C8 .incbin "graphics/field_effect_objects/pics/tree_disguise/3.4bpp" .align 2 -gFieldEffectPic_TreeDisguise_4: @ 836B8C8 +gFieldEffectPic_TreeDisguise_4:: @ 836B8C8 .incbin "graphics/field_effect_objects/pics/tree_disguise/4.4bpp" .align 2 -gFieldEffectPic_TreeDisguise_5: @ 836B9C8 +gFieldEffectPic_TreeDisguise_5:: @ 836B9C8 .incbin "graphics/field_effect_objects/pics/tree_disguise/5.4bpp" .align 2 -gFieldEffectPic_TreeDisguise_6: @ 836BAC8 +gFieldEffectPic_TreeDisguise_6:: @ 836BAC8 .incbin "graphics/field_effect_objects/pics/tree_disguise/6.4bpp" .align 2 -gFieldEffectPic_MountainDisguise_0: @ 836BBC8 +gFieldEffectPic_MountainDisguise_0:: @ 836BBC8 .incbin "graphics/field_effect_objects/pics/mountain_disguise/0.4bpp" .align 2 -gFieldEffectPic_MountainDisguise_1: @ 836BCC8 +gFieldEffectPic_MountainDisguise_1:: @ 836BCC8 .incbin "graphics/field_effect_objects/pics/mountain_disguise/1.4bpp" .align 2 -gFieldEffectPic_MountainDisguise_2: @ 836BDC8 +gFieldEffectPic_MountainDisguise_2:: @ 836BDC8 .incbin "graphics/field_effect_objects/pics/mountain_disguise/2.4bpp" .align 2 -gFieldEffectPic_MountainDisguise_3: @ 836BEC8 +gFieldEffectPic_MountainDisguise_3:: @ 836BEC8 .incbin "graphics/field_effect_objects/pics/mountain_disguise/3.4bpp" .align 2 -gFieldEffectPic_MountainDisguise_4: @ 836BFC8 +gFieldEffectPic_MountainDisguise_4:: @ 836BFC8 .incbin "graphics/field_effect_objects/pics/mountain_disguise/4.4bpp" .align 2 -gFieldEffectPic_MountainDisguise_5: @ 836C0C8 +gFieldEffectPic_MountainDisguise_5:: @ 836C0C8 .incbin "graphics/field_effect_objects/pics/mountain_disguise/5.4bpp" .align 2 -gFieldEffectPic_MountainDisguise_6: @ 836C1C8 +gFieldEffectPic_MountainDisguise_6:: @ 836C1C8 .incbin "graphics/field_effect_objects/pics/mountain_disguise/6.4bpp" .align 2 -gFieldEffectPic_SandDisguise_0: @ 836C2C8 +gFieldEffectPic_SandDisguise_0:: @ 836C2C8 .incbin "graphics/field_effect_objects/pics/sand_disguise/0.4bpp" .align 2 -gFieldEffectPic_SandDisguise_1: @ 836C3C8 +gFieldEffectPic_SandDisguise_1:: @ 836C3C8 .incbin "graphics/field_effect_objects/pics/sand_disguise/1.4bpp" .align 2 -gFieldEffectPic_SandDisguise_2: @ 836C4C8 +gFieldEffectPic_SandDisguise_2:: @ 836C4C8 .incbin "graphics/field_effect_objects/pics/sand_disguise/2.4bpp" .align 2 -gFieldEffectPic_SandDisguise_3: @ 836C5C8 +gFieldEffectPic_SandDisguise_3:: @ 836C5C8 .incbin "graphics/field_effect_objects/pics/sand_disguise/3.4bpp" .align 2 -gFieldEffectPic_SandDisguise_4: @ 836C6C8 +gFieldEffectPic_SandDisguise_4:: @ 836C6C8 .incbin "graphics/field_effect_objects/pics/sand_disguise/4.4bpp" .align 2 -gFieldEffectPic_SandDisguise_5: @ 836C7C8 +gFieldEffectPic_SandDisguise_5:: @ 836C7C8 .incbin "graphics/field_effect_objects/pics/sand_disguise/5.4bpp" .align 2 -gFieldEffectPic_SandDisguise_6: @ 836C8C8 +gFieldEffectPic_SandDisguise_6:: @ 836C8C8 .incbin "graphics/field_effect_objects/pics/sand_disguise/6.4bpp" .align 2 -gFieldEffectPic_HotSpringsWater: @ 836C9C8 +gFieldEffectPic_HotSpringsWater:: @ 836C9C8 .incbin "graphics/field_effect_objects/pics/hot_springs_water.4bpp" .align 2 -gFieldEffectObjectPalette2: @ 836CA48 +gFieldEffectObjectPalette2:: @ 836CA48 .incbin "graphics/field_effect_objects/palettes/02.gbapal" .align 2 -gFieldEffectPic_PopOutOfAsh_0: @ 836CA68 +gFieldEffectPic_PopOutOfAsh_0:: @ 836CA68 .incbin "graphics/field_effect_objects/pics/pop_out_of_ash/0.4bpp" .align 2 -gFieldEffectPic_PopOutOfAsh_1: @ 836CAE8 +gFieldEffectPic_PopOutOfAsh_1:: @ 836CAE8 .incbin "graphics/field_effect_objects/pics/pop_out_of_ash/1.4bpp" .align 2 -gFieldEffectPic_PopOutOfAsh_2: @ 836CB68 +gFieldEffectPic_PopOutOfAsh_2:: @ 836CB68 .incbin "graphics/field_effect_objects/pics/pop_out_of_ash/2.4bpp" .align 2 -gFieldEffectPic_PopOutOfAsh_3: @ 836CBE8 +gFieldEffectPic_PopOutOfAsh_3:: @ 836CBE8 .incbin "graphics/field_effect_objects/pics/pop_out_of_ash/3.4bpp" .align 2 -gFieldEffectPic_PopOutOfAsh_4: @ 836CC68 +gFieldEffectPic_PopOutOfAsh_4:: @ 836CC68 .incbin "graphics/field_effect_objects/pics/pop_out_of_ash/4.4bpp" .align 2 -gFieldEffectPic_LavaridgeGymWarp_0: @ 836CCE8 +gFieldEffectPic_LavaridgeGymWarp_0:: @ 836CCE8 .incbin "graphics/field_effect_objects/pics/lavaridge_gym_warp/0.4bpp" .align 2 -gFieldEffectPic_LavaridgeGymWarp_1: @ 836CD68 +gFieldEffectPic_LavaridgeGymWarp_1:: @ 836CD68 .incbin "graphics/field_effect_objects/pics/lavaridge_gym_warp/1.4bpp" .align 2 -gFieldEffectPic_LavaridgeGymWarp_2: @ 836CDE8 +gFieldEffectPic_LavaridgeGymWarp_2:: @ 836CDE8 .incbin "graphics/field_effect_objects/pics/lavaridge_gym_warp/2.4bpp" .align 2 -gFieldEffectPic_LavaridgeGymWarp_3: @ 836CE68 +gFieldEffectPic_LavaridgeGymWarp_3:: @ 836CE68 .incbin "graphics/field_effect_objects/pics/lavaridge_gym_warp/3.4bpp" .align 2 -gFieldEffectPic_LavaridgeGymWarp_4: @ 836CEE8 +gFieldEffectPic_LavaridgeGymWarp_4:: @ 836CEE8 .incbin "graphics/field_effect_objects/pics/lavaridge_gym_warp/4.4bpp" .align 2 -gFieldEffectPic_Bubbles_0: @ 836CF68 +gFieldEffectPic_Bubbles_0:: @ 836CF68 .incbin "graphics/field_effect_objects/pics/bubbles/0.4bpp" .align 2 -gFieldEffectPic_Bubbles_1: @ 836D068 +gFieldEffectPic_Bubbles_1:: @ 836D068 .incbin "graphics/field_effect_objects/pics/bubbles/1.4bpp" .align 2 -gFieldEffectPic_Bubbles_2: @ 836D168 +gFieldEffectPic_Bubbles_2:: @ 836D168 .incbin "graphics/field_effect_objects/pics/bubbles/2.4bpp" .align 2 -gFieldEffectPic_Bubbles_3: @ 836D268 +gFieldEffectPic_Bubbles_3:: @ 836D268 .incbin "graphics/field_effect_objects/pics/bubbles/3.4bpp" .align 2 -gFieldEffectPic_Bubbles_4: @ 836D368 +gFieldEffectPic_Bubbles_4:: @ 836D368 .incbin "graphics/field_effect_objects/pics/bubbles/4.4bpp" .align 2 -gFieldEffectPic_Bubbles_5: @ 836D468 +gFieldEffectPic_Bubbles_5:: @ 836D468 .incbin "graphics/field_effect_objects/pics/bubbles/5.4bpp" .align 2 -gFieldEffectPic_Bubbles_6: @ 836D568 +gFieldEffectPic_Bubbles_6:: @ 836D568 .incbin "graphics/field_effect_objects/pics/bubbles/6.4bpp" .align 2 -gFieldEffectPic_Bubbles_7: @ 836D668 +gFieldEffectPic_Bubbles_7:: @ 836D668 .incbin "graphics/field_effect_objects/pics/bubbles/7.4bpp" .align 2 -gFieldEffectPic_Sparkle_0: @ 836D768 +gFieldEffectPic_Sparkle_0:: @ 836D768 .incbin "graphics/field_effect_objects/pics/sparkle/0.4bpp" .align 2 -gFieldEffectPic_Sparkle_1: @ 836D7E8 +gFieldEffectPic_Sparkle_1:: @ 836D7E8 .incbin "graphics/field_effect_objects/pics/sparkle/1.4bpp" .align 2 -gFieldEffectObjectPalette3: @ 836D868 +gFieldEffectObjectPalette3:: @ 836D868 .incbin "graphics/field_effect_objects/palettes/03.gbapal" .align 2 -gFieldEffectPic_Bird: @ 836D888 +gFieldEffectPic_Bird:: @ 836D888 .incbin "graphics/field_effect_objects/pics/bird.4bpp" diff --git a/data/maps.s b/data/maps.s new file mode 100644 index 000000000..a8074c02a --- /dev/null +++ b/data/maps.s @@ -0,0 +1,10 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + + .include "data/maps/_assets.inc" + .include "data/maps/attributes_table.inc" + .include "data/maps/headers.inc" + .include "data/maps/_groups.inc" + .include "data/maps/connections.inc" diff --git a/data/metatile_behavior.s b/data/metatile_behavior.s new file mode 100644 index 000000000..6588828d0 --- /dev/null +++ b/data/metatile_behavior.s @@ -0,0 +1,246 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + +gUnknown_08308E2C:: @ 8308E2C + .byte 0b100 + .byte 0b000 + .byte 0b101 + .byte 0b101 + .byte 0b000 + .byte 0b001 + .byte 0b101 + .byte 0b100 + .byte 0b101 + .byte 0b100 + .byte 0b100 + .byte 0b101 + .byte 0b100 + .byte 0b000 + .byte 0b000 + .byte 0b100 + .byte 0b111 + .byte 0b111 + .byte 0b111 + .byte 0b110 + .byte 0b110 + .byte 0b111 + .byte 0b100 + .byte 0b100 + .byte 0b000 + .byte 0b110 + .byte 0b000 + .byte 0b100 + .byte 0b100 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b100 + .byte 0b100 + .byte 0b111 + .byte 0b100 + .byte 0b101 + .byte 0b101 + .byte 0b100 + .byte 0b100 + .byte 0b100 + .byte 0b100 + .byte 0b111 + .byte 0b100 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b100 + .byte 0b100 + .byte 0b100 + .byte 0b100 + .byte 0b100 + .byte 0b100 + .byte 0b100 + .byte 0b100 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b100 + .byte 0b100 + .byte 0b100 + .byte 0b100 + .byte 0b100 + .byte 0b100 + .byte 0b100 + .byte 0b100 + .byte 0b100 + .byte 0b100 + .byte 0b100 + .byte 0b100 + .byte 0b100 + .byte 0b100 + .byte 0b100 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b110 + .byte 0b110 + .byte 0b110 + .byte 0b110 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b100 + .byte 0b100 + .byte 0b100 + .byte 0b100 + .byte 0b100 + .byte 0b100 + .byte 0b100 + .byte 0b100 + .byte 0b100 + .byte 0b100 + .byte 0b100 + .byte 0b100 + .byte 0b110 + .byte 0b110 + .byte 0b100 + .byte 0b110 + .byte 0b000 + .byte 0b100 + .byte 0b100 + .byte 0b100 + .byte 0b100 + .byte 0b100 + .byte 0b100 + .byte 0b100 + .byte 0b100 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b100 + .byte 0b100 + .byte 0b000 + .byte 0b100 + .byte 0b000 + .byte 0b000 + .byte 0b100 + .byte 0b100 + .byte 0b100 + .byte 0b100 + .byte 0b100 + .byte 0b100 + .byte 0b100 + .byte 0b000 + .byte 0b100 + .byte 0b100 + .byte 0b100 + .byte 0b100 + .byte 0b100 + .byte 0b100 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b100 + .byte 0b100 + .byte 0b100 + .byte 0b100 + .byte 0b100 + .byte 0b100 + .byte 0b100 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 + .byte 0b000 diff --git a/data/pokeball.s b/data/pokeball.s new file mode 100644 index 000000000..788f8bdb7 --- /dev/null +++ b/data/pokeball.s @@ -0,0 +1,137 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + + .align 2 +gUnknown_0820A92C:: @ 820A92C + obj_tiles gInterfaceGfx_PokeBall, 384, 0xd6d8 @ poke + obj_tiles gInterfaceGfx_GreatBall, 384, 0xd6d9 @ great + obj_tiles gInterfaceGfx_SafariBall, 384, 0xd6da @ safari + obj_tiles gInterfaceGfx_UltraBall, 384, 0xd6db @ ultra + obj_tiles gInterfaceGfx_MasterBall, 384, 0xd6dc @ master + obj_tiles gInterfaceGfx_NetBall, 384, 0xd6dd @ net + obj_tiles gInterfaceGfx_DiveBall, 384, 0xd6de @ dive + obj_tiles gInterfaceGfx_NestBall, 384, 0xd6df @ nest + obj_tiles gInterfaceGfx_RepeatBall, 384, 0xd6e0 @ repeat + obj_tiles gInterfaceGfx_TimerBall, 384, 0xd6e1 @ timer + obj_tiles gInterfaceGfx_LuxuryBall, 384, 0xd6e2 @ luxury + obj_tiles gInterfaceGfx_PremierBall, 384, 0xd6e3 @ premier + + .align 2 +gUnknown_0820A98C:: @ 820A98C + obj_pal gInterfacePal_PokeBall, 0xD6D8 @ poke + obj_pal gInterfacePal_GreatBall, 0xD6D9 @ great + obj_pal gInterfacePal_SafariBall, 0xD6DA @ safari + obj_pal gInterfacePal_UltraBall, 0xD6DB @ ultra + obj_pal gInterfacePal_MasterBall, 0xD6DC @ master + obj_pal gInterfacePal_NetBall, 0xD6DD @ net + obj_pal gInterfacePal_DiveBall, 0xD6DE @ dive + obj_pal gInterfacePal_NestBall, 0xD6DF @ nest + obj_pal gInterfacePal_RepeatBall, 0xD6E0 @ repeat + obj_pal gInterfacePal_TimerBall, 0xD6E1 @ timer + obj_pal gInterfacePal_LuxuryBall, 0xD6E2 @ luxury + obj_pal gInterfacePal_PremierBall, 0xD6E3 @ premier + + .align 2 +gOamData_820A9EC:: @ 820A9EC + .2byte 0x0300 + .2byte 0x4000 + .2byte 0x0800 + + .align 2 +gSpriteAnim_820A9F4: @ 820A9F4 + obj_image_anim_frame 0, 5 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnim_820A9FC: @ 820A9FC + obj_image_anim_frame 4, 1 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnim_820AA04: @ 820AA04 + obj_image_anim_frame 8, 5 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnim_820AA0C: @ 820AA0C + obj_image_anim_frame 12, 1 + obj_image_anim_jump 0 + + .align 2 +gSpriteAnim_820AA14:: @ 820AA14 + obj_image_anim_frame 0, 1 + obj_image_anim_end + + .align 2 +gSpriteAnim_820AA1C:: @ 820AA1C + obj_image_anim_frame 4, 5 + obj_image_anim_frame 8, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_820AA28:: @ 820AA28 + obj_image_anim_frame 4, 5 + obj_image_anim_frame 0, 5 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_820AA34:: @ 820AA34 + .4byte gSpriteAnim_820AA14 + .4byte gSpriteAnim_820AA1C + .4byte gSpriteAnim_820AA28 + + @ unused? + .4byte gSpriteAnim_820A9F4 + .4byte gSpriteAnim_820AA04 + .4byte gSpriteAnim_820A9FC + .4byte gSpriteAnim_820AA0C + + .align 2 +gSpriteAffineAnim_820AA50:: @ 820AA50 + obj_rot_scal_anim_frame 0x0, 0x0, 0, 1 + obj_rot_scal_anim_jump 0 + + .align 2 +gSpriteAffineAnim_820AA60:: @ 820AA60 + obj_rot_scal_anim_frame 0x0, 0x0, -3, 1 + obj_rot_scal_anim_jump 0 + + .align 2 +gSpriteAffineAnim_820AA70:: @ 820AA70 + obj_rot_scal_anim_frame 0x0, 0x0, 3, 1 + obj_rot_scal_anim_jump 0 + + .align 2 +gSpriteAffineAnim_820AA80:: @ 820AA80 + obj_rot_scal_anim_frame 0x100, 0x100, 0, 0 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_820AA90:: @ 820AA90 + obj_rot_scal_anim_frame 0x0, 0x0, 25, 1 + obj_rot_scal_anim_jump 0 + + .align 2 +gSpriteAffineAnimTable_820AAA0:: @ 820AAA0 + .4byte gSpriteAffineAnim_820AA50 + .4byte gSpriteAffineAnim_820AA60 + .4byte gSpriteAffineAnim_820AA70 + .4byte gSpriteAffineAnim_820AA80 + .4byte gSpriteAffineAnim_820AA90 + + .align 2 +gSpriteTemplate_820AAB4:: @ 820AAB4 + spr_template 55000, 55000, gOamData_820A9EC, gSpriteAnimTable_820AA34, NULL, gSpriteAffineAnimTable_820AAA0, objc_0804ABD4 + spr_template 55001, 55001, gOamData_820A9EC, gSpriteAnimTable_820AA34, NULL, gSpriteAffineAnimTable_820AAA0, objc_0804ABD4 + spr_template 55002, 55002, gOamData_820A9EC, gSpriteAnimTable_820AA34, NULL, gSpriteAffineAnimTable_820AAA0, objc_0804ABD4 + spr_template 55003, 55003, gOamData_820A9EC, gSpriteAnimTable_820AA34, NULL, gSpriteAffineAnimTable_820AAA0, objc_0804ABD4 + spr_template 55004, 55004, gOamData_820A9EC, gSpriteAnimTable_820AA34, NULL, gSpriteAffineAnimTable_820AAA0, objc_0804ABD4 + spr_template 55005, 55005, gOamData_820A9EC, gSpriteAnimTable_820AA34, NULL, gSpriteAffineAnimTable_820AAA0, objc_0804ABD4 + spr_template 55006, 55006, gOamData_820A9EC, gSpriteAnimTable_820AA34, NULL, gSpriteAffineAnimTable_820AAA0, objc_0804ABD4 + spr_template 55007, 55007, gOamData_820A9EC, gSpriteAnimTable_820AA34, NULL, gSpriteAffineAnimTable_820AAA0, objc_0804ABD4 + spr_template 55008, 55008, gOamData_820A9EC, gSpriteAnimTable_820AA34, NULL, gSpriteAffineAnimTable_820AAA0, objc_0804ABD4 + spr_template 55009, 55009, gOamData_820A9EC, gSpriteAnimTable_820AA34, NULL, gSpriteAffineAnimTable_820AAA0, objc_0804ABD4 + spr_template 55010, 55010, gOamData_820A9EC, gSpriteAnimTable_820AA34, NULL, gSpriteAffineAnimTable_820AAA0, objc_0804ABD4 + spr_template 55011, 55011, gOamData_820A9EC, gSpriteAnimTable_820AA34, NULL, gSpriteAffineAnimTable_820AAA0, objc_0804ABD4 diff --git a/data/rom4.s b/data/rom4.s new file mode 100644 index 000000000..6f883c64c --- /dev/null +++ b/data/rom4.s @@ -0,0 +1,66 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + + .align 2 +gDummyWarpData:: @ 8216624 + .byte -1 + .byte -1 + .byte -1 + .space 1 + .2byte -1 + .2byte -1 + +@ unused, unknown data + .byte 0xB0, 0x04, 0x00, 0x00 + .byte 0x10, 0x0E, 0x00, 0x00 + .byte 0xB0, 0x04, 0x00, 0x00 + .byte 0x60, 0x09, 0x00, 0x00 + .byte 0x32, 0x00, 0x00, 0x00 + .byte 0x50, 0x00, 0x00, 0x00 + .byte 0xD4, 0xFF, 0xFF, 0xFF + .byte 0x2C, 0x00, 0x00, 0x00 + + .align 2 +gUnknown_0821664C:: @ 821664C + .4byte 0, 0 + .4byte 0, 1 + .4byte 0, -1 + .4byte -1, 0 + .4byte 1, 0 + .4byte -1, 1 + .4byte 1, 1 + .4byte -1, -1 + .4byte 1, -1 + + .align 2 +gUnknown_08216694:: @ 8216694 + .4byte REG_WIN0H + .4byte ((DMA_ENABLE | DMA_START_HBLANK | DMA_REPEAT | DMA_DEST_RELOAD) << 16) | 1 + .4byte 1 + + .align 2 +gUnknown_082166A0:: @ 82166A0 + .4byte sub_8055C68 + .4byte sub_8055C88 + .4byte sub_8055C8C + + .align 2 +gUnknown_082166AC:: @ 82166AC + .4byte sub_8055CAC + .4byte sub_8055CB0 + .4byte sub_8055CB0 + .4byte sub_8055CB0 + .4byte sub_8055CB0 + .4byte sub_8055CAC + .4byte sub_8055CAC + .4byte sub_8055D18 + .4byte sub_8055D18 + .4byte sub_8055D18 + .4byte sub_8055D18 + + .align 2 +gUnknown_082166D8:: @ 82166D8 + .4byte sub_8055D30 + .4byte sub_8055D38 diff --git a/data/specials.inc b/data/specials.inc index 852372ce0..f365962db 100644 --- a/data/specials.inc +++ b/data/specials.inc @@ -39,8 +39,8 @@ gSpecials:: .4byte sub_8083614 .4byte GetLinkPartnerNames .4byte sub_810DB28 - .4byte sub_8047A40 - .4byte copy_player_party_from_sav1 + .4byte SavePlayerParty + .4byte LoadPlayerParty .4byte sub_80C5568 .4byte sub_8083BDC .4byte FieldObjectInteractionGetBerryTreeData @@ -262,7 +262,7 @@ gSpecials:: .4byte ShowBerryBlenderRecordWindow .4byte ResetTrickHouseEndRoomFlag .4byte SetTrickHouseEndRoomFlag - .4byte sp109_CreatePCMenu + .4byte TryCreatePCMenu .4byte AccessHallOfFamePC .4byte sub_810D6A4 .4byte CheckLeadMonCool @@ -331,7 +331,7 @@ gSpecials:: .4byte sub_80FA148 .4byte sub_810F8FC .4byte sub_80BC50C - .4byte copy_bags_and_unk_data_from_save_blocks + .4byte LoadPlayerData .4byte sub_8081924 .4byte sub_810F950 .4byte sub_810F908 diff --git a/data/text/battle_strings.inc b/data/text/battle_strings.inc index b4542b1b9..07628795d 100644 --- a/data/text/battle_strings.inc +++ b/data/text/battle_strings.inc @@ -1113,19 +1113,20 @@ BattleText_SafariBallsLeft: gUnknown_08400DF0:: @ 8400DF0 BattleText_HighlightRed: .string "{HIGHLIGHT RED}$" -BattleText_Sleep: + +BattleText_Sleep:: .string "sleep$" -BattleText_PoisonStatus: +BattleText_PoisonStatus:: .string "poison$" -BattleText_Burn: +BattleText_Burn:: .string "burn$" -BattleText_Paralysis: +BattleText_Paralysis:: .string "paralysis$" -BattleText_IceStatus: +BattleText_IceStatus:: .string "ice$" -BattleText_Confusion: +BattleText_Confusion:: .string "confusion$" -BattleText_Love: +BattleText_Love:: .string "love$" gUnknown_08400E23:: @ 8400E23 diff --git a/data/tilesets.s b/data/tilesets.s new file mode 100644 index 000000000..443686234 --- /dev/null +++ b/data/tilesets.s @@ -0,0 +1,8 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + + .include "data/tilesets/graphics.inc" + .include "data/tilesets/metatiles.inc" + .include "data/tilesets/headers.inc" diff --git a/data/tilesets/graphics.inc b/data/tilesets/graphics.inc index 17f59459b..eb9d02c5e 100644 --- a/data/tilesets/graphics.inc +++ b/data/tilesets/graphics.inc @@ -1,11 +1,11 @@ .align 2 -gTilesetTiles_Petalburg: @ 82166E0 +gTilesetTiles_Petalburg:: @ 82166E0 .incbin "data/tilesets/secondary/petalburg/tiles.4bpp.lz" .align 2 -gTilesetPalettes_Petalburg: @ 8216ED4 +gTilesetPalettes_Petalburg:: @ 8216ED4 .incbin "data/tilesets/secondary/petalburg/palettes/00.gbapal" .incbin "data/tilesets/secondary/petalburg/palettes/01.gbapal" .incbin "data/tilesets/secondary/petalburg/palettes/02.gbapal" @@ -25,12 +25,12 @@ gTilesetPalettes_Petalburg: @ 8216ED4 .align 2 -gTilesetTiles_Rustboro: @ 82170D4 +gTilesetTiles_Rustboro:: @ 82170D4 .incbin "data/tilesets/secondary/rustboro/tiles.4bpp.lz" .align 2 -gTilesetPalettes_Rustboro: @ 8218484 +gTilesetPalettes_Rustboro:: @ 8218484 .incbin "data/tilesets/secondary/rustboro/palettes/00.gbapal" .incbin "data/tilesets/secondary/rustboro/palettes/01.gbapal" .incbin "data/tilesets/secondary/rustboro/palettes/02.gbapal" @@ -50,12 +50,12 @@ gTilesetPalettes_Rustboro: @ 8218484 .align 2 -gTilesetTiles_Dewford: @ 8218684 +gTilesetTiles_Dewford:: @ 8218684 .incbin "data/tilesets/secondary/dewford/tiles.4bpp.lz" .align 2 -gTilesetPalettes_Dewford: @ 8219120 +gTilesetPalettes_Dewford:: @ 8219120 .incbin "data/tilesets/secondary/dewford/palettes/00.gbapal" .incbin "data/tilesets/secondary/dewford/palettes/01.gbapal" .incbin "data/tilesets/secondary/dewford/palettes/02.gbapal" @@ -75,12 +75,12 @@ gTilesetPalettes_Dewford: @ 8219120 .align 2 -gTilesetTiles_Slateport: @ 8219320 +gTilesetTiles_Slateport:: @ 8219320 .incbin "data/tilesets/secondary/slateport/tiles.4bpp.lz" .align 2 -gTilesetPalettes_Slateport: @ 821AB54 +gTilesetPalettes_Slateport:: @ 821AB54 .incbin "data/tilesets/secondary/slateport/palettes/00.gbapal" .incbin "data/tilesets/secondary/slateport/palettes/01.gbapal" .incbin "data/tilesets/secondary/slateport/palettes/02.gbapal" @@ -100,12 +100,12 @@ gTilesetPalettes_Slateport: @ 821AB54 .align 2 -gTilesetTiles_Mauville: @ 821AD54 +gTilesetTiles_Mauville:: @ 821AD54 .incbin "data/tilesets/secondary/mauville/tiles.4bpp.lz" .align 2 -gTilesetPalettes_Mauville: @ 821C12C +gTilesetPalettes_Mauville:: @ 821C12C .incbin "data/tilesets/secondary/mauville/palettes/00.gbapal" .incbin "data/tilesets/secondary/mauville/palettes/01.gbapal" .incbin "data/tilesets/secondary/mauville/palettes/02.gbapal" @@ -125,12 +125,12 @@ gTilesetPalettes_Mauville: @ 821C12C .align 2 -gTilesetTiles_Lavaridge: @ 821C32C +gTilesetTiles_Lavaridge:: @ 821C32C .incbin "data/tilesets/secondary/lavaridge/tiles.4bpp.lz" .align 2 -gTilesetPalettes_Lavaridge: @ 821D190 +gTilesetPalettes_Lavaridge:: @ 821D190 .incbin "data/tilesets/secondary/lavaridge/palettes/00.gbapal" .incbin "data/tilesets/secondary/lavaridge/palettes/01.gbapal" .incbin "data/tilesets/secondary/lavaridge/palettes/02.gbapal" @@ -150,12 +150,12 @@ gTilesetPalettes_Lavaridge: @ 821D190 .align 2 -gTilesetTiles_Fallarbor: @ 821D390 +gTilesetTiles_Fallarbor:: @ 821D390 .incbin "data/tilesets/secondary/fallarbor/tiles.4bpp.lz" .align 2 -gTilesetPalettes_Fallarbor: @ 821E630 +gTilesetPalettes_Fallarbor:: @ 821E630 .incbin "data/tilesets/secondary/fallarbor/palettes/00.gbapal" .incbin "data/tilesets/secondary/fallarbor/palettes/01.gbapal" .incbin "data/tilesets/secondary/fallarbor/palettes/02.gbapal" @@ -175,12 +175,12 @@ gTilesetPalettes_Fallarbor: @ 821E630 .align 2 -gTilesetTiles_Fortree: @ 821E830 +gTilesetTiles_Fortree:: @ 821E830 .incbin "data/tilesets/secondary/fortree/tiles.4bpp.lz" .align 2 -gTilesetPalettes_Fortree: @ 821FB9C +gTilesetPalettes_Fortree:: @ 821FB9C .incbin "data/tilesets/secondary/fortree/palettes/00.gbapal" .incbin "data/tilesets/secondary/fortree/palettes/01.gbapal" .incbin "data/tilesets/secondary/fortree/palettes/02.gbapal" @@ -200,12 +200,12 @@ gTilesetPalettes_Fortree: @ 821FB9C .align 2 -gTilesetTiles_Lilycove: @ 821FD9C +gTilesetTiles_Lilycove:: @ 821FD9C .incbin "data/tilesets/secondary/lilycove/tiles.4bpp.lz" .align 2 -gTilesetPalettes_Lilycove: @ 82210B4 +gTilesetPalettes_Lilycove:: @ 82210B4 .incbin "data/tilesets/secondary/lilycove/palettes/00.gbapal" .incbin "data/tilesets/secondary/lilycove/palettes/01.gbapal" .incbin "data/tilesets/secondary/lilycove/palettes/02.gbapal" @@ -225,12 +225,12 @@ gTilesetPalettes_Lilycove: @ 82210B4 .align 2 -gTilesetTiles_Mossdeep: @ 82212B4 +gTilesetTiles_Mossdeep:: @ 82212B4 .incbin "data/tilesets/secondary/mossdeep/tiles.4bpp.lz" .align 2 -gTilesetPalettes_Mossdeep: @ 82222BC +gTilesetPalettes_Mossdeep:: @ 82222BC .incbin "data/tilesets/secondary/mossdeep/palettes/00.gbapal" .incbin "data/tilesets/secondary/mossdeep/palettes/01.gbapal" .incbin "data/tilesets/secondary/mossdeep/palettes/02.gbapal" @@ -250,12 +250,12 @@ gTilesetPalettes_Mossdeep: @ 82222BC .align 2 -gTilesetTiles_EverGrande: @ 82224BC +gTilesetTiles_EverGrande:: @ 82224BC .incbin "data/tilesets/secondary/ever_grande/tiles.4bpp.lz" .align 2 -gTilesetPalettes_EverGrande: @ 82230D4 +gTilesetPalettes_EverGrande:: @ 82230D4 .incbin "data/tilesets/secondary/ever_grande/palettes/00.gbapal" .incbin "data/tilesets/secondary/ever_grande/palettes/01.gbapal" .incbin "data/tilesets/secondary/ever_grande/palettes/02.gbapal" @@ -275,12 +275,12 @@ gTilesetPalettes_EverGrande: @ 82230D4 .align 2 -gTilesetTiles_Pacifidlog: @ 82232D4 +gTilesetTiles_Pacifidlog:: @ 82232D4 .incbin "data/tilesets/secondary/pacifidlog/tiles.4bpp.lz" .align 2 -gTilesetPalettes_Pacifidlog: @ 82249CC +gTilesetPalettes_Pacifidlog:: @ 82249CC .incbin "data/tilesets/secondary/pacifidlog/palettes/00.gbapal" .incbin "data/tilesets/secondary/pacifidlog/palettes/01.gbapal" .incbin "data/tilesets/secondary/pacifidlog/palettes/02.gbapal" @@ -300,12 +300,12 @@ gTilesetPalettes_Pacifidlog: @ 82249CC .align 2 -gTilesetTiles_Sootopolis: @ 8224BCC +gTilesetTiles_Sootopolis:: @ 8224BCC .incbin "data/tilesets/secondary/sootopolis/tiles.4bpp.lz" .align 2 -gTilesetPalettes_Sootopolis: @ 8225420 +gTilesetPalettes_Sootopolis:: @ 8225420 .incbin "data/tilesets/secondary/sootopolis/palettes/00.gbapal" .incbin "data/tilesets/secondary/sootopolis/palettes/01.gbapal" .incbin "data/tilesets/secondary/sootopolis/palettes/02.gbapal" @@ -325,12 +325,12 @@ gTilesetPalettes_Sootopolis: @ 8225420 .align 2 -gTilesetTiles_Building: @ 8225620 +gTilesetTiles_Building:: @ 8225620 .incbin "data/tilesets/primary/building/tiles.4bpp.lz" .align 2 -gTilesetPalettes_Building: @ 8225FA4 +gTilesetPalettes_Building:: @ 8225FA4 .incbin "data/tilesets/primary/building/palettes/00.gbapal" .incbin "data/tilesets/primary/building/palettes/01.gbapal" .incbin "data/tilesets/primary/building/palettes/02.gbapal" @@ -350,12 +350,12 @@ gTilesetPalettes_Building: @ 8225FA4 .align 2 -gTilesetTiles_Shop: @ 82261A4 +gTilesetTiles_Shop:: @ 82261A4 .incbin "data/tilesets/secondary/shop/tiles.4bpp.lz" .align 2 -gTilesetPalettes_Shop: @ 8227788 +gTilesetPalettes_Shop:: @ 8227788 .incbin "data/tilesets/secondary/shop/palettes/00.gbapal" .incbin "data/tilesets/secondary/shop/palettes/01.gbapal" .incbin "data/tilesets/secondary/shop/palettes/02.gbapal" @@ -375,12 +375,12 @@ gTilesetPalettes_Shop: @ 8227788 .align 2 -gTilesetTiles_PokemonCenter: @ 8227988 +gTilesetTiles_PokemonCenter:: @ 8227988 .incbin "data/tilesets/secondary/pokemon_center/tiles.4bpp.lz" .align 2 -gTilesetPalettes_PokemonCenter: @ 8228AAC +gTilesetPalettes_PokemonCenter:: @ 8228AAC .incbin "data/tilesets/secondary/pokemon_center/palettes/00.gbapal" .incbin "data/tilesets/secondary/pokemon_center/palettes/01.gbapal" .incbin "data/tilesets/secondary/pokemon_center/palettes/02.gbapal" @@ -400,12 +400,12 @@ gTilesetPalettes_PokemonCenter: @ 8228AAC .align 2 -gTilesetTiles_Cave: @ 8228CAC +gTilesetTiles_Cave:: @ 8228CAC .incbin "data/tilesets/secondary/cave/tiles.4bpp.lz" .align 2 -gTilesetPalettes_Cave: @ 822A814 +gTilesetPalettes_Cave:: @ 822A814 .incbin "data/tilesets/secondary/cave/palettes/00.gbapal" .incbin "data/tilesets/secondary/cave/palettes/01.gbapal" .incbin "data/tilesets/secondary/cave/palettes/02.gbapal" @@ -425,12 +425,12 @@ gTilesetPalettes_Cave: @ 822A814 .align 2 -gTilesetTiles_PokemonSchool: @ 822AA14 +gTilesetTiles_PokemonSchool:: @ 822AA14 .incbin "data/tilesets/secondary/pokemon_school/tiles.4bpp.lz" .align 2 -gTilesetPalettes_PokemonSchool: @ 822B15C +gTilesetPalettes_PokemonSchool:: @ 822B15C .incbin "data/tilesets/secondary/pokemon_school/palettes/00.gbapal" .incbin "data/tilesets/secondary/pokemon_school/palettes/01.gbapal" .incbin "data/tilesets/secondary/pokemon_school/palettes/02.gbapal" @@ -450,12 +450,12 @@ gTilesetPalettes_PokemonSchool: @ 822B15C .align 2 -gTilesetTiles_PokemonFanClub: @ 822B35C +gTilesetTiles_PokemonFanClub:: @ 822B35C .incbin "data/tilesets/secondary/pokemon_fan_club/tiles.4bpp.lz" .align 2 -gTilesetPalettes_PokemonFanClub: @ 822BC88 +gTilesetPalettes_PokemonFanClub:: @ 822BC88 .incbin "data/tilesets/secondary/pokemon_fan_club/palettes/00.gbapal" .incbin "data/tilesets/secondary/pokemon_fan_club/palettes/01.gbapal" .incbin "data/tilesets/secondary/pokemon_fan_club/palettes/02.gbapal" @@ -475,12 +475,12 @@ gTilesetPalettes_PokemonFanClub: @ 822BC88 .align 2 -gTilesetTiles_Unused1: @ 822BE88 +gTilesetTiles_Unused1:: @ 822BE88 .incbin "data/tilesets/secondary/unused_1/tiles.4bpp.lz" .align 2 -gTilesetPalettes_Unused1: @ 822BED4 +gTilesetPalettes_Unused1:: @ 822BED4 .incbin "data/tilesets/secondary/unused_1/palettes/00.gbapal" .incbin "data/tilesets/secondary/unused_1/palettes/01.gbapal" .incbin "data/tilesets/secondary/unused_1/palettes/02.gbapal" @@ -500,12 +500,12 @@ gTilesetPalettes_Unused1: @ 822BED4 .align 2 -gTilesetTiles_MeteorFalls: @ 822C0D4 +gTilesetTiles_MeteorFalls:: @ 822C0D4 .incbin "data/tilesets/secondary/meteor_falls/tiles.4bpp.lz" .align 2 -gTilesetPalettes_MeteorFalls: @ 822DC1C +gTilesetPalettes_MeteorFalls:: @ 822DC1C .incbin "data/tilesets/secondary/meteor_falls/palettes/00.gbapal" .incbin "data/tilesets/secondary/meteor_falls/palettes/01.gbapal" .incbin "data/tilesets/secondary/meteor_falls/palettes/02.gbapal" @@ -525,12 +525,12 @@ gTilesetPalettes_MeteorFalls: @ 822DC1C .align 2 -gTilesetTiles_OceanicMuseum: @ 822DE1C +gTilesetTiles_OceanicMuseum:: @ 822DE1C .incbin "data/tilesets/secondary/oceanic_museum/tiles.4bpp.lz" .align 2 -gTilesetPalettes_OceanicMuseum: @ 822EDA8 +gTilesetPalettes_OceanicMuseum:: @ 822EDA8 .incbin "data/tilesets/secondary/oceanic_museum/palettes/00.gbapal" .incbin "data/tilesets/secondary/oceanic_museum/palettes/01.gbapal" .incbin "data/tilesets/secondary/oceanic_museum/palettes/02.gbapal" @@ -550,7 +550,7 @@ gTilesetPalettes_OceanicMuseum: @ 822EDA8 .align 2 -gTilesetTiles_CableClub: @ 822EFA8 +gTilesetTiles_CableClub:: @ 822EFA8 .incbin "data/tilesets/secondary/cable_club/tiles.4bpp" .align 2 @@ -559,7 +559,7 @@ gTilesetTiles_CableClub: @ 822EFA8 .align 2 -gTilesetPalettes_CableClub: @ 8233EA8 +gTilesetPalettes_CableClub:: @ 8233EA8 .incbin "data/tilesets/secondary/cable_club/palettes/00.gbapal" .incbin "data/tilesets/secondary/cable_club/palettes/01.gbapal" .incbin "data/tilesets/secondary/cable_club/palettes/02.gbapal" @@ -579,12 +579,12 @@ gTilesetPalettes_CableClub: @ 8233EA8 .align 2 -gTilesetTiles_SeashoreHouse: @ 82340A8 +gTilesetTiles_SeashoreHouse:: @ 82340A8 .incbin "data/tilesets/secondary/seashore_house/tiles.4bpp.lz" .align 2 -gTilesetPalettes_SeashoreHouse: @ 8234984 +gTilesetPalettes_SeashoreHouse:: @ 8234984 .incbin "data/tilesets/secondary/seashore_house/palettes/00.gbapal" .incbin "data/tilesets/secondary/seashore_house/palettes/01.gbapal" .incbin "data/tilesets/secondary/seashore_house/palettes/02.gbapal" @@ -604,12 +604,12 @@ gTilesetPalettes_SeashoreHouse: @ 8234984 .align 2 -gTilesetTiles_PrettyPetalFlowerShop: @ 8234B84 +gTilesetTiles_PrettyPetalFlowerShop:: @ 8234B84 .incbin "data/tilesets/secondary/pretty_petal_flower_shop/tiles.4bpp.lz" .align 2 -gTilesetPalettes_PrettyPetalFlowerShop: @ 823577C +gTilesetPalettes_PrettyPetalFlowerShop:: @ 823577C .incbin "data/tilesets/secondary/pretty_petal_flower_shop/palettes/00.gbapal" .incbin "data/tilesets/secondary/pretty_petal_flower_shop/palettes/01.gbapal" .incbin "data/tilesets/secondary/pretty_petal_flower_shop/palettes/02.gbapal" @@ -629,12 +629,12 @@ gTilesetPalettes_PrettyPetalFlowerShop: @ 823577C .align 2 -gTilesetTiles_PokemonDayCare: @ 823597C +gTilesetTiles_PokemonDayCare:: @ 823597C .incbin "data/tilesets/secondary/pokemon_day_care/tiles.4bpp.lz" .align 2 -gTilesetPalettes_PokemonDayCare: @ 82363B8 +gTilesetPalettes_PokemonDayCare:: @ 82363B8 .incbin "data/tilesets/secondary/pokemon_day_care/palettes/00.gbapal" .incbin "data/tilesets/secondary/pokemon_day_care/palettes/01.gbapal" .incbin "data/tilesets/secondary/pokemon_day_care/palettes/02.gbapal" @@ -654,12 +654,12 @@ gTilesetPalettes_PokemonDayCare: @ 82363B8 .align 2 -gTilesetTiles_Facility: @ 82365B8 +gTilesetTiles_Facility:: @ 82365B8 .incbin "data/tilesets/secondary/facility/tiles.4bpp.lz" .align 2 -gTilesetPalettes_Facility: @ 8238140 +gTilesetPalettes_Facility:: @ 8238140 .incbin "data/tilesets/secondary/facility/palettes/00.gbapal" .incbin "data/tilesets/secondary/facility/palettes/01.gbapal" .incbin "data/tilesets/secondary/facility/palettes/02.gbapal" @@ -679,12 +679,12 @@ gTilesetPalettes_Facility: @ 8238140 .align 2 -gTilesetTiles_BikeShop: @ 8238340 +gTilesetTiles_BikeShop:: @ 8238340 .incbin "data/tilesets/secondary/bike_shop/tiles.4bpp.lz" .align 2 -gTilesetPalettes_BikeShop: @ 8239670 +gTilesetPalettes_BikeShop:: @ 8239670 .incbin "data/tilesets/secondary/bike_shop/palettes/00.gbapal" .incbin "data/tilesets/secondary/bike_shop/palettes/01.gbapal" .incbin "data/tilesets/secondary/bike_shop/palettes/02.gbapal" @@ -704,12 +704,12 @@ gTilesetPalettes_BikeShop: @ 8239670 .align 2 -gTilesetTiles_RusturfTunnel: @ 8239870 +gTilesetTiles_RusturfTunnel:: @ 8239870 .incbin "data/tilesets/secondary/rusturf_tunnel/tiles.4bpp.lz" .align 2 -gTilesetPalettes_RusturfTunnel: @ 823A264 +gTilesetPalettes_RusturfTunnel:: @ 823A264 .incbin "data/tilesets/secondary/rusturf_tunnel/palettes/00.gbapal" .incbin "data/tilesets/secondary/rusturf_tunnel/palettes/01.gbapal" .incbin "data/tilesets/secondary/rusturf_tunnel/palettes/02.gbapal" @@ -734,7 +734,7 @@ gTilesetPalettes_RusturfTunnel: @ 823A264 .align 2 -gTilesetPalettes_SecretBaseBrownCave: @ 823A9E4 +gTilesetPalettes_SecretBaseBrownCave:: @ 823A9E4 .incbin "data/tilesets/secondary/secret_base/brown_cave/palettes/00.gbapal" .incbin "data/tilesets/secondary/secret_base/brown_cave/palettes/01.gbapal" .incbin "data/tilesets/secondary/secret_base/brown_cave/palettes/02.gbapal" @@ -759,7 +759,7 @@ gTilesetPalettes_SecretBaseBrownCave: @ 823A9E4 .align 2 -gTilesetPalettes_SecretBaseTree: @ 823B108 +gTilesetPalettes_SecretBaseTree:: @ 823B108 .incbin "data/tilesets/secondary/secret_base/tree/palettes/00.gbapal" .incbin "data/tilesets/secondary/secret_base/tree/palettes/01.gbapal" .incbin "data/tilesets/secondary/secret_base/tree/palettes/02.gbapal" @@ -784,7 +784,7 @@ gTilesetPalettes_SecretBaseTree: @ 823B108 .align 2 -gTilesetPalettes_SecretBaseShrub: @ 823B870 +gTilesetPalettes_SecretBaseShrub:: @ 823B870 .incbin "data/tilesets/secondary/secret_base/shrub/palettes/00.gbapal" .incbin "data/tilesets/secondary/secret_base/shrub/palettes/01.gbapal" .incbin "data/tilesets/secondary/secret_base/shrub/palettes/02.gbapal" @@ -809,7 +809,7 @@ gTilesetPalettes_SecretBaseShrub: @ 823B870 .align 2 -gTilesetPalettes_SecretBaseBlueCave: @ 823BE8C +gTilesetPalettes_SecretBaseBlueCave:: @ 823BE8C .incbin "data/tilesets/secondary/secret_base/blue_cave/palettes/00.gbapal" .incbin "data/tilesets/secondary/secret_base/blue_cave/palettes/01.gbapal" .incbin "data/tilesets/secondary/secret_base/blue_cave/palettes/02.gbapal" @@ -834,7 +834,7 @@ gTilesetPalettes_SecretBaseBlueCave: @ 823BE8C .align 2 -gTilesetPalettes_SecretBaseYellowCave: @ 823C5C4 +gTilesetPalettes_SecretBaseYellowCave:: @ 823C5C4 .incbin "data/tilesets/secondary/secret_base/yellow_cave/palettes/00.gbapal" .incbin "data/tilesets/secondary/secret_base/yellow_cave/palettes/01.gbapal" .incbin "data/tilesets/secondary/secret_base/yellow_cave/palettes/02.gbapal" @@ -859,7 +859,7 @@ gTilesetPalettes_SecretBaseYellowCave: @ 823C5C4 .align 2 -gTilesetPalettes_SecretBaseRedCave: @ 823CBFC +gTilesetPalettes_SecretBaseRedCave:: @ 823CBFC .incbin "data/tilesets/secondary/secret_base/red_cave/palettes/00.gbapal" .incbin "data/tilesets/secondary/secret_base/red_cave/palettes/01.gbapal" .incbin "data/tilesets/secondary/secret_base/red_cave/palettes/02.gbapal" @@ -879,42 +879,42 @@ gTilesetPalettes_SecretBaseRedCave: @ 823CBFC .align 2 -gTilesetTiles_SecretBaseBrownCave: @ 823CDFC +gTilesetTiles_SecretBaseBrownCave:: @ 823CDFC .incbin "data/tilesets/secondary/secret_base/brown_cave/tiles.4bpp" .align 2 -gTilesetTiles_SecretBaseTree: @ 823D85C +gTilesetTiles_SecretBaseTree:: @ 823D85C .incbin "data/tilesets/secondary/secret_base/tree/tiles.4bpp" .align 2 -gTilesetTiles_SecretBaseShrub: @ 823E2BC +gTilesetTiles_SecretBaseShrub:: @ 823E2BC .incbin "data/tilesets/secondary/secret_base/shrub/tiles.4bpp" .align 2 -gTilesetTiles_SecretBaseBlueCave: @ 823ED1C +gTilesetTiles_SecretBaseBlueCave:: @ 823ED1C .incbin "data/tilesets/secondary/secret_base/blue_cave/tiles.4bpp" .align 2 -gTilesetTiles_SecretBaseYellowCave: @ 823F77C +gTilesetTiles_SecretBaseYellowCave:: @ 823F77C .incbin "data/tilesets/secondary/secret_base/yellow_cave/tiles.4bpp" .align 2 -gTilesetTiles_SecretBaseRedCave: @ 82401DC +gTilesetTiles_SecretBaseRedCave:: @ 82401DC .incbin "data/tilesets/secondary/secret_base/red_cave/tiles.4bpp" .align 2 -gTilesetTiles_InsideOfTruck: @ 8240C3C +gTilesetTiles_InsideOfTruck:: @ 8240C3C .incbin "data/tilesets/secondary/inside_of_truck/tiles.4bpp.lz" .align 2 -gTilesetPalettes_InsideOfTruck: @ 8240E98 +gTilesetPalettes_InsideOfTruck:: @ 8240E98 .incbin "data/tilesets/secondary/inside_of_truck/palettes/00.gbapal" .incbin "data/tilesets/secondary/inside_of_truck/palettes/01.gbapal" .incbin "data/tilesets/secondary/inside_of_truck/palettes/02.gbapal" @@ -934,12 +934,12 @@ gTilesetPalettes_InsideOfTruck: @ 8240E98 .align 2 -gTilesetTiles_Contest: @ 8241098 +gTilesetTiles_Contest:: @ 8241098 .incbin "data/tilesets/secondary/contest/tiles.4bpp.lz" .align 2 -gTilesetPalettes_Contest: @ 8241BEC +gTilesetPalettes_Contest:: @ 8241BEC .incbin "data/tilesets/secondary/contest/palettes/00.gbapal" .incbin "data/tilesets/secondary/contest/palettes/01.gbapal" .incbin "data/tilesets/secondary/contest/palettes/02.gbapal" @@ -959,12 +959,12 @@ gTilesetPalettes_Contest: @ 8241BEC .align 2 -gTilesetTiles_LilycoveMuseum: @ 8241DEC +gTilesetTiles_LilycoveMuseum:: @ 8241DEC .incbin "data/tilesets/secondary/lilycove_museum/tiles.4bpp.lz" .align 2 -gTilesetPalettes_LilycoveMuseum: @ 8243108 +gTilesetPalettes_LilycoveMuseum:: @ 8243108 .incbin "data/tilesets/secondary/lilycove_museum/palettes/00.gbapal" .incbin "data/tilesets/secondary/lilycove_museum/palettes/01.gbapal" .incbin "data/tilesets/secondary/lilycove_museum/palettes/02.gbapal" @@ -984,12 +984,12 @@ gTilesetPalettes_LilycoveMuseum: @ 8243108 .align 2 -gTilesetTiles_BrendansMaysHouse: @ 8243308 +gTilesetTiles_BrendansMaysHouse:: @ 8243308 .incbin "data/tilesets/secondary/brendans_mays_house/tiles.4bpp.lz" .align 2 -gTilesetPalettes_BrendansMaysHouse: @ 82442BC +gTilesetPalettes_BrendansMaysHouse:: @ 82442BC .incbin "data/tilesets/secondary/brendans_mays_house/palettes/00.gbapal" .incbin "data/tilesets/secondary/brendans_mays_house/palettes/01.gbapal" .incbin "data/tilesets/secondary/brendans_mays_house/palettes/02.gbapal" @@ -1009,12 +1009,12 @@ gTilesetPalettes_BrendansMaysHouse: @ 82442BC .align 2 -gTilesetTiles_Lab: @ 82444BC +gTilesetTiles_Lab:: @ 82444BC .incbin "data/tilesets/secondary/lab/tiles.4bpp.lz" .align 2 -gTilesetPalettes_Lab: @ 8245510 +gTilesetPalettes_Lab:: @ 8245510 .incbin "data/tilesets/secondary/lab/palettes/00.gbapal" .incbin "data/tilesets/secondary/lab/palettes/01.gbapal" .incbin "data/tilesets/secondary/lab/palettes/02.gbapal" @@ -1034,12 +1034,12 @@ gTilesetPalettes_Lab: @ 8245510 .align 2 -gTilesetTiles_Underwater: @ 8245710 +gTilesetTiles_Underwater:: @ 8245710 .incbin "data/tilesets/secondary/underwater/tiles.4bpp.lz" .align 2 -gTilesetPalettes_Underwater: @ 82468CC +gTilesetPalettes_Underwater:: @ 82468CC .incbin "data/tilesets/secondary/underwater/palettes/00.gbapal" .incbin "data/tilesets/secondary/underwater/palettes/01.gbapal" .incbin "data/tilesets/secondary/underwater/palettes/02.gbapal" @@ -1059,12 +1059,12 @@ gTilesetPalettes_Underwater: @ 82468CC .align 2 -gTilesetTiles_GenericBuilding: @ 8246ACC +gTilesetTiles_GenericBuilding:: @ 8246ACC .incbin "data/tilesets/secondary/generic_building/tiles.4bpp.lz" .align 2 -gTilesetPalettes_GenericBuilding: @ 8248494 +gTilesetPalettes_GenericBuilding:: @ 8248494 .incbin "data/tilesets/secondary/generic_building/palettes/00.gbapal" .incbin "data/tilesets/secondary/generic_building/palettes/01.gbapal" .incbin "data/tilesets/secondary/generic_building/palettes/02.gbapal" @@ -1084,12 +1084,12 @@ gTilesetPalettes_GenericBuilding: @ 8248494 .align 2 -gTilesetTiles_MauvilleGameCorner: @ 8248694 +gTilesetTiles_MauvilleGameCorner:: @ 8248694 .incbin "data/tilesets/secondary/mauville_game_corner/tiles.4bpp.lz" .align 2 -gTilesetPalettes_MauvilleGameCorner: @ 8249358 +gTilesetPalettes_MauvilleGameCorner:: @ 8249358 .incbin "data/tilesets/secondary/mauville_game_corner/palettes/00.gbapal" .incbin "data/tilesets/secondary/mauville_game_corner/palettes/01.gbapal" .incbin "data/tilesets/secondary/mauville_game_corner/palettes/02.gbapal" @@ -1109,12 +1109,12 @@ gTilesetPalettes_MauvilleGameCorner: @ 8249358 .align 2 -gTilesetTiles_Unused2: @ 8249558 +gTilesetTiles_Unused2:: @ 8249558 .incbin "data/tilesets/secondary/unused_2/tiles.4bpp.lz" .align 2 -gTilesetPalettes_Unused2: @ 8249A80 +gTilesetPalettes_Unused2:: @ 8249A80 .incbin "data/tilesets/secondary/unused_2/palettes/00.gbapal" .incbin "data/tilesets/secondary/unused_2/palettes/01.gbapal" .incbin "data/tilesets/secondary/unused_2/palettes/02.gbapal" @@ -1134,12 +1134,12 @@ gTilesetPalettes_Unused2: @ 8249A80 .align 2 -gTilesetTiles_RustboroGym: @ 8249C80 +gTilesetTiles_RustboroGym:: @ 8249C80 .incbin "data/tilesets/secondary/rustboro_gym/tiles.4bpp.lz" .align 2 -gTilesetPalettes_RustboroGym: @ 824A114 +gTilesetPalettes_RustboroGym:: @ 824A114 .incbin "data/tilesets/secondary/rustboro_gym/palettes/00.gbapal" .incbin "data/tilesets/secondary/rustboro_gym/palettes/01.gbapal" .incbin "data/tilesets/secondary/rustboro_gym/palettes/02.gbapal" @@ -1159,12 +1159,12 @@ gTilesetPalettes_RustboroGym: @ 824A114 .align 2 -gTilesetTiles_DewfordGym: @ 824A314 +gTilesetTiles_DewfordGym:: @ 824A314 .incbin "data/tilesets/secondary/dewford_gym/tiles.4bpp.lz" .align 2 -gTilesetPalettes_DewfordGym: @ 824A570 +gTilesetPalettes_DewfordGym:: @ 824A570 .incbin "data/tilesets/secondary/dewford_gym/palettes/00.gbapal" .incbin "data/tilesets/secondary/dewford_gym/palettes/01.gbapal" .incbin "data/tilesets/secondary/dewford_gym/palettes/02.gbapal" @@ -1184,12 +1184,12 @@ gTilesetPalettes_DewfordGym: @ 824A570 .align 2 -gTilesetTiles_MauvilleGym: @ 824A770 +gTilesetTiles_MauvilleGym:: @ 824A770 .incbin "data/tilesets/secondary/mauville_gym/tiles.4bpp.lz" .align 2 -gTilesetPalettes_MauvilleGym: @ 824AD9C +gTilesetPalettes_MauvilleGym:: @ 824AD9C .incbin "data/tilesets/secondary/mauville_gym/palettes/00.gbapal" .incbin "data/tilesets/secondary/mauville_gym/palettes/01.gbapal" .incbin "data/tilesets/secondary/mauville_gym/palettes/02.gbapal" @@ -1209,12 +1209,12 @@ gTilesetPalettes_MauvilleGym: @ 824AD9C .align 2 -gTilesetTiles_LavaridgeGym: @ 824AF9C +gTilesetTiles_LavaridgeGym:: @ 824AF9C .incbin "data/tilesets/secondary/lavaridge_gym/tiles.4bpp.lz" .align 2 -gTilesetPalettes_LavaridgeGym: @ 824B2A8 +gTilesetPalettes_LavaridgeGym:: @ 824B2A8 .incbin "data/tilesets/secondary/lavaridge_gym/palettes/00.gbapal" .incbin "data/tilesets/secondary/lavaridge_gym/palettes/01.gbapal" .incbin "data/tilesets/secondary/lavaridge_gym/palettes/02.gbapal" @@ -1234,12 +1234,12 @@ gTilesetPalettes_LavaridgeGym: @ 824B2A8 .align 2 -gTilesetTiles_PetalburgGym: @ 824B4A8 +gTilesetTiles_PetalburgGym:: @ 824B4A8 .incbin "data/tilesets/secondary/petalburg_gym/tiles.4bpp.lz" .align 2 -gTilesetPalettes_PetalburgGym: @ 824BE08 +gTilesetPalettes_PetalburgGym:: @ 824BE08 .incbin "data/tilesets/secondary/petalburg_gym/palettes/00.gbapal" .incbin "data/tilesets/secondary/petalburg_gym/palettes/01.gbapal" .incbin "data/tilesets/secondary/petalburg_gym/palettes/02.gbapal" @@ -1259,12 +1259,12 @@ gTilesetPalettes_PetalburgGym: @ 824BE08 .align 2 -gTilesetTiles_FortreeGym: @ 824C008 +gTilesetTiles_FortreeGym:: @ 824C008 .incbin "data/tilesets/secondary/fortree_gym/tiles.4bpp.lz" .align 2 -gTilesetPalettes_FortreeGym: @ 824C2C8 +gTilesetPalettes_FortreeGym:: @ 824C2C8 .incbin "data/tilesets/secondary/fortree_gym/palettes/00.gbapal" .incbin "data/tilesets/secondary/fortree_gym/palettes/01.gbapal" .incbin "data/tilesets/secondary/fortree_gym/palettes/02.gbapal" @@ -1284,12 +1284,12 @@ gTilesetPalettes_FortreeGym: @ 824C2C8 .align 2 -gTilesetTiles_MossdeepGym: @ 824C4C8 +gTilesetTiles_MossdeepGym:: @ 824C4C8 .incbin "data/tilesets/secondary/mossdeep_gym/tiles.4bpp.lz" .align 2 -gTilesetPalettes_MossdeepGym: @ 824CA00 +gTilesetPalettes_MossdeepGym:: @ 824CA00 .incbin "data/tilesets/secondary/mossdeep_gym/palettes/00.gbapal" .incbin "data/tilesets/secondary/mossdeep_gym/palettes/01.gbapal" .incbin "data/tilesets/secondary/mossdeep_gym/palettes/02.gbapal" @@ -1309,12 +1309,12 @@ gTilesetPalettes_MossdeepGym: @ 824CA00 .align 2 -gTilesetTiles_SootopolisGym: @ 824CC00 +gTilesetTiles_SootopolisGym:: @ 824CC00 .incbin "data/tilesets/secondary/sootopolis_gym/tiles.4bpp.lz" .align 2 -gTilesetPalettes_SootopolisGym: @ 824E030 +gTilesetPalettes_SootopolisGym:: @ 824E030 .incbin "data/tilesets/secondary/sootopolis_gym/palettes/00.gbapal" .incbin "data/tilesets/secondary/sootopolis_gym/palettes/01.gbapal" .incbin "data/tilesets/secondary/sootopolis_gym/palettes/02.gbapal" @@ -1334,12 +1334,12 @@ gTilesetPalettes_SootopolisGym: @ 824E030 .align 2 -gTilesetTiles_TrickHousePuzzle: @ 824E230 +gTilesetTiles_TrickHousePuzzle:: @ 824E230 .incbin "data/tilesets/secondary/trick_house_puzzle/tiles.4bpp.lz" .align 2 -gTilesetPalettes_TrickHousePuzzle: @ 824EEA8 +gTilesetPalettes_TrickHousePuzzle:: @ 824EEA8 .incbin "data/tilesets/secondary/trick_house_puzzle/palettes/00.gbapal" .incbin "data/tilesets/secondary/trick_house_puzzle/palettes/01.gbapal" .incbin "data/tilesets/secondary/trick_house_puzzle/palettes/02.gbapal" @@ -1359,12 +1359,12 @@ gTilesetPalettes_TrickHousePuzzle: @ 824EEA8 .align 2 -gTilesetTiles_Ship: @ 824F0A8 +gTilesetTiles_Ship:: @ 824F0A8 .incbin "data/tilesets/secondary/ship/tiles.4bpp.lz" .align 2 -gTilesetPalettes_Ship: @ 824FC78 +gTilesetPalettes_Ship:: @ 824FC78 .incbin "data/tilesets/secondary/ship/palettes/00.gbapal" .incbin "data/tilesets/secondary/ship/palettes/01.gbapal" .incbin "data/tilesets/secondary/ship/palettes/02.gbapal" @@ -1384,7 +1384,7 @@ gTilesetPalettes_Ship: @ 824FC78 .align 2 -gTilesetTiles_SecretBase: @ 824FE78 +gTilesetTiles_SecretBase:: @ 824FE78 .incbin "data/tilesets/primary/secret_base/tiles.4bpp" .align 2 @@ -1393,7 +1393,7 @@ gTilesetTiles_SecretBase: @ 824FE78 .align 2 -gTilesetPalettes_SecretBase: @ 8257E78 +gTilesetPalettes_SecretBase:: @ 8257E78 .incbin "data/tilesets/primary/secret_base/palettes/00.gbapal" .incbin "data/tilesets/primary/secret_base/palettes/01.gbapal" .incbin "data/tilesets/primary/secret_base/palettes/02.gbapal" @@ -1413,12 +1413,12 @@ gTilesetPalettes_SecretBase: @ 8257E78 .align 2 -gTilesetTiles_EliteFour: @ 8258078 +gTilesetTiles_EliteFour:: @ 8258078 .incbin "data/tilesets/secondary/elite_four/tiles.4bpp.lz" .align 2 -gTilesetPalettes_EliteFour: @ 82590F4 +gTilesetPalettes_EliteFour:: @ 82590F4 .incbin "data/tilesets/secondary/elite_four/palettes/00.gbapal" .incbin "data/tilesets/secondary/elite_four/palettes/01.gbapal" .incbin "data/tilesets/secondary/elite_four/palettes/02.gbapal" @@ -1438,12 +1438,12 @@ gTilesetPalettes_EliteFour: @ 82590F4 .align 2 -gTilesetTiles_BattleTower: @ 82592F4 +gTilesetTiles_BattleTower:: @ 82592F4 .incbin "data/tilesets/secondary/battle_tower/tiles.4bpp.lz" .align 2 -gTilesetPalettes_BattleTower: @ 8259A1C +gTilesetPalettes_BattleTower:: @ 8259A1C .incbin "data/tilesets/secondary/battle_tower/palettes/00.gbapal" .incbin "data/tilesets/secondary/battle_tower/palettes/01.gbapal" .incbin "data/tilesets/secondary/battle_tower/palettes/02.gbapal" diff --git a/data/tilesets/headers.inc b/data/tilesets/headers.inc index 69e11ac20..8965b1025 100644 --- a/data/tilesets/headers.inc +++ b/data/tilesets/headers.inc @@ -1,6 +1,6 @@ .align 2 -gTileset_General: @ 8286CF4 +gTileset_General:: @ 8286CF4 .byte TRUE @ is compressed .byte FALSE @ is secondary tileset .2byte 0 @ padding @@ -12,7 +12,7 @@ gTileset_General: @ 8286CF4 .align 2 -gTileset_Petalburg: @ 8286D0C +gTileset_Petalburg:: @ 8286D0C .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -24,7 +24,7 @@ gTileset_Petalburg: @ 8286D0C .align 2 -gTileset_Rustboro: @ 8286D24 +gTileset_Rustboro:: @ 8286D24 .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -36,7 +36,7 @@ gTileset_Rustboro: @ 8286D24 .align 2 -gTileset_Dewford: @ 8286D3C +gTileset_Dewford:: @ 8286D3C .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -48,7 +48,7 @@ gTileset_Dewford: @ 8286D3C .align 2 -gTileset_Slateport: @ 8286D54 +gTileset_Slateport:: @ 8286D54 .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -60,7 +60,7 @@ gTileset_Slateport: @ 8286D54 .align 2 -gTileset_Mauville: @ 8286D6C +gTileset_Mauville:: @ 8286D6C .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -72,7 +72,7 @@ gTileset_Mauville: @ 8286D6C .align 2 -gTileset_Lavaridge: @ 8286D84 +gTileset_Lavaridge:: @ 8286D84 .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -84,7 +84,7 @@ gTileset_Lavaridge: @ 8286D84 .align 2 -gTileset_Fallarbor: @ 8286D9C +gTileset_Fallarbor:: @ 8286D9C .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -96,7 +96,7 @@ gTileset_Fallarbor: @ 8286D9C .align 2 -gTileset_Fortree: @ 8286DB4 +gTileset_Fortree:: @ 8286DB4 .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -108,7 +108,7 @@ gTileset_Fortree: @ 8286DB4 .align 2 -gTileset_Lilycove: @ 8286DCC +gTileset_Lilycove:: @ 8286DCC .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -120,7 +120,7 @@ gTileset_Lilycove: @ 8286DCC .align 2 -gTileset_Mossdeep: @ 8286DE4 +gTileset_Mossdeep:: @ 8286DE4 .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -132,7 +132,7 @@ gTileset_Mossdeep: @ 8286DE4 .align 2 -gTileset_EverGrande: @ 8286DFC +gTileset_EverGrande:: @ 8286DFC .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -144,7 +144,7 @@ gTileset_EverGrande: @ 8286DFC .align 2 -gTileset_Pacifidlog: @ 8286E14 +gTileset_Pacifidlog:: @ 8286E14 .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -156,7 +156,7 @@ gTileset_Pacifidlog: @ 8286E14 .align 2 -gTileset_Sootopolis: @ 8286E2C +gTileset_Sootopolis:: @ 8286E2C .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -168,7 +168,7 @@ gTileset_Sootopolis: @ 8286E2C .align 2 -gTileset_Building: @ 8286E44 +gTileset_Building:: @ 8286E44 .byte TRUE @ is compressed .byte FALSE @ is secondary tileset .2byte 0 @ padding @@ -180,7 +180,7 @@ gTileset_Building: @ 8286E44 .align 2 -gTileset_Shop: @ 8286E5C +gTileset_Shop:: @ 8286E5C .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -192,7 +192,7 @@ gTileset_Shop: @ 8286E5C .align 2 -gTileset_PokemonCenter: @ 8286E74 +gTileset_PokemonCenter:: @ 8286E74 .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -204,7 +204,7 @@ gTileset_PokemonCenter: @ 8286E74 .align 2 -gTileset_Cave: @ 8286E8C +gTileset_Cave:: @ 8286E8C .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -216,7 +216,7 @@ gTileset_Cave: @ 8286E8C .align 2 -gTileset_PokemonSchool: @ 8286EA4 +gTileset_PokemonSchool:: @ 8286EA4 .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -228,7 +228,7 @@ gTileset_PokemonSchool: @ 8286EA4 .align 2 -gTileset_PokemonFanClub: @ 8286EBC +gTileset_PokemonFanClub:: @ 8286EBC .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -240,7 +240,7 @@ gTileset_PokemonFanClub: @ 8286EBC .align 2 -gTileset_Unused1: @ 8286ED4 +gTileset_Unused1:: @ 8286ED4 .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -252,7 +252,7 @@ gTileset_Unused1: @ 8286ED4 .align 2 -gTileset_MeteorFalls: @ 8286EEC +gTileset_MeteorFalls:: @ 8286EEC .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -264,7 +264,7 @@ gTileset_MeteorFalls: @ 8286EEC .align 2 -gTileset_OceanicMuseum: @ 8286F04 +gTileset_OceanicMuseum:: @ 8286F04 .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -276,7 +276,7 @@ gTileset_OceanicMuseum: @ 8286F04 .align 2 -gTileset_CableClub: @ 8286F1C +gTileset_CableClub:: @ 8286F1C .byte FALSE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -288,7 +288,7 @@ gTileset_CableClub: @ 8286F1C .align 2 -gTileset_SeashoreHouse: @ 8286F34 +gTileset_SeashoreHouse:: @ 8286F34 .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -300,7 +300,7 @@ gTileset_SeashoreHouse: @ 8286F34 .align 2 -gTileset_PrettyPetalFlowerShop: @ 8286F4C +gTileset_PrettyPetalFlowerShop:: @ 8286F4C .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -312,7 +312,7 @@ gTileset_PrettyPetalFlowerShop: @ 8286F4C .align 2 -gTileset_PokemonDayCare: @ 8286F64 +gTileset_PokemonDayCare:: @ 8286F64 .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -324,7 +324,7 @@ gTileset_PokemonDayCare: @ 8286F64 .align 2 -gTileset_Facility: @ 8286F7C +gTileset_Facility:: @ 8286F7C .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -336,7 +336,7 @@ gTileset_Facility: @ 8286F7C .align 2 -gTileset_BikeShop: @ 8286F94 +gTileset_BikeShop:: @ 8286F94 .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -348,7 +348,7 @@ gTileset_BikeShop: @ 8286F94 .align 2 -gTileset_RusturfTunnel: @ 8286FAC +gTileset_RusturfTunnel:: @ 8286FAC .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -360,7 +360,7 @@ gTileset_RusturfTunnel: @ 8286FAC .align 2 -gTileset_SecretBaseBrownCave: @ 8286FC4 +gTileset_SecretBaseBrownCave:: @ 8286FC4 .byte FALSE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -372,7 +372,7 @@ gTileset_SecretBaseBrownCave: @ 8286FC4 .align 2 -gTileset_SecretBaseTree: @ 8286FDC +gTileset_SecretBaseTree:: @ 8286FDC .byte FALSE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -384,7 +384,7 @@ gTileset_SecretBaseTree: @ 8286FDC .align 2 -gTileset_SecretBaseShrub: @ 8286FF4 +gTileset_SecretBaseShrub:: @ 8286FF4 .byte FALSE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -396,7 +396,7 @@ gTileset_SecretBaseShrub: @ 8286FF4 .align 2 -gTileset_SecretBaseBlueCave: @ 828700C +gTileset_SecretBaseBlueCave:: @ 828700C .byte FALSE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -408,7 +408,7 @@ gTileset_SecretBaseBlueCave: @ 828700C .align 2 -gTileset_SecretBaseYellowCave: @ 8287024 +gTileset_SecretBaseYellowCave:: @ 8287024 .byte FALSE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -420,7 +420,7 @@ gTileset_SecretBaseYellowCave: @ 8287024 .align 2 -gTileset_SecretBaseRedCave: @ 828703C +gTileset_SecretBaseRedCave:: @ 828703C .byte FALSE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -432,7 +432,7 @@ gTileset_SecretBaseRedCave: @ 828703C .align 2 -gTileset_InsideOfTruck: @ 8287054 +gTileset_InsideOfTruck:: @ 8287054 .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -444,7 +444,7 @@ gTileset_InsideOfTruck: @ 8287054 .align 2 -gTileset_Unused2: @ 828706C +gTileset_Unused2:: @ 828706C .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -456,7 +456,7 @@ gTileset_Unused2: @ 828706C .align 2 -gTileset_Contest: @ 8287084 +gTileset_Contest:: @ 8287084 .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -468,7 +468,7 @@ gTileset_Contest: @ 8287084 .align 2 -gTileset_LilycoveMuseum: @ 828709C +gTileset_LilycoveMuseum:: @ 828709C .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -480,7 +480,7 @@ gTileset_LilycoveMuseum: @ 828709C .align 2 -gTileset_BrendansMaysHouse: @ 82870B4 +gTileset_BrendansMaysHouse:: @ 82870B4 .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -492,7 +492,7 @@ gTileset_BrendansMaysHouse: @ 82870B4 .align 2 -gTileset_Lab: @ 82870CC +gTileset_Lab:: @ 82870CC .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -504,7 +504,7 @@ gTileset_Lab: @ 82870CC .align 2 -gTileset_Underwater: @ 82870E4 +gTileset_Underwater:: @ 82870E4 .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -516,7 +516,7 @@ gTileset_Underwater: @ 82870E4 .align 2 -gTileset_PetalburgGym: @ 82870FC +gTileset_PetalburgGym:: @ 82870FC .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -528,7 +528,7 @@ gTileset_PetalburgGym: @ 82870FC .align 2 -gTileset_SootopolisGym: @ 8287114 +gTileset_SootopolisGym:: @ 8287114 .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -540,7 +540,7 @@ gTileset_SootopolisGym: @ 8287114 .align 2 -gTileset_GenericBuilding: @ 828712C +gTileset_GenericBuilding:: @ 828712C .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -552,7 +552,7 @@ gTileset_GenericBuilding: @ 828712C .align 2 -gTileset_MauvilleGameCorner: @ 8287144 +gTileset_MauvilleGameCorner:: @ 8287144 .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -564,7 +564,7 @@ gTileset_MauvilleGameCorner: @ 8287144 .align 2 -gTileset_RustboroGym: @ 828715C +gTileset_RustboroGym:: @ 828715C .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -576,7 +576,7 @@ gTileset_RustboroGym: @ 828715C .align 2 -gTileset_DewfordGym: @ 8287174 +gTileset_DewfordGym:: @ 8287174 .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -588,7 +588,7 @@ gTileset_DewfordGym: @ 8287174 .align 2 -gTileset_MauvilleGym: @ 828718C +gTileset_MauvilleGym:: @ 828718C .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -600,7 +600,7 @@ gTileset_MauvilleGym: @ 828718C .align 2 -gTileset_LavaridgeGym: @ 82871A4 +gTileset_LavaridgeGym:: @ 82871A4 .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -612,7 +612,7 @@ gTileset_LavaridgeGym: @ 82871A4 .align 2 -gTileset_TrickHousePuzzle: @ 82871BC +gTileset_TrickHousePuzzle:: @ 82871BC .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -624,7 +624,7 @@ gTileset_TrickHousePuzzle: @ 82871BC .align 2 -gTileset_FortreeGym: @ 82871D4 +gTileset_FortreeGym:: @ 82871D4 .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -636,7 +636,7 @@ gTileset_FortreeGym: @ 82871D4 .align 2 -gTileset_MossdeepGym: @ 82871EC +gTileset_MossdeepGym:: @ 82871EC .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -648,7 +648,7 @@ gTileset_MossdeepGym: @ 82871EC .align 2 -gTileset_Ship: @ 8287204 +gTileset_Ship:: @ 8287204 .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -660,7 +660,7 @@ gTileset_Ship: @ 8287204 .align 2 -gTileset_SecretBase: @ 828721C +gTileset_SecretBase:: @ 828721C .byte FALSE @ is compressed .byte FALSE @ is secondary tileset .2byte 0 @ padding @@ -672,7 +672,7 @@ gTileset_SecretBase: @ 828721C .align 2 -gTileset_EliteFour: @ 8287234 +gTileset_EliteFour:: @ 8287234 .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding @@ -684,7 +684,7 @@ gTileset_EliteFour: @ 8287234 .align 2 -gTileset_BattleTower: @ 828724C +gTileset_BattleTower:: @ 828724C .byte TRUE @ is compressed .byte TRUE @ is secondary tileset .2byte 0 @ padding diff --git a/data/trade.s b/data/trade.s new file mode 100644 index 000000000..8f96a72b1 --- /dev/null +++ b/data/trade.s @@ -0,0 +1,774 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" + + .section .rodata + + .align 2 + .byte 0x90, 0x08, 0x00, 0x00 + .byte 0xC0, 0x3A, 0x00, 0x00 + .byte 0x1C, 0x00, 0x00, 0x00 + .byte 0x30, 0x05, 0x00, 0x00 + .byte 0x24, 0x00, 0x00, 0x00 + .byte 0x64, 0x00, 0x00, 0x00 + .byte 0xD8, 0x04, 0x00, 0x00 + + .align 1 +gTradeMovesBoxTilemap:: @ 820ABF0 + .incbin "graphics/trade/moves_box_map.bin" + + .align 1 +gTradePartyBoxTilemap:: @ 820ADEE + .incbin "graphics/trade/party_box_map.bin" + + .align 2 +gTradeStripesBG2Tilemap:: @ 820AFEC + .incbin "graphics/trade/stripes_bg2_map.bin" + + .align 2 +gTradeStripesBG3Tilemap:: @ 820B7EC + .incbin "graphics/trade/stripes_bg3_map.bin" + + .align 2 +gOamData_820BFEC:: @ 820BFEC + .2byte 0x4000 + .2byte 0x8000 + .2byte 0x0400 + + .align 2 +gSpriteAnim_820BFF4:: @ 820BFF4 + obj_image_anim_frame 0, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_820BFFC:: @ 820BFFC + obj_image_anim_frame 8, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_820C004:: @ 820C004 + obj_image_anim_frame 16, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_820C00C:: @ 820C00C + obj_image_anim_frame 24, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_820C014:: @ 820C014 + obj_image_anim_frame 32, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_820C01C:: @ 820C01C + obj_image_anim_frame 40, 5 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_820C024:: @ 820C024 + .4byte gSpriteAnim_820BFF4 + .4byte gSpriteAnim_820BFFC + .4byte gSpriteAnim_820C004 + .4byte gSpriteAnim_820C00C + .4byte gSpriteAnim_820C014 + .4byte gSpriteAnim_820C01C + + .align 2 +TradeScreenTextPalette: @ 820C03C + .incbin "graphics/trade/text1.gbapal" + .incbin "graphics/trade/text2.gbapal" @ unused? + + .align 2 +gUnknown_0820C07C:: @ 820C07C + obj_tiles 0x0201d000, 256, 0x00c8 + obj_tiles 0x0201d100, 256, 0x00c9 + obj_tiles 0x0201d200, 256, 0x00ca + obj_tiles 0x0201d300, 256, 0x00cb + obj_tiles 0x0201d400, 256, 0x00cc + obj_tiles 0x0201d500, 256, 0x00cd + obj_tiles 0x0201d600, 256, 0x00ce + obj_tiles 0x0201d700, 256, 0x00cf + obj_tiles 0x0201d800, 256, 0x00d0 + obj_tiles 0x0201d900, 256, 0x00d1 + obj_tiles 0x0201da00, 256, 0x00d2 + obj_tiles 0x0201db00, 256, 0x00d3 + obj_tiles 0x0201dc00, 256, 0x00d4 + + .align 2 +gSpritePalette_TradeScreenText:: @ 820C0E4 + obj_pal TradeScreenTextPalette, 4925 + + .align 2 +gSpriteTemplate_820C0EC:: @ 820C0EC + spr_template 200, 4925, gOamData_820BFEC, gSpriteAnimTable_820C024, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gOamData_820C104:: @ 820C104 + .2byte 0x4000 + .2byte 0xC000 + .2byte 0x0400 + + .align 2 +gSpriteAnim_820C10C:: @ 820C10C + obj_image_anim_frame 0, 5 + obj_image_anim_end + + .align 2 +gSpriteAnim_820C114:: @ 820C114 + obj_image_anim_frame 32, 5 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_820C11C:: @ 820C11C + .4byte gSpriteAnim_820C10C + .4byte gSpriteAnim_820C114 + + .align 2 +gUnknown_0820C124:: @ 820C124 + obj_tiles gUnknown_08EA1DEC, 0x800, 300 + + .align 2 +gUnknown_0820C12C:: @ 820C12C + obj_pal gUnknown_08EA0328, 2345 + + .align 2 +gSpriteTemplate_820C134:: @ 820C134 + spr_template 300, 2345, gOamData_820C104, gSpriteAnimTable_820C11C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + + .align 2 +gUnknown_0820C14C:: @ 820C14C + .4byte TradeText_Cancel + .4byte TradeText_ChoosePoke + .4byte TradeText_Summary1 + .4byte TradeText_Trade1 + .4byte TradeText_CancelTradePrompt + .4byte TradeText_PressBToExit + +@ This is used to determine the next mon to select when the D-Pad is +@ pressed in a given direction. +@ Note that the mons are laid out like this. +@ 0-5 are the player's party and 6-11 are the trading partner's party. +@ 12 is the cancel button. +@ 0 1 6 7 +@ 2 3 8 9 +@ 4 5 10 11 +@ 12 +gTradeNextSelectedMonTable:: @ 820C164 + @ 0 + .byte 4, 2, 12, 12, 0, 0 @ up + .byte 2, 4, 12, 12, 0, 0 @ down + .byte 7, 6, 1, 0, 0, 0 @ left + .byte 1, 6, 7, 0, 0, 0 @ right + @ 1 + .byte 5, 3, 12, 12, 0, 0 @ up + .byte 3, 5, 12, 12, 0, 0 @ down + .byte 0, 7, 6, 1, 0, 0 @ left + .byte 6, 7, 0, 1, 0, 0 @ right + @ 2 + .byte 0, 0, 0, 0, 0, 0 @ up + .byte 4, 0, 0, 0, 0, 0 @ down + .byte 9, 8, 7, 6, 0, 0 @ left + .byte 3, 1, 0, 0, 0, 0 @ right + @ 3 + .byte 1, 1, 1, 1, 0, 0 @ up + .byte 5, 1, 1, 1, 0, 0 @ down + .byte 2, 9, 8, 7, 0, 0 @ left + .byte 8, 9, 6, 6, 0, 0 @ right + @ 4 + .byte 2, 2, 2, 2, 0, 0 @ up + .byte 0, 0, 0, 0, 0, 0 @ down + .byte 11, 10, 9, 8, 7, 6 @ left + .byte 5, 3, 1, 0, 0, 0 @ right + @ 5 + .byte 3, 3, 3, 3, 0, 0 @ up + .byte 1, 1, 1, 1, 0, 0 @ down + .byte 4, 4, 4, 4, 0, 0 @ left + .byte 10, 8, 6, 0, 0, 0 @ right + @ 6 + .byte 10, 8, 12, 0, 0, 0 @ up + .byte 8, 10, 12, 0, 0, 0 @ down + .byte 1, 0, 0, 0, 0, 0 @ left + .byte 7, 0, 1, 0, 0, 0 @ right + @ 7 + .byte 12, 0, 0, 0, 0, 0 @ up + .byte 9, 12, 0, 0, 0, 0 @ down + .byte 6, 0, 0, 0, 0, 0 @ left + .byte 0, 0, 0, 0, 0, 0 @ right + @ 8 + .byte 6, 0, 0, 0, 0, 0 @ up + .byte 10, 6, 0, 0, 0, 0 @ down + .byte 3, 2, 1, 0, 0, 0 @ left + .byte 9, 7, 0, 0, 0, 0 @ right + @ 9 + .byte 7, 0, 0, 0, 0, 0 @ up + .byte 11, 12, 0, 0, 0, 0 @ down + .byte 8, 0, 0, 0, 0, 0 @ left + .byte 2, 1, 0, 0, 0, 0 @ right + @ 10 + .byte 8, 0, 0, 0, 0, 0 @ up + .byte 6, 0, 0, 0, 0, 0 @ down + .byte 5, 4, 3, 2, 1, 0 @ left + .byte 11, 9, 7, 0, 0, 0 @ right + @ 11 + .byte 9, 0, 0, 0, 0, 0 @ up + .byte 12, 0, 0, 0, 0, 0 @ down + .byte 10, 0, 0, 0, 0, 0 @ left + .byte 4, 2, 0, 0, 0, 0 @ right + @ 12 + .byte 11, 9, 7, 6, 0, 0 @ up + .byte 7, 6, 0, 0, 0, 0 @ down + .byte 12, 0, 0, 0, 0, 0 @ left + .byte 12, 0, 0, 0, 0, 0 @ right + +@ The coordinates are in units of tiles. +@ These are used for both mon icons and the selected mon cursor, +@ but the origins of the coordinates differ. +gTradeMonSpriteCoords:: @ 820C29C + @ left-side party + .byte 1, 5 + .byte 8, 5 + .byte 1, 10 + .byte 8, 10 + .byte 1, 15 + .byte 8, 15 + + @ right-side party + .byte 16, 5 + .byte 23, 5 + .byte 16, 10 + .byte 23, 10 + .byte 16, 15 + .byte 23, 15 + + @ cancel button + .byte 23, 18 + +gTradeLevelDisplayCoords:: @ 820C2B6 + @ left-side party + .byte 5, 4 + .byte 12, 4 + .byte 5, 9 + .byte 12, 9 + .byte 5, 14 + .byte 12, 14 + + @ right-side party + .byte 20, 4 + .byte 27, 4 + .byte 20, 9 + .byte 27, 9 + .byte 20, 14 + .byte 27, 14 + +gTradeMonBoxCoords:: @ 820C2CE + @ left-side party + .byte 1, 3 + .byte 8, 3 + .byte 1, 8 + .byte 8, 8 + .byte 1, 13 + .byte 8, 13 + + @ right-side party + .byte 16, 3 + .byte 23, 3 + .byte 16, 8 + .byte 23, 8 + .byte 16, 13 + .byte 23, 13 + +gTradeUnknownSpriteCoords:: @ 820C2E6 + .byte 59, 10 + .byte 179, 10 + .byte 59, 10 + .byte 179, 10 + + .align 2 +gUnknown_0820C2F0:: @ 820C2F0 + .4byte TradeText_LinkStandby + .4byte TradeText_TradeCancelled + .4byte TradeText_OnlyPoke + .4byte TradeText_NonTradablePoke + .4byte TradeText_WaitingForFriend + .4byte TradeText_WantToTrade + +gTradeMessageWindowRects:: @ 820C308 + .byte 8, 7, 22, 12 + .byte 8, 7, 22, 12 + .byte 6, 7, 24, 12 + .byte 6, 7, 24, 12 + .byte 8, 7, 22, 12 + .byte 7, 7, 23, 12 + + .align 2 +gUnknown_0820C320:: @ 820C320 + .4byte TradeText_Summary2, sub_804A9F4 @unknown + .4byte TradeText_Trade2, sub_804AA00 + +gUnknown_0820C330:: @ 820C330 + .byte 0, 14 + .byte 15, 29 + +gUnknown_0820C334:: @ 820C334 + .byte 3, 5 + .byte 3, 7 + .byte 18, 5 + .byte 18, 7 + +gOtherText_Terminator:: + .string "$" + +gOtherText_MaleSymbol3:: @ 820C33D + .string "♂$" + +gOtherText_FemaleSymbol3:: @ 820C33F + .string "♀$" + +gOtherText_GenderlessSymbol:: @ 820C341 + .string "$$" + + .align 2 + .4byte gTileBuffer + +@ Unused debug strings? + .string "かいめの そうしん$", 13 + .string "かいめの じゅしん$", 13 + .string "ポケモンアイコンセット$", 13 + .string "OBJテキストセット$", 13 + .string "セルセット$", 13 + .string "OBJテキストADD$", 13 + .string "システムメッセージADD$", 13 + .string "はいけいセット$", 13 + +@ Shedinja's Japanese name +@ sub_8048D44 compares a pokemon name with this string +gUnknown_0820C3B0:: @ 820C3B0 + .string "ヌケニン$" + + .string "こうかんせいりつ $" @ trade completed + .string "だめだたらしいよ $" @ it's no good (trade failed maybe?) + +gUnknown_0820C3D1:: @ 820C3D1 + .byte 4, 3 + .byte 19, 3 + + .align 2 +gTradeBallPalette:: @ 820C3D8 + .incbin "graphics/trade/ball.gbapal" + + .align 2 +gTradeBallTiles:: @ 820C3F8 + .incbin "graphics/trade/ball.4bpp" + + .align 2 +gUnknown_0820C9F8:: @ 820C9F8 + .incbin "graphics/trade/unknown.gbapal" + .incbin "graphics/trade/gba.gbapal" + .incbin "graphics/trade/shadow.gbapal" + .space 32 + .incbin "graphics/trade/misc.gbapal" + + .align 2 +gUnknown_0820CA98:: @ 820CA98 + .incbin "graphics/trade/gba.4bpp" + .incbin "graphics/trade/shadow.4bpp" + + .align 2 +gUnknown_0820DD98:: @ 820DD98 + .incbin "graphics/trade/pokeball_symbol.8bpp" + + .align 2 +gUnknown_0820F798:: @ 820F798 + .incbin "graphics/trade/shadow_map.bin" + + .align 2 +gUnknown_08210798:: @ 8210798 + .incbin "graphics/trade/gba_map.bin" + + .align 2 +gUnknown_08211798:: @ 8211798 + .incbin "graphics/trade/cable_closeup_map.bin" + + .align 2 +gUnknown_08211F98:: @ 8211F98 + .incbin "graphics/trade/pokeball_symbol_map.bin" + + .incbin "graphics/unused/unknown/8212098.gbapal" + + .align 2 +gTradeCableEndPalette:: @ 82120B8 + .incbin "graphics/trade/cable_end.gbapal" + + .incbin "graphics/unused/unknown/82120D8.gbapal" + + .space 32 + + .align 2 +gTradeGlowPalette:: @ 8212118 + .incbin "graphics/trade/glow.gbapal" + + .align 2 +gTradeGlow1Tiles:: @ 8212138 + .incbin "graphics/trade/glow1.4bpp" + + .align 2 +gTradeGlow2Tiles:: @ 8212338 + .incbin "graphics/trade/glow2.4bpp" + + .align 2 +gTradeCableEndTiles:: @ 8212538 + .incbin "graphics/trade/cable_end.4bpp" + + .align 2 +gTradeGBAScreenTiles:: @ 8212738 + .incbin "graphics/trade/gba_screen.4bpp" + + .align 2 +gUnknown_08213738:: @ 8213738 + .incbin "graphics/trade/gba_affine.8bpp" + + .align 2 +gUnknown_08215778:: @ 8215778 + .incbin "graphics/trade/gba_affine_map.bin" + + .align 2 +gOamData_8215878:: @ 8215878 + .2byte 0x0100 + .2byte 0x4000 + .2byte 0x0000 + + .align 2 +gSpriteAnim_8215880:: @ 8215880 + obj_image_anim_frame 0, 3 + obj_image_anim_frame 4, 3 + obj_image_anim_frame 8, 3 + obj_image_anim_frame 12, 3 + obj_image_anim_frame 16, 3 + obj_image_anim_frame 20, 3 + obj_image_anim_frame 24, 3 + obj_image_anim_frame 28, 3 + obj_image_anim_frame 32, 3 + obj_image_anim_frame 36, 3 + obj_image_anim_frame 40, 3 + obj_image_anim_frame 44, 3 + obj_image_anim_loop 1 + obj_image_anim_frame 0, 3 + obj_image_anim_end + + .align 2 +gSpriteAnim_82158BC:: @ 82158BC + obj_image_anim_frame 0, 3 + obj_image_anim_frame 4, 3 + obj_image_anim_frame 8, 3 + obj_image_anim_frame 12, 3 + obj_image_anim_frame 16, 3 + obj_image_anim_frame 20, 3 + obj_image_anim_frame 24, 3 + obj_image_anim_frame 28, 3 + obj_image_anim_frame 32, 3 + obj_image_anim_frame 36, 3 + obj_image_anim_frame 40, 3 + obj_image_anim_frame 44, 3 + obj_image_anim_loop 2 + obj_image_anim_frame 0, 3 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_82158F8:: @ 82158F8 + .4byte gSpriteAnim_8215880 + .4byte gSpriteAnim_82158BC + + .align 2 +gSpriteAffineAnim_8215900:: @ 8215900 + obj_rot_scal_anim_frame 0x0, 0x0, 0, 1 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_8215910:: @ 8215910 + obj_rot_scal_anim_frame 0xFFF8, 0x0, 0, 20 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnim_8215920:: @ 8215920 + obj_rot_scal_anim_frame 0x60, 0x100, 0, 0 + obj_rot_scal_anim_frame 0x0, 0x0, 0, 5 + obj_rot_scal_anim_frame 0x8, 0x0, 0, 20 + obj_rot_scal_anim_end + + .align 2 +gSpriteAffineAnimTable_8215940:: @ 8215940 + .4byte gSpriteAffineAnim_8215900 + .4byte gSpriteAffineAnim_8215910 + .4byte gSpriteAffineAnim_8215920 + + .align 2 +gUnknown_0821594C:: @ 821594C + obj_tiles gTradeBallTiles, 0x600, 5557 + + .align 2 +gUnknown_08215954:: @ 8215954 + obj_pal gTradeBallPalette, 5558 + + .align 2 +gSpriteTemplate_821595C:: @ 821595C + spr_template 5557, 5558, gOamData_8215878, gSpriteAnimTable_82158F8, NULL, gSpriteAffineAnimTable_8215940, sub_804D6BC + + .align 2 +gOamData_8215974:: @ 8215974 + .2byte 0x0500 + .2byte 0x8000 + .2byte 0x0400 + + .align 2 +gSpriteAnim_821597C:: @ 821597C + obj_image_anim_frame 0, 5, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_end + + .align 2 +gSpriteAnimTable_8215984:: @ 8215984 + .4byte gSpriteAnim_821597C + + .align 2 +gSpriteAffineAnim_8215988:: @ 8215988 + obj_rot_scal_anim_frame 0xFFF6, 0xFFF6, 0, 5 + obj_rot_scal_anim_frame 0xA, 0xA, 0, 5 + obj_rot_scal_anim_jump 0 + + .align 2 +gSpriteAffineAnimTable_82159A0:: @ 82159A0 + .4byte gSpriteAffineAnim_8215988 + + .align 2 +gUnknown_082159A4:: @ 82159A4 + obj_tiles gTradeGlow1Tiles, 0x200, 5550 + + .align 2 +gUnknown_082159AC:: @ 82159AC + obj_pal gTradeGlowPalette, 5551 + + .align 2 +gUnknown_082159B4:: @ 82159B4 + obj_pal gTradeCableEndPalette, 5555 + + .align 2 +gSpriteTemplate_82159BC:: @ 82159BC + spr_template 5550, 5551, gOamData_8215974, gSpriteAnimTable_8215984, NULL, gSpriteAffineAnimTable_82159A0, sub_804B058 + + .align 2 +gOamData_82159D4:: @ 82159D4 + .2byte 0x8000 + .2byte 0x8000 + .2byte 0x0400 + + .align 2 +gSpriteAnim_82159DC:: @ 82159DC + obj_image_anim_frame 0, 5, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_end + + .align 2 +gSpriteAnim_82159E4:: @ 82159E4 + obj_image_anim_frame 8, 5, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_end + + .align 2 +gSpriteAnimTable_82159EC:: @ 82159EC + .4byte gSpriteAnim_82159DC + .4byte gSpriteAnim_82159E4 + + .align 2 +gUnknown_082159F4:: @ 82159F4 + obj_tiles gTradeGlow2Tiles, 0x300, 5552 + + .align 2 +gSpriteTemplate_82159FC:: @ 82159FC + spr_template 5552, 5551, gOamData_82159D4, gSpriteAnimTable_82159EC, NULL, gDummySpriteAffineAnimTable, sub_804B07C + + .align 2 +gOamData_8215A14:: @ 8215A14 + .2byte 0x8000 + .2byte 0x8000 + .2byte 0x0400 + + .align 2 +gSpriteAnim_8215A1C:: @ 8215A1C + obj_image_anim_frame 0, 10 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_8215A24:: @ 8215A24 + .4byte gSpriteAnim_8215A1C + + .align 2 +gUnknown_08215A28:: @ 8215A28 + obj_tiles gTradeCableEndTiles, 0x100, 5554 + + .align 2 +gSpriteTemplate_8215A30:: @ 8215A30 + spr_template 5554, 5555, gOamData_8215A14, gSpriteAnimTable_8215A24, NULL, gDummySpriteAffineAnimTable, sub_804B0BC + + .align 2 +gOamData_8215A48:: @ 8215A48 + .2byte 0x4000 + .2byte 0xC000 + .2byte 0x0400 + + .align 2 +gSpriteAnim_8215A50:: @ 8215A50 + obj_image_anim_frame 0, 2, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 32, 2, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 64, 2, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 96, 2, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 64, 2, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 32, 2, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_frame 0, 2, OBJ_IMAGE_ANIM_V_FLIP | OBJ_IMAGE_ANIM_H_FLIP + obj_image_anim_loop 8 + obj_image_anim_end + + .align 2 +gSpriteAnimTable_8215A74:: @ 8215A74 + .4byte gSpriteAnim_8215A50 + + .align 2 +gUnknown_08215A78:: @ 8215A78 + obj_tiles gTradeGBAScreenTiles, 0x1000, 5556 + + .align 2 +gSpriteTemplate_8215A80:: @ 8215A80 + spr_template 5556, 5555, gOamData_8215A48, gSpriteAnimTable_8215A74, NULL, gDummySpriteAffineAnimTable, sub_804B104 + + .align 1 +gTradeGlow2PaletteAnimTable:: @ 8215A98 + .2byte 0x7F12 + .2byte 0x7F12 + .2byte 0x7F12 + .2byte 0x7FFF + .2byte 0x7FFF + .2byte 0x7FFF + .2byte 0x7F12 + .2byte 0x7F12 + .2byte 0x7F12 + .2byte 0x7FFF + .2byte 0x7FFF + .2byte 0x7FFF + + .align 2 +gSpriteAffineAnim_8215AB0:: @ 8215AB0 + obj_rot_scal_anim_frame 0xFF00, 0x100, 0, 0 + obj_rot_scal_anim_jump 0 + + .align 2 +gSpriteAffineAnimTable_8215AC0:: @ 8215AC0 + .4byte gSpriteAffineAnim_8215AB0 + +@ 8215AC4 + .include "data/ingame_trades.inc" + +gTradeBallVerticalVelocityTable:: @ 8215BA0 + .byte 0 + .byte 0 + .byte 1 + .byte 0 + .byte 1 + .byte 0 + .byte 1 + .byte 1 + .byte 1 + .byte 1 + .byte 2 + .byte 2 + .byte 2 + .byte 2 + .byte 3 + .byte 3 + .byte 3 + .byte 3 + .byte 4 + .byte 4 + .byte 4 + .byte 4 + .byte -4 + .byte -4 + .byte -4 + .byte -3 + .byte -3 + .byte -3 + .byte -3 + .byte -2 + .byte -2 + .byte -2 + .byte -2 + .byte -1 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte -1 + .byte 0 + .byte -1 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 1 + .byte 0 + .byte 1 + .byte 0 + .byte 1 + .byte 1 + .byte 1 + .byte 1 + .byte 2 + .byte 2 + .byte 2 + .byte 2 + .byte 3 + .byte 3 + .byte 3 + .byte 3 + .byte 4 + .byte 4 + .byte 4 + .byte 4 + .byte -4 + .byte -3 + .byte -3 + .byte -2 + .byte -2 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte -1 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 1 + .byte 0 + .byte 1 + .byte 1 + .byte 1 + .byte 2 + .byte 2 + .byte 3 + .byte 3 + .byte 4 + .byte -4 + .byte -3 + .byte -2 + .byte -1 + .byte -1 + .byte -1 + .byte 0 + .byte 0 + .byte 0 + .byte 0 + .byte 1 + .byte 0 + .byte 1 + .byte 1 + .byte 2 + .byte 3 diff --git a/include/asm.inc.h b/include/asm.inc.h index f533d8729..bfa37e058 100644 --- a/include/asm.inc.h +++ b/include/asm.inc.h @@ -11,7 +11,6 @@ void sub_8032AA8(u8 index, int i); // asm/rom_803D1FC.o u16 SpeciesToNationalPokedexNum(u16); -u32 SpeciesToCryId(u32); void DrawSpindaSpots(u16, u32, void *, u8); u8 sub_803FC58(u16); void AdjustFriendship(struct Pokemon *, u8); @@ -34,42 +33,9 @@ u8 daycare_relationship_score_from_savegame(void); // asm/rom_804373C.o void CreatePokeballSprite(u8 r0, u8 r1, u8 r2, u8 r3, u8 s1, u8 s2, u8 s3, u16 s4); -// asm/load_save.o -void CheckForFlashMemory(void); -int sub_80479F8(); -void sub_8047A04(); -void sub_8047A1C(void); -void sub_8047A34(void); -void save_serialize_game(void); -void save_deserialize_game(); - // asm/berry_blender.o void sub_80516C4(u8, u16); -// asm/metatile_behavior.o -bool8 MetatileBehavior_IsSandOrDeepSand(char); -bool8 is_tile_x69_2_warp_door(u8); -u8 MetatileBehavior_IsDoor(u8); -bool8 MetatileBehavior_IsLadder(u8); -u8 sub_8056F08(u8); -bool8 sub_8056F24(u8); -u8 MetatileBehavior_IsSurfableWaterOrUnderwater(u8); -bool8 MetatileBehavior_IsEastArrowWarp(u8); -bool8 MetatileBehavior_IsWestArrowWarp(u8); -bool8 MetatileBehavior_IsNorthArrowWarp(u8); -bool8 MetatileBehavior_IsSouthArrowWarp(u8); -bool8 MetatileBehavior_IsTallGrass(char); -bool8 MetatileBehavior_IsLongGrass(char); -u8 MetatileBehavior_IsBridge(u8); -u8 sub_8057450(u8); -u8 MetatileBehavior_IsLandWildEncounter(u8); -u8 MetatileBehavior_IsWaterWildEncounter(u8); -bool8 sub_80574C4(char); -bool8 sub_80574D8(char); -bool8 sub_8057568(char); -bool8 sub_805759C(u8); -bool8 MetatileBehavior_IsSurfableFishableWater(u8); - // src/field_door.o void FieldSetDoorOpened(u32, u32); void FieldSetDoorClosed(u32, u32); @@ -100,6 +66,7 @@ void FieldObjectGetLocalIdAndMap(struct MapObject *, u8 *, u8 *, u8 *); void sub_805BCF0(u8, u8, u8, u8); void sub_805BD48(u8, u8, u8); void sub_805BD90(u8 localId, u8 mapNum, u8 mapGroup, s16 x, s16 y); +void gpu_pal_allocator_reset__manage_upper_four(void); void npc_coords_shift(struct MapObject *pObject, s16 x, s16 y); void sub_805C0F8(u8, u8, u8, s16, s16); void npc_coords_shift_still(struct MapObject *pObject); @@ -249,11 +216,17 @@ void sub_808AB90(void); // asm/rom_8094928.o void sub_80961D8(void); +u8 sub_809D3A4(u16 arg0, void (*)(struct Sprite *), int, u8 arg3, u32 arg4); +u16 sub_809D4A8(u16); +void sub_809D510(struct Sprite *); +void sub_809D580(u16); +void sub_809D608(u16); u8 pokemon_ailments_get_primary(u32); u8 exec_movement(u8, u8, u8, void *); bool8 sub_80A212C(u8, u8, u8); void sub_80A2178(void); void sub_80A2B18(void); +u16 sub_80A2D64(u16, u8 *); void AddMapNamePopUpWindowTask(void); void HideMapNamePopUpWindow(); @@ -261,12 +234,22 @@ void HideMapNamePopUpWindow(); void sub_80A3684(void); void sub_80A3714(void); void sub_80A53F8(void); +void sub_80A5B40(void); void sub_80A68CC(); +u8 sub_80A7D8C(u8 berry, int i, int i1); +void sub_80A7DD4(void); +u8 sub_80A7E5C(u8); + +// src/matsuda_debug_menu.o +void sub_80AA280(u8); +void sub_80AA5E8(u8); +void sub_80AA658(u8); // asm/contest.o void sub_80AB1B0(void); void sub_80AE098(u8); void sub_80AE398(u8, u8); +u32 sub_80AE770(u8, u8); void sub_80AE82C(u8); void sub_80AF668(void); void sub_80B0F28(u8); @@ -289,15 +272,6 @@ void *picbox_close(void); // asm/naming_screen.o void DoNamingScreen(u8 r0, struct SaveBlock2 *r1, u16 r2, u16 r3, u8 s0, MainCallback s4); -// asm/money.o -bool8 IsEnoughMoney(u32, u32); -void sub_80B79B8(u32 *, u32); -void sub_80B79E0(u32 *, u32); -void sub_80B7AEC(u32, u8 left, u8 top); -void sub_80B7BEC(u32, u8, u8); -void sub_80B7C14(u32, u8, u8); -void RemoveMoneyLabelObject(u8, u8); - // asm/secret_base.o void sub_80BB5B4(void); u8 sub_80BBB24(void); @@ -373,6 +347,11 @@ void sub_80EBA5C(void); void sub_80F7AA4(void); void sub_80F7F30(void); +// asm/menu_helpers.o +bool8 sub_80F9344(void); +void sub_80F9368(void); +void sub_80F9438(void); + // asm/script_pokemon_util_80F99CC.o void sub_80F99CC(void); @@ -417,6 +396,7 @@ void sub_811AAD8(u8); u8 sub_811AAE8(void); // asm/mystery_event_script.o +u32 sub_812613C(u8 *); void sub_8126160(u8); u16 sub_8126338(void); @@ -467,12 +447,6 @@ void sub_813E930(/*TODO: arg types*/); void sub_813EB4C(u8); void sub_813EDBC(/*TODO: arg types*/); -// asm/mystery_event_menu.o -void CB2_InitMysteryEventMenu(void); - -// asm/save_failed_screen.o -void fullscreen_save_activate(); - // asm/rom_81473B8.o bool8 sub_81474C8(void); void sub_8147514(void); @@ -486,6 +460,7 @@ u8 intro_create_brendan_sprite(/*TODO: arg types*/); u8 intro_create_may_sprite(/*TODO: arg types*/); u8 intro_create_latios_sprite(/*TODO: arg types*/); u8 intro_create_latias_sprite(/*TODO: arg types*/); +void sub_814A568(u8*); // src/agb_flash.o u16 ReadFlashId(void); @@ -493,3 +468,4 @@ u16 SetFlashTimerIntr(u8 timerNum, void (**intrFunc)(void)); void ReadFlash(u16 sectorNum, u32 offset, u8 *dest, u32 size); u32 ProgramFlashSectorAndVerify(); u32 ProgramFlashSectorAndVerifyNBytes(u16 sectorNum, u8 *src, u32 n); +u16 IdentifyFlash(void); diff --git a/include/berry_tag_screen.h b/include/berry_tag_screen.h new file mode 100644 index 000000000..60932ff80 --- /dev/null +++ b/include/berry_tag_screen.h @@ -0,0 +1,6 @@ +#ifndef GUARD_BERRY_TAG_SCREEN_H +#define GUARD_BERRY_TAG_SCREEN_H + +void BerryTagScreen_814625C(u8 taskId); + +#endif // GUARD_BERRY_TAG_SCREEN_H diff --git a/include/config.h b/include/config.h new file mode 100644 index 000000000..5ee062006 --- /dev/null +++ b/include/config.h @@ -0,0 +1,25 @@ +#ifndef GUARD_CONFIG_H +#define GUARD_CONFIG_H + +#ifndef REVISION +#define REVISION 0 +#endif + +#if REVISION == 2 +#define BUGFIX_BERRY +#endif + +#if REVISION >= 1 +#define BUGFIX_GLYPHWIDTH +#define BUGFIX_SAVEFAILEDSCREEN1 +#endif + +// #define BUGFIX_SAVEFAILEDSCREEN2 + +// European editions of Ruby/Sapphire and all editions of Emerald have this fix. +// #define BUGFIX_TRAINERAPPROACH + +// Fixed in Emerald. +// #define BUGFIX_SETMONIVS + +#endif // GUARD_CONFIG_H diff --git a/include/decompress.h b/include/decompress.h index 382e6d76a..a9bdd341b 100644 --- a/include/decompress.h +++ b/include/decompress.h @@ -12,5 +12,6 @@ void LoadCompressedObjectPaletteOverrideBuffer(const struct SpritePalette *a, vo void DecompressPicFromTable_2(const struct SpriteSheet *a, u8 b, u8 c, void *d, void *e, s32 f); void sub_800D334(const struct SpriteSheet *a, u32 b, u32 c, u32 d, void *dest, s32 f, u32 g); void sub_800D378(const struct SpriteSheet *a, u32 b, u32 c, u32 d, void *dest, s32 f, u32 g, u32 h); +void Unused_LZDecompressWramIndirect(const void **src, void *dest); #endif // GUARD_DECOMPRESS_H diff --git a/include/global.h b/include/global.h index ce2267642..66b6b6b50 100644 --- a/include/global.h +++ b/include/global.h @@ -2,10 +2,7 @@ #define GUARD_GLOBAL_H #include "gba/gba.h" - -#ifndef REVISION -#define REVISION 0 -#endif +#include "config.h" // Prevent cross-jump optimization. #define BLOCK_CROSS_JUMP asm(""); @@ -29,6 +26,14 @@ enum VERSION_RUBY = 2, }; +enum LanguageId { + LANGUAGE_JAPANESE = 1, + LANGUAGE_ENGLISH = 2, + LANGUAGE_GERMAN = 5, +}; + +#define GAME_LANGUAGE (LANGUAGE_ENGLISH) + enum { MALE, @@ -169,6 +174,11 @@ struct EasyChatPair u16 words[2]; }; /*size = 0x8*/ +struct SaveBlock1_2B4C_Struct +{ + u8 filler[0x24]; +}; + struct SaveBlock1 { /*0x00*/ struct Coords16 pos; @@ -230,7 +240,9 @@ struct SaveBlock1 /*0x2B0D*/ u8 outbreakPokemonProbability; /*0x2B0E*/ u8 filler_2B0E[0xE]; /*0x2B1C*/ u16 unk2B1C[4]; - /*0x2B24*/ u8 filler_2B24[0x2B0]; + /*0x2B24*/ u8 filler_2B24[0x28]; + /*0x2B4C*/ struct SaveBlock1_2B4C_Struct unkSave[16]; + /*0x2D8C*/ u8 filler_2D8C[0x48]; /*0x2DD4*/ struct EasyChatPair easyChatPairs[5]; //Dewford trend [0] and some other stuff /*0x2DFC*/ u8 filler_2DFC[0x100]; /*0x2EFC*/ struct SB1_2EFC_Struct sb1_2EFC_struct[5]; @@ -284,7 +296,7 @@ struct SaveBlock2 { /*0x00*/ u8 playerName[8]; /*0x08*/ u8 playerGender; // MALE, FEMALE - /*0x09*/ u8 sb2_field_9; + /*0x09*/ u8 specialSaveWarp; /*0x0A*/ u8 playerTrainerId[4]; /*0x0E*/ u16 playTimeHours; /*0x10*/ u8 playTimeMinutes; diff --git a/include/hold_effects.h b/include/hold_effects.h new file mode 100644 index 000000000..b653f5a92 --- /dev/null +++ b/include/hold_effects.h @@ -0,0 +1,72 @@ +#ifndef GUARD_HOLD_EFFECTS_H +#define GUARD_HOLD_EFFECTS_H + +#define HOLD_EFFECT_NONE 0 +#define HOLD_EFFECT_RESTORE_HP 1 +#define HOLD_EFFECT_CURE_PAR 2 +#define HOLD_EFFECT_CURE_SLP 3 +#define HOLD_EFFECT_CURE_PSN 4 +#define HOLD_EFFECT_CURE_BRN 5 +#define HOLD_EFFECT_CURE_FRZ 6 +#define HOLD_EFFECT_RESTORE_PP 7 +#define HOLD_EFFECT_CURE_CONFUSION 8 +#define HOLD_EFFECT_CURE_STATUS 9 +#define HOLD_EFFECT_CONFUSE_SPICY 10 +#define HOLD_EFFECT_CONFUSE_DRY 11 +#define HOLD_EFFECT_CONFUSE_SWEET 12 +#define HOLD_EFFECT_CONFUSE_BITTER 13 +#define HOLD_EFFECT_CONFUSE_SOUR 14 +#define HOLD_EFFECT_ATTACK_UP 15 +#define HOLD_EFFECT_DEFENSE_UP 16 +#define HOLD_EFFECT_SPEED_UP 17 +#define HOLD_EFFECT_SP_ATTACK_UP 18 +#define HOLD_EFFECT_SP_DEFENSE_UP 19 +#define HOLD_EFFECT_CRITICAL_UP 20 +#define HOLD_EFFECT_RANDOM_STAT_UP 21 +#define HOLD_EFFECT_EVASION_UP 22 +#define HOLD_EFFECT_RESTORE_STATS 23 +#define HOLD_EFFECT_MACHO_BRACE 24 +#define HOLD_EFFECT_EXP_SHARE 25 +#define HOLD_EFFECT_QUICK_CLAW 26 +#define HOLD_EFFECT_HAPPINESS_UP 27 +#define HOLD_EFFECT_CURE_ATTRACT 28 +#define HOLD_EFFECT_CHOICE_BAND 29 +#define HOLD_EFFECT_FLINCH 30 +#define HOLD_EFFECT_BUG_POWER 31 +#define HOLD_EFFECT_DOUBLE_PRIZE 32 +#define HOLD_EFFECT_REPEL 33 +#define HOLD_EFFECT_SOUL_DEW 34 +#define HOLD_EFFECT_DEEP_SEA_TOOTH 35 +#define HOLD_EFFECT_DEEP_SEA_SCALE 36 +#define HOLD_EFFECT_CAN_ALWAYS_RUN 37 +#define HOLD_EFFECT_PREVENT_EVOLVE 38 +#define HOLD_EFFECT_FOCUS_BAND 39 +#define HOLD_EFFECT_LUCKY_EGG 40 +#define HOLD_EFFECT_SCOPE_LENS 41 +#define HOLD_EFFECT_STEEL_POWER 42 +#define HOLD_EFFECT_LEFTOVERS 43 +#define HOLD_EFFECT_DRAGON_SCALE 44 +#define HOLD_EFFECT_LIGHT_BALL 45 +#define HOLD_EFFECT_GROUND_POWER 46 +#define HOLD_EFFECT_ROCK_POWER 47 +#define HOLD_EFFECT_GRASS_POWER 48 +#define HOLD_EFFECT_DARK_POWER 49 +#define HOLD_EFFECT_FIGHTING_POWER 50 +#define HOLD_EFFECT_ELECTRIC_POWER 51 +#define HOLD_EFFECT_WATER_POWER 52 +#define HOLD_EFFECT_FLYING_POWER 53 +#define HOLD_EFFECT_POISON_POWER 54 +#define HOLD_EFFECT_ICE_POWER 55 +#define HOLD_EFFECT_GHOST_POWER 56 +#define HOLD_EFFECT_PSYCHIC_POWER 57 +#define HOLD_EFFECT_FIRE_POWER 58 +#define HOLD_EFFECT_DRAGON_POWER 59 +#define HOLD_EFFECT_NORMAL_POWER 60 +#define HOLD_EFFECT_UP_GRADE 61 +#define HOLD_EFFECT_SHELL_BELL 62 +#define HOLD_EFFECT_LUCKY_PUNCH 63 +#define HOLD_EFFECT_METAL_POWDER 64 +#define HOLD_EFFECT_THICK_CLUB 65 +#define HOLD_EFFECT_STICK 66 + +#endif // GUARD_HOLD_EFFECTS_H diff --git a/include/link.h b/include/link.h index 694339164..a5d30a473 100644 --- a/include/link.h +++ b/include/link.h @@ -124,11 +124,13 @@ struct Link extern struct Link gLink; extern u16 gRecvCmds[CMD_LENGTH][MAX_LINK_PLAYERS]; +extern u16 gLinkType; extern u32 gLinkStatus; extern u16 gSendCmd[CMD_LENGTH]; extern u8 gShouldAdvanceLinkState; extern struct LinkPlayer gLinkPlayers[]; extern u16 word_3002910[]; +extern bool8 gReceivedRemoteLinkPlayers; void Task_DestroySelf(u8); void sub_8007270(u8); diff --git a/include/load_save.h b/include/load_save.h new file mode 100644 index 000000000..5ca52a2fc --- /dev/null +++ b/include/load_save.h @@ -0,0 +1,17 @@ +#ifndef GUARD_LOAD_SAVE_H +#define GUARD_LOAD_SAVE_H + +void CheckForFlashMemory(void); +bool32 GetSecretBase2Field_9(void); +void ClearSecretBase2Field_9(void); +void SetSecretBase2Field_9(void); +void SetSecretBase2Field_9_AndHideBG(void); +void ClearSecretBase2Field_9_2(void); +void SavePlayerParty(void); +void LoadPlayerParty(void); +void SaveSerializedGame(void); +void LoadSerializedGame(void); +void LoadPlayerData(void); +void SavePlayerData(void); + +#endif // GUARD_LOAD_SAVE_H diff --git a/include/mail.h b/include/mail.h new file mode 100644 index 000000000..a579dc458 --- /dev/null +++ b/include/mail.h @@ -0,0 +1,15 @@ +#ifndef GUARD_MAIL_H +#define GUARD_MAIL_H + +#include "main.h" + +struct MailStruct { + /* 0x00 */ u16 words[9]; + /* 0x12 */ u8 var12[12]; + /* 0x1E */ u16 var1E; + /* 0x20 */ u16 var20; +}; + +void sub_80F890C(struct MailStruct *arg0, MainCallback arg1, bool8 arg2); + +#endif // GUARD_MAIL_H diff --git a/include/main.h b/include/main.h index 054bba901..5d8f8b68a 100644 --- a/include/main.h +++ b/include/main.h @@ -40,6 +40,7 @@ struct Main u8 state; u8 oamLoadDisabled:1; + u8 inBattle:1; }; extern u8 gUnknown_3001764; diff --git a/include/menu.h b/include/menu.h index 9592fc291..7b3525461 100644 --- a/include/menu.h +++ b/include/menu.h @@ -6,9 +6,11 @@ struct MenuAction { u8 *text; - u8 (*func)(void); + u8 (*func)(); }; +void sub_8071C20(void); +void AppendToList(u8 *list, u8 *pindex, u32 value); void InitMenuWindow(const struct WindowConfig *); void MultistepInitMenuWindowBegin(const struct WindowConfig *); bool32 MultistepInitMenuWindowContinue(void); @@ -39,7 +41,7 @@ s8 ProcessMenuInput(void); s8 ProcessMenuInputNoWrap(void); u8 MoveMenuCursor3(s8); u8 MoveMenuCursor4(s8); -void sub_807274C(u8, u8, u8, u8, u8 * const [][2], u8, u32); +void sub_807274C(u8, u8, u8, u8, const struct MenuAction[], u8, u32); s8 sub_80727CC(void); u8 sub_807288C(u8); void PrintMenuItems(u8, u8, u8, const struct MenuAction[]); diff --git a/include/metatile_behavior.h b/include/metatile_behavior.h new file mode 100644 index 000000000..34b660054 --- /dev/null +++ b/include/metatile_behavior.h @@ -0,0 +1,136 @@ +#ifndef GUARD_METATILE_BEHAVIOR +#define GUARD_METATILE_BEHAVIOR + +bool8 sub_8056D9C(u8); +bool8 sub_8056DA0(u8); +bool8 MetatileBehavior_IsJumpEast(u8); +bool8 MetatileBehavior_IsJumpWest(u8); +bool8 MetatileBehavior_IsJumpNorth(u8); +bool8 MetatileBehavior_IsJumpSouth(u8); +bool8 sub_8056E14(u8); +bool8 MetatileBehavior_IsSandOrDeepSand(u8); +bool8 MetatileBehavior_IsDeepSand(u8); +bool8 MetatileBehavior_IsReflective(u8); +bool8 MetatileBehavior_IsIce(u8); +bool8 is_tile_x69_2_warp_door(u8); +bool8 MetatileBehavior_IsDoor(u8); +bool8 MetatileBehavior_IsEscalator(u8); +bool8 unref_sub_8056EE0(u8); +bool8 MetatileBehavior_IsLadder(u8); +bool8 sub_8056F08(u8); +bool8 sub_8056F24(u8); +bool8 MetatileBehavior_IsSurfableWaterOrUnderwater(u8); +bool8 MetatileBehavior_IsEastArrowWarp(u8); +bool8 MetatileBehavior_IsWestArrowWarp(u8); +bool8 MetatileBehavior_IsNorthArrowWarp(u8); +bool8 MetatileBehavior_IsSouthArrowWarp(u8); +bool8 MetatileBehavior_IsArrowWarp(u8); +bool8 sub_8056FFC(u8); +bool8 MetatileBehavior_IsIce_2(u8); +bool8 MetatileBehavior_IsTrickHouseSlipperyFloor(u8); +bool8 MetatileBehavior_0x05(u8); +bool8 MetatileBehavior_IsWalkNorth(u8); +bool8 MetatileBehavior_IsWalkSouth(u8); +bool8 MetatileBehavior_IsWalkWest(u8); +bool8 MetatileBehavior_IsWalkEast(u8); +bool8 MetatileBehavior_IsNorthwardCurrent(u8); +bool8 MetatileBehavior_IsSouthwardCurrent(u8); +bool8 MetatileBehavior_IsWestwardCurrent(u8); +bool8 MetatileBehavior_IsEastwardCurrent(u8); +bool8 MetatileBehavior_IsSlideNorth(u8); +bool8 MetatileBehavior_IsSlideSouth(u8); +bool8 MetatileBehavior_IsSlideWest(u8); +bool8 MetatileBehavior_IsSlideEast(u8); +bool8 MetatileBehavior_IsCounter(u8); +bool8 MetatileBehavior_IsPlayerFacingTVScreen(u8, u8); +bool8 MetatileBehavior_IsPC(u8); +bool8 is_tile_x84(u8); +bool8 sub_80571C0(u8); +bool8 sub_80571EC(u8); +bool8 sub_805720C(u8); +bool8 is_tile_x98(u8); +bool8 sub_8057238(u8); +bool8 sub_805724C(u8); +bool8 unref_sub_8057260(u8); +bool8 sub_8057274(u8); +bool8 sub_8057288(u8); +bool8 sub_805729C(u8); +bool8 sub_80572B0(u8); +bool8 unref_sub_80572C4(u8); +bool8 sub_80572D8(u8); +bool8 sub_80572EC(u8); +bool8 sub_8057300(u8); +bool8 sub_8057314(u8); +bool8 sub_8057328(u8); +bool8 sub_805733C(u8); +bool8 sub_8057350(u8); +bool8 sub_8057364(u8); +bool8 sub_8057378(u8); +bool8 sub_805738C(u8); +bool8 MetatileBehavior_HasRipples(u8); +bool8 MetatileBehavior_IsPuddle(u8); +bool8 MetatileBehavior_IsTallGrass(u8); +bool8 MetatileBehavior_IsLongGrass(u8); +bool8 MetatileBehavior_IsBerryTreeSoil(u8); +bool8 MetatileBehavior_IsAsh(u8); +bool8 MetatileBehavior_IsUnusedFootprintMetatile(u8); +bool8 MetatileBehavior_IsBridge(u8); +u8 sub_8057450(u8); +bool8 MetatileBehavior_IsLandWildEncounter(u8); +bool8 MetatileBehavior_IsWaterWildEncounter(u8); +bool8 sub_80574C4(u8); +bool8 sub_80574D8(u8); +bool8 sub_80574EC(u8); +bool8 sub_805750C(u8); +bool8 MetatileBehavior_IsShallowFlowingWater(u8); +bool8 sub_8057540(u8); +bool8 sub_8057554(u8); +bool8 sub_8057568(u8); +bool8 unref_sub_8057584(u8); +bool8 sub_805759C(u8); +bool8 MetatileBehavior_IsEastBlocked(u8); +bool8 MetatileBehavior_IsWestBlocked(u8); +bool8 MetatileBehavior_IsNorthBlocked(u8); +bool8 MetatileBehavior_IsSouthBlocked(u8); +bool8 MetatileBehavior_IsShortGrass(u8); +bool8 MetatileBehavior_IsHotSprings(u8); +bool8 MetatileBehavior_IsWaterfall(u8); +bool8 MetatileBehavior_IsFortreeBridge(u8); +bool8 sub_80576A0(u8); +bool8 sub_80576B4(u8); +bool8 sub_80576C8(u8); +bool8 sub_80576DC(u8); +bool8 MetatileBehavior_IsPacifidlogLog(u8); +bool8 is_tile_x8C(u8); +bool8 is_tile_x85(u8); +bool8 is_tile_x8B(u8); +bool8 is_tile_x8A(u8); +bool8 is_tile_x87(u8); +bool8 MetatileBehavior_0xBB(u8); +bool8 MetatileBehavior_0xBC(u8); +bool8 sub_8057798(u8); +bool8 is_role_x68(u8); +bool8 MetatileBehavior_IsAquaHideoutWarp(u8); +bool8 MetatileBehavior_IsSurfableFishableWater(u8); +bool8 sub_8057804(u8); +bool8 sub_8057818(u8); +bool8 sub_805782C(u8); +bool8 MetatileBehavior_IsMuddySlope(u8); +bool8 MetatileBehavior_IsBumpySlope(u8); +bool8 MetatileBehavior_IsIsolatedVerticalRail(u8); +bool8 MetatileBehavior_IsIsolatedHorizontalRail(u8); +bool8 MetatileBehavior_IsVerticalRail(u8); +bool8 MetatileBehavior_IsHorizontalRail(u8); +bool8 MetatileBehavior_IsSeaweed(u8); +bool8 MetatileBehavior_IsRunningDisallowed(u8); +bool8 sub_80578F8(u8); +bool8 sub_805791C(u8); +bool8 sub_8057930(u8); +bool8 sub_8057944(u8); +bool8 sub_8057958(u8); +bool8 sub_805796C(u8); +bool8 sub_8057980(u8); +bool8 sub_8057994(u8); +bool8 sub_80579A8(u8); + +#endif // GUARD_METATILE_BEHAVIOR diff --git a/include/metatile_behaviors.h b/include/metatile_behaviors.h new file mode 100644 index 000000000..ea705054e --- /dev/null +++ b/include/metatile_behaviors.h @@ -0,0 +1,173 @@ +#ifndef GUARD_METATILE_BEHAVIORS +#define GUARD_METATILE_BEHAVIORS + +#define MB_NORMAL 0x00 +#define MB_TALL_GRASS 0x02 +#define MB_LONG_GRASS 0x03 +#define MB_04 0x04 +#define MB_05 0x05 +#define MB_DEEP_SAND 0x06 +#define MB_SHORT_GRASS 0x07 +#define MB_CAVE 0x08 +#define MB_LONG_GRASS_SOUTH_EDGE 0x09 +#define MB_NO_RUNNING 0x0A +#define MB_0B 0x0B +#define MB_MOUNTAIN_TOP 0x0C +#define MB_BATTLE_PYRAMID_WARP 0x0D +#define MB_MOSSDEEP_GYM_WARP 0x0E +#define MB_MT_PYRE_HOLE 0x0F +#define MB_POND_WATER 0x10 +#define MB_SEMI_DEEP_WATER 0x11 +#define MB_DEEP_WATER 0x12 +#define MB_WATERFALL 0x13 +#define MB_SOOTOPOLIS_DEEP_WATER 0x14 +#define MB_OCEAN_WATER 0x15 +#define MB_PUDDLE 0x16 +#define MB_SHALLOW_WATER 0x17 +#define MB_18 0x18 +#define MB_NO_SURFACING 0x19 +#define MB_1A 0x1A +#define MB_STAIRS_OUTSIDE_ABANDONED_SHIP 0x1B +#define MB_SHOAL_CAVE_ENTRANCE 0x1C +#define MB_ICE 0x20 +#define MB_SAND 0x21 +#define MB_SEAWEED 0x22 +#define MB_ASH 0x24 +#define MB_25 0x25 +#define MB_THIN_ICE 0x26 +#define MB_CRACKED_ICE 0x27 +#define MB_HOT_SPRINGS 0x28 +#define MB_LAVARIDGE_GYM_B1F_WARP 0x29 +#define MB_SEAWEED_NO_SURFACING 0x2A +#define MB_REFLECTION_UNDER_BRIDGE 0x2B +#define MB_IMPASSABLE_EAST 0x30 +#define MB_IMPASSABLE_WEST 0x31 +#define MB_IMPASSABLE_NORTH 0x32 +#define MB_IMPASSABLE_SOUTH 0x33 +#define MB_IMPASSABLE_NORTHEAST 0x34 +#define MB_IMPASSABLE_NORTHWEST 0x35 +#define MB_IMPASSABLE_SOUTHEAST 0x36 +#define MB_IMPASSABLE_SOUTHWEST 0x37 +#define MB_JUMP_EAST 0x38 +#define MB_JUMP_WEST 0x39 +#define MB_JUMP_NORTH 0x3A +#define MB_JUMP_SOUTH 0x3B +#define MB_JUMP_SOUTHEAST 0x3E +#define MB_JUMP_SOUTHWEST 0x3F +#define MB_WALK_EAST 0x40 +#define MB_WALK_WEST 0x41 +#define MB_WALK_NORTH 0x42 +#define MB_WALK_SOUTH 0x43 +#define MB_SLIDE_EAST 0x44 +#define MB_SLIDE_WEST 0x45 +#define MB_SLIDE_NORTH 0x46 +#define MB_SLIDE_SOUTH 0x47 +#define MB_TRICK_HOUSE_PUZZLE_8_FLOOR 0x48 +#define MB_EASTWARD_CURRENT 0x50 +#define MB_WESTWARD_CURRENT 0x51 +#define MB_NORTHWARD_CURRENT 0x52 +#define MB_SOUTHWARD_CURRENT 0x53 +#define MB_NON_ANIMATED_DOOR 0x60 +#define MB_LADDER 0x61 +#define MB_EAST_ARROW_WARP 0x62 +#define MB_WEST_ARROW_WARP 0x63 +#define MB_NORTH_ARROW_WARP 0x64 +#define MB_SOUTH_ARROW_WARP 0x65 +#define MB_CRACKED_FLOOR_HOLE 0x66 +#define MB_AQUA_HIDEOUT_WARP 0x67 +#define MB_LAVARIDGE_GYM_1F_WARP 0x68 +#define MB_ANIMATED_DOOR 0x69 +#define MB_UP_ESCALATOR 0x6A +#define MB_DOWN_ESCALATOR 0x6B +#define MB_WATER_DOOR 0x6C +#define MB_WATER_SOUTH_ARROW_WARP 0x6D +#define MB_DEEP_SOUTH_WARP 0x6E +#define MB_WARP_OR_BRIDGE 0x70 +#define MB_ROUTE120_NORTH_BRIDGE_1 0x72 +#define MB_ROUTE120_NORTH_BRIDGE_2 0x73 +#define MB_PACIFIDLOG_VERTICAL_LOG_1 0x74 +#define MB_PACIFIDLOG_VERTICAL_LOG_2 0x75 +#define MB_PACIFIDLOG_HORIZONTAL_LOG_1 0x76 +#define MB_PACIFIDLOG_HORIZONTAL_LOG_2 0x77 +#define MB_FORTREE_BRIDGE 0x78 +#define MB_ROUTE120_SOUTH_BRIDGE_1 0x7A +#define MB_ROUTE120_SOUTH_BRIDGE_2 0x7B +#define MB_ROUTE120_NORTH_BRIDGE_3 0x7C +#define MB_ROUTE120_NORTH_BRIDGE_4 0x7D +#define MB_ROUTE110_BRIDGE 0x7F +#define MB_COUNTER 0x80 +#define MB_PC 0x83 +#define MB_84 0x84 +#define MB_REGION_MAP 0x85 +#define MB_TELEVISION 0x86 +#define MB_POKEBLOCK_FEEDER 0x87 +#define MB_SLOT_MACHINE 0x89 +#define MB_ROULETTE 0x8A +#define MB_CLOSED_SOOTOPOLIS_GYM_DOOR 0x8B +#define MB_TRICK_HOUSE_PUZZLE_DOOR 0x8C +#define MB_8D 0x8D +#define MB_8E 0x8E +#define MB_QUESTIONNAIRE 0x8F +#define MB_SECRET_BASE_SPOT_RED_CAVE 0x90 +#define MB_91 0x91 +#define MB_SECRET_BASE_SPOT_BROWN_CAVE 0x92 +#define MB_93 0x93 +#define MB_SECRET_BASE_SPOT_YELLOW_CAVE 0x94 +#define MB_95 0x95 +#define MB_SECRET_BASE_SPOT_TREE_1 0x96 +#define MB_97 0x97 +#define MB_SECRET_BASE_SPOT_SHRUB 0x98 +#define MB_99 0x99 +#define MB_SECRET_BASE_SPOT_BLUE_CAVE 0x9A +#define MB_9B 0x9B +#define MB_SECRET_BASE_SPOT_TREE_2 0x9C +#define MB_9D 0x9D +#define MB_BERRY_TREE_SOIL 0xA0 +#define MB_SECRET_BASE_PC 0xB0 +#define MB_B1 0xB1 +#define MB_B2 0xB2 +#define MB_B3 0xB3 +#define MB_B4 0xB4 +#define MB_B5 0xB5 +#define MB_B6 0xB6 +#define MB_B7 0xB7 +#define MB_B8 0xB8 +#define MB_B9 0xB9 +#define MB_BA 0xBA +#define MB_BB 0xBB +#define MB_BC 0xBC +#define MB_BD 0xBD +#define MB_BE 0xBE +#define MB_BF 0xBF +#define MB_BED 0xC0 +#define MB_C1 0xC1 +#define MB_C2 0xC2 +#define MB_C3 0xC3 +#define MB_C4 0xC4 +#define MB_C5 0xC5 +#define MB_C6 0xC6 +#define MB_C7 0xC7 +#define MB_C8 0xC8 +#define MB_C9 0xC9 +#define MB_CA 0xCA +#define MB_CB 0xCB +#define MB_CC 0xCC +#define MB_CD 0xCD +#define MB_CE 0xCE +#define MB_CF 0xCF +#define MB_MUDDY_SLOPE 0xD0 +#define MB_BUMPY_SLOPE 0xD1 +#define MB_CRACKED_FLOOR 0xD2 +#define MB_ISOLATED_VERTICAL_RAIL 0xD3 +#define MB_ISOLATED_HORIZONTAL_RAIL 0xD4 +#define MB_VERTICAL_RAIL 0xD5 +#define MB_HORIZONTAL_RAIL 0xD6 +#define MB_PICTURE_BOOK_SHELF 0xE0 +#define MB_BOOKSHELF 0xE1 +#define MB_POKEMON_CENTER_BOOKSHELF 0xE2 +#define MB_VASE 0xE3 +#define MB_TRASH_CAN 0xE4 +#define MB_SHOP_SHELF 0xE5 +#define MB_BLUEPRINT 0xE6 + +#endif // GUARD_METATILE_BEHAVIORS diff --git a/include/money.h b/include/money.h new file mode 100644 index 000000000..49015ee19 --- /dev/null +++ b/include/money.h @@ -0,0 +1,17 @@ +#ifndef GUARD_MONEY_H +#define GUARD_MONEY_H + +bool8 IsEnoughMoney(u32, u32); +void sub_80B79B8(u32 *, u32); +void sub_80B79E0(u32 *, u32); +void sub_80B79F8(u8 *buffer, u32 arg1, u8 arg2); +void sub_80B7A94(u32 arg0, u8 arg1, u8 x, u8 y); +void sub_80B7AEC(u32, u8 left, u8 top); +void sub_80B7B34(void); +void sub_80B7BEC(u32, u8, u8); +void sub_80B7C14(u32, u8, u8); +void RemoveMoneyLabelObject(u8, u8); +bool8 sub_80B7CE8(void); +void sub_80B7D0C(void); + +#endif // GUARD_MONEY_H diff --git a/include/mystery_event_menu.h b/include/mystery_event_menu.h new file mode 100644 index 000000000..8801789d9 --- /dev/null +++ b/include/mystery_event_menu.h @@ -0,0 +1,6 @@ +#ifndef GUARD_MYSTERY_EVENT_MENU_H +#define GUARD_MYSTERY_EVENT_MENU_H + +void CB2_InitMysteryEventMenu(void); + +#endif // GUARD_MYSTERY_EVENT_MENU_H diff --git a/include/pokemon.h b/include/pokemon.h index dd80e1ea1..ee141dcc5 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -95,6 +95,25 @@ #define MON_FEMALE 0xFE #define MON_GENDERLESS 0xFF +#define TYPE_NORMAL 0x00 +#define TYPE_FIGHTING 0x01 +#define TYPE_FLYING 0x02 +#define TYPE_POISON 0x03 +#define TYPE_GROUND 0x04 +#define TYPE_ROCK 0x05 +#define TYPE_BUG 0x06 +#define TYPE_GHOST 0x07 +#define TYPE_STEEL 0x08 +#define TYPE_MYSTERY 0x09 +#define TYPE_FIRE 0x0a +#define TYPE_WATER 0x0b +#define TYPE_GRASS 0x0c +#define TYPE_ELECTRIC 0x0d +#define TYPE_PSYCHIC 0x0e +#define TYPE_ICE 0x0f +#define TYPE_DRAGON 0x10 +#define TYPE_DARK 0x11 + struct PokemonSubstruct0 { u16 species; diff --git a/include/rom4.h b/include/rom4.h index b12bbf4bc..036f43c36 100644 --- a/include/rom4.h +++ b/include/rom4.h @@ -59,7 +59,7 @@ void sub_8053720(s16, s16); // sub_8053778 // unref_sub_8053790 // sub_80537CC -// gpu_sync_bg_hide +void gpu_sync_bg_hide(); // sub_8053818 // sub_8053850 // sub_80538B0 diff --git a/include/save_failed_screen.h b/include/save_failed_screen.h new file mode 100644 index 000000000..5a097fb3f --- /dev/null +++ b/include/save_failed_screen.h @@ -0,0 +1,6 @@ +#ifndef GUARD_SAVE_FAILED_SCREEN_H +#define GUARD_SAVE_FAILED_SCREEN_H + +void DoSaveFailedScreen(u8); + +#endif // GUARD_SAVE_FAILED_SCREEN_H diff --git a/include/sprite.h b/include/sprite.h index 4298593ca..57926fc68 100644 --- a/include/sprite.h +++ b/include/sprite.h @@ -245,5 +245,8 @@ void FreeSpritePaletteByTag(u16 tag); void SetSubspriteTables(struct Sprite *sprite, struct SubspriteTable *subspriteTables); bool8 AddSpriteToOamBuffer(struct Sprite *object, u8 *oamIndex); bool8 AddSubspritesToOamBuffer(struct Sprite *sprite, struct OamData *destOam, u8 *oamIndex); +void CopyToSprites(u8 *src); +void CopyFromSprites(u8 *dest); +u8 SpriteTileAllocBitmapOp(u16 bit, u8 op); #endif // GUARD_SPRITE_H diff --git a/include/start_menu.h b/include/start_menu.h index 77bfe5d0e..ae9e51284 100644 --- a/include/start_menu.h +++ b/include/start_menu.h @@ -17,7 +17,5 @@ u8 StartMenu_RetireCallback(void); u8 StartMenu_PlayerLinkCallback(void); void InitSaveDialog(void); void sub_8071B28(void); -void sub_8071C20(void); -void AppendToList(u8 *list, u8 *pindex, u32 value); #endif // GUARD_STARTER_CHOOSE_H diff --git a/include/text.h b/include/text.h index d0d418eab..7dbbcb844 100644 --- a/include/text.h +++ b/include/text.h @@ -4,6 +4,7 @@ #define CHAR_SPACE 0x00 #define CHAR_QUESTION_MARK 0xAC #define CHAR_HYPHEN 0xAE +#define CHAR_CURRENCY 0xB7 #define CHAR_COLON 0xF0 #define EXT_CTRL_CODE_BEGIN 0xFC // extended control code #define PLACEHOLDER_BEGIN 0xFD // string placeholder @@ -35,7 +36,7 @@ struct Window { u8 textMode; u8 fontNum; - u8 charset; + u8 language; u8 foregroundColor; u8 backgroundColor; u8 shadowColor; diff --git a/ld_script.txt b/ld_script.txt index 44151e4b7..69cbc2ddc 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -50,9 +50,11 @@ SECTIONS { src/decompress.o(.text); asm/rom_800D42C.o(.text); src/pokemon_1.o(.text); - asm/calculate_base_damage.o(.text); + src/calculate_base_damage.o(.text); src/pokemon_2.o(.text); - asm/rom_803D1FC.o(.text); + asm/pokemon_item_effect.o(.text); + src/pokemon_3.o(.text); + asm/pokemon_3.o(.text); src/trig.o(.text); src/rng.o(.text); asm/rom_8040EB4.o(.text); @@ -60,18 +62,21 @@ SECTIONS { asm/daycare.o(.text); asm/egg_hatch.o(.text); asm/rom_804373C.o(.text); - asm/load_save.o(.text); + asm/smokescreen.o(.text); + asm/pokeball.o(.text); + src/load_save.o(.text); asm/trade.o(.text); asm/berry_blender.o(.text); src/play_time.o(.text); src/new_game.o(.text); src/rom4.o(.text); src/fieldmap.o(.text); - asm/metatile_behavior.o(.text); + src/metatile_behavior.o(.text); src/field_camera.o(.text); src/field_door.o(.text); src/field_player_avatar.o(.text); asm/field_map_obj.o(.text); + src/field_ground_effect.o(.text); asm/field_ground_effect.o(.text); src/map_obj_80643A4.o(.text); src/field_message_box.o(.text); @@ -91,7 +96,8 @@ SECTIONS { src/tileset_anim.o(.text); src/palette.o(.text); src/sound.o(.text); - asm/rom_8074BAC.o(.text); + asm/battle_anim.o(.text); + asm/rom_8077ABC.o(.text); src/task.o(.text); asm/rom5.o(.text); src/title_screen.o(.text); @@ -112,6 +118,8 @@ SECTIONS { src/trainer_card.o(.text); src/save_menu_util.o(.text); asm/rom_8094928.o(.text); + asm/fldeff_cut.o(.text); + asm/rom_80A2B18.o(.text); asm/item_menu.o(.text); src/battle_anim_80A7E7C.o(.text); src/item.o(.text); @@ -120,9 +128,9 @@ SECTIONS { asm/contest.o(.text); asm/shop.o(.text); src/berry.o(.text); - asm/script_menu.o(.text); + src/script_menu.o(.text); asm/naming_screen.o(.text); - asm/money.o(.text); + src/money.o(.text); asm/contest_effect.o(.text); src/record_mixing.o(.text); asm/record_mixing.o(.text); @@ -146,7 +154,7 @@ SECTIONS { asm/pokenav.o(.text); asm/mon_markings.o(.text); asm/mauville_old_man.o(.text); - asm/mail.o(.text); + src/mail.o(.text); asm/menu_helpers.o(.text); asm/script_pokemon_util_80F99CC.o(.text); src/dewford_trend.o(.text); @@ -162,6 +170,8 @@ SECTIONS { src/starter_choose.o(.text); src/wallclock.o(.text); asm/rom6.o(.text); + asm/pokeblock.o(.text); + asm/rom_810CBB4.o(.text); asm/battle_records.o(.text); asm/pokedex_area_screen.o(.text); asm/evolution_scene.o(.text); @@ -179,19 +189,26 @@ SECTIONS { asm/cable_car_util.o(.text); asm/unused_8124F94.o(.text); src/save.o(.text); + src/mystery_event_script.o(.text); asm/mystery_event_script.o(.text); asm/field_effect_helpers.o(.text); asm/contest_ai.o(.text); asm/rom_81258BC.o(.text); + src/player_pc.o(.text); asm/player_pc.o(.text); src/intro.o(.text); - asm/rom_813BA94.o(.text); + asm/intro.o(.text); + asm/field_region_map.o(.text); + asm/battle_anim_813F0F4.o(.text); + asm/hall_of_fame.o(.text); + asm/credits.o(.text); src/lottery_corner.o(.text); src/diploma.o(.text); - asm/berry_tag_screen.o(.text); - asm/mystery_event_menu.o(.text); - asm/save_failed_screen.o(.text); + src/berry_tag_screen.o(.text); + src/mystery_event_menu.o(.text); + src/save_failed_screen.o(.text); asm/rom_81473B8.o(.text); + asm/pokeblock_feed.o(.text); src/clear_save_data_menu.o(.text); asm/rom_8148B8C.o(.text); src/menu_cursor.o(.text); @@ -252,6 +269,21 @@ SECTIONS { src/link.o(.rodata); src/rtc.o(.rodata); data/data2.o(.rodata); + data/pokeball.o(.rodata); + data/trade.o(.rodata); + data/berry_blender.o(.rodata); + src/new_game.o(.rodata); + data/rom4.o(.rodata); + data/tilesets.o(.rodata); + data/maps.o(.rodata); + src/fieldmap.o(.rodata); + data/metatile_behavior.o(.rodata); + data/field_door.o(.rodata); + data/field_player_avatar.o(.rodata); + data/field_map_obj.o(.rodata); + src/field_ground_effect.o(.rodata); + data/field_ground_effect.o(.rodata); + data/data_83760F0.o(.rodata); src/m4a_tables.o(.rodata); data/sound_data.o(.rodata); } =0 diff --git a/shared_syms.txt b/shared_syms.txt index b85cd1f76..7c87c940d 100644 --- a/shared_syms.txt +++ b/shared_syms.txt @@ -16,6 +16,8 @@ unk_2016800 = 0x2016800; unk_2016A00 = 0x2016A00; unk_2016C00 = 0x2016C00; +unk_201FE00 = 0x201FE00; + gSecretBaseRecord = 0x2017000; dword_2017100 = 0x2017100; diff --git a/src/battle_setup.c b/src/battle_setup.c index 4822cd585..68690bf1d 100644 --- a/src/battle_setup.c +++ b/src/battle_setup.c @@ -20,6 +20,7 @@ #include "field_message_box.h" #include "trainer.h" #include "starter_choose.h" +#include "metatile_behavior.h" #define NUM_TRAINER_EYE_TRAINERS 56 #define TRAINER_REMATCH_STEPS 255 @@ -448,7 +449,6 @@ u8 GetWildBattleTransition(void) u8 GetTrainerBattleTransition(void) { struct Trainer *trainer; - u8 trainerClass; u8 partyCount; u8 flashVar; u8 level; diff --git a/src/berry_tag_screen.c b/src/berry_tag_screen.c new file mode 100644 index 000000000..e7ef9ca76 --- /dev/null +++ b/src/berry_tag_screen.c @@ -0,0 +1,877 @@ +#include "global.h" +#include "berry_tag_screen.h" +#include "asm.h" +#include "berry.h" +#include "decompress.h" +#include "main.h" +#include "menu.h" +#include "palette.h" +#include "rom4.h" +#include "songs.h" +#include "sound.h" +#include "sprite.h" +#include "string_util.h" +#include "task.h" +#include "text.h" + +#define OFFSET_7B (123) +#define FIRST_BERRY (0x85) // ITEM_CHERI_BERRY + +struct Struct2000000 { + /*0x00*/ u8 filler_0[0x1FFFF]; + /*0x1FFFF*/ bool8 var_1FFFF; +}; + +struct BerryTagStatus { + s16 circles[5]; +}; + +extern struct Struct2000000 unk_2000000; +extern u16 gBGTilemapBuffers[4][0x400]; +extern u8 gUnknown_0203932C; +extern struct BerryTagStatus gUnknown_0203932E; +extern u16 gScriptItemId; +extern u16 gUnknown_030041B4; + +extern const struct SpriteSheet gUnknown_083C1F74; +extern const struct SpritePalette gUnknown_083C1F7C; + +extern u8 gOtherText_ThreeQuestions2[]; +extern u8 gOtherText_Size[]; +extern u8 gOtherText_Firm[]; +extern u8 gContestStatsText_Unknown1[]; +extern u8 *gUnknown_0841192C[]; + +extern u8 gBerryCheck_Gfx[]; +extern u8 gBerryCheck_Pal[]; +extern u8 gUnknown_08E788E4[]; +extern u8 gUnknown_08E78A84[]; + +static void sub_8146014(void); +static void sub_814602C(void); +static bool8 sub_8146058(void); +static void sub_8146288(void); +static bool8 sub_81462B8(void); +static void sub_814640C(u8 taskId); +static void sub_8146440(u8 taskId); +static void sub_8146480(u8 taskid); +static void sub_81464E4(void); +static void sub_8146600(u8 berry); +// static void sub_81466A0(void); +static void sub_81466E8(u8 taskId, s32 direction); +// static void sub_8146798(u8 berry); +// static void sub_8146810(u8 berry); +// static void sub_81468BC(void); + +static void sub_8146014(void) { + AnimateSprites(); + BuildOamBuffer(); + RunTasks(); + UpdatePaletteFade(); +} + +static void sub_814602C(void) { + REG_BG0VOFS = gUnknown_030041B4; + REG_BG1VOFS = gUnknown_030041B4; + + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); +} + +static bool8 sub_8146058(void) { + u8 berry; + u16 backup; + + switch (gMain.state) { + case 0: + sub_80F9438(); + sub_80F9368(); + sub_8146288(); + REG_BLDCNT = 0; + gMain.state += 1; + break; + + case 1: + ResetPaletteFade(); + gPaletteFade.bufferTransferDisabled = 1; + gMain.state += 1; + break; + + case 2: + ResetSpriteData(); + gMain.state += 1; + break; + + case 3: + SetUpWindowConfig(&gWindowConfig_81E6E18); + gMain.state += 1; + break; + + case 4: + MultistepInitMenuWindowBegin(&gWindowConfig_81E6E18); + gMain.state += 1; + break; + + case 5: + if (!MultistepInitMenuWindowContinue()) { + return FALSE; + } + unk_2000000.var_1FFFF = 0; + gMain.state += 1; + break; + + case 6: + if (!sub_81462B8()) { + break; + } + + unk_2000000.var_1FFFF = 0; + gMain.state += 1; + break; + + case 7: + sub_81464E4(); + gMain.state += 1; + break; + + case 8: + berry = gScriptItemId + OFFSET_7B; + gUnknown_0203932C = sub_80A7D8C(berry, 56, 64); + gMain.state += 1; + break; + + case 9: + sub_8146600(gScriptItemId + OFFSET_7B); + gMain.state += 1; + break; + + case 10: + backup = REG_IME; + REG_IME = 0; + REG_IE |= INTR_FLAG_VBLANK; + REG_IME = backup; + + REG_DISPSTAT |= DISPSTAT_VBLANK_INTR; + SetVBlankCallback(sub_814602C); + REG_DISPCNT = DISPCNT_OBJ_ON | DISPCNT_BG_ALL_ON | DISPCNT_OBJ_1D_MAP; + gMain.state += 1; + break; + + case 11: + if (sub_8055870() == TRUE) { + break; + } + gMain.state += 1; + break; + + case 12: + BeginNormalPaletteFade(-1, 0, 0x10, 0, 0); + gPaletteFade.bufferTransferDisabled = 0; + SetMainCallback2(sub_8146014); + return TRUE; + + } + + return FALSE; +} + +void BerryTagScreen_814625C(u8 taskId) { + do { + if (sub_8146058() == TRUE) { + CreateTask(sub_8146480, 0); + return; + } + + } while (sub_80F9344() != TRUE); +} + +static void sub_8146288(void) { + REG_BG1CNT = 0x502; + REG_BG2CNT = 0x600; + REG_BG3CNT = 0x703; + gUnknown_030041B4 = 0; +} + +#ifdef NONMATCHING +bool8 sub_81462B8(void) { + u16 i; + + switch (unk_2000000.var_1FFFF) { + case 0: + LZDecompressVram(gBerryCheck_Gfx, (void *) VRAM); + unk_2000000.var_1FFFF += 1; + break; + + case 1: + LZDecompressVram(gUnknown_08E788E4, (void *) VRAM + 0x2800); + unk_2000000.var_1FFFF += 1; + break; + + case 2: + LZDecompressVram(gUnknown_08E78A84, (void *) VRAM + 0x3000); + unk_2000000.var_1FFFF += 1; + break; + + case 3: + for (i = 0; i < 0x400; i++) { + u16 (*buffer)[0x400] = &gBGTilemapBuffers[3]; + if (gSaveBlock2.playerGender == MALE) { + (*buffer)[i] = 0x4042; + } else { + (*buffer)[i] = 0x5042; + } + } + unk_2000000.var_1FFFF += 1; + break; + + case 4: + LoadCompressedPalette(gBerryCheck_Pal, 0, 96 * 2); + unk_2000000.var_1FFFF += 1; + break; + + case 5: + LoadCompressedObjectPic(&gUnknown_083C1F74); + unk_2000000.var_1FFFF += 1; + break; + + case 6: + LoadCompressedObjectPalette(&gUnknown_083C1F7C); + unk_2000000.var_1FFFF = 0; + return TRUE; + } + + return FALSE; +} +#else +__attribute__((naked)) +static bool8 sub_81462B8(void) { + asm(".syntax unified\n\ + push {r4-r7,lr}\n\ + ldr r1, _081462D4 @ =0x02000000\n\ + ldr r2, _081462D8 @ =0x0001ffff\n\ + adds r0, r1, r2\n\ + ldrb r0, [r0]\n\ + mov r12, r1\n\ + cmp r0, 0x6\n\ + bls _081462CA\n\ + b _08146404\n\ +_081462CA:\n\ + lsls r0, 2\n\ + ldr r1, _081462DC @ =_081462E0\n\ + adds r0, r1\n\ + ldr r0, [r0]\n\ + mov pc, r0\n\ + .align 2, 0\n\ +_081462D4: .4byte 0x02000000\n\ +_081462D8: .4byte 0x0001ffff\n\ +_081462DC: .4byte _081462E0\n\ + .align 2, 0\n\ +_081462E0:\n\ + .4byte _081462FC\n\ + .4byte _0814630C\n\ + .4byte _0814632C\n\ + .4byte _08146340\n\ + .4byte _081463A4\n\ + .4byte _081463C4\n\ + .4byte _081463E4\n\ +_081462FC:\n\ + ldr r0, _08146308 @ =gBerryCheck_Gfx\n\ + movs r1, 0xC0\n\ + lsls r1, 19\n\ + bl LZDecompressVram\n\ + b _081463CA\n\ + .align 2, 0\n\ +_08146308: .4byte gBerryCheck_Gfx\n\ +_0814630C:\n\ + ldr r0, _0814631C @ =gUnknown_08E788E4\n\ + ldr r1, _08146320 @ =0x06002800\n\ + bl LZDecompressVram\n\ + ldr r1, _08146324 @ =0x02000000\n\ + ldr r2, _08146328 @ =0x0001ffff\n\ + adds r1, r2\n\ + b _081463D0\n\ + .align 2, 0\n\ +_0814631C: .4byte gUnknown_08E788E4\n\ +_08146320: .4byte 0x06002800\n\ +_08146324: .4byte 0x02000000\n\ +_08146328: .4byte 0x0001ffff\n\ +_0814632C:\n\ + ldr r0, _08146338 @ =gUnknown_08E78A84\n\ + ldr r1, _0814633C @ =0x06003000\n\ + bl LZDecompressVram\n\ + b _081463CA\n\ + .align 2, 0\n\ +_08146338: .4byte gUnknown_08E78A84\n\ +_0814633C: .4byte 0x06003000\n\ +_08146340:\n\ + movs r1, 0\n\ + ldr r7, _0814635C @ =gBGTilemapBuffers + 0x1000\n\ + adds r2, r7, 0\n\ + ldr r6, _08146360 @ =0x00004042\n\ + ldr r5, _08146364 @ =gSaveBlock2\n\ + ldr r4, _08146368 @ =0x00005042\n\ + ldr r3, _0814636C @ =0x000003ff\n\ +_0814634E:\n\ + ldrb r0, [r5, 0x8]\n\ + cmp r0, 0\n\ + bne _08146370\n\ + lsls r0, r1, 1\n\ + adds r0, r2\n\ + strh r6, [r0]\n\ + b _08146376\n\ + .align 2, 0\n\ +_0814635C: .4byte gBGTilemapBuffers + 0x1000\n\ +_08146360: .4byte 0x00004042\n\ +_08146364: .4byte gSaveBlock2\n\ +_08146368: .4byte 0x00005042\n\ +_0814636C: .4byte 0x000003ff\n\ +_08146370:\n\ + lsls r0, r1, 1\n\ + adds r0, r2\n\ + strh r4, [r0]\n\ +_08146376:\n\ + adds r0, r1, 0x1\n\ + lsls r0, 16\n\ + lsrs r1, r0, 16\n\ + cmp r1, r3\n\ + bls _0814634E\n\ + ldr r1, _08146394 @ =0x06003800\n\ + ldr r0, _08146398 @ =0x040000d4\n\ + str r7, [r0]\n\ + str r1, [r0, 0x4]\n\ + ldr r1, _0814639C @ =0x80000400\n\ + str r1, [r0, 0x8]\n\ + ldr r0, [r0, 0x8]\n\ + ldr r1, _081463A0 @ =0x0001ffff\n\ + add r1, r12\n\ + b _081463D0\n\ + .align 2, 0\n\ +_08146394: .4byte 0x06003800\n\ +_08146398: .4byte 0x040000d4\n\ +_0814639C: .4byte 0x80000400\n\ +_081463A0: .4byte 0x0001ffff\n\ +_081463A4:\n\ + ldr r0, _081463B8 @ =gBerryCheck_Pal\n\ + movs r1, 0\n\ + movs r2, 0xC0\n\ + bl LoadCompressedPalette\n\ + ldr r1, _081463BC @ =0x02000000\n\ + ldr r2, _081463C0 @ =0x0001ffff\n\ + adds r1, r2\n\ + b _081463D0\n\ + .align 2, 0\n\ +_081463B8: .4byte gBerryCheck_Pal\n\ +_081463BC: .4byte 0x02000000\n\ +_081463C0: .4byte 0x0001ffff\n\ +_081463C4:\n\ + ldr r0, _081463D8 @ =gUnknown_083C1F74\n\ + bl LoadCompressedObjectPic\n\ +_081463CA:\n\ + ldr r1, _081463DC @ =0x02000000\n\ + ldr r0, _081463E0 @ =0x0001ffff\n\ + adds r1, r0\n\ +_081463D0:\n\ + ldrb r0, [r1]\n\ + adds r0, 0x1\n\ + strb r0, [r1]\n\ + b _08146404\n\ + .align 2, 0\n\ +_081463D8: .4byte gUnknown_083C1F74\n\ +_081463DC: .4byte 0x02000000\n\ +_081463E0: .4byte 0x0001ffff\n\ +_081463E4:\n\ + ldr r0, _081463F8 @ =gUnknown_083C1F7C\n\ + bl LoadCompressedObjectPalette\n\ + ldr r0, _081463FC @ =0x02000000\n\ + ldr r1, _08146400 @ =0x0001ffff\n\ + adds r0, r1\n\ + movs r1, 0\n\ + strb r1, [r0]\n\ + movs r0, 0x1\n\ + b _08146406\n\ + .align 2, 0\n\ +_081463F8: .4byte gUnknown_083C1F7C\n\ +_081463FC: .4byte 0x02000000\n\ +_08146400: .4byte 0x0001ffff\n\ +_08146404:\n\ + movs r0, 0\n\ +_08146406:\n\ + pop {r4-r7}\n\ + pop {r1}\n\ + bx r1\n\ + .syntax divided\n"); +} +#endif + +static void sub_814640C(u8 taskId) { + if (gPaletteFade.active) { + return; + } + + SetMainCallback2(sub_80A5B40); + sub_80A7DD4(); + gpu_pal_allocator_reset__manage_upper_four(); + DestroyTask(taskId); +} + +static void sub_8146440(u8 taskId) { + PlaySE(SE_SELECT); + BeginNormalPaletteFade(-1, 0, 0, 0x10, 0); + + gTasks[taskId].func = sub_814640C; +} + +static void sub_8146480(u8 taskid) { + register u16 keys asm("r1"); + + if (gPaletteFade.active) { + return; + } + + keys = gMain.newAndRepeatedKeys & (DPAD_RIGHT | DPAD_LEFT | DPAD_UP | DPAD_DOWN); + if (keys == DPAD_UP) { + sub_81466E8(taskid, -1); + } + + keys = gMain.newAndRepeatedKeys & (DPAD_RIGHT | DPAD_LEFT | DPAD_UP | DPAD_DOWN); + if (keys == DPAD_DOWN) { + sub_81466E8(taskid, 1); + } + + if (gMain.newKeys & A_BUTTON || gMain.newKeys & B_BUTTON) { + sub_8146440(taskid); + } +} + +static void sub_81464E4(void) { + struct Berry *berryInfo; + u32 size; + s32 sizeMajor; + s32 sizeMinor; + + berryInfo = GetBerryInfo(gScriptItemId + OFFSET_7B + 1); + + ConvertIntToDecimalStringN(gStringVar1, gScriptItemId - FIRST_BERRY + 1, STR_CONV_MODE_LEADING_ZEROS, 2); + MenuPrint(gStringVar1, 12, 4); + + MenuPrint(berryInfo->name, 14, 4); + MenuPrint(berryInfo->description1, 4, 14); + MenuPrint(berryInfo->description2, 4, 16); + + size = (berryInfo->size * 1000) / 254; + if (size % 10 >= 5) { + size += 10; + } + sizeMinor = (size % 100) / 10; + sizeMajor = size / 100; + + MenuPrint(gOtherText_Size, 11, 7); + if (berryInfo->size != 0) { + ConvertIntToDecimalStringN(gStringVar1, sizeMajor, STR_CONV_MODE_LEFT_ALIGN, 2); + ConvertIntToDecimalStringN(gStringVar2, sizeMinor, STR_CONV_MODE_LEFT_ALIGN, 2); + MenuPrint(gContestStatsText_Unknown1, 16, 7); + } else { + MenuPrint(gOtherText_ThreeQuestions2, 16, 7); + } + + MenuPrint(gOtherText_Firm, 11, 9); + if (berryInfo->firmness != 0) { + MenuPrint(gUnknown_0841192C[berryInfo->firmness - 1], 16, 9); + } else { + MenuPrint(gOtherText_ThreeQuestions2, 16, 9); + } +} + +#ifdef NONMATCHING +static void sub_8146600(u8 berry) { + struct Berry *berryInfo; + u16 i; + + berryInfo = GetBerryInfo(berry +1); + + for (i = 0; i < 5; i++) { + gUnknown_0203932E.circles[i] |= 0xFFFF; + } + + if (berryInfo->spicy) { + // argument is the center of the circle + gUnknown_0203932E.circles[0] = sub_80A7E5C(48); + } + + if (berryInfo->dry) { + gUnknown_0203932E.circles[1] = sub_80A7E5C(88); + } + + if (berryInfo->sweet) { + gUnknown_0203932E.circles[2] = sub_80A7E5C(128); + } + + if (berryInfo->bitter) { + gUnknown_0203932E.circles[3] = sub_80A7E5C(168); + } + + if (berryInfo->sour) { + gUnknown_0203932E.circles[4] = sub_80A7E5C(208); + } +} +#else +__attribute__((naked)) +static void sub_8146600(u8 berry) { + asm(".syntax unified\n\ + push {r4,r5,lr}\n\ + lsls r0, 24\n\ + movs r1, 0x80\n\ + lsls r1, 17\n\ + adds r0, r1\n\ + lsrs r0, 24\n\ + bl GetBerryInfo\n\ + adds r4, r0, 0\n\ + movs r2, 0\n\ + ldr r5, _08146698 @ =gUnknown_0203932E\n\ + ldr r0, _0814669C @ =0x0000ffff\n\ + adds r3, r0, 0\n\ +_0814661A:\n\ + lsls r0, r2, 1\n\ + adds r0, r5\n\ + ldrh r1, [r0]\n\ + orrs r1, r3\n\ + strh r1, [r0]\n\ + adds r0, r2, 0x1\n\ + lsls r0, 16\n\ + lsrs r2, r0, 16\n\ + cmp r2, 0x4\n\ + bls _0814661A\n\ + ldrb r0, [r4, 0x15]\n\ + cmp r0, 0\n\ + beq _08146642\n\ + movs r0, 0x30\n\ + bl sub_80A7E5C\n\ + ldr r1, _08146698 @ =gUnknown_0203932E\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + strh r0, [r1]\n\ +_08146642:\n\ + ldrb r0, [r4, 0x16]\n\ + cmp r0, 0\n\ + beq _08146656\n\ + movs r0, 0x58\n\ + bl sub_80A7E5C\n\ + ldr r1, _08146698 @ =gUnknown_0203932E\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + strh r0, [r1, 0x2]\n\ +_08146656:\n\ + ldrb r0, [r4, 0x17]\n\ + cmp r0, 0\n\ + beq _0814666A\n\ + movs r0, 0x80\n\ + bl sub_80A7E5C\n\ + ldr r1, _08146698 @ =gUnknown_0203932E\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + strh r0, [r1, 0x4]\n\ +_0814666A:\n\ + ldrb r0, [r4, 0x18]\n\ + cmp r0, 0\n\ + beq _0814667E\n\ + movs r0, 0xA8\n\ + bl sub_80A7E5C\n\ + ldr r1, _08146698 @ =gUnknown_0203932E\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + strh r0, [r1, 0x6]\n\ +_0814667E:\n\ + ldrb r0, [r4, 0x19]\n\ + cmp r0, 0\n\ + beq _08146692\n\ + movs r0, 0xD0\n\ + bl sub_80A7E5C\n\ + ldr r1, _08146698 @ =gUnknown_0203932E\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + strh r0, [r1, 0x8]\n\ +_08146692:\n\ + pop {r4,r5}\n\ + pop {r0}\n\ + bx r0\n\ + .align 2, 0\n\ +_08146698: .4byte gUnknown_0203932E\n\ +_0814669C: .4byte 0x0000ffff\n\ + .syntax divided\n"); +} +#endif + + +void sub_81466A0(void) { + u16 i; + + for (i = 0; i < 5; i++) { + if (gUnknown_0203932E.circles[i] != -1) { + DestroySprite(&gSprites[gUnknown_0203932E.circles[i]]); + gUnknown_0203932E.circles[i] = -1; + } + } +} + + +__attribute__((naked)) +static void sub_81466E8(u8 taskId, s32 direction) { + asm(".syntax unified\n\ + push {r4-r7,lr}\n\ + mov r7, r8\n\ + push {r7}\n\ + lsls r0, 24\n\ + lsrs r7, r0, 24\n\ + lsls r1, 24\n\ + lsrs r2, r1, 24\n\ + lsls r0, r7, 2\n\ + adds r0, r7\n\ + lsls r0, 3\n\ + ldr r1, _08146748 @ =gTasks + 0x8\n\ + adds r6, r0, r1\n\ + ldr r4, _0814674C @ =gUnknown_03005D10\n\ + movs r0, 0xC\n\ + adds r0, r4\n\ + mov r8, r0\n\ + ldrb r1, [r0, 0x1]\n\ + ldrb r0, [r4, 0xC]\n\ + adds r1, r0\n\ + cmp r1, 0\n\ + bne _08146718\n\ + lsls r0, r2, 24\n\ + cmp r0, 0\n\ + blt _0814678C\n\ +_08146718:\n\ + adds r0, r1, 0x1\n\ + lsls r5, r2, 24\n\ + mov r1, r8\n\ + ldrb r1, [r1, 0x2]\n\ + cmp r0, r1\n\ + bne _08146728\n\ + cmp r5, 0\n\ + bgt _0814678C\n\ +_08146728:\n\ + movs r0, 0x5\n\ + bl PlaySE\n\ + mov r2, r8\n\ + ldrb r3, [r2, 0x1]\n\ + ldrb r4, [r4, 0xC]\n\ + mov r12, r4\n\ + adds r0, r3, r4\n\ + asrs r2, r5, 24\n\ + adds r1, r0, r2\n\ + cmp r1, 0\n\ + bge _08146750\n\ + negs r0, r0\n\ + strh r0, [r6, 0x2]\n\ + b _08146766\n\ + .align 2, 0\n\ +_08146748: .4byte gTasks + 0x8\n\ +_0814674C: .4byte gUnknown_03005D10\n\ +_08146750:\n\ + mov r4, r8\n\ + ldrb r0, [r4, 0x2]\n\ + cmp r1, r0\n\ + blt _08146764\n\ + subs r0, r3\n\ + mov r1, r12\n\ + subs r0, r1\n\ + subs r0, 0x1\n\ + strh r0, [r6, 0x2]\n\ + b _08146766\n\ +_08146764:\n\ + strh r2, [r6, 0x2]\n\ +_08146766:\n\ + ldr r0, _08146780 @ =gTasks\n\ + lsls r1, r7, 2\n\ + adds r1, r7\n\ + lsls r1, 3\n\ + adds r1, r0\n\ + ldr r0, _08146784 @ =sub_8146798\n\ + str r0, [r1]\n\ + cmp r5, 0\n\ + bge _08146788\n\ + movs r2, 0x10\n\ + negs r2, r2\n\ + adds r0, r2, 0\n\ + b _0814678A\n\ + .align 2, 0\n\ +_08146780: .4byte gTasks\n\ +_08146784: .4byte sub_8146798\n\ +_08146788:\n\ + movs r0, 0x10\n\ +_0814678A:\n\ + strh r0, [r6]\n\ +_0814678C:\n\ + pop {r3}\n\ + mov r8, r3\n\ + pop {r4-r7}\n\ + pop {r0}\n\ + bx r0\n\ + .syntax divided\n"); +} + +__attribute__((naked)) +void sub_8146798(u8 berry) { + asm(".syntax unified\n\ + push {r4,r5,lr}\n\ + lsls r0, 24\n\ + lsrs r4, r0, 24\n\ + lsls r0, r4, 2\n\ + adds r0, r4\n\ + lsls r0, 3\n\ + ldr r1, _08146800 @ =gTasks + 0x8\n\ + adds r0, r1\n\ + ldr r2, _08146804 @ =gUnknown_030041B4\n\ + ldrh r1, [r0]\n\ + ldrh r5, [r2]\n\ + adds r3, r1, r5\n\ + movs r1, 0xFF\n\ + ands r3, r1\n\ + strh r3, [r2]\n\ + movs r1, 0\n\ + ldrsh r0, [r0, r1]\n\ + cmp r0, 0\n\ + ble _081467C2\n\ + cmp r3, 0x90\n\ + beq _081467CA\n\ +_081467C2:\n\ + cmp r0, 0\n\ + bge _081467E0\n\ + cmp r3, 0x70\n\ + bne _081467E0\n\ +_081467CA:\n\ + ldr r0, _08146808 @ =gTasks\n\ + lsls r1, r4, 2\n\ + adds r1, r4\n\ + lsls r1, 3\n\ + adds r1, r0\n\ + movs r0, 0xA\n\ + ldrsb r0, [r1, r0]\n\ + bl sub_8146810\n\ + bl sub_81468BC\n\ +_081467E0:\n\ + ldr r0, _08146804 @ =gUnknown_030041B4\n\ + ldrh r2, [r0]\n\ + cmp r2, 0\n\ + bne _081467FA\n\ + ldr r0, _08146808 @ =gTasks\n\ + lsls r1, r4, 2\n\ + adds r1, r4\n\ + lsls r1, 3\n\ + adds r1, r0\n\ + strh r2, [r1, 0x8]\n\ + strh r2, [r1, 0xA]\n\ + ldr r0, _0814680C @ =sub_8146480\n\ + str r0, [r1]\n\ +_081467FA:\n\ + pop {r4,r5}\n\ + pop {r0}\n\ + bx r0\n\ + .align 2, 0\n\ +_08146800: .4byte gTasks + 0x8\n\ +_08146804: .4byte gUnknown_030041B4\n\ +_08146808: .4byte gTasks\n\ +_0814680C: .4byte sub_8146480\n\ + .syntax divided\n"); +} + +__attribute__((naked)) +void sub_8146810(u8 berry) { + asm(".syntax unified\n\ + push {r4-r6,lr}\n\ + lsls r0, 24\n\ + lsrs r3, r0, 24\n\ + adds r4, r3, 0\n\ + lsls r0, r3, 24\n\ + asrs r1, r0, 24\n\ + cmp r1, 0\n\ + ble _08146848\n\ + ldr r0, _08146840 @ =gUnknown_03005D10\n\ + adds r4, r0, 0\n\ + adds r4, 0xC\n\ + ldrb r2, [r0, 0xC]\n\ + adds r1, r2, r1\n\ + adds r6, r0, 0\n\ + cmp r1, 0x7\n\ + ble _08146844\n\ + adds r0, r3, 0\n\ + adds r0, 0xF9\n\ + adds r0, r2, r0\n\ + ldrb r1, [r4, 0x1]\n\ + adds r0, r1\n\ + strb r0, [r4, 0x1]\n\ + movs r0, 0x7\n\ + b _0814686E\n\ + .align 2, 0\n\ +_08146840: .4byte gUnknown_03005D10\n\ +_08146844:\n\ + adds r0, r2, r3\n\ + b _0814686E\n\ +_08146848:\n\ + ldr r0, _08146868 @ =gUnknown_03005D10\n\ + adds r5, r0, 0\n\ + adds r5, 0xC\n\ + ldrb r2, [r0, 0xC]\n\ + adds r1, r2, r1\n\ + adds r6, r0, 0\n\ + cmp r1, 0\n\ + bge _0814686C\n\ + adds r0, r2, r3\n\ + ldrb r1, [r5, 0x1]\n\ + adds r0, r1\n\ + movs r1, 0\n\ + strb r0, [r5, 0x1]\n\ + strb r1, [r6, 0xC]\n\ + b _08146870\n\ + .align 2, 0\n\ +_08146868: .4byte gUnknown_03005D10\n\ +_0814686C:\n\ + adds r0, r2, r4\n\ +_0814686E:\n\ + strb r0, [r6, 0xC]\n\ +_08146870:\n\ + ldr r2, _081468AC @ =gScriptItemId\n\ + movs r0, 0x3\n\ + lsls r0, 2\n\ + adds r0, r6\n\ + ldrb r1, [r0, 0x1]\n\ + ldrb r0, [r0]\n\ + adds r1, r0\n\ + ldr r0, _081468B0 @ =gUnknown_03005D24\n\ + ldr r0, [r0]\n\ + lsls r1, 2\n\ + adds r1, r0\n\ + ldrh r0, [r1]\n\ + strh r0, [r2]\n\ + ldr r0, _081468B4 @ =gUnknown_0203932C\n\ + ldrb r1, [r0]\n\ + lsls r0, r1, 4\n\ + adds r0, r1\n\ + lsls r0, 2\n\ + ldr r1, _081468B8 @ =gSprites\n\ + adds r0, r1\n\ + bl DestroySprite\n\ + bl sub_81466A0\n\ + bl sub_80A7DD4\n\ + pop {r4-r6}\n\ + pop {r0}\n\ + bx r0\n\ + .align 2, 0\n\ +_081468AC: .4byte gScriptItemId\n\ +_081468B0: .4byte gUnknown_03005D24\n\ +_081468B4: .4byte gUnknown_0203932C\n\ +_081468B8: .4byte gSprites\n\ + .syntax divided\n"); +} + +void sub_81468BC(void) { + MenuZeroFillWindowRect(0, 4, 29, 19); + sub_81464E4(); + + // center of berry sprite + gUnknown_0203932C = sub_80A7D8C(gScriptItemId + OFFSET_7B, 56, 64); + + sub_8146600(gScriptItemId + OFFSET_7B); +} diff --git a/src/blend_palette.c b/src/blend_palette.c index c9503388f..843c50ac1 100644 --- a/src/blend_palette.c +++ b/src/blend_palette.c @@ -1,4 +1,5 @@ #include "global.h" +#include "blend_palette.h" #include "palette.h" void BlendPalette(u16 palOffset, u16 numEntries, u8 coeff, u16 blendColor) diff --git a/src/calculate_base_damage.c b/src/calculate_base_damage.c new file mode 100644 index 000000000..186fa062c --- /dev/null +++ b/src/calculate_base_damage.c @@ -0,0 +1,1484 @@ +#include "global.h" +#include "text.h" +#include "string_util.h" +#include "pokemon.h" +#include "species.h" +#include "main.h" +#include "sprite.h" +#include "berry.h" +#include "item.h" +#include "abilities.h" +#include "hold_effects.h" +#include "flag.h" + +extern u8 gPlayerPartyCount; +extern struct Pokemon gPlayerParty[6]; +extern u8 gEnemyPartyCount; +extern struct Pokemon gEnemyParty[6]; + +extern u16 unk_20160BC[]; +extern struct SecretBaseRecord gSecretBaseRecord; +extern u32 dword_2017100[]; +extern u16 gUnknown_020239F8; +extern struct BattlePokemon gBattleMons[4]; +extern u16 gUnknown_02024BE6; +extern u8 byte_2024C06; +extern u8 gCritMultiplier; +extern u16 gBattleWeather; +extern struct BattleEnigmaBerry gEnigmaBerries[]; +extern u16 gBattleMovePower; +extern struct SpriteTemplate gUnknown_02024E8C; +extern u16 gTrainerBattleOpponent; +extern struct PokemonStorage gPokemonStorage; + +extern u8 gBadEggNickname[]; +extern u8 gEggNickname[]; +extern u32 gBitTable[]; +extern struct BaseStats gBaseStats[]; +extern u8 gSpeciesNames[][11]; +extern struct BattleMove gBattleMoves[]; +extern struct SpriteTemplate gSpriteTemplate_8208288[]; +extern union AmimCmd *gSpriteAnimTable_81E7C64[]; +extern union AnimCmd **gUnknown_081EC2A4[]; +extern union AnimCmd **gUnknown_081ECACC[]; +extern u8 gTrainerClassToPicIndex[]; +extern u8 gTrainerClassToNameIndex[]; +extern u8 gSecretBaseTrainerClasses[]; +extern u8 gUnknown_08208238[]; +extern u8 gUnknown_0820823C[]; +extern u8 gStatStageRatios[]; +extern u8 gHoldEffectToType[][2]; + +extern u8 battle_side_get_owner(u8); +extern u8 sub_8018324(u8, u8, u8, u8, u16); +extern u8 sub_803C348(u8); + +#define APPLY_STAT_MOD(var, mon, stat, statIndex) \ +{ \ + (var) = (stat) * (gStatStageRatios)[(mon)->statStages[(statIndex)] * 2]; \ + (var) /= (gStatStageRatios + 1)[(mon)->statStages[(statIndex)] * 2]; \ +} + +#ifdef NONMATCHING +s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *defender, u32 move, u8 a4, u16 powerOverride, u8 typeOverride, u8 a7, u8 a8) +{ + s32 i; + s32 damage = 0; + u8 type; + u16 attack, defense; + u16 spAttack, spDefense; + u8 defenderHoldEffect; + u8 defenderHoldEffectParam; + u8 attackerHoldEffect; + u8 attackerHoldEffectParam; + s32 a, b; + + if (!powerOverride) + gBattleMovePower = gBattleMoves[move].power; + else + gBattleMovePower = powerOverride; + + if (!typeOverride) + type = gBattleMoves[move].type; + else + type = typeOverride & 0x3F; + + attack = attacker->attack; + defense = defender->defense; + spAttack = attacker->spAttack; + spDefense = defender->spDefense; + + if (attacker->item == 175) + { + attackerHoldEffect = gEnigmaBerries[a7].holdEffect; + attackerHoldEffectParam = gEnigmaBerries[a7].holdEffectParam; + } + else + { + attackerHoldEffect = ItemId_GetHoldEffect(attacker->item); + attackerHoldEffectParam = ItemId_GetHoldEffectParam(attacker->item); + } + + if (defender->item == 175) + { + defenderHoldEffect = gEnigmaBerries[a8].holdEffect; + defenderHoldEffectParam = gEnigmaBerries[a8].holdEffectParam; + } + else + { + defenderHoldEffect = ItemId_GetHoldEffect(defender->item); + defenderHoldEffectParam = ItemId_GetHoldEffectParam(defender->item); + } + + if (attacker->ability == ABILITY_HUGE_POWER || attacker->ability == ABILITY_PURE_POWER) + attack *= 2; + + if (!(gUnknown_020239F8 & 0x902)) + { + if ((gUnknown_020239F8 & 8) + && gTrainerBattleOpponent != 1024 + && FlagGet(BADGE01_GET) + && !battle_side_get_owner(a7)) + attack = (110 * attack) / 100; + + if (!(gUnknown_020239F8 & 0x902)) + { + if ((gUnknown_020239F8 & 8) + && gTrainerBattleOpponent != 1024 + && FlagGet(BADGE05_GET) + && !battle_side_get_owner(a8)) + defense = (110 * defense) / 100; + + if (!(gUnknown_020239F8 & 0x902)) + { + if ((gUnknown_020239F8 & 8) + && gTrainerBattleOpponent != 1024 + && FlagGet(BADGE07_GET) + && !battle_side_get_owner(a7)) + spAttack = (110 * spAttack) / 100; + + if (!(gUnknown_020239F8 & 0x902)) + { + if ((gUnknown_020239F8 & 8) + && gTrainerBattleOpponent != 1024 + && FlagGet(BADGE07_GET) + && !battle_side_get_owner(a8)) + spDefense = (110 * spDefense) / 100; + } + } + } + } + + for (i = 0; i < 17; i++) + { + if (attackerHoldEffect == gHoldEffectToType[i][0] + && type == gHoldEffectToType[i][1]) + { + if (type <= 8) + attack = (attack * (attackerHoldEffectParam + 100)) / 100; + else + spAttack = (spAttack * (attackerHoldEffectParam + 100)) / 100; + break; + } + } + + if (attackerHoldEffect == HOLD_EFFECT_CHOICE_BAND) + attack = (150 * attack) / 100; + if (attackerHoldEffect == HOLD_EFFECT_SOUL_DEW && !(gUnknown_020239F8 & 0x100) && (attacker->species == SPECIES_LATIAS || attacker->species == SPECIES_LATIOS)) + spAttack = (150 * spAttack) / 100; + if (defenderHoldEffect == HOLD_EFFECT_SOUL_DEW && !(gUnknown_020239F8 & 0x100) && (defender->species == SPECIES_LATIAS || defender->species == SPECIES_LATIOS)) + spDefense = (150 * spDefense) / 100; + if (attackerHoldEffect == HOLD_EFFECT_DEEP_SEA_TOOTH && attacker->species == SPECIES_CLAMPERL) + spAttack *= 2; + if (defenderHoldEffect == HOLD_EFFECT_DEEP_SEA_SCALE && defender->species == SPECIES_CLAMPERL) + spDefense *= 2; + if (attackerHoldEffect == HOLD_EFFECT_LIGHT_BALL && attacker->species == SPECIES_PIKACHU) + spAttack *= 2; + if (defenderHoldEffect == HOLD_EFFECT_METAL_POWDER && defender->species == SPECIES_DITTO) + defense *= 2; + if (attackerHoldEffect == HOLD_EFFECT_THICK_CLUB && (attacker->species == SPECIES_CUBONE || attacker->species == SPECIES_MAROWAK)) + attack *= 2; + if (defender->ability == ABILITY_THICK_FAT && (type == TYPE_FIRE || type == TYPE_ICE)) + spAttack /= 2; + if (attacker->ability == ABILITY_HUSTLE) + attack = (150 * attack) / 100; + if (attacker->ability == ABILITY_PLUS && sub_8018324(0xE, 0, ABILITY_MINUS, 0, 0)) + spAttack = (150 * spAttack) / 100; + if (attacker->ability == ABILITY_MINUS && sub_8018324(0xE, 0, ABILITY_PLUS, 0, 0)) + spAttack = (150 * spAttack) / 100; + if (attacker->ability == ABILITY_GUTS && attacker->status1) + attack = (150 * attack) / 100; + if (defender->ability == ABILITY_MARVEL_SCALE && defender->status1) + defense = (150 * defense) / 100; + if (type == TYPE_ELECTRIC && sub_8018324(0xE, 0, 0, 0xFD, 0)) + gBattleMovePower /= 2; + if (type == TYPE_FIRE && sub_8018324(0xE, 0, 0, 0xFE, 0)) + gBattleMovePower /= 2; + if (type == TYPE_GRASS && attacker->ability == ABILITY_OVERGROW && attacker->hp <= (attacker->maxHP / 3)) + gBattleMovePower = (150 * gBattleMovePower) / 100; + if (type == TYPE_FIRE && attacker->ability == ABILITY_BLAZE && attacker->hp <= (attacker->maxHP / 3)) + gBattleMovePower = (150 * gBattleMovePower) / 100; + if (type == TYPE_WATER && attacker->ability == ABILITY_TORRENT && attacker->hp <= (attacker->maxHP / 3)) + gBattleMovePower = (150 * gBattleMovePower) / 100; + if (type == TYPE_BUG && attacker->ability == ABILITY_SWARM && attacker->hp <= (attacker->maxHP / 3)) + gBattleMovePower = (150 * gBattleMovePower) / 100; + if (gBattleMoves[gUnknown_02024BE6].effect == 7) + defense /= 2; + + if (type <= 8) + { + if (gCritMultiplier == 2) + { + if (attacker->statStages[1] > 6) + APPLY_STAT_MOD(a, attacker, attack, 1) + else + a = attack; + } + else + APPLY_STAT_MOD(a, attacker, attack, 1) + + a = a * gBattleMovePower * (2 * attacker->level / 5 + 2); + + if (gCritMultiplier == 2) + { + if (defender->statStages[2] < 6) + APPLY_STAT_MOD(b, defender, defense, 2) + else + b = defense; + } + else + APPLY_STAT_MOD(b, defender, defense, 2) + + damage = (a / b) / 50; + + if ((attacker->status1 & 0x10) && attacker->ability != ABILITY_GUTS) + damage /= 2; + + if ((a4 & 1) && gCritMultiplier == 1) + { + if ((gUnknown_020239F8 & 1) && sub_803C348(2) == 2) + damage = 2 * (damage / 3); + else + damage /= 2; + } + + if ((gUnknown_020239F8 & 1) && gBattleMoves[move].target == 8 && sub_803C348(2) == 2) + damage /= 2; + + if (damage == 0) + damage = 1; + } + + if (type == 9) + damage = 0; + + if (type > 9) + { + if (gCritMultiplier == 2) + { + if (attacker->statStages[4] > 6) + APPLY_STAT_MOD(a, attacker, spAttack, 4) + else + a = spAttack; + } + else + APPLY_STAT_MOD(a, attacker, spAttack, 4) + + a = a * gBattleMovePower * (2 * attacker->level / 5 + 2); + + if (gCritMultiplier == 2) + { + if (defender->statStages[5] < 6) + APPLY_STAT_MOD(b, defender, spDefense, 5) + else + b = spDefense; + } + else + APPLY_STAT_MOD(b, defender, spDefense, 5) + + damage = (a / b) / 50; + + if ((a4 & 2) && gCritMultiplier == 1) + { + if ((gUnknown_020239F8 & 1) && sub_803C348(2) == 2) + damage = 2 * (damage / 3); + else + damage /= 2; + } + + if ((gUnknown_020239F8 & 1) && gBattleMoves[move].target == 8 && sub_803C348(2) == 2) + damage /= 2; + + if (!sub_8018324(0xE, 0, ABILITY_CLOUD_NINE, 0, 0) && !sub_8018324(0xE, 0, ABILITY_AIR_LOCK, 0, 0)) + { + if (gBattleWeather & 1) + { + if (type == TYPE_FIRE) + { + damage /= 2; + } + else if (type == TYPE_WATER) + { + damage = (15 * damage) / 10; + } + } + if ((gBattleWeather & 0x9F) && gUnknown_02024BE6 == 76) + damage /= 2; + if (gBattleWeather & 0x60) + { + if (type == TYPE_FIRE) + { + damage = (15 * damage) / 10; + } + else if (type == TYPE_WATER) + { + damage /= 2; + } + } + } + if ((dword_2017100[a7] & 1) && type == TYPE_FIRE) + damage = (15 * damage) / 10; + } + + return damage + 2; +} +#else +__attribute__((naked)) +s32 CalculateBaseDamage(struct BattlePokemon *attacker, struct BattlePokemon *defender, u32 move, u8 a4, u16 powerOverride, u8 typeOverride, u8 a7, u8 a8) +{ + asm(".syntax unified\n\ + push {r4-r7,lr}\n\ + mov r7, r10\n\ + mov r6, r9\n\ + mov r5, r8\n\ + push {r5-r7}\n\ + sub sp, 0x2C\n\ + adds r7, r0, 0\n\ + str r1, [sp, 0x4]\n\ + str r2, [sp, 0x8]\n\ + ldr r0, [sp, 0x4C]\n\ + ldr r1, [sp, 0x50]\n\ + ldr r2, [sp, 0x54]\n\ + ldr r4, [sp, 0x58]\n\ + lsls r3, 16\n\ + lsrs r3, 16\n\ + str r3, [sp, 0xC]\n\ + lsls r0, 16\n\ + lsrs r3, r0, 16\n\ + lsls r1, 24\n\ + lsrs r6, r1, 24\n\ + lsls r2, 24\n\ + lsrs r2, 24\n\ + str r2, [sp, 0x10]\n\ + lsls r4, 24\n\ + lsrs r4, 24\n\ + movs r5, 0\n\ + cmp r3, 0\n\ + bne _0803BA80\n\ + ldr r2, _0803BA78 @ =gBattleMovePower\n\ + ldr r1, _0803BA7C @ =gBattleMoves\n\ + ldr r3, [sp, 0x8]\n\ + lsls r0, r3, 1\n\ + adds r0, r3\n\ + lsls r0, 2\n\ + adds r0, r1\n\ + ldrb r0, [r0, 0x1]\n\ + strh r0, [r2]\n\ + b _0803BA84\n\ + .align 2, 0\n\ +_0803BA78: .4byte gBattleMovePower\n\ +_0803BA7C: .4byte gBattleMoves\n\ +_0803BA80:\n\ + ldr r0, _0803BA9C @ =gBattleMovePower\n\ + strh r3, [r0]\n\ +_0803BA84:\n\ + cmp r6, 0\n\ + bne _0803BAA4\n\ + ldr r1, _0803BAA0 @ =gBattleMoves\n\ + ldr r6, [sp, 0x8]\n\ + lsls r0, r6, 1\n\ + adds r0, r6\n\ + lsls r0, 2\n\ + adds r0, r1\n\ + ldrb r0, [r0, 0x2]\n\ + mov r9, r0\n\ + b _0803BAAE\n\ + .align 2, 0\n\ +_0803BA9C: .4byte gBattleMovePower\n\ +_0803BAA0: .4byte gBattleMoves\n\ +_0803BAA4:\n\ + movs r0, 0x3F\n\ + mov r9, r0\n\ + mov r1, r9\n\ + ands r1, r6\n\ + mov r9, r1\n\ +_0803BAAE:\n\ + ldrh r6, [r7, 0x2]\n\ + ldr r2, [sp, 0x4]\n\ + ldrh r2, [r2, 0x4]\n\ + str r2, [sp, 0x14]\n\ + ldrh r3, [r7, 0x8]\n\ + mov r8, r3\n\ + ldr r0, [sp, 0x4]\n\ + ldrh r0, [r0, 0xA]\n\ + str r0, [sp, 0x18]\n\ + ldrh r0, [r7, 0x2E]\n\ + cmp r0, 0xAF\n\ + bne _0803BAE0\n\ + ldr r1, _0803BADC @ =gEnigmaBerries\n\ + ldr r2, [sp, 0x10]\n\ + lsls r0, r2, 3\n\ + subs r0, r2\n\ + lsls r0, 2\n\ + adds r0, r1\n\ + ldrb r3, [r0, 0x7]\n\ + mov r10, r3\n\ + ldrb r0, [r0, 0x1A]\n\ + b _0803BAF6\n\ + .align 2, 0\n\ +_0803BADC: .4byte gEnigmaBerries\n\ +_0803BAE0:\n\ + ldrh r0, [r7, 0x2E]\n\ + bl ItemId_GetHoldEffect\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + mov r10, r0\n\ + ldrh r0, [r7, 0x2E]\n\ + bl ItemId_GetHoldEffectParam\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ +_0803BAF6:\n\ + str r0, [sp, 0x20]\n\ + ldr r1, [sp, 0x4]\n\ + ldrh r0, [r1, 0x2E]\n\ + cmp r0, 0xAF\n\ + bne _0803BB26\n\ + ldr r1, _0803BB10 @ =gEnigmaBerries\n\ + lsls r0, r4, 3\n\ + subs r0, r4\n\ + lsls r0, 2\n\ + adds r0, r1\n\ + ldrb r0, [r0, 0x7]\n\ + str r0, [sp, 0x1C]\n\ + b _0803BB3C\n\ + .align 2, 0\n\ +_0803BB10: .4byte gEnigmaBerries\n\ +_0803BB14:\n\ + ldr r0, [sp, 0x20]\n\ + adds r0, 0x64\n\ + muls r0, r6\n\ + movs r1, 0x64\n\ + bl __divsi3\n\ + lsls r0, 16\n\ + lsrs r6, r0, 16\n\ + b _0803BCDC\n\ +_0803BB26:\n\ + ldr r2, [sp, 0x4]\n\ + ldrh r0, [r2, 0x2E]\n\ + bl ItemId_GetHoldEffect\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + str r0, [sp, 0x1C]\n\ + ldr r3, [sp, 0x4]\n\ + ldrh r0, [r3, 0x2E]\n\ + bl ItemId_GetHoldEffectParam\n\ +_0803BB3C:\n\ + adds r0, r7, 0\n\ + adds r0, 0x20\n\ + ldrb r1, [r0]\n\ + str r0, [sp, 0x24]\n\ + cmp r1, 0x25\n\ + beq _0803BB4C\n\ + cmp r1, 0x4A\n\ + bne _0803BB50\n\ +_0803BB4C:\n\ + lsls r0, r6, 17\n\ + lsrs r6, r0, 16\n\ +_0803BB50:\n\ + ldr r0, _0803BCB8 @ =gUnknown_020239F8\n\ + ldrh r1, [r0]\n\ + ldr r0, _0803BCBC @ =0x00000902\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + beq _0803BB5E\n\ + b _0803BC78\n\ +_0803BB5E:\n\ + movs r0, 0x8\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + beq _0803BB98\n\ + ldr r0, _0803BCC0 @ =gTrainerBattleOpponent\n\ + ldrh r1, [r0]\n\ + movs r0, 0x80\n\ + lsls r0, 3\n\ + cmp r1, r0\n\ + beq _0803BB98\n\ + ldr r0, _0803BCC4 @ =0x00000807\n\ + bl FlagGet\n\ + lsls r0, 24\n\ + cmp r0, 0\n\ + beq _0803BB98\n\ + ldr r0, [sp, 0x10]\n\ + bl battle_side_get_owner\n\ + lsls r0, 24\n\ + cmp r0, 0\n\ + bne _0803BB98\n\ + movs r0, 0x6E\n\ + muls r0, r6\n\ + movs r1, 0x64\n\ + bl __divsi3\n\ + lsls r0, 16\n\ + lsrs r6, r0, 16\n\ +_0803BB98:\n\ + ldr r0, _0803BCB8 @ =gUnknown_020239F8\n\ + ldrh r1, [r0]\n\ + ldr r0, _0803BCBC @ =0x00000902\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + bne _0803BC78\n\ + movs r0, 0x8\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + beq _0803BBE2\n\ + ldr r0, _0803BCC0 @ =gTrainerBattleOpponent\n\ + ldrh r1, [r0]\n\ + movs r0, 0x80\n\ + lsls r0, 3\n\ + cmp r1, r0\n\ + beq _0803BBE2\n\ + ldr r0, _0803BCC8 @ =0x0000080b\n\ + bl FlagGet\n\ + lsls r0, 24\n\ + cmp r0, 0\n\ + beq _0803BBE2\n\ + adds r0, r4, 0\n\ + bl battle_side_get_owner\n\ + lsls r0, 24\n\ + cmp r0, 0\n\ + bne _0803BBE2\n\ + movs r0, 0x6E\n\ + ldr r1, [sp, 0x14]\n\ + muls r0, r1\n\ + movs r1, 0x64\n\ + bl __divsi3\n\ + lsls r0, 16\n\ + lsrs r0, 16\n\ + str r0, [sp, 0x14]\n\ +_0803BBE2:\n\ + ldr r0, _0803BCB8 @ =gUnknown_020239F8\n\ + ldrh r1, [r0]\n\ + ldr r0, _0803BCBC @ =0x00000902\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + bne _0803BC78\n\ + movs r0, 0x8\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + beq _0803BC2E\n\ + ldr r0, _0803BCC0 @ =gTrainerBattleOpponent\n\ + ldrh r1, [r0]\n\ + movs r0, 0x80\n\ + lsls r0, 3\n\ + cmp r1, r0\n\ + beq _0803BC2E\n\ + ldr r0, _0803BCCC @ =0x0000080d\n\ + bl FlagGet\n\ + lsls r0, 24\n\ + cmp r0, 0\n\ + beq _0803BC2E\n\ + ldr r0, [sp, 0x10]\n\ + bl battle_side_get_owner\n\ + lsls r0, 24\n\ + cmp r0, 0\n\ + bne _0803BC2E\n\ + movs r0, 0x6E\n\ + mov r2, r8\n\ + muls r2, r0\n\ + adds r0, r2, 0\n\ + movs r1, 0x64\n\ + bl __divsi3\n\ + lsls r0, 16\n\ + lsrs r0, 16\n\ + mov r8, r0\n\ +_0803BC2E:\n\ + ldr r0, _0803BCB8 @ =gUnknown_020239F8\n\ + ldrh r1, [r0]\n\ + ldr r0, _0803BCBC @ =0x00000902\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + bne _0803BC78\n\ + movs r0, 0x8\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + beq _0803BC78\n\ + ldr r0, _0803BCC0 @ =gTrainerBattleOpponent\n\ + ldrh r1, [r0]\n\ + movs r0, 0x80\n\ + lsls r0, 3\n\ + cmp r1, r0\n\ + beq _0803BC78\n\ + ldr r0, _0803BCCC @ =0x0000080d\n\ + bl FlagGet\n\ + lsls r0, 24\n\ + cmp r0, 0\n\ + beq _0803BC78\n\ + adds r0, r4, 0\n\ + bl battle_side_get_owner\n\ + lsls r0, 24\n\ + cmp r0, 0\n\ + bne _0803BC78\n\ + movs r0, 0x6E\n\ + ldr r3, [sp, 0x18]\n\ + muls r0, r3\n\ + movs r1, 0x64\n\ + bl __divsi3\n\ + lsls r0, 16\n\ + lsrs r0, 16\n\ + str r0, [sp, 0x18]\n\ +_0803BC78:\n\ + movs r2, 0\n\ + ldr r4, _0803BCD0 @ =gHoldEffectToType\n\ + ldr r0, [sp, 0x4]\n\ + adds r0, 0x20\n\ + str r0, [sp, 0x28]\n\ + adds r3, r4, 0\n\ +_0803BC84:\n\ + lsls r1, r2, 1\n\ + ldrb r0, [r3]\n\ + cmp r10, r0\n\ + bne _0803BCD4\n\ + adds r0, r4, 0x1\n\ + adds r0, r1, r0\n\ + ldrb r0, [r0]\n\ + cmp r9, r0\n\ + bne _0803BCD4\n\ + mov r1, r9\n\ + cmp r1, 0x8\n\ + bhi _0803BC9E\n\ + b _0803BB14\n\ +_0803BC9E:\n\ + ldr r0, [sp, 0x20]\n\ + adds r0, 0x64\n\ + mov r2, r8\n\ + muls r2, r0\n\ + adds r0, r2, 0\n\ + movs r1, 0x64\n\ + bl __divsi3\n\ + lsls r0, 16\n\ + lsrs r0, 16\n\ + mov r8, r0\n\ + b _0803BCDC\n\ + .align 2, 0\n\ +_0803BCB8: .4byte gUnknown_020239F8\n\ +_0803BCBC: .4byte 0x00000902\n\ +_0803BCC0: .4byte gTrainerBattleOpponent\n\ +_0803BCC4: .4byte 0x00000807\n\ +_0803BCC8: .4byte 0x0000080b\n\ +_0803BCCC: .4byte 0x0000080d\n\ +_0803BCD0: .4byte gHoldEffectToType\n\ +_0803BCD4:\n\ + adds r3, 0x2\n\ + adds r2, 0x1\n\ + cmp r2, 0x10\n\ + bls _0803BC84\n\ +_0803BCDC:\n\ + mov r3, r10\n\ + cmp r3, 0x1D\n\ + bne _0803BCF0\n\ + movs r0, 0x96\n\ + muls r0, r6\n\ + movs r1, 0x64\n\ + bl __divsi3\n\ + lsls r0, 16\n\ + lsrs r6, r0, 16\n\ +_0803BCF0:\n\ + mov r0, r10\n\ + cmp r0, 0x22\n\ + bne _0803BD28\n\ + ldr r0, _0803BFDC @ =gUnknown_020239F8\n\ + ldrh r1, [r0]\n\ + movs r0, 0x80\n\ + lsls r0, 1\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + bne _0803BD28\n\ + ldr r1, _0803BFE0 @ =0xfffffe69\n\ + adds r0, r1, 0\n\ + ldrh r2, [r7]\n\ + adds r0, r2\n\ + lsls r0, 16\n\ + lsrs r0, 16\n\ + cmp r0, 0x1\n\ + bhi _0803BD28\n\ + movs r0, 0x96\n\ + mov r3, r8\n\ + muls r3, r0\n\ + adds r0, r3, 0\n\ + movs r1, 0x64\n\ + bl __divsi3\n\ + lsls r0, 16\n\ + lsrs r0, 16\n\ + mov r8, r0\n\ +_0803BD28:\n\ + ldr r0, [sp, 0x1C]\n\ + cmp r0, 0x22\n\ + bne _0803BD60\n\ + ldr r0, _0803BFDC @ =gUnknown_020239F8\n\ + ldrh r1, [r0]\n\ + movs r0, 0x80\n\ + lsls r0, 1\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + bne _0803BD60\n\ + ldr r1, _0803BFE0 @ =0xfffffe69\n\ + adds r0, r1, 0\n\ + ldr r2, [sp, 0x4]\n\ + ldrh r2, [r2]\n\ + adds r0, r2\n\ + lsls r0, 16\n\ + lsrs r0, 16\n\ + cmp r0, 0x1\n\ + bhi _0803BD60\n\ + movs r0, 0x96\n\ + ldr r3, [sp, 0x18]\n\ + muls r0, r3\n\ + movs r1, 0x64\n\ + bl __divsi3\n\ + lsls r0, 16\n\ + lsrs r0, 16\n\ + str r0, [sp, 0x18]\n\ +_0803BD60:\n\ + mov r0, r10\n\ + cmp r0, 0x23\n\ + bne _0803BD76\n\ + ldrh r1, [r7]\n\ + ldr r0, _0803BFE4 @ =0x00000175\n\ + cmp r1, r0\n\ + bne _0803BD76\n\ + mov r1, r8\n\ + lsls r0, r1, 17\n\ + lsrs r0, 16\n\ + mov r8, r0\n\ +_0803BD76:\n\ + ldr r2, [sp, 0x1C]\n\ + cmp r2, 0x24\n\ + bne _0803BD8E\n\ + ldr r3, [sp, 0x4]\n\ + ldrh r1, [r3]\n\ + ldr r0, _0803BFE4 @ =0x00000175\n\ + cmp r1, r0\n\ + bne _0803BD8E\n\ + ldr r1, [sp, 0x18]\n\ + lsls r0, r1, 17\n\ + lsrs r0, 16\n\ + str r0, [sp, 0x18]\n\ +_0803BD8E:\n\ + mov r2, r10\n\ + cmp r2, 0x2D\n\ + bne _0803BDA2\n\ + ldrh r0, [r7]\n\ + cmp r0, 0x19\n\ + bne _0803BDA2\n\ + mov r3, r8\n\ + lsls r0, r3, 17\n\ + lsrs r0, 16\n\ + mov r8, r0\n\ +_0803BDA2:\n\ + ldr r0, [sp, 0x1C]\n\ + cmp r0, 0x40\n\ + bne _0803BDB8\n\ + ldr r1, [sp, 0x4]\n\ + ldrh r0, [r1]\n\ + cmp r0, 0x84\n\ + bne _0803BDB8\n\ + ldr r2, [sp, 0x14]\n\ + lsls r0, r2, 17\n\ + lsrs r0, 16\n\ + str r0, [sp, 0x14]\n\ +_0803BDB8:\n\ + mov r3, r10\n\ + cmp r3, 0x41\n\ + bne _0803BDCE\n\ + ldrh r0, [r7]\n\ + subs r0, 0x68\n\ + lsls r0, 16\n\ + lsrs r0, 16\n\ + cmp r0, 0x1\n\ + bhi _0803BDCE\n\ + lsls r0, r6, 17\n\ + lsrs r6, r0, 16\n\ +_0803BDCE:\n\ + ldr r1, [sp, 0x28]\n\ + ldrb r0, [r1]\n\ + cmp r0, 0x2F\n\ + bne _0803BDE6\n\ + mov r2, r9\n\ + cmp r2, 0xA\n\ + beq _0803BDE0\n\ + cmp r2, 0xF\n\ + bne _0803BDE6\n\ +_0803BDE0:\n\ + mov r3, r8\n\ + lsrs r3, 1\n\ + mov r8, r3\n\ +_0803BDE6:\n\ + ldr r0, [sp, 0x24]\n\ + ldrb r4, [r0]\n\ + cmp r4, 0x37\n\ + bne _0803BDFC\n\ + movs r0, 0x96\n\ + muls r0, r6\n\ + movs r1, 0x64\n\ + bl __divsi3\n\ + lsls r0, 16\n\ + lsrs r6, r0, 16\n\ +_0803BDFC:\n\ + cmp r4, 0x39\n\ + bne _0803BE2A\n\ + movs r0, 0\n\ + str r0, [sp]\n\ + movs r0, 0xE\n\ + movs r1, 0\n\ + movs r2, 0x3A\n\ + movs r3, 0\n\ + bl sub_8018324\n\ + lsls r0, 24\n\ + cmp r0, 0\n\ + beq _0803BE2A\n\ + movs r0, 0x96\n\ + mov r1, r8\n\ + muls r1, r0\n\ + adds r0, r1, 0\n\ + movs r1, 0x64\n\ + bl __divsi3\n\ + lsls r0, 16\n\ + lsrs r0, 16\n\ + mov r8, r0\n\ +_0803BE2A:\n\ + ldr r2, [sp, 0x24]\n\ + ldrb r0, [r2]\n\ + cmp r0, 0x3A\n\ + bne _0803BE5C\n\ + movs r0, 0\n\ + str r0, [sp]\n\ + movs r0, 0xE\n\ + movs r1, 0\n\ + movs r2, 0x39\n\ + movs r3, 0\n\ + bl sub_8018324\n\ + lsls r0, 24\n\ + cmp r0, 0\n\ + beq _0803BE5C\n\ + movs r0, 0x96\n\ + mov r3, r8\n\ + muls r3, r0\n\ + adds r0, r3, 0\n\ + movs r1, 0x64\n\ + bl __divsi3\n\ + lsls r0, 16\n\ + lsrs r0, 16\n\ + mov r8, r0\n\ +_0803BE5C:\n\ + ldr r1, [sp, 0x24]\n\ + ldrb r0, [r1]\n\ + cmp r0, 0x3E\n\ + bne _0803BE78\n\ + ldr r0, [r7, 0x4C]\n\ + cmp r0, 0\n\ + beq _0803BE78\n\ + movs r0, 0x96\n\ + muls r0, r6\n\ + movs r1, 0x64\n\ + bl __divsi3\n\ + lsls r0, 16\n\ + lsrs r6, r0, 16\n\ +_0803BE78:\n\ + ldr r2, [sp, 0x28]\n\ + ldrb r0, [r2]\n\ + cmp r0, 0x3F\n\ + bne _0803BE9A\n\ + ldr r3, [sp, 0x4]\n\ + ldr r0, [r3, 0x4C]\n\ + cmp r0, 0\n\ + beq _0803BE9A\n\ + movs r0, 0x96\n\ + ldr r1, [sp, 0x14]\n\ + muls r0, r1\n\ + movs r1, 0x64\n\ + bl __divsi3\n\ + lsls r0, 16\n\ + lsrs r0, 16\n\ + str r0, [sp, 0x14]\n\ +_0803BE9A:\n\ + mov r2, r9\n\ + cmp r2, 0xD\n\ + bne _0803BEBE\n\ + movs r0, 0\n\ + str r0, [sp]\n\ + movs r0, 0xE\n\ + movs r1, 0\n\ + movs r2, 0\n\ + movs r3, 0xFD\n\ + bl sub_8018324\n\ + lsls r0, 24\n\ + cmp r0, 0\n\ + beq _0803BEBE\n\ + ldr r1, _0803BFE8 @ =gBattleMovePower\n\ + ldrh r0, [r1]\n\ + lsrs r0, 1\n\ + strh r0, [r1]\n\ +_0803BEBE:\n\ + mov r3, r9\n\ + cmp r3, 0xA\n\ + bne _0803BEE2\n\ + movs r0, 0\n\ + str r0, [sp]\n\ + movs r0, 0xE\n\ + movs r1, 0\n\ + movs r2, 0\n\ + movs r3, 0xFE\n\ + bl sub_8018324\n\ + lsls r0, 24\n\ + cmp r0, 0\n\ + beq _0803BEE2\n\ + ldr r1, _0803BFE8 @ =gBattleMovePower\n\ + ldrh r0, [r1]\n\ + lsrs r0, 1\n\ + strh r0, [r1]\n\ +_0803BEE2:\n\ + mov r0, r9\n\ + cmp r0, 0xC\n\ + bne _0803BF12\n\ + ldr r1, [sp, 0x24]\n\ + ldrb r0, [r1]\n\ + cmp r0, 0x41\n\ + bne _0803BF12\n\ + ldrh r0, [r7, 0x2C]\n\ + movs r1, 0x3\n\ + bl __udivsi3\n\ + ldrh r1, [r7, 0x28]\n\ + lsls r0, 16\n\ + lsrs r0, 16\n\ + cmp r1, r0\n\ + bhi _0803BF12\n\ + ldr r4, _0803BFE8 @ =gBattleMovePower\n\ + ldrh r1, [r4]\n\ + movs r0, 0x96\n\ + muls r0, r1\n\ + movs r1, 0x64\n\ + bl __divsi3\n\ + strh r0, [r4]\n\ +_0803BF12:\n\ + mov r2, r9\n\ + cmp r2, 0xA\n\ + bne _0803BF42\n\ + ldr r3, [sp, 0x24]\n\ + ldrb r0, [r3]\n\ + cmp r0, 0x42\n\ + bne _0803BF42\n\ + ldrh r0, [r7, 0x2C]\n\ + movs r1, 0x3\n\ + bl __udivsi3\n\ + ldrh r1, [r7, 0x28]\n\ + lsls r0, 16\n\ + lsrs r0, 16\n\ + cmp r1, r0\n\ + bhi _0803BF42\n\ + ldr r4, _0803BFE8 @ =gBattleMovePower\n\ + ldrh r1, [r4]\n\ + movs r0, 0x96\n\ + muls r0, r1\n\ + movs r1, 0x64\n\ + bl __divsi3\n\ + strh r0, [r4]\n\ +_0803BF42:\n\ + mov r0, r9\n\ + cmp r0, 0xB\n\ + bne _0803BF72\n\ + ldr r1, [sp, 0x24]\n\ + ldrb r0, [r1]\n\ + cmp r0, 0x43\n\ + bne _0803BF72\n\ + ldrh r0, [r7, 0x2C]\n\ + movs r1, 0x3\n\ + bl __udivsi3\n\ + ldrh r1, [r7, 0x28]\n\ + lsls r0, 16\n\ + lsrs r0, 16\n\ + cmp r1, r0\n\ + bhi _0803BF72\n\ + ldr r4, _0803BFE8 @ =gBattleMovePower\n\ + ldrh r1, [r4]\n\ + movs r0, 0x96\n\ + muls r0, r1\n\ + movs r1, 0x64\n\ + bl __divsi3\n\ + strh r0, [r4]\n\ +_0803BF72:\n\ + mov r2, r9\n\ + cmp r2, 0x6\n\ + bne _0803BFA2\n\ + ldr r3, [sp, 0x24]\n\ + ldrb r0, [r3]\n\ + cmp r0, 0x44\n\ + bne _0803BFA2\n\ + ldrh r0, [r7, 0x2C]\n\ + movs r1, 0x3\n\ + bl __udivsi3\n\ + ldrh r1, [r7, 0x28]\n\ + lsls r0, 16\n\ + lsrs r0, 16\n\ + cmp r1, r0\n\ + bhi _0803BFA2\n\ + ldr r4, _0803BFE8 @ =gBattleMovePower\n\ + ldrh r1, [r4]\n\ + movs r0, 0x96\n\ + muls r0, r1\n\ + movs r1, 0x64\n\ + bl __divsi3\n\ + strh r0, [r4]\n\ +_0803BFA2:\n\ + ldr r2, _0803BFEC @ =gBattleMoves\n\ + ldr r0, _0803BFF0 @ =gUnknown_02024BE6\n\ + ldrh r1, [r0]\n\ + lsls r0, r1, 1\n\ + adds r0, r1\n\ + lsls r0, 2\n\ + adds r0, r2\n\ + ldrb r0, [r0]\n\ + cmp r0, 0x7\n\ + bne _0803BFBC\n\ + ldr r0, [sp, 0x14]\n\ + lsrs r0, 1\n\ + str r0, [sp, 0x14]\n\ +_0803BFBC:\n\ + mov r1, r9\n\ + cmp r1, 0x8\n\ + bls _0803BFC4\n\ + b _0803C122\n\ +_0803BFC4:\n\ + ldr r0, _0803BFF4 @ =gCritMultiplier\n\ + ldrb r1, [r0]\n\ + adds r4, r0, 0\n\ + cmp r1, 0x2\n\ + bne _0803C000\n\ + movs r0, 0x19\n\ + ldrsb r0, [r7, r0]\n\ + cmp r0, 0x6\n\ + ble _0803BFFC\n\ + ldr r2, _0803BFF8 @ =gStatStageRatios\n\ + b _0803C006\n\ + .align 2, 0\n\ +_0803BFDC: .4byte gUnknown_020239F8\n\ +_0803BFE0: .4byte 0xfffffe69\n\ +_0803BFE4: .4byte 0x00000175\n\ +_0803BFE8: .4byte gBattleMovePower\n\ +_0803BFEC: .4byte gBattleMoves\n\ +_0803BFF0: .4byte gUnknown_02024BE6\n\ +_0803BFF4: .4byte gCritMultiplier\n\ +_0803BFF8: .4byte gStatStageRatios\n\ +_0803BFFC:\n\ + adds r5, r6, 0\n\ + b _0803C01E\n\ +_0803C000:\n\ + ldr r2, _0803C050 @ =gStatStageRatios\n\ + movs r0, 0x19\n\ + ldrsb r0, [r7, r0]\n\ +_0803C006:\n\ + lsls r0, 1\n\ + adds r1, r0, r2\n\ + ldrb r1, [r1]\n\ + adds r5, r6, 0\n\ + muls r5, r1\n\ + adds r2, 0x1\n\ + adds r0, r2\n\ + ldrb r1, [r0]\n\ + adds r0, r5, 0\n\ + bl __divsi3\n\ + adds r5, r0, 0\n\ +_0803C01E:\n\ + ldr r0, _0803C054 @ =gBattleMovePower\n\ + ldrh r0, [r0]\n\ + muls r5, r0\n\ + adds r0, r7, 0\n\ + adds r0, 0x2A\n\ + ldrb r0, [r0]\n\ + lsls r0, 1\n\ + movs r1, 0x5\n\ + bl __divsi3\n\ + adds r0, 0x2\n\ + muls r5, r0\n\ + ldrb r0, [r4]\n\ + cmp r0, 0x2\n\ + bne _0803C05C\n\ + ldr r2, [sp, 0x4]\n\ + movs r0, 0x1A\n\ + ldrsb r0, [r2, r0]\n\ + cmp r0, 0x5\n\ + bgt _0803C058\n\ + ldr r2, _0803C050 @ =gStatStageRatios\n\ + ldr r3, [sp, 0x4]\n\ + movs r0, 0x1A\n\ + ldrsb r0, [r3, r0]\n\ + b _0803C064\n\ + .align 2, 0\n\ +_0803C050: .4byte gStatStageRatios\n\ +_0803C054: .4byte gBattleMovePower\n\ +_0803C058:\n\ + ldr r3, [sp, 0x14]\n\ + b _0803C07E\n\ +_0803C05C:\n\ + ldr r2, _0803C0DC @ =gStatStageRatios\n\ + ldr r1, [sp, 0x4]\n\ + movs r0, 0x1A\n\ + ldrsb r0, [r1, r0]\n\ +_0803C064:\n\ + lsls r0, 1\n\ + adds r1, r0, r2\n\ + ldrb r1, [r1]\n\ + ldr r6, [sp, 0x14]\n\ + adds r3, r6, 0\n\ + muls r3, r1\n\ + adds r2, 0x1\n\ + adds r0, r2\n\ + ldrb r1, [r0]\n\ + adds r0, r3, 0\n\ + bl __divsi3\n\ + adds r3, r0, 0\n\ +_0803C07E:\n\ + adds r0, r5, 0\n\ + adds r1, r3, 0\n\ + bl __divsi3\n\ + adds r5, r0, 0\n\ + movs r1, 0x32\n\ + bl __divsi3\n\ + adds r5, r0, 0\n\ + ldr r0, [r7, 0x4C]\n\ + movs r1, 0x10\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + beq _0803C0A8\n\ + ldr r1, [sp, 0x24]\n\ + ldrb r0, [r1]\n\ + cmp r0, 0x3E\n\ + beq _0803C0A8\n\ + lsrs r0, r5, 31\n\ + adds r0, r5, r0\n\ + asrs r5, r0, 1\n\ +_0803C0A8:\n\ + movs r0, 0x1\n\ + ldr r2, [sp, 0xC]\n\ + ands r0, r2\n\ + cmp r0, 0\n\ + beq _0803C0EA\n\ + ldrb r1, [r4]\n\ + cmp r1, 0x1\n\ + bne _0803C0EA\n\ + ldr r0, _0803C0E0 @ =gUnknown_020239F8\n\ + ldrh r0, [r0]\n\ + ands r1, r0\n\ + cmp r1, 0\n\ + beq _0803C0E4\n\ + movs r0, 0x2\n\ + bl sub_803C348\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + cmp r0, 0x2\n\ + bne _0803C0E4\n\ + adds r0, r5, 0\n\ + movs r1, 0x3\n\ + bl __divsi3\n\ + lsls r5, r0, 1\n\ + b _0803C0EA\n\ + .align 2, 0\n\ +_0803C0DC: .4byte gStatStageRatios\n\ +_0803C0E0: .4byte gUnknown_020239F8\n\ +_0803C0E4:\n\ + lsrs r0, r5, 31\n\ + adds r0, r5, r0\n\ + asrs r5, r0, 1\n\ +_0803C0EA:\n\ + ldr r0, _0803C148 @ =gUnknown_020239F8\n\ + ldrh r1, [r0]\n\ + movs r0, 0x1\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + beq _0803C11C\n\ + ldr r0, _0803C14C @ =gBattleMoves\n\ + ldr r3, [sp, 0x8]\n\ + lsls r1, r3, 1\n\ + adds r1, r3\n\ + lsls r1, 2\n\ + adds r1, r0\n\ + ldrb r0, [r1, 0x6]\n\ + cmp r0, 0x8\n\ + bne _0803C11C\n\ + movs r0, 0x2\n\ + bl sub_803C348\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + cmp r0, 0x2\n\ + bne _0803C11C\n\ + lsrs r0, r5, 31\n\ + adds r0, r5, r0\n\ + asrs r5, r0, 1\n\ +_0803C11C:\n\ + cmp r5, 0\n\ + bne _0803C122\n\ + movs r5, 0x1\n\ +_0803C122:\n\ + mov r6, r9\n\ + cmp r6, 0x9\n\ + bne _0803C12A\n\ + movs r5, 0\n\ +_0803C12A:\n\ + mov r0, r9\n\ + cmp r0, 0x9\n\ + bhi _0803C132\n\ + b _0803C330\n\ +_0803C132:\n\ + ldr r0, _0803C150 @ =gCritMultiplier\n\ + ldrb r1, [r0]\n\ + adds r4, r0, 0\n\ + cmp r1, 0x2\n\ + bne _0803C15C\n\ + movs r0, 0x1C\n\ + ldrsb r0, [r7, r0]\n\ + cmp r0, 0x6\n\ + ble _0803C158\n\ + ldr r2, _0803C154 @ =gStatStageRatios\n\ + b _0803C162\n\ + .align 2, 0\n\ +_0803C148: .4byte gUnknown_020239F8\n\ +_0803C14C: .4byte gBattleMoves\n\ +_0803C150: .4byte gCritMultiplier\n\ +_0803C154: .4byte gStatStageRatios\n\ +_0803C158:\n\ + mov r5, r8\n\ + b _0803C17A\n\ +_0803C15C:\n\ + ldr r2, _0803C1A8 @ =gStatStageRatios\n\ + movs r0, 0x1C\n\ + ldrsb r0, [r7, r0]\n\ +_0803C162:\n\ + lsls r0, 1\n\ + adds r1, r0, r2\n\ + ldrb r1, [r1]\n\ + mov r5, r8\n\ + muls r5, r1\n\ + adds r2, 0x1\n\ + adds r0, r2\n\ + ldrb r1, [r0]\n\ + adds r0, r5, 0\n\ + bl __divsi3\n\ + adds r5, r0, 0\n\ +_0803C17A:\n\ + ldr r0, _0803C1AC @ =gBattleMovePower\n\ + ldrh r0, [r0]\n\ + muls r5, r0\n\ + adds r0, r7, 0\n\ + adds r0, 0x2A\n\ + ldrb r0, [r0]\n\ + lsls r0, 1\n\ + movs r1, 0x5\n\ + bl __divsi3\n\ + adds r0, 0x2\n\ + muls r5, r0\n\ + ldrb r0, [r4]\n\ + cmp r0, 0x2\n\ + bne _0803C1B4\n\ + ldr r1, [sp, 0x4]\n\ + movs r0, 0x1D\n\ + ldrsb r0, [r1, r0]\n\ + cmp r0, 0x5\n\ + bgt _0803C1B0\n\ + ldr r2, _0803C1A8 @ =gStatStageRatios\n\ + b _0803C1BC\n\ + .align 2, 0\n\ +_0803C1A8: .4byte gStatStageRatios\n\ +_0803C1AC: .4byte gBattleMovePower\n\ +_0803C1B0:\n\ + ldr r3, [sp, 0x18]\n\ + b _0803C1D6\n\ +_0803C1B4:\n\ + ldr r2, _0803C21C @ =gStatStageRatios\n\ + ldr r1, [sp, 0x4]\n\ + movs r0, 0x1D\n\ + ldrsb r0, [r1, r0]\n\ +_0803C1BC:\n\ + lsls r0, 1\n\ + adds r1, r0, r2\n\ + ldrb r1, [r1]\n\ + ldr r6, [sp, 0x18]\n\ + adds r3, r6, 0\n\ + muls r3, r1\n\ + adds r2, 0x1\n\ + adds r0, r2\n\ + ldrb r1, [r0]\n\ + adds r0, r3, 0\n\ + bl __divsi3\n\ + adds r3, r0, 0\n\ +_0803C1D6:\n\ + adds r0, r5, 0\n\ + adds r1, r3, 0\n\ + bl __divsi3\n\ + adds r5, r0, 0\n\ + movs r1, 0x32\n\ + bl __divsi3\n\ + adds r5, r0, 0\n\ + movs r0, 0x2\n\ + ldr r1, [sp, 0xC]\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + beq _0803C22A\n\ + ldrb r1, [r4]\n\ + cmp r1, 0x1\n\ + bne _0803C22A\n\ + ldr r0, _0803C220 @ =gUnknown_020239F8\n\ + ldrh r0, [r0]\n\ + ands r1, r0\n\ + cmp r1, 0\n\ + beq _0803C224\n\ + movs r0, 0x2\n\ + bl sub_803C348\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + cmp r0, 0x2\n\ + bne _0803C224\n\ + adds r0, r5, 0\n\ + movs r1, 0x3\n\ + bl __divsi3\n\ + lsls r5, r0, 1\n\ + b _0803C22A\n\ + .align 2, 0\n\ +_0803C21C: .4byte gStatStageRatios\n\ +_0803C220: .4byte gUnknown_020239F8\n\ +_0803C224:\n\ + lsrs r0, r5, 31\n\ + adds r0, r5, r0\n\ + asrs r5, r0, 1\n\ +_0803C22A:\n\ + ldr r0, _0803C2A4 @ =gUnknown_020239F8\n\ + ldrh r1, [r0]\n\ + movs r0, 0x1\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + beq _0803C25C\n\ + ldr r0, _0803C2A8 @ =gBattleMoves\n\ + ldr r2, [sp, 0x8]\n\ + lsls r1, r2, 1\n\ + adds r1, r2\n\ + lsls r1, 2\n\ + adds r1, r0\n\ + ldrb r0, [r1, 0x6]\n\ + cmp r0, 0x8\n\ + bne _0803C25C\n\ + movs r0, 0x2\n\ + bl sub_803C348\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + cmp r0, 0x2\n\ + bne _0803C25C\n\ + lsrs r0, r5, 31\n\ + adds r0, r5, r0\n\ + asrs r5, r0, 1\n\ +_0803C25C:\n\ + movs r0, 0\n\ + str r0, [sp]\n\ + movs r0, 0xE\n\ + movs r1, 0\n\ + movs r2, 0xD\n\ + movs r3, 0\n\ + bl sub_8018324\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + cmp r0, 0\n\ + bne _0803C30C\n\ + str r0, [sp]\n\ + movs r0, 0xE\n\ + movs r1, 0\n\ + movs r2, 0x4D\n\ + movs r3, 0\n\ + bl sub_8018324\n\ + lsls r0, 24\n\ + cmp r0, 0\n\ + bne _0803C30C\n\ + ldr r2, _0803C2AC @ =gBattleWeather\n\ + ldrh r1, [r2]\n\ + movs r0, 0x1\n\ + ands r0, r1\n\ + adds r4, r2, 0\n\ + cmp r0, 0\n\ + beq _0803C2C4\n\ + mov r3, r9\n\ + cmp r3, 0xA\n\ + beq _0803C2B0\n\ + cmp r3, 0xB\n\ + beq _0803C2B8\n\ + b _0803C2C4\n\ + .align 2, 0\n\ +_0803C2A4: .4byte gUnknown_020239F8\n\ +_0803C2A8: .4byte gBattleMoves\n\ +_0803C2AC: .4byte gBattleWeather\n\ +_0803C2B0:\n\ + lsrs r0, r5, 31\n\ + adds r0, r5, r0\n\ + asrs r5, r0, 1\n\ + b _0803C2C4\n\ +_0803C2B8:\n\ + lsls r0, r5, 4\n\ + subs r0, r5\n\ + movs r1, 0xA\n\ + bl __divsi3\n\ + adds r5, r0, 0\n\ +_0803C2C4:\n\ + ldrh r1, [r4]\n\ + movs r0, 0x9F\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + beq _0803C2DC\n\ + ldr r0, _0803C2F4 @ =gUnknown_02024BE6\n\ + ldrh r0, [r0]\n\ + cmp r0, 0x4C\n\ + bne _0803C2DC\n\ + lsrs r0, r5, 31\n\ + adds r0, r5, r0\n\ + asrs r5, r0, 1\n\ +_0803C2DC:\n\ + ldrh r1, [r4]\n\ + movs r0, 0x60\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + beq _0803C30C\n\ + mov r6, r9\n\ + cmp r6, 0xA\n\ + beq _0803C2F8\n\ + cmp r6, 0xB\n\ + beq _0803C306\n\ + b _0803C30C\n\ + .align 2, 0\n\ +_0803C2F4: .4byte gUnknown_02024BE6\n\ +_0803C2F8:\n\ + lsls r0, r5, 4\n\ + subs r0, r5\n\ + movs r1, 0xA\n\ + bl __divsi3\n\ + adds r5, r0, 0\n\ + b _0803C30C\n\ +_0803C306:\n\ + lsrs r0, r5, 31\n\ + adds r0, r5, r0\n\ + asrs r5, r0, 1\n\ +_0803C30C:\n\ + ldr r1, _0803C344 @ =0x02017100\n\ + ldr r2, [sp, 0x10]\n\ + lsls r0, r2, 2\n\ + adds r0, r1\n\ + ldr r0, [r0]\n\ + movs r1, 0x1\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + beq _0803C330\n\ + mov r3, r9\n\ + cmp r3, 0xA\n\ + bne _0803C330\n\ + lsls r0, r5, 4\n\ + subs r0, r5\n\ + movs r1, 0xA\n\ + bl __divsi3\n\ + adds r5, r0, 0\n\ +_0803C330:\n\ + adds r0, r5, 0x2\n\ + add sp, 0x2C\n\ + pop {r3-r5}\n\ + mov r8, r3\n\ + mov r9, r4\n\ + mov r10, r5\n\ + pop {r4-r7}\n\ + pop {r1}\n\ + bx r1\n\ + .align 2, 0\n\ +_0803C344: .4byte 0x02017100\n\ + .syntax divided"); +} +#endif diff --git a/src/coins.c b/src/coins.c index c07a0c7c7..87d96f2bb 100644 --- a/src/coins.c +++ b/src/coins.c @@ -29,7 +29,6 @@ void PrintCoins(s32 a, u8 b, u8 c, u8 d) u8 string[16]; u8 *ptr; u8 r1; - u8 r6; u8 foo; ConvertIntToDecimalString(string, a); diff --git a/src/decompress.c b/src/decompress.c index 7f8ed9271..ebfd78ffb 100644 --- a/src/decompress.c +++ b/src/decompress.c @@ -107,7 +107,7 @@ void sub_800D378(const struct SpriteSheet *a, u32 b, u32 c, u32 d, void *dest, s DrawSpindaSpots(f, g, dest, r7); } -static void Unused_LZDecompressWramIndirect(const void **src, void *dest) +void Unused_LZDecompressWramIndirect(const void **src, void *dest) { LZ77UnCompWram(*src, dest); } diff --git a/src/field_camera.c b/src/field_camera.c index b9a813bdf..c55d8e2a3 100644 --- a/src/field_camera.c +++ b/src/field_camera.c @@ -427,7 +427,7 @@ void CameraUpdate(void) gUnknown_03004898 -= r8; } -static void camera_move_and_redraw(int a, int b) +void camera_move_and_redraw(int a, int b) { CameraMove(a, b); UpdateFieldObjectsForCameraUpdate(a, b); diff --git a/src/field_door.c b/src/field_door.c index da57988ca..85a5965a0 100644 --- a/src/field_door.c +++ b/src/field_door.c @@ -2,6 +2,7 @@ #include "asm.h" #include "task.h" #include "field_camera.h" +#include "metatile_behavior.h" struct DoorGraphics { @@ -186,7 +187,7 @@ static s8 cur_mapdata_get_door_x2_at(struct DoorGraphics *gfx, u32 x, u32 y) return gfx->unk2; } -static void unref_sub_805869C(u32 x, u32 y) +void unref_sub_805869C(u32 x, u32 y) { StartDoorOpenAnimation(gDoorAnimGraphicsTable, x, y); } diff --git a/src/field_ground_effect.c b/src/field_ground_effect.c new file mode 100644 index 000000000..42cf5d676 --- /dev/null +++ b/src/field_ground_effect.c @@ -0,0 +1,256 @@ +#include "global.h" +#include "asm_fieldmap.h" +#include "metatile_behavior.h" + +extern u32 gUnknown_08376008[]; + +void FieldObjectUpdateMetatileBehaviors(struct MapObject *); +void GetGroundEffectFlags_Reflection(struct MapObject *, u32 *); +void GetGroundEffectFlags_TallGrassOnSpawn(struct MapObject *, u32 *); +void GetGroundEffectFlags_TallGrassOnBeginStep(struct MapObject *, u32 *); +void GetGroundEffectFlags_LongGrassOnSpawn(struct MapObject *, u32 *); +void GetGroundEffectFlags_LongGrassOnBeginStep(struct MapObject *, u32 *); +void GetGroundEffectFlags_Tracks(struct MapObject *, u32 *); +void GetGroundEffectFlags_SandPile(struct MapObject *, u32 *); +void GetGroundEffectFlags_ShallowFlowingWater(struct MapObject *, u32 *); +void GetGroundEffectFlags_Puddle(struct MapObject *, u32 *); +void GetGroundEffectFlags_Ripple(struct MapObject *, u32 *); +void GetGroundEffectFlags_ShortGrass(struct MapObject *, u32 *); +void GetGroundEffectFlags_HotSprings(struct MapObject *, u32 *); +void GetGroundEffectFlags_Seaweed(struct MapObject *, u32 *); +void GetGroundEffectFlags_JumpLanding(struct MapObject *, u32 *); +u8 FieldObjectCheckForReflectiveSurface(struct MapObject *); + +void GetAllGroundEffectFlags_OnSpawn(struct MapObject *mapObj, u32 *flags) +{ + FieldObjectUpdateMetatileBehaviors(mapObj); + GetGroundEffectFlags_Reflection(mapObj, flags); + GetGroundEffectFlags_TallGrassOnSpawn(mapObj, flags); + GetGroundEffectFlags_LongGrassOnSpawn(mapObj, flags); + GetGroundEffectFlags_SandPile(mapObj, flags); + GetGroundEffectFlags_ShallowFlowingWater(mapObj, flags); + GetGroundEffectFlags_ShortGrass(mapObj, flags); + GetGroundEffectFlags_HotSprings(mapObj, flags); +} + +void GetAllGroundEffectFlags_OnBeginStep(struct MapObject *mapObj, u32 *flags) +{ + FieldObjectUpdateMetatileBehaviors(mapObj); + GetGroundEffectFlags_Reflection(mapObj, flags); + GetGroundEffectFlags_TallGrassOnBeginStep(mapObj, flags); + GetGroundEffectFlags_LongGrassOnBeginStep(mapObj, flags); + GetGroundEffectFlags_Tracks(mapObj, flags); + GetGroundEffectFlags_SandPile(mapObj, flags); + GetGroundEffectFlags_ShallowFlowingWater(mapObj, flags); + GetGroundEffectFlags_Puddle(mapObj, flags); + GetGroundEffectFlags_ShortGrass(mapObj, flags); + GetGroundEffectFlags_HotSprings(mapObj, flags); +} + +void GetAllGroundEffectFlags_OnFinishStep(struct MapObject *mapObj, u32 *flags) +{ + FieldObjectUpdateMetatileBehaviors(mapObj); + GetGroundEffectFlags_ShallowFlowingWater(mapObj, flags); + GetGroundEffectFlags_SandPile(mapObj, flags); + GetGroundEffectFlags_Puddle(mapObj, flags); + GetGroundEffectFlags_Ripple(mapObj, flags); + GetGroundEffectFlags_ShortGrass(mapObj, flags); + GetGroundEffectFlags_HotSprings(mapObj, flags); + GetGroundEffectFlags_Seaweed(mapObj, flags); + GetGroundEffectFlags_JumpLanding(mapObj, flags); +} + +void FieldObjectUpdateMetatileBehaviors(struct MapObject *mapObj) +{ + mapObj->mapobj_unk_1F = MapGridGetMetatileBehaviorAt(mapObj->coords3.x, mapObj->coords3.y); + mapObj->mapobj_unk_1E = MapGridGetMetatileBehaviorAt(mapObj->coords2.x, mapObj->coords2.y); +} + +void GetGroundEffectFlags_Reflection(struct MapObject *mapObj, u32 *flags) +{ + u32 reflectionFlags[2] = { 0x00000020, 0x00000010 }; + u8 type = FieldObjectCheckForReflectiveSurface(mapObj); + + if (type) + { + if (!mapObj->mapobj_bit_17) + { + mapObj->mapobj_bit_17 = 0; + mapObj->mapobj_bit_17 = 1; + *flags |= reflectionFlags[type - 1]; + } + } + else + { + mapObj->mapobj_bit_17 = 0; + } +} + +void GetGroundEffectFlags_TallGrassOnSpawn(struct MapObject *mapObj, u32 *flags) +{ + if (MetatileBehavior_IsTallGrass(mapObj->mapobj_unk_1E)) + *flags |= 0x1; +} + +void GetGroundEffectFlags_TallGrassOnBeginStep(struct MapObject *mapObj, u32 *flags) +{ + if (MetatileBehavior_IsTallGrass(mapObj->mapobj_unk_1E)) + *flags |= 0x2; +} + +void GetGroundEffectFlags_LongGrassOnSpawn(struct MapObject *mapObj, u32 *flags) +{ + if (MetatileBehavior_IsLongGrass(mapObj->mapobj_unk_1E)) + *flags |= 0x4; +} + +void GetGroundEffectFlags_LongGrassOnBeginStep(struct MapObject *mapObj, u32 *flags) +{ + if (MetatileBehavior_IsLongGrass(mapObj->mapobj_unk_1E)) + *flags |= 0x8; +} + +void GetGroundEffectFlags_Tracks(struct MapObject *mapObj, u32 *flags) +{ + if (MetatileBehavior_IsDeepSand(mapObj->mapobj_unk_1F)) + { + *flags |= 0x100; + } + else if (MetatileBehavior_IsSandOrDeepSand(mapObj->mapobj_unk_1F) + || MetatileBehavior_IsUnusedFootprintMetatile(mapObj->mapobj_unk_1F)) + { + *flags |= 0x80; + } +} + +void GetGroundEffectFlags_SandPile(struct MapObject *mapObj, u32 *flags) +{ + if (MetatileBehavior_IsDeepSand(mapObj->mapobj_unk_1E) + && MetatileBehavior_IsDeepSand(mapObj->mapobj_unk_1F)) + { + if (!mapObj->mapobj_bit_20) + { + mapObj->mapobj_bit_20 = 0; + mapObj->mapobj_bit_20 = 1; + *flags |= 0x800; + } + } + else + { + mapObj->mapobj_bit_20 = 0; + } +} + +void GetGroundEffectFlags_ShallowFlowingWater(struct MapObject *mapObj, u32 *flags) +{ + if ((MetatileBehavior_IsShallowFlowingWater(mapObj->mapobj_unk_1E) && MetatileBehavior_IsShallowFlowingWater(mapObj->mapobj_unk_1F)) + || (MetatileBehavior_IsPacifidlogLog(mapObj->mapobj_unk_1E) && MetatileBehavior_IsPacifidlogLog(mapObj->mapobj_unk_1F))) + { + if (!mapObj->mapobj_bit_19) + { + mapObj->mapobj_bit_19 = 0; + mapObj->mapobj_bit_19 = 1; + *flags |= 0x40; + } + } + else + { + mapObj->mapobj_bit_19 = 0; + } +} + +void GetGroundEffectFlags_Puddle(struct MapObject *mapObj, u32 *flags) +{ + if (MetatileBehavior_IsPuddle(mapObj->mapobj_unk_1E) + && MetatileBehavior_IsPuddle(mapObj->mapobj_unk_1F)) + { + *flags |= 0x400; + } +} + +void GetGroundEffectFlags_Ripple(struct MapObject *mapObj, u32 *flags) +{ + if (MetatileBehavior_HasRipples(mapObj->mapobj_unk_1E)) + *flags |= 0x200; +} + +void GetGroundEffectFlags_ShortGrass(struct MapObject *mapObj, u32 *flags) +{ + if (MetatileBehavior_IsShortGrass(mapObj->mapobj_unk_1E) + && MetatileBehavior_IsShortGrass(mapObj->mapobj_unk_1F)) + { + if (!mapObj->mapobj_bit_18) + { + mapObj->mapobj_bit_18 = 0; + mapObj->mapobj_bit_18 = 1; + *flags |= 0x20000; + } + } + else + { + mapObj->mapobj_bit_18 = 0; + } +} + +void GetGroundEffectFlags_HotSprings(struct MapObject *mapObj, u32 *flags) +{ + if (MetatileBehavior_IsHotSprings(mapObj->mapobj_unk_1E) + && MetatileBehavior_IsHotSprings(mapObj->mapobj_unk_1F)) + { + if (!mapObj->mapobj_bit_21) + { + mapObj->mapobj_bit_21 = 0; + mapObj->mapobj_bit_21 = 1; + *flags |= 0x40000; + } + } + else + { + mapObj->mapobj_bit_21 = 0; + } +} + +void GetGroundEffectFlags_Seaweed(struct MapObject *mapObj, u32 *flags) +{ + if (MetatileBehavior_IsSeaweed(mapObj->mapobj_unk_1E)) + *flags |= 0x80000; +} + +void GetGroundEffectFlags_JumpLanding(struct MapObject *mapObj, u32 *flags) +{ + typedef bool8 (*MetatileFunc)(u8); + + static const MetatileFunc metatileFuncs[] = + { + MetatileBehavior_IsTallGrass, + MetatileBehavior_IsLongGrass, + MetatileBehavior_IsPuddle, + MetatileBehavior_IsSurfableWaterOrUnderwater, + MetatileBehavior_IsShallowFlowingWater, + sub_8056D9C, + }; + + static const u32 jumpLandingFlags[] = + { + 0x00001000, // Landing in tall grass + 0x00002000, // Landing in long grass + 0x00004000, // Landing on puddle + 0x00008000, // Landing on surfable water or underwater + 0x00004000, // Landing on shallow flowing water + 0x00010000, // Landing on any other type of ground + }; + + if (mapObj->mapobj_bit_5 && !mapObj->mapobj_bit_25) + { + u8 i; + + for (i = 0; i < 6; i++) + { + if (metatileFuncs[i](mapObj->mapobj_unk_1E)) + { + *flags |= jumpLandingFlags[i]; + return; + } + } + } +} diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c index 708544b87..5fffa785f 100644 --- a/src/field_player_avatar.c +++ b/src/field_player_avatar.c @@ -14,6 +14,7 @@ #include "field_effect.h" #include "wild_encounter.h" #include "asm_fieldmap.h" +#include "metatile_behavior.h" extern u8 gOtherText_OhABite[]; extern u8 gOtherText_PokeOnHook[]; @@ -821,7 +822,7 @@ u8 PlayerGetZCoord(void) return gMapObjects[gPlayerAvatar.mapObjectId].elevation; } -static void unref_sub_8059790(s16 a, s16 b) +void unref_sub_8059790(s16 a, s16 b) { sub_805C058(&gMapObjects[gPlayerAvatar.mapObjectId], a, b); } @@ -874,7 +875,7 @@ u8 GetPlayerAvatarGraphicsIdByStateId(u8 a) return GetPlayerAvatarGraphicsIdByStateIdAndGender(a, gPlayerAvatar.gender); } -static u8 unref_sub_8059888(u8 a) +u8 unref_sub_8059888(u8 a) { switch (a) { diff --git a/src/fieldmap.c b/src/fieldmap.c index cd9baa217..4dcfbe30b 100644 --- a/src/fieldmap.c +++ b/src/fieldmap.c @@ -42,7 +42,7 @@ EWRAM_DATA struct MapHeader gMapHeader = {0}; EWRAM_DATA struct Camera gUnknown_0202E844 = {0}; EWRAM_DATA static struct ConnectionFlags gUnknown_0202E850 = {0}; -extern const struct ConnectionFlags gUnknown_08308E28; +static const struct ConnectionFlags sDummyConnectionFlags = {0}; void mapheader_copy_mapdata_with_padding(struct MapHeader *mapHeader); void sub_80560AC(struct MapHeader *); @@ -112,7 +112,7 @@ void sub_80560AC(struct MapHeader *mapHeader) { int count; count = mapHeader->connections->count; connection = mapHeader->connections->connections; - gUnknown_0202E850 = gUnknown_08308E28; + gUnknown_0202E850 = sDummyConnectionFlags; for (i = 0; i < count; i++, connection++) { cMap = mapconnection_get_mapheader(connection); offset = connection->offset; @@ -156,8 +156,8 @@ void sub_8056134(int x, int y, struct MapHeader *mapHeader, int x2, int y2, int void fillSouthConnection(struct MapHeader *mapHeader, struct MapHeader *connectedMapHeader, s32 offset) { int x, y; - int x2, y2; - int width, height; + int x2; + int width; int cWidth; if (connectedMapHeader) { @@ -190,9 +190,9 @@ void fillSouthConnection(struct MapHeader *mapHeader, struct MapHeader *connecte } void fillNorthConnection(struct MapHeader *mapHeader, struct MapHeader *connectedMapHeader, s32 offset) { - int x, y; + int x; int x2, y2; - int width, height; + int width; int cWidth, cHeight; if (connectedMapHeader) { @@ -229,9 +229,9 @@ void fillNorthConnection(struct MapHeader *mapHeader, struct MapHeader *connecte void fillWestConnection(struct MapHeader *mapHeader, struct MapHeader *connectedMapHeader, s32 offset) { - int x, y; + int y; int x2, y2; - int width, height; + int height; int cWidth, cHeight; if (connectedMapHeader) { cWidth = connectedMapHeader->mapData->width; @@ -265,9 +265,9 @@ void fillWestConnection(struct MapHeader *mapHeader, struct MapHeader *connected void fillEastConnection(struct MapHeader *mapHeader, struct MapHeader *connectedMapHeader, s32 offset) { int x, y; - int x2, y2; - int width, height; - int cWidth, cHeight; + int y2; + int height; + int cHeight; if (connectedMapHeader) { cHeight = connectedMapHeader->mapData->height; x = mapHeader->mapData->width + 7; diff --git a/src/intro.c b/src/intro.c index 13e35976e..dfc1d6a4c 100644 --- a/src/intro.c +++ b/src/intro.c @@ -520,8 +520,6 @@ static void task_intro_13(u8 taskId) static void task_intro_14(u8 taskId) { - u8 newTaskId; - REG_WIN0H = 0xF0; REG_WIN0V = 0xA0; REG_WININ = 0x1C; diff --git a/src/item.c b/src/item.c index 84ab4c1c8..3f74b5925 100644 --- a/src/item.c +++ b/src/item.c @@ -58,7 +58,7 @@ void CopyItemName(u16 itemId, u8 *string) } //Unreferenced -static s8 CountUsedBagPocketSlots(u8 pocket) +s8 CountUsedBagPocketSlots(u8 pocket) { u8 i; diff --git a/src/link.c b/src/link.c index 56635def2..d2b5770e9 100644 --- a/src/link.c +++ b/src/link.c @@ -41,8 +41,8 @@ extern u16 word_3004858; extern u8 gMultiText_LinkError[]; static void InitLinkTestBG(u8, u8, u8, u8); -static void InitLinkTestBG_Unused(u8, u8, u8, u8); -static void LinkTestScreen(); +void InitLinkTestBG_Unused(u8, u8, u8, u8); +void LinkTestScreen(); static void InitLocalLinkPlayer(void); static void VBlankCB_LinkTest(void); static void InitLink(void); @@ -60,15 +60,15 @@ static void LinkCB_BlockSendBegin(void); static void LinkCB_BlockSend(void); static void LinkCB_BlockSendEnd(void); static void sub_8007E04(void); -static u32 sub_8007E40(void); +u32 sub_8007E40(void); static void SetBlockReceivedFlag(u8); static u16 LinkTestCalcBlockChecksum(void *, u16); static void PrintHexDigit(u8, u8, u8); static void PrintHex(u32, u8, u8, u8); static void LinkCB_RequestPlayerDataExchange(void); static void Task_PrintTestData(u8); -static bool8 sub_8008224(void); -static u8 GetDummy2(void); +bool8 sub_8008224(void); +u8 GetDummy2(void); static void sub_8008350(void); static void sub_800837C(void); static void sub_80083E0(void); @@ -90,8 +90,8 @@ static void DoRecv(void); static void DoSend(void); static void StopTimer(void); static void SendRecvDone(void); -static void ResetSendBuffer(void); -static void ResetRecvBuffer(void); +void ResetSendBuffer(void); +void ResetRecvBuffer(void); static struct BlockTransfer sBlockSend; static struct BlockTransfer sBlockRecv[MAX_LINK_PLAYERS]; @@ -212,7 +212,7 @@ static void InitLinkTestBG(u8 paletteNum, u8 bgNum, u8 screenBaseBlock, u8 charB } } -static void InitLinkTestBG_Unused(u8 paletteNum, u8 bgNum, u8 screenBaseBlock, u8 charBaseBlock) +void InitLinkTestBG_Unused(u8 paletteNum, u8 bgNum, u8 screenBaseBlock, u8 charBaseBlock) { LoadPalette(sLinkTestDigitPalette, 16 * paletteNum, 32); DmaCopy16(3, sLinkTestDigitTiles, BG_CHAR_ADDR(charBaseBlock), 0x220); @@ -223,7 +223,7 @@ static void InitLinkTestBG_Unused(u8 paletteNum, u8 bgNum, u8 screenBaseBlock, u *gBGControlRegs[bgNum] = (screenBaseBlock << 8) | (charBaseBlock << 2); } -static void LinkTestScreen(void) +void LinkTestScreen(void) { s32 i; ResetSpriteData(); @@ -840,7 +840,7 @@ void sub_8007E24(void) gLinkCallback = sub_8007E04; } -static u32 sub_8007E40(void) +u32 sub_8007E40(void) { return dword_20238BC; } @@ -1025,7 +1025,7 @@ u8 sub_8008218(void) return gSavedMultiplayerId; } -static bool8 sub_8008224(void) +bool8 sub_8008224(void) { s32 count = 0; s32 i; @@ -1072,7 +1072,7 @@ bool8 IsLinkMaster(void) return EXTRACT_MASTER(gLinkStatus); } -static u8 GetDummy2(void) +u8 GetDummy2(void) { return sDummy2; } @@ -1236,7 +1236,7 @@ void CB2_LinkError(void) static void CB2_PrintErrorMessage(void) { - u8 array[64]; // unused + u8 array[64] __attribute__((unused)); // unused switch (gMain.state) { @@ -1772,7 +1772,7 @@ static void SendRecvDone(void) } } -static void ResetSendBuffer(void) +void ResetSendBuffer(void) { u8 i; u8 j; @@ -1785,7 +1785,7 @@ static void ResetSendBuffer(void) gLink.sendQueue.data[i][j] = 0xEFFF; } -static void ResetRecvBuffer(void) +void ResetRecvBuffer(void) { u8 i; u8 j; diff --git a/src/load_save.c b/src/load_save.c new file mode 100644 index 000000000..0d4f1238d --- /dev/null +++ b/src/load_save.c @@ -0,0 +1,164 @@ +#include "global.h" +#include "load_save.h" +#include "asm.h" +#include "main.h" +#include "pokemon.h" +#include "rom4.h" + +extern u8 gPlayerPartyCount; +extern u32 gUnknown_3004820; + +struct LoadedSaveData +{ + struct ItemSlot items[20]; + struct ItemSlot keyItems[20]; + struct ItemSlot pokeBalls[16]; + struct ItemSlot TMsHMs[64]; + struct ItemSlot berries[46]; + struct SaveBlock1_2B4C_Struct unknownSaveData[16]; +}; + +extern struct LoadedSaveData gLoadedSaveData[]; + +void CheckForFlashMemory(void) +{ + if(!IdentifyFlash()) + { + gUnknown_3004820 = 1; + InitFlashTimer(); + } + else + gUnknown_3004820 = 0; +} + +bool32 GetSecretBase2Field_9(void) +{ + return gSaveBlock2.specialSaveWarp; +} + +void ClearSecretBase2Field_9(void) +{ + gSaveBlock2.specialSaveWarp = 0; +} + +void SetSecretBase2Field_9(void) +{ + gSaveBlock2.specialSaveWarp = 1; +} + +void SetSecretBase2Field_9_AndHideBG(void) // note: no other function sets specialSaveWarp to values other than 0 or 1, hence clear and set distinctions. +{ + gpu_sync_bg_hide(0); // the function doesn't use the parameter passed to it, but this is necessary to match. + gSaveBlock2.specialSaveWarp = 1; +} + +void ClearSecretBase2Field_9_2(void) // duplicate function +{ + gSaveBlock2.specialSaveWarp = 0; +} + +void SavePlayerParty(void) +{ + int i; + + gSaveBlock1.playerPartyCount = gPlayerPartyCount; + + for (i = 0; i < 6; i++) + gSaveBlock1.playerParty[i] = gPlayerParty[i]; +} + +void LoadPlayerParty(void) +{ + int i; + + gPlayerPartyCount = gSaveBlock1.playerPartyCount; + + for (i = 0; i < 6; i++) + gPlayerParty[i] = gSaveBlock1.playerParty[i]; +} + +static void SaveMapObjects(void) +{ + int i; + + for(i = 0; i < 16; i++) + gSaveBlock1.mapObjects[i] = gMapObjects[i]; +} + +static void LoadMapObjects(void) +{ + int i; + + for(i = 0; i < 16; i++) + gMapObjects[i] = gSaveBlock1.mapObjects[i]; +} + +void SaveSerializedGame(void) +{ + SavePlayerParty(); + SaveMapObjects(); +} + +void LoadSerializedGame(void) +{ + LoadPlayerParty(); + LoadMapObjects(); +} + +void LoadPlayerData(void) +{ + int i; + + // load player items. + for(i = 0; i < 20; i++) + gLoadedSaveData->items[i] = gSaveBlock1.bagPocket_Items[i]; + + // load player key items. + for(i = 0; i < 20; i++) + gLoadedSaveData->keyItems[i] = gSaveBlock1.bagPocket_KeyItems[i]; + + // load player pokeballs. + for(i = 0; i < 16; i++) + gLoadedSaveData->pokeBalls[i] = gSaveBlock1.bagPocket_PokeBalls[i]; + + // load player TMs and HMs. + for(i = 0; i < 64; i++) + gLoadedSaveData->TMsHMs[i] = gSaveBlock1.bagPocket_TMHM[i]; + + // load player berries. + for(i = 0; i < 46; i++) + gLoadedSaveData->berries[i] = gSaveBlock1.bagPocket_Berries[i]; + + // load misc data. + for(i = 0; i < 16; i++) + gLoadedSaveData->unknownSaveData[i] = gSaveBlock1.unkSave[i]; +} + +void SavePlayerData(void) +{ + int i; + + // save player items. + for(i = 0; i < 20; i++) + gSaveBlock1.bagPocket_Items[i] = gLoadedSaveData->items[i]; + + // save player key items. + for(i = 0; i < 20; i++) + gSaveBlock1.bagPocket_KeyItems[i] = gLoadedSaveData->keyItems[i]; + + // save player pokeballs. + for(i = 0; i < 16; i++) + gSaveBlock1.bagPocket_PokeBalls[i] = gLoadedSaveData->pokeBalls[i]; + + // save player TMs and HMs. + for(i = 0; i < 64; i++) + gSaveBlock1.bagPocket_TMHM[i] = gLoadedSaveData->TMsHMs[i]; + + // save player berries. + for(i = 0; i < 46; i++) + gSaveBlock1.bagPocket_Berries[i] = gLoadedSaveData->berries[i]; + + // save misc data. + for(i = 0; i < 16; i++) + gSaveBlock1.unkSave[i] = gLoadedSaveData->unknownSaveData[i]; +} diff --git a/src/mail.c b/src/mail.c new file mode 100644 index 000000000..c1ec02e4e --- /dev/null +++ b/src/mail.c @@ -0,0 +1,683 @@ +#include "global.h" +#include "mail.h" +#include "asm.h" +#include "menu.h" +#include "palette.h" +#include "rom4.h" +#include "sprite.h" +#include "string_util.h" +#include "task.h" +#include "text.h" + +struct UnkMailStruct +{ + u8 unk_0_0:2; + u8 unk_0_2:2; + u8 unk_0_4:4; +}; + +struct MailLayout { + u8 var0; + u8 var1; + u8 var2; + u8 var3_0:4; + u8 var3_4:4; + struct UnkMailStruct *var4; +}; + +struct Unk2000000 { + /* 0x00 */ u8 words[8][27]; + /* 0xEC */ u8 varD8[20]; + /* 0xEC */ MainCallback varEC; + /* 0xF0 */ MainCallback varF0; + /* 0xFF */ struct MailStruct *varF4; + /* 0xF8 */ u8 varF8; + /* 0xF9 */ u8 varF9; + /* 0xFA */ u8 varFA; + /* 0xFB */ u8 varFB; + /* 0xFC */ u8 varFC; + u8 padFD[1]; + /* 0xFE */ u8 varFE; + /* 0xFF */ u8 varFF; + /* 0x100 */ u8 var100; + u8 pad101[3]; + /* 0x104 */ MainCallback var104; + /* 0x108 */ MainCallback var108; + /* 0x10C */ struct MailLayout *var10C; +}; + +struct MailGraphics { + u16 (*palette)[]; + u8 (*tiles)[]; + u8 (*tileMap)[]; + u16 var0C; + u16 var0E; + u16 color10; + u16 color12; +}; + +enum { + ITEM_ORANGE_MAIL = 0x79, + ITEM_HARBOR_MAIL, + ITEM_GLITTER_MAIL, + ITEM_MECH_MAIL, + ITEM_WOOD_MAIL, + ITEM_WAVE_MAIL, + ITEM_BEAD_MAIL, + ITEM_SHADOW_MAIL, + ITEM_TROPIC_MAIL, + ITEM_DREAM_MAIL, + ITEM_FAB_MAIL, + ITEM_RETRO_MAIL, +}; + +extern struct Unk2000000 unk_2000000; +extern struct MailGraphics gMailGraphicsTable[]; +extern u16 gUnknown_083E562C[][2]; + +extern struct MailLayout gUnknown_083E5730[]; +extern struct MailLayout gUnknown_083E57A4[]; + +extern u8 gOtherText_From[]; + +static u8 sub_80F8A28(void); +// static void sub_80F8D50(void); +// static u8 *sub_80F8D7C(u8 *dest, u8 *src); +static void sub_80F8DA0(void); +static void sub_80F8E80(void); +static void sub_80F8F18(void); +static void sub_80F8F2C(void); +static void sub_80F8F58(void); +static void sub_80F8F78(void); +static void sub_80F8FB4(void); + +#ifdef NONMATCHING +void sub_80F890C(struct MailStruct *arg0, MainCallback arg1, bool8 arg2) { + u16 mailDesign; + u8 buffer[4]; + u8 local1; + + unk_2000000.varFF = GAME_LANGUAGE; + + // Compiler uses [sub 1], while asm uses [ptr + FE] + unk_2000000.varFE = 1; + unk_2000000.var104 = (MainCallback) sub_80EB3FC; + unk_2000000.var108 = (MainCallback) ConvertEasyChatWordsToString; + + mailDesign = arg0->var20 - ITEM_ORANGE_MAIL; + + if (mailDesign <= 11) { + unk_2000000.varFA = arg0->var20 - ITEM_ORANGE_MAIL; + } else { + unk_2000000.varFA = 0; + arg2 = FALSE; + } + + switch (unk_2000000.var100) { + case 0: + default: + unk_2000000.var10C = &gUnknown_083E5730[unk_2000000.varFA]; + break; + + case 1: + unk_2000000.var10C = &gUnknown_083E57A4[unk_2000000.varFA]; + break; + } + + if (((sub_80A2D64(arg0->var1E, buffer) << 16) +0xFFFF0000) <= (410 << 16)) { + switch (unk_2000000.varFA) { + case 6: + unk_2000000.varFB = 1; + break; + + case 9: + unk_2000000.varFB = 2; + break; + + default: + unk_2000000.varFB = 0; + break; + } + } else { + unk_2000000.varFB = 0; + } + + + unk_2000000.varF4 = arg0; + unk_2000000.varEC = arg1; + unk_2000000.varF8 = arg2; + + SetMainCallback2(sub_80F8D50); +} +#else +__attribute__((naked)) +void sub_80F890C(struct MailStruct *arg0, MainCallback arg1, bool8 arg2) { + asm(".syntax unified\n\ + push {r4-r6,lr}\n\ + sub sp, 0x4\n\ + adds r4, r0, 0\n\ + adds r6, r1, 0\n\ + lsls r2, 24\n\ + lsrs r5, r2, 24\n\ + ldr r2, _080F8958 @ =0x02000000\n\ + adds r1, r2, 0\n\ + adds r1, 0xFF\n\ + movs r0, 0x2\n\ + strb r0, [r1]\n\ + adds r0, 0xFE\n\ + adds r1, r2, r0\n\ + movs r0, 0x1\n\ + strb r0, [r1]\n\ + movs r0, 0x82\n\ + lsls r0, 1\n\ + adds r1, r2, r0\n\ + ldr r0, _080F895C @ =sub_80EB3FC\n\ + str r0, [r1]\n\ + movs r0, 0x84\n\ + lsls r0, 1\n\ + adds r1, r2, r0\n\ + ldr r0, _080F8960 @ =ConvertEasyChatWordsToString\n\ + str r0, [r1]\n\ + ldrh r1, [r4, 0x20]\n\ + adds r0, r1, 0\n\ + subs r0, 0x79\n\ + lsls r0, 16\n\ + lsrs r0, 16\n\ + cmp r0, 0xB\n\ + bhi _080F8964\n\ + subs r1, 0x79\n\ + adds r0, r2, 0\n\ + adds r0, 0xFA\n\ + strb r1, [r0]\n\ + b _080F896E\n\ + .align 2, 0\n\ +_080F8958: .4byte 0x02000000\n\ +_080F895C: .4byte sub_80EB3FC\n\ +_080F8960: .4byte ConvertEasyChatWordsToString\n\ +_080F8964:\n\ + adds r1, r2, 0\n\ + adds r1, 0xFA\n\ + movs r0, 0\n\ + strb r0, [r1]\n\ + movs r5, 0\n\ +_080F896E:\n\ + ldr r1, _080F8994 @ =0x02000000\n\ + movs r2, 0x80\n\ + lsls r2, 1\n\ + adds r0, r1, r2\n\ + ldrb r0, [r0]\n\ + cmp r0, 0\n\ + beq _080F8980\n\ + cmp r0, 0x1\n\ + beq _080F899C\n\ +_080F8980:\n\ + movs r0, 0x86\n\ + lsls r0, 1\n\ + adds r2, r1, r0\n\ + adds r0, r1, 0\n\ + adds r0, 0xFA\n\ + ldrb r0, [r0]\n\ + lsls r0, 3\n\ + ldr r1, _080F8998 @ =gUnknown_083E5730\n\ + b _080F89AC\n\ + .align 2, 0\n\ +_080F8994: .4byte 0x02000000\n\ +_080F8998: .4byte gUnknown_083E5730\n\ +_080F899C:\n\ + movs r0, 0x86\n\ + lsls r0, 1\n\ + adds r2, r1, r0\n\ + adds r0, r1, 0\n\ + adds r0, 0xFA\n\ + ldrb r0, [r0]\n\ + lsls r0, 3\n\ + ldr r1, _080F89DC @ =gUnknown_083E57A4\n\ +_080F89AC:\n\ + adds r0, r1\n\ + str r0, [r2]\n\ + ldrh r0, [r4, 0x1E]\n\ + mov r1, sp\n\ + bl sub_80A2D64\n\ + lsls r0, 16\n\ + ldr r1, _080F89E0 @ =0xffff0000\n\ + adds r0, r1\n\ + movs r1, 0xCD\n\ + lsls r1, 17\n\ + cmp r0, r1\n\ + bhi _080F89F8\n\ + ldr r0, _080F89E4 @ =0x02000000\n\ + adds r1, r0, 0\n\ + adds r1, 0xFA\n\ + ldrb r2, [r1]\n\ + adds r1, r0, 0\n\ + cmp r2, 0x6\n\ + beq _080F89E8\n\ + cmp r2, 0x9\n\ + beq _080F89F0\n\ + b _080F89FA\n\ + .align 2, 0\n\ +_080F89DC: .4byte gUnknown_083E57A4\n\ +_080F89E0: .4byte 0xffff0000\n\ +_080F89E4: .4byte 0x02000000\n\ +_080F89E8:\n\ + adds r2, r1, 0\n\ + adds r2, 0xFB\n\ + movs r0, 0x1\n\ + b _080F8A00\n\ +_080F89F0:\n\ + adds r2, r1, 0\n\ + adds r2, 0xFB\n\ + movs r0, 0x2\n\ + b _080F8A00\n\ +_080F89F8:\n\ + ldr r1, _080F8A20 @ =0x02000000\n\ +_080F89FA:\n\ + adds r2, r1, 0\n\ + adds r2, 0xFB\n\ + movs r0, 0\n\ +_080F8A00:\n\ + strb r0, [r2]\n\ + adds r0, r1, 0\n\ + adds r0, 0xF4\n\ + str r4, [r0]\n\ + subs r0, 0x8\n\ + str r6, [r0]\n\ + adds r0, 0xC\n\ + strb r5, [r0]\n\ + ldr r0, _080F8A24 @ =sub_80F8D50\n\ + bl SetMainCallback2\n\ + add sp, 0x4\n\ + pop {r4-r6}\n\ + pop {r0}\n\ + bx r0\n\ + .align 2, 0\n\ +_080F8A20: .4byte 0x02000000\n\ +_080F8A24: .4byte sub_80F8D50\n\ + .syntax divided\n"); +} + +#endif + +#define RETURN_UP_STATE break +#define RETURN_SKIP_STATE return FALSE + +static u8 sub_80F8A28(void) { + switch (gMain.state) { + case 0: + SetVBlankCallback(NULL); + remove_some_task(); + REG_DISPCNT = 0; + RETURN_UP_STATE; + + case 1: CpuFill16(0, (void *) OAM, OAM_SIZE); + RETURN_UP_STATE; + + case 2: + ResetPaletteFade(); + RETURN_UP_STATE; + + case 3: + ResetTasks(); + RETURN_UP_STATE; + + case 4: + ResetSpriteData(); + RETURN_UP_STATE; + + case 5: + FreeAllSpritePalettes(); + REG_BG0HOFS = 0; + REG_BG0VOFS = 0; + REG_BG1HOFS = 0; + REG_BG1VOFS = 0; + REG_BG2VOFS = 0; + REG_BG2HOFS = 0; + REG_BG3HOFS = 0; + REG_BG3VOFS = 0; + REG_BLDCNT = 0; + REG_BLDALPHA = 0; + RETURN_UP_STATE; + + case 6: + SetUpWindowConfig(&gWindowConfig_81E6DFC); + RETURN_UP_STATE; + + case 7: + MultistepInitMenuWindowBegin(&gWindowConfig_81E6DFC); + RETURN_UP_STATE; + + case 8: + if (MultistepInitMenuWindowContinue() == 0) { + return FALSE; + } + RETURN_UP_STATE; + + case 9: + MenuZeroFillScreen(); + RETURN_UP_STATE; + + case 10: CpuFill16(1, (void *) (VRAM + 0x4800), 0x800); + RETURN_UP_STATE; + + case 11: + LoadPalette(gMailGraphicsTable[unk_2000000.varFA].palette, 0, 16 * 2); + RETURN_UP_STATE; + + case 12: + LZ77UnCompVram(gMailGraphicsTable[unk_2000000.varFA].tileMap, (void *) (VRAM + 0x4000)); + RETURN_UP_STATE; + + case 13: + LZ77UnCompVram(gMailGraphicsTable[unk_2000000.varFA].tiles, (void *) (VRAM)); + + gPlttBufferUnfaded[241] = gMailGraphicsTable[unk_2000000.varFA].color10; + gPlttBufferUnfaded[248] = gMailGraphicsTable[unk_2000000.varFA].color12; + gPlttBufferUnfaded[10] = gUnknown_083E562C[gSaveBlock2.playerGender][0]; + gPlttBufferUnfaded[11] = gUnknown_083E562C[gSaveBlock2.playerGender][1]; + RETURN_UP_STATE; + + case 14: + if (unk_2000000.varF8 != 0) { + sub_80F8DA0(); + } + RETURN_UP_STATE; + + case 15: + if (unk_2000000.varF8 != 0) { + sub_80F8E80(); + } + + SetVBlankCallback(sub_80F8F18); + gPaletteFade.bufferTransferDisabled = 1; + RETURN_UP_STATE; + + case 16: { + u16 local1; + + local1 = sub_809D4A8(unk_2000000.varF4->var1E); + + switch (unk_2000000.varFB) { + case 1: + sub_809D580(local1); + unk_2000000.varFC = sub_809D3A4(local1, SpriteCallbackDummy, 96, 128, 0); + break; + + case 2: + sub_809D580(local1); + unk_2000000.varFC = sub_809D3A4(local1, SpriteCallbackDummy, 40, 128, 0); + break; + } + RETURN_UP_STATE; + } + + case 17: + if (sub_8055870() != TRUE) { + RETURN_UP_STATE; + } + RETURN_SKIP_STATE; + + case 18: + REG_BG0CNT = 0x9F08; + REG_BG1CNT = 0x0801; + REG_BG2CNT = 0x0902; + REG_BLDCNT = 0; + REG_DISPCNT = DISPCNT_OBJ_1D_MAP | DISPCNT_BG0_ON | DISPCNT_BG1_ON | DISPCNT_BG2_ON | DISPCNT_OBJ_ON; + BeginNormalPaletteFade(-1, 0, 16, 0, 0); + gPaletteFade.bufferTransferDisabled = 0; + unk_2000000.varF0 = sub_80F8F58; + return TRUE; + + default: + return FALSE; + } + + gMain.state += 1; + return FALSE; +} + +void sub_80F8D50(void) { + do { + if (sub_80F8A28() == 1) { + SetMainCallback2(sub_80F8F2C); + return; + } + } while (sub_80F9344() != 1); +} + +u8 *sub_80F8D7C(u8 *dest, u8 *src) { + u16 length; + + StringCopy(dest, src); + sub_814A568(dest); + + length = StringLength(dest); + + return dest + length; +} + +#ifdef NONMATCHING +static void sub_80F8DA0(void) { + u8 local0; + + local0 = unk_2000000.var10C->var0; + + // No idea what's happening in this loop. + if (local0 <= 0) { + u8 i; + u8 i2 = 0; + + for (i = 0; i < unk_2000000.var10C->var0; i++) { + ConvertEasyChatWordsToString(unk_2000000.words[i], &unk_2000000.varF4->words[i2], + ((*unk_2000000.var10C->var4)[i] << 28) >> 30, 1); + i2 += ((*unk_2000000.var10C->var4)[i] << 28) >> 30; + } + } + + if (unk_2000000.var100 == 0) { + u8 *ptr; + u16 length; + + ptr = sub_80F8D7C(unk_2000000.varD8, unk_2000000.varF4->var12); + StringCopy(ptr, gOtherText_From); + + length = StringLength(unk_2000000.varD8); + + unk_2000000.varF9 = unk_2000000.var10C->var2 - length; + } else { + u8 *ptr; + + ptr = StringCopy(unk_2000000.varD8, gOtherText_From); + sub_80F8D7C(ptr, unk_2000000.varF4->var12); + + unk_2000000.varF9 = unk_2000000.var10C->var2; + } +} +#else +__attribute__((naked)) +static void sub_80F8DA0(void) { + asm(".syntax unified\n\ + push {r4-r7,lr}\n\ + mov r7, r8\n\ + push {r7}\n\ + movs r6, 0\n\ + movs r5, 0\n\ + ldr r2, _080F8E3C @ =0x02000000\n\ + movs r0, 0x86\n\ + lsls r0, 1\n\ + adds r1, r2, r0\n\ + ldr r0, [r1]\n\ + ldrb r0, [r0]\n\ + cmp r5, r0\n\ + bcs _080F8E04\n\ + mov r8, r2\n\ + adds r7, r1, 0\n\ +_080F8DBE:\n\ + lsls r0, r5, 3\n\ + subs r0, r5\n\ + lsls r0, 2\n\ + subs r0, r5\n\ + add r0, r8\n\ + mov r1, r8\n\ + adds r1, 0xF4\n\ + lsls r2, r6, 1\n\ + ldr r1, [r1]\n\ + adds r1, r2\n\ + ldr r2, [r7]\n\ + ldr r2, [r2, 0x4]\n\ + lsls r4, r5, 2\n\ + adds r2, r4, r2\n\ + ldr r2, [r2]\n\ + lsls r2, 28\n\ + lsrs r2, 30\n\ + movs r3, 0x1\n\ + bl ConvertEasyChatWordsToString\n\ + ldr r1, [r7]\n\ + ldr r0, [r1, 0x4]\n\ + adds r4, r0\n\ + ldr r0, [r4]\n\ + lsls r0, 28\n\ + lsrs r0, 30\n\ + adds r0, r6, r0\n\ + lsls r0, 24\n\ + lsrs r6, r0, 24\n\ + adds r0, r5, 0x1\n\ + lsls r0, 16\n\ + lsrs r5, r0, 16\n\ + ldrb r1, [r1]\n\ + cmp r5, r1\n\ + bcc _080F8DBE\n\ +_080F8E04:\n\ + ldr r2, _080F8E40 @ =0x020000d8\n\ + adds r4, r2, 0\n\ + subs r4, 0xD8\n\ + adds r0, r2, 0\n\ + adds r0, 0x28\n\ + ldrb r0, [r0]\n\ + cmp r0, 0\n\ + bne _080F8E48\n\ + ldr r1, [r2, 0x1C]\n\ + adds r1, 0x12\n\ + adds r0, r2, 0\n\ + bl sub_80F8D7C\n\ + adds r2, r0, 0\n\ + ldr r1, _080F8E44 @ =gOtherText_From\n\ + bl StringCopy\n\ + ldr r0, _080F8E40 @ =0x020000d8\n\ + bl StringLength\n\ + movs r2, 0x86\n\ + lsls r2, 1\n\ + adds r1, r4, r2\n\ + ldr r1, [r1]\n\ + ldrb r1, [r1, 0x2]\n\ + subs r1, r0\n\ + b _080F8E6A\n\ + .align 2, 0\n\ +_080F8E3C: .4byte 0x02000000\n\ +_080F8E40: .4byte 0x020000d8\n\ +_080F8E44: .4byte gOtherText_From\n\ +_080F8E48:\n\ + ldr r1, _080F8E7C @ =gOtherText_From\n\ + adds r0, r2, 0\n\ + bl StringCopy\n\ + adds r2, r0, 0\n\ + adds r0, r4, 0\n\ + adds r0, 0xF4\n\ + ldr r1, [r0]\n\ + adds r1, 0x12\n\ + adds r0, r2, 0\n\ + bl sub_80F8D7C\n\ + movs r1, 0x86\n\ + lsls r1, 1\n\ + adds r0, r4, r1\n\ + ldr r0, [r0]\n\ + ldrb r1, [r0, 0x2]\n\ +_080F8E6A:\n\ + adds r0, r4, 0\n\ + adds r0, 0xF9\n\ + strb r1, [r0]\n\ + pop {r3}\n\ + mov r8, r3\n\ + pop {r4-r7}\n\ + pop {r0}\n\ + bx r0\n\ + .align 2, 0\n\ +_080F8E7C: .4byte gOtherText_From\n\ + .syntax divided\n"); +} +#endif + +static void sub_80F8E80(void) { + u16 pos; + u8 x; + u8 y = 0; + + for (pos = 0; pos < unk_2000000.var10C->var0; pos++) { + if (unk_2000000.words[pos][0] == 0xFF) { + continue; + } + + if (unk_2000000.words[pos][0] == 0x00) { + continue; + } + + x = unk_2000000.var10C->var4[pos].unk_0_4; + y += unk_2000000.var10C->var4[pos].unk_0_0; + MenuPrint(unk_2000000.words[pos], unk_2000000.var10C->var3_4 + x, unk_2000000.var10C->var3_0 + y); + y += 2; + } + + MenuPrint(unk_2000000.varD8, unk_2000000.varF9, unk_2000000.var10C->var1); +} + +static void sub_80F8F18(void) { + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); +} + +static void sub_80F8F2C(void) { + if(unk_2000000.varFB != 0) { + AnimateSprites(); + BuildOamBuffer(); + } + + unk_2000000.varF0(); +} + +static void sub_80F8F58(void) { + u8 local0; + + local0 = UpdatePaletteFade(); + if(local0 == 0) { + unk_2000000.varF0 = sub_80F8F78; + } +} + +static void sub_80F8F78(void) { + if (gMain.newKeys & (A_BUTTON | B_BUTTON)) { + BeginNormalPaletteFade(-1, 0, 0, 16, 0); + unk_2000000.varF0 = sub_80F8FB4; + } +} + +static void sub_80F8FB4(void) { + u16 local1; + + if (UpdatePaletteFade()) { + return; + } + + SetMainCallback2(unk_2000000.varEC); + switch (unk_2000000.varFB) { + case 2: + case 1: + local1 = sub_809D4A8(unk_2000000.varF4->var1E); + sub_809D608(local1); + + sub_809D510(&gSprites[unk_2000000.varFC]); + break; + } + + memset(&unk_2000000, 0, 0x110); + ResetPaletteFade(); +} diff --git a/src/main.c b/src/main.c index ad131547b..a3d5c4f30 100644 --- a/src/main.c +++ b/src/main.c @@ -1,17 +1,18 @@ #include "global.h" #include "main.h" #include "asm.h" -#include "play_time.h" -#include "m4a.h" -#include "gba/m4a_internal.h" #include "gba/flash_internal.h" -#include "siirtc.h" -#include "rtc.h" +#include "gba/m4a_internal.h" +#include "intro.h" #include "link.h" +#include "load_save.h" +#include "m4a.h" +#include "play_time.h" #include "rng.h" #include "rom4.h" +#include "rtc.h" +#include "siirtc.h" #include "sound.h" -#include "intro.h" extern struct SoundInfo gSoundInfo; extern u32 gUnknown_3004820; @@ -31,7 +32,7 @@ static void IntrDummy(void); const u8 gGameVersion = GAME_VERSION; -const u8 gGameLanguage = 2; // English +const u8 gGameLanguage = GAME_LANGUAGE; // English const char BuildDateTime[] = "2002 10 15 20:34"; diff --git a/src/main_menu.c b/src/main_menu.c index 274386b03..9842d6f39 100644 --- a/src/main_menu.c +++ b/src/main_menu.c @@ -3,6 +3,7 @@ #include "asm.h" #include "decompress.h" #include "menu.h" +#include "mystery_event_menu.h" #include "option_menu.h" #include "palette.h" #include "rom4.h" diff --git a/src/matsuda_debug_menu.c b/src/matsuda_debug_menu.c index 18f644cbb..df2ca3206 100644 --- a/src/matsuda_debug_menu.c +++ b/src/matsuda_debug_menu.c @@ -1,12 +1,15 @@ #include "global.h" +#include "asm.h" +#include "link.h" #include "main.h" #include "menu.h" #include "palette.h" -#include "task.h" -#include "link.h" -#include "text.h" +#include "rom4.h" #include "sprite.h" +#include "start_menu.h" #include "string_util.h" +#include "task.h" +#include "text.h" #define BIT(n) (1 << (n)) @@ -16,30 +19,6 @@ extern u8 gContestPlayerMonIndex; extern u16 gScriptContestCategory; extern u16 gScriptContestRank; extern u8 (*gCallback_03004AE8)(void); -extern void sub_80034D4(u8 *, u8 *); -extern void sub_80AF668(void); -extern void sub_80C2358(void); -extern void sub_8071C20(void); -extern void sub_80AA10C(void); -extern void sub_80A9C98(u8); -extern void sub_80C8734(void); -extern void sub_80A9CC0(u8); -extern void sub_80C88AC(u8); -extern void sub_80A9CDC(u8); -extern void sub_80C8E1C(u8); -extern void sub_80A9D58(u8); -extern void sub_80C8EBC(u8); -extern void sub_80A9DBC(u8); -extern u8 sub_80C4B34(u8 *); -extern void sub_80B0F28(u8); -extern void sub_80C8F34(u8); -extern void sub_80A9DD8(u8); -extern void sub_80A9F10(u8); -extern void sub_805469C(void); -extern void sub_80AE398(u8, u8); -extern void sub_80AE098(u8); -extern void sub_80AA5BC(u8); -extern u32 sub_80AE770(u8, u8); extern struct Window gMenuWindow; @@ -64,16 +43,16 @@ extern u8 gMatsudaDebugMenu_GoBackText[]; extern u8 gMatsudaDebugMenu_BattlePointsText[]; extern u8 gMatsudaDebugMenu_StartText[]; -extern u8 gUnknown_083C92BC[]; -extern u8 gUnknown_083C92B4[]; +extern struct SpritePalette gUnknown_083C92BC; +extern struct SpriteSheet gUnknown_083C92B4; extern struct SpriteTemplate gSpriteTemplate_83C92CC; extern u8 gMoveNames[][13]; extern u8 gMatsudaDebugMenu_UnknownByteArray[]; -extern u32 gMatsudaDebugMenuTextList1[]; -extern u32 gMatsudaDebugMenuTextList2[]; -extern u32 gMatsudaDebugMenuTextList3[]; +extern u8* gMatsudaDebugMenuTextList1[]; +extern u8* gMatsudaDebugMenuTextList2[]; +extern u8* gMatsudaDebugMenuTextList3[]; extern u8 gMatsudaDebugMenuContestTopLeft[][2]; struct ContestPokemon @@ -97,24 +76,24 @@ extern struct ContestPokemon gContestMons[]; extern bool8 gReceivedRemoteLinkPlayers; extern u16 gBlockRecvBuffer[MAX_LINK_PLAYERS][BLOCK_BUFFER_SIZE / 2]; -struct DebugMenuAction -{ - u8 *text; - u8 (*func)(void); -}; - -extern struct DebugMenuAction gMatsudaDebugMenuActions[]; - -s8 sub_80A9B78(void); -void sub_80A9BE4(u8 taskId); -void sub_80A9E04(u8 taskId); -void sub_80A9E3C(u8 taskId); -void sub_80A9ED8(u8); -void sub_80A9E80(u8); -void sub_80AA280(u8); -void sub_80AA5E8(u8); -void sub_80AA614(u8, u8); -void sub_80AA658(u8); +extern struct MenuAction gMatsudaDebugMenuActions[]; + +static bool8 sub_80A9B78(void); +static void sub_80A9BE4(u8 taskId); +static void sub_80A9C98(u8); +static void sub_80A9CC0(u8); +static void sub_80A9CDC(u8); +static void sub_80A9D58(u8); +static void sub_80A9DBC(u8); +static void sub_80A9DD8(u8); +static void sub_80A9E04(u8 taskId); +static void sub_80A9E3C(u8 taskId); +static void sub_80A9E80(u8); +static void sub_80A9ED8(u8); +static void sub_80A9F10(u8); +static void sub_80AA10C(void); +static void sub_80AA5BC(u8); +static void sub_80AA614(u8, u8); u8 unref_sub_80A9B28(void) { @@ -126,20 +105,20 @@ u8 unref_sub_80A9B28(void) return 0; } -s8 sub_80A9B78(void) +static bool8 sub_80A9B78(void) { s8 choice = ProcessMenuInput(); switch(choice) { case -2: - return 0; + return FALSE; default: gCallback_03004AE8 = gMatsudaDebugMenuActions[choice].func; - return 0; + return FALSE; case -1: sub_8071C20(); - return 1; + return TRUE; } } @@ -150,7 +129,7 @@ s8 MatsudaDebugMenu_ContestResults(void) return 1; } -void sub_80A9BE4(u8 taskId) +static void sub_80A9BE4(u8 taskId) { if(!gPaletteFade.active) { @@ -189,23 +168,23 @@ s8 MatsudaDebugMenu_CommTest(void) return 1; } -void sub_80A9C98(u8 taskId) +static void sub_80A9C98(u8 taskId) { sub_80AE098(0); SetTaskFuncWithFollowupFunc(taskId, sub_80C8734, sub_80A9CC0); } -void sub_80A9CC0(u8 taskId) +static void sub_80A9CC0(u8 taskId) { SetTaskFuncWithFollowupFunc(taskId, sub_80C88AC, sub_80A9CDC); } -void sub_80A9CDC(u8 taskId) +static void sub_80A9CDC(u8 taskId) { SetTaskFuncWithFollowupFunc(taskId, sub_80C8E1C, sub_80A9D58); } -void sub_80A9CF8(u8 taskId) +static void sub_80A9CF8(u8 taskId) { if(gReceivedRemoteLinkPlayers == FALSE) { @@ -215,13 +194,13 @@ void sub_80A9CF8(u8 taskId) } } -void sub_80A9D30(u8 taskId) +static void sub_80A9D30(u8 taskId) { sub_800832C(); gTasks[taskId].func = sub_80A9CF8; } -void sub_80A9D58(u8 taskId) +static void sub_80A9D58(u8 taskId) { int i; u8 dest[4]; @@ -229,31 +208,31 @@ void sub_80A9D58(u8 taskId) for(i = 0; i < 4; i++) dest[i] = gTasks[taskId].data[5 + i]; - gUnknown_0203869B = sub_80C4B34(&dest); + gUnknown_0203869B = sub_80C4B34(dest); sub_80AE82C((u8)gScriptContestCategory); sub_80B0F28(0); SetTaskFuncWithFollowupFunc(taskId, sub_80C8EBC, sub_80A9DBC); } -void sub_80A9DBC(u8 taskId) +static void sub_80A9DBC(u8 taskId) { SetTaskFuncWithFollowupFunc(taskId, sub_80C8F34, sub_80A9DD8); } -void sub_80A9DD8(u8 taskId) +static void sub_80A9DD8(u8 taskId) { DestroyTask(gTasks[taskId].data[10]); DestroyTask(taskId); sub_8071C20(); } -void sub_80A9E04(u8 taskId) +static void sub_80A9E04(u8 taskId) { if(gMain.newKeys == 2) gTasks[(u8)gTasks[taskId].data[10]].func = sub_80A9D30; } -void sub_80A9E3C(u8 taskId) +static void sub_80A9E3C(u8 taskId) { u8 i; @@ -266,7 +245,7 @@ void sub_80A9E3C(u8 taskId) gTasks[taskId].func = sub_80A9E80; } -void sub_80A9E80(u8 taskId) +static void sub_80A9E80(u8 taskId) { TaskFunc func; @@ -292,7 +271,7 @@ void sub_80A9E80(u8 taskId) } } -void sub_80A9ED8(u8 taskId) +static void sub_80A9ED8(u8 taskId) { gTasks[taskId].data[0] = gTasks[taskId].data[0] + 1; if((gTasks[taskId].data[0]) == 101) @@ -303,7 +282,7 @@ void sub_80A9ED8(u8 taskId) } } -void sub_80A9F10(u8 taskId) +static void sub_80A9F10(u8 taskId) { if(gReceivedRemoteLinkPlayers) { @@ -316,7 +295,7 @@ void sub_80A9F10(u8 taskId) } } -void sub_80A9F50(void) +static void sub_80A9F50(void) { REG_DISPCNT = DISPCNT_OBJ_1D_MAP; REG_DISPCNT |= DISPCNT_OBJ_ON | DISPCNT_BG0_ON; @@ -338,7 +317,7 @@ void sub_80A9F50(void) gUnknown_030041B8 = 0; } -void sub_80A9FE4(void) +static void sub_80A9FE4(void) { u8 *addr; u32 i; @@ -360,11 +339,11 @@ void sub_80A9FE4(void) break; } } - sub_80034D4(VRAM, &ptr); + sub_80034D4((void *)VRAM, ptr); LoadFontDefaultPalette(&gWindowConfig_81E6C3C); } -void sub_80AA064(void) +static void sub_80AA064(void) { AnimateSprites(); BuildOamBuffer(); @@ -374,7 +353,7 @@ void sub_80AA064(void) SetMainCallback2(sub_805469C); } -void sub_80AA090(void) +static void sub_80AA090(void) { REG_BG0HOFS = gUnknown_030042A4; REG_BG0VOFS = gUnknown_030042A0; @@ -390,7 +369,7 @@ void sub_80AA090(void) sub_8089668(); } -void sub_80AA10C(void) +static void sub_80AA10C(void) { u8 i; u8 zero; @@ -428,8 +407,8 @@ void sub_80AA10C(void) sub_80AA5E8(gScriptContestRank); sub_8003460(&gMenuWindow, gMatsudaDebugMenu_GoBackText, 0xD6, 0x12, 0x12); sub_8003460(&gMenuWindow, gMatsudaDebugMenu_BattlePointsText, 0xDC, zero, 0xC); - LoadSpriteSheet(gUnknown_083C92B4); - LoadSpritePalette(gUnknown_083C92BC); + LoadSpriteSheet(&gUnknown_083C92B4); + LoadSpritePalette(&gUnknown_083C92BC); sub_80AA280(3); sub_80AA658(3); sub_80AA614(3, zero); @@ -445,7 +424,7 @@ void sub_80AA280(u8 var) u8 i; FillWindowRect_DefaultPalette(&gMenuWindow, 0, 0, 0, 0x1E, 3); - StringCopy(unk_2000000, &gMatsudaDebugMenu_StartText); + StringCopy(unk_2000000, gMatsudaDebugMenu_StartText); StringAppend(unk_2000000, &gUnknown_0203857D[var][0]); for(i = 0; i < 4; i++) @@ -462,43 +441,43 @@ void sub_80AA280(u8 var) } } -void sub_80AA340(u8 var) +static void sub_80AA340(u8 var) { ConvertIntToDecimalStringN(unk_2000000, gContestMons[var].cool, STR_CONV_MODE_RIGHT_ALIGN, 3); sub_8003460(&gMenuWindow, unk_2000000, 0x66, gUnknown_083C9282[0], gUnknown_083C9282[1]); } -void sub_80AA388(u8 var) +static void sub_80AA388(u8 var) { ConvertIntToDecimalStringN(unk_2000000, gContestMons[var].cute, STR_CONV_MODE_RIGHT_ALIGN, 3); sub_8003460(&gMenuWindow, unk_2000000, 0x6C, gUnknown_083C9282[2], gUnknown_083C9282[3]); } -void sub_80AA3D0(u8 var) +static void sub_80AA3D0(u8 var) { ConvertIntToDecimalStringN(unk_2000000, gContestMons[var].beauty, STR_CONV_MODE_RIGHT_ALIGN, 3); sub_8003460(&gMenuWindow, unk_2000000, 0x72, gUnknown_083C9282[4], gUnknown_083C9282[5]); } -void sub_80AA418(u8 var) +static void sub_80AA418(u8 var) { ConvertIntToDecimalStringN(unk_2000000, gContestMons[var].smart, STR_CONV_MODE_RIGHT_ALIGN, 3); sub_8003460(&gMenuWindow, unk_2000000, 0x78, gUnknown_083C9282[6], gUnknown_083C9282[7]); } -void sub_80AA460(u8 var) +static void sub_80AA460(u8 var) { ConvertIntToDecimalStringN(unk_2000000, gContestMons[var].tough, STR_CONV_MODE_RIGHT_ALIGN, 3); sub_8003460(&gMenuWindow, unk_2000000, 0x7E, gUnknown_083C9282[8], gUnknown_083C9282[9]); } -void sub_80AA4A8(u8 var) +static void sub_80AA4A8(u8 var) { ConvertIntToDecimalStringN(unk_2000000, gContestMons[var].sheen, STR_CONV_MODE_RIGHT_ALIGN, 3); sub_8003460(&gMenuWindow, unk_2000000, 0x84, gUnknown_083C9282[10], gUnknown_083C9282[11]); } -void sub_80AA4F0(u8 var1, u8 var2) +static void sub_80AA4F0(u8 var1, u8 var2) { FillWindowRect_DefaultPalette(&gMenuWindow, 0, gUnknown_083C928E[var2][0], gUnknown_083C928E[var2][1], gUnknown_083C928E[var2][0] + 7, gUnknown_083C928E[var2][1] + 1); sub_8003460(&gMenuWindow, gMoveNames[gContestMons[var1].moves[var2]], 0x8A + var2 * 14, gUnknown_083C928E[var2][0], gUnknown_083C928E[var2][1]); @@ -506,7 +485,7 @@ void sub_80AA4F0(u8 var1, u8 var2) sub_8003460(&gMenuWindow, gStringVar1, 0xFA + var2 * 6, gUnknown_083C928E[var2][0] + 7, gUnknown_083C928E[var2][1]); } -void sub_80AA5BC(u8 var) +static void sub_80AA5BC(u8 var) { sub_8003460(&gMenuWindow, gMatsudaDebugMenuTextList2[var], 0xC2, 3, 0x12); } @@ -516,7 +495,7 @@ void sub_80AA5E8(u8 var) sub_8003460(&gMenuWindow, gMatsudaDebugMenuTextList3[var], 0xE8, 3, 4); } -void sub_80AA614(u8 var1, u8 var2) +static void sub_80AA614(u8 var1, u8 var2) { u16 var = sub_80AE770(var1, var2); @@ -541,16 +520,16 @@ void sub_80AA658(u8 var) void SetDebugMonForContest(void) { - SetMonData(&gPlayerParty, MON_DATA_COOL, &gContestMons[gContestPlayerMonIndex].cool); - SetMonData(&gPlayerParty, MON_DATA_CUTE, &gContestMons[gContestPlayerMonIndex].cute); - SetMonData(&gPlayerParty, MON_DATA_BEAUTY, &gContestMons[gContestPlayerMonIndex].beauty); - SetMonData(&gPlayerParty, MON_DATA_SMART, &gContestMons[gContestPlayerMonIndex].smart); - SetMonData(&gPlayerParty, MON_DATA_TOUGH, &gContestMons[gContestPlayerMonIndex].tough); - SetMonData(&gPlayerParty, MON_DATA_SHEEN, &gContestMons[gContestPlayerMonIndex].sheen); - SetMonData(&gPlayerParty, MON_DATA_MOVE1, &gContestMons[gContestPlayerMonIndex].moves[0]); - SetMonData(&gPlayerParty, MON_DATA_MOVE2, &gContestMons[gContestPlayerMonIndex].moves[1]); - SetMonData(&gPlayerParty, MON_DATA_MOVE3, &gContestMons[gContestPlayerMonIndex].moves[2]); - SetMonData(&gPlayerParty, MON_DATA_MOVE4, &gContestMons[gContestPlayerMonIndex].moves[3]); + SetMonData(&gPlayerParty[0], MON_DATA_COOL, &gContestMons[gContestPlayerMonIndex].cool); + SetMonData(&gPlayerParty[0], MON_DATA_CUTE, &gContestMons[gContestPlayerMonIndex].cute); + SetMonData(&gPlayerParty[0], MON_DATA_BEAUTY, &gContestMons[gContestPlayerMonIndex].beauty); + SetMonData(&gPlayerParty[0], MON_DATA_SMART, &gContestMons[gContestPlayerMonIndex].smart); + SetMonData(&gPlayerParty[0], MON_DATA_TOUGH, &gContestMons[gContestPlayerMonIndex].tough); + SetMonData(&gPlayerParty[0], MON_DATA_SHEEN, &gContestMons[gContestPlayerMonIndex].sheen); + SetMonData(&gPlayerParty[0], MON_DATA_MOVE1, (const u8 *) &gContestMons[gContestPlayerMonIndex].moves[0]); + SetMonData(&gPlayerParty[0], MON_DATA_MOVE2, (const u8 *) &gContestMons[gContestPlayerMonIndex].moves[1]); + SetMonData(&gPlayerParty[0], MON_DATA_MOVE3, (const u8 *) &gContestMons[gContestPlayerMonIndex].moves[2]); + SetMonData(&gPlayerParty[0], MON_DATA_MOVE4, (const u8 *) &gContestMons[gContestPlayerMonIndex].moves[3]); } // too complicated @@ -735,7 +714,7 @@ _080AA89C: .4byte gUnknown_083C92A8\n\ .syntax divided"); } -void sub_80AA8A0(struct Sprite *sprite, s8 var1, u8 var2) +static void sub_80AA8A0(struct Sprite *sprite, s8 var1, u8 var2) { if(var1 == 1) { @@ -765,7 +744,7 @@ void sub_80AA8F8(struct Sprite *sprite, s8 var1) sub_80AA8A0(sprite, var1, 3); } -u8 sub_80AA908(u32 a1, u8 a2, s8 a3) // first param is unused. +static u8 sub_80AA908(u32 a1, u8 a2, s8 a3) // first param is unused. { s16 val = a2 + a3; @@ -826,7 +805,7 @@ void sub_80AAA84(struct Sprite *sprite, u8 var2) } // a similar function is at 0x80AA908, however, it apparently returns the wrong type (u8 vs u16). -u16 sub_80AAAC8(u32 a1, u16 a2, s8 a3) // first param is unused. +static u16 sub_80AAAC8(u32 a1, u16 a2, s8 a3) // first param is unused. { s16 val = a2 + a3; diff --git a/src/menu.c b/src/menu.c index 0b5eab831..a06463ba3 100644 --- a/src/menu.c +++ b/src/menu.c @@ -6,6 +6,8 @@ #include "text_window.h" #include "sound.h" #include "menu_cursor.h" +#include "map_obj_lock.h" +#include "script.h" struct Menu { @@ -24,8 +26,8 @@ static void MultistepInitMenuWindowInternal(const struct WindowConfig *, u16); static void InitMenuWindowInternal(const struct WindowConfig *, u16); static bool8 sub_80723D4(void); static u8 sub_8072484(u8, u8, u8, u8, u8, u8, u32); -static u8 sub_80724F4(u8, u8, u8, u8 * const [][2], u8); -static void sub_8072620(u8, u8, u8, u8 * const [][2], u8); +static u8 sub_80724F4(u8, u8, u8, const struct MenuAction[], u8); +static void sub_8072620(u8, u8, u8, const struct MenuAction[], u8); static void sub_8072D18(u8, u8); static struct Menu gMenu; @@ -41,6 +43,21 @@ EWRAM_DATA u16 gMenuMessageBoxContentTileOffset = 0; extern const struct MenuAction gUnknown_08376D74[]; +void sub_8071C20(void) +{ + PlaySE(SE_SELECT); + MenuZeroFillScreen(); + sub_8064E2C(); + ScriptContext2_Disable(); + sub_8072DEC(); +} + +void AppendToList(u8 *list, u8 *pindex, u32 value) +{ + list[*pindex] = value; + (*pindex)++; +} + void InitMenuWindow(const struct WindowConfig *winConfig) { InitMenuWindowInternal(winConfig, 1); @@ -390,7 +407,7 @@ static u8 sub_8072484(u8 a1, u8 a2, u8 menuItemCount, u8 a4, u8 width, u8 a6, u3 return a4; } -static u8 sub_80724F4(u8 left, u8 top, u8 menuItemCount, u8 * const menuItems[][2], u8 columnCount) +static u8 sub_80724F4(u8 left, u8 top, u8 menuItemCount, const struct MenuAction menuItems[], u8 columnCount) { u8 i; u8 maxWidth; @@ -402,7 +419,7 @@ static u8 sub_80724F4(u8 left, u8 top, u8 menuItemCount, u8 * const menuItems[][ maxWidth = 0; for (i = 0; i < menuItemCount; i++) { - u8 width = (sub_8072CA4(menuItems[i][0]) + 7) / 8; + u8 width = (sub_8072CA4(menuItems[i].text) + 7) / 8; if (width > maxWidth) maxWidth = width; @@ -448,7 +465,7 @@ static u8 sub_80724F4(u8 left, u8 top, u8 menuItemCount, u8 * const menuItems[][ return maxWidth; } -static void sub_8072620(u8 left, u8 top, u8 menuItemCount, u8 * const menuItems[][2], u8 columnCount) +static void sub_8072620(u8 left, u8 top, u8 menuItemCount, const struct MenuAction menuItems[], u8 columnCount) { u8 i; u8 maxWidth; @@ -459,7 +476,7 @@ static void sub_8072620(u8 left, u8 top, u8 menuItemCount, u8 * const menuItems[ maxWidth = 0; for (i = 0; i < menuItemCount; i++) { - u8 width = (sub_8072CA4(menuItems[i][0]) + 7) / 8; + u8 width = (sub_8072CA4(menuItems[i].text) + 7) / 8; if (width > maxWidth) maxWidth = width; @@ -478,11 +495,11 @@ static void sub_8072620(u8 left, u8 top, u8 menuItemCount, u8 * const menuItems[ u8 row = 0; u8 j; for (j = 0; i + j < menuItemCount; j += columnCount, row++) - MenuPrint(menuItems[i + j][0], left + gMenu.columnXCoords[i % columnCount], top + 2 * row); + MenuPrint(menuItems[i + j].text, left + gMenu.columnXCoords[i % columnCount], top + 2 * row); } } -void sub_807274C(u8 left, u8 top, u8 menuItemCount, u8 a4, u8 * const menuItems[][2], u8 columnCount, u32 a7) +void sub_807274C(u8 left, u8 top, u8 menuItemCount, u8 a4, const struct MenuAction menuItems[], u8 columnCount, u32 a7) { u8 maxWidth = sub_80724F4(left, top, menuItemCount, menuItems, columnCount); diff --git a/src/metatile_behavior.c b/src/metatile_behavior.c new file mode 100644 index 000000000..dd1ac75e3 --- /dev/null +++ b/src/metatile_behavior.c @@ -0,0 +1,1064 @@ +#include "global.h" +#include "metatile_behaviors.h" + +extern u8 gUnknown_08308E2C[]; + +bool8 MetatileBehavior_IsWaterfall(u8); + +bool8 sub_8056D9C(u8 var) +{ + return TRUE; +} + +bool8 sub_8056DA0(u8 var) +{ + if((gUnknown_08308E2C[var] & 1) != 0) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_IsJumpEast(u8 var) +{ + if(var == MB_JUMP_EAST) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_IsJumpWest(u8 var) +{ + if(var == MB_JUMP_WEST) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_IsJumpNorth(u8 var) +{ + if(var == MB_JUMP_NORTH) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_IsJumpSouth(u8 var) +{ + if(var == MB_JUMP_SOUTH) + return TRUE; + else + return FALSE; +} + +bool8 sub_8056E14(u8 var) +{ + if(var == MB_TALL_GRASS || var == MB_LONG_GRASS) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_IsSandOrDeepSand(u8 var) +{ + if(var == MB_SAND || var == MB_DEEP_SAND) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_IsDeepSand(u8 var) +{ + if(var == MB_DEEP_SAND) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_IsReflective(u8 var) +{ + if(var == MB_POND_WATER || var == MB_PUDDLE || var == MB_1A || var == MB_ICE || var == MB_SOOTOPOLIS_DEEP_WATER || var == MB_REFLECTION_UNDER_BRIDGE) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_IsIce(u8 var) +{ + if(var == MB_ICE) + return TRUE; + else + return FALSE; +} + +bool8 is_tile_x69_2_warp_door(u8 var) +{ + if(var == MB_ANIMATED_DOOR) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_IsDoor(u8 var) +{ + if(var == MB_8D || var == MB_ANIMATED_DOOR) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_IsEscalator(u8 var) +{ + if(var == MB_UP_ESCALATOR || var == MB_DOWN_ESCALATOR) + return TRUE; + else + return FALSE; +} + +bool8 unref_sub_8056EE0(u8 var) +{ + if(var == MB_04) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_IsLadder(u8 var) +{ + if(var == MB_LADDER) + return TRUE; + else + return FALSE; +} + +bool8 sub_8056F08(u8 var) +{ + if(var == MB_NON_ANIMATED_DOOR || var == MB_WATER_DOOR || var == MB_DEEP_SOUTH_WARP) + return TRUE; + else + return FALSE; +} + +bool8 sub_8056F24(u8 var) +{ + if(var == MB_DEEP_SOUTH_WARP) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_IsSurfableWaterOrUnderwater(u8 var) +{ + if((gUnknown_08308E2C[var] & 2) != 0) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_IsEastArrowWarp(u8 var) +{ + if(var == MB_EAST_ARROW_WARP) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_IsWestArrowWarp(u8 var) +{ + if(var == MB_WEST_ARROW_WARP) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_IsNorthArrowWarp(u8 var) +{ + if(var == MB_NORTH_ARROW_WARP || var == MB_STAIRS_OUTSIDE_ABANDONED_SHIP) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_IsSouthArrowWarp(u8 var) +{ + if(var == MB_SOUTH_ARROW_WARP || var == MB_WATER_SOUTH_ARROW_WARP || var == MB_SHOAL_CAVE_ENTRANCE) + return TRUE; + else + return FALSE; +} + +// unused +bool8 MetatileBehavior_IsArrowWarp(u8 var) +{ + u8 var2 = 0; + + if(MetatileBehavior_IsEastArrowWarp(var) + || MetatileBehavior_IsWestArrowWarp(var) + || MetatileBehavior_IsNorthArrowWarp(var) + || MetatileBehavior_IsSouthArrowWarp(var)) + { + var2 = 1; + } + return var2; +} + +bool8 sub_8056FFC(u8 var) +{ + if((var >= MB_WALK_EAST && var <= MB_TRICK_HOUSE_PUZZLE_8_FLOOR) || (var >= MB_EASTWARD_CURRENT && var <= MB_SOUTHWARD_CURRENT) + || var == MB_MUDDY_SLOPE || var == MB_CRACKED_FLOOR || var == MB_WATERFALL || var == MB_ICE || var == MB_BB || var == MB_BC) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_IsIce_2(u8 var) +{ + if(var == MB_ICE) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_IsTrickHouseSlipperyFloor(u8 var) +{ + if(var == MB_TRICK_HOUSE_PUZZLE_8_FLOOR) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_0x05(u8 var) +{ + if(var == MB_05) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_IsWalkNorth(u8 var) +{ + if(var == MB_WALK_NORTH) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_IsWalkSouth(u8 var) +{ + if(var == MB_WALK_SOUTH) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_IsWalkWest(u8 var) +{ + if(var == MB_WALK_WEST) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_IsWalkEast(u8 var) +{ + if(var == MB_WALK_EAST) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_IsNorthwardCurrent(u8 var) +{ + if(var == MB_NORTHWARD_CURRENT) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_IsSouthwardCurrent(u8 var) +{ + if(var == MB_SOUTHWARD_CURRENT) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_IsWestwardCurrent(u8 var) +{ + if(var == MB_WESTWARD_CURRENT) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_IsEastwardCurrent(u8 var) +{ + if(var == MB_EASTWARD_CURRENT) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_IsSlideNorth(u8 var) +{ + if(var == MB_SLIDE_NORTH) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_IsSlideSouth(u8 var) +{ + if(var == MB_SLIDE_SOUTH) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_IsSlideWest(u8 var) +{ + if(var == MB_SLIDE_WEST) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_IsSlideEast(u8 var) +{ + if(var == MB_SLIDE_EAST) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_IsCounter(u8 var) +{ + if(var == MB_COUNTER) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_IsPlayerFacingTVScreen(u8 tile, u8 playerDir) +{ + if(playerDir != 2) // if the player isn't facing north, forget about it. + return FALSE; + else if(tile == MB_TELEVISION) // is the player's north tile a TV? + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_IsPC(u8 var) +{ + if(var == MB_PC) + return TRUE; + else + return FALSE; +} + +bool8 is_tile_x84(u8 var) +{ + if(var == MB_84) + return TRUE; + else + return FALSE; +} + +bool8 sub_80571C0(u8 var) +{ + if(var == MB_91 || var == MB_93 || var == MB_95 || var == MB_97 + || var == MB_99 || var == MB_9B || var == MB_9D) + return TRUE; + else + return FALSE; +} + +bool8 sub_80571EC(u8 var) +{ + if(var == MB_SECRET_BASE_SPOT_RED_CAVE || var == MB_SECRET_BASE_SPOT_BROWN_CAVE || var == MB_SECRET_BASE_SPOT_YELLOW_CAVE || var == MB_SECRET_BASE_SPOT_BLUE_CAVE) + return TRUE; + else + return FALSE; +} + +bool8 sub_805720C(u8 var) +{ + if(var == MB_SECRET_BASE_SPOT_TREE_1 || var == MB_SECRET_BASE_SPOT_TREE_2) + return TRUE; + else + return FALSE; +} + +bool8 is_tile_x98(u8 var) +{ + if(var == MB_SECRET_BASE_SPOT_SHRUB) + return TRUE; + else + return FALSE; +} + +bool8 sub_8057238(u8 var) +{ + if(var == MB_SECRET_BASE_PC) + return TRUE; + else + return FALSE; +} + +bool8 sub_805724C(u8 var) +{ + if(var == MB_B1) + return TRUE; + else + return FALSE; +} + +bool8 unref_sub_8057260(u8 var) +{ + if(var == MB_B2) + return TRUE; + else + return FALSE; +} + +bool8 sub_8057274(u8 var) +{ + if(var == MB_B3) + return TRUE; + else + return FALSE; +} + +bool8 sub_8057288(u8 var) +{ + if(var == MB_B9) + return TRUE; + else + return FALSE; +} + +bool8 sub_805729C(u8 var) +{ + if(var == MB_NORMAL) + return TRUE; + else + return FALSE; +} + +bool8 sub_80572B0(u8 var) +{ + if(var == MB_B7) + return TRUE; + else + return FALSE; +} + +bool8 unref_sub_80572C4(u8 var) +{ + if(var == MB_B2) + return TRUE; + else + return FALSE; +} + +bool8 sub_80572D8(u8 var) +{ + if(var == MB_B5) + return TRUE; + else + return FALSE; +} + +bool8 sub_80572EC(u8 var) +{ + if(var == MB_C3) + return TRUE; + else + return FALSE; +} + +bool8 sub_8057300(u8 var) +{ + if(var == MB_C2) + return TRUE; + else + return FALSE; +} + +bool8 sub_8057314(u8 var) +{ + if(var == MB_B8) + return TRUE; + else + return FALSE; +} + +bool8 sub_8057328(u8 var) +{ + if(var == MB_BE) + return TRUE; + else + return FALSE; +} + +bool8 sub_805733C(u8 var) +{ + if(var == MB_BD) + return TRUE; + else + return FALSE; +} + +bool8 sub_8057350(u8 var) +{ + if(var == MB_BA) + return TRUE; + else + return FALSE; +} + +bool8 sub_8057364(u8 var) +{ + if(var == MB_BF) + return TRUE; + else + return FALSE; +} + +bool8 sub_8057378(u8 var) +{ + if(var == MB_C4) + return TRUE; + else + return FALSE; +} + +bool8 sub_805738C(u8 var) +{ + if(var == MB_C5) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_HasRipples(u8 var) +{ + if(var == MB_POND_WATER || var == MB_PUDDLE || var == MB_SOOTOPOLIS_DEEP_WATER) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_IsPuddle(u8 var) +{ + if(var == MB_PUDDLE) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_IsTallGrass(u8 var) +{ + if(var == MB_TALL_GRASS) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_IsLongGrass(u8 var) +{ + if(var == MB_LONG_GRASS) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_IsBerryTreeSoil(u8 var) +{ + if(var == MB_BERRY_TREE_SOIL) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_IsAsh(u8 var) +{ + if(var == MB_ASH) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_IsUnusedFootprintMetatile(u8 var) +{ + if(var == MB_25) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_IsBridge(u8 var) +{ + if(var >= MB_WARP_OR_BRIDGE && var <= MB_ROUTE120_NORTH_BRIDGE_2) + return TRUE; + else + return FALSE; +} + +u8 sub_8057450(u8 var) +{ + u8 result = var - MB_WARP_OR_BRIDGE; + + if(result > 3) + result = 0; + + return result; +} + +bool8 MetatileBehavior_IsLandWildEncounter(u8 var) +{ + if(MetatileBehavior_IsSurfableWaterOrUnderwater(var) == FALSE && sub_8056DA0(var) == TRUE) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_IsWaterWildEncounter(u8 var) +{ + if(MetatileBehavior_IsSurfableWaterOrUnderwater(var) == TRUE && sub_8056DA0(var) == TRUE) + return TRUE; + else + return FALSE; +} + +bool8 sub_80574C4(u8 var) +{ + if(var == MB_0B) + return TRUE; + else + return FALSE; +} + +bool8 sub_80574D8(u8 var) +{ + if(var == MB_MOUNTAIN_TOP) + return TRUE; + else + return FALSE; +} + +bool8 sub_80574EC(u8 var) +{ + if(var == MB_SEMI_DEEP_WATER || var == MB_DEEP_WATER || var == MB_SOOTOPOLIS_DEEP_WATER) + return TRUE; + else + return FALSE; +} + +bool8 sub_805750C(u8 var) +{ + if(var == MB_NO_SURFACING || var == MB_SEAWEED_NO_SURFACING) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_IsShallowFlowingWater(u8 var) +{ + if(var == MB_SHALLOW_WATER || var == MB_STAIRS_OUTSIDE_ABANDONED_SHIP || var == MB_SHOAL_CAVE_ENTRANCE) + return TRUE; + else + return FALSE; +} + +bool8 sub_8057540(u8 var) +{ + if(var == MB_THIN_ICE) + return TRUE; + else + return FALSE; +} + +bool8 sub_8057554(u8 var) +{ + if(var == MB_CRACKED_ICE) + return TRUE; + else + return FALSE; +} + +bool8 sub_8057568(u8 var) +{ + if(var == MB_OCEAN_WATER || var == MB_SEMI_DEEP_WATER || var == MB_DEEP_WATER) + return TRUE; + else + return FALSE; +} + +bool8 unref_sub_8057584(u8 var) +{ + if(var == MB_18 || var == MB_1A) + return TRUE; + else + return FALSE; +} + +bool8 sub_805759C(u8 var) +{ + if(MetatileBehavior_IsSurfableWaterOrUnderwater(var) && MetatileBehavior_IsWaterfall(var) == FALSE) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_IsEastBlocked(u8 var) +{ + if(var == MB_IMPASSABLE_EAST || var == MB_IMPASSABLE_NORTHEAST || var == MB_IMPASSABLE_SOUTHEAST || var == MB_C1 || var == MB_BE) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_IsWestBlocked(u8 var) +{ + if(var == MB_IMPASSABLE_WEST || var == MB_IMPASSABLE_NORTHWEST || var == MB_IMPASSABLE_SOUTHWEST || var == MB_C1 || var == MB_BE) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_IsNorthBlocked(u8 var) +{ + if(var == MB_IMPASSABLE_NORTH || var == MB_IMPASSABLE_NORTHEAST || var == MB_IMPASSABLE_NORTHWEST || var == MB_BED) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_IsSouthBlocked(u8 var) +{ + if(var == MB_IMPASSABLE_SOUTH || var == MB_IMPASSABLE_SOUTHEAST || var == MB_IMPASSABLE_SOUTHWEST || var == MB_BED) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_IsShortGrass(u8 var) +{ + if(var == MB_SHORT_GRASS) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_IsHotSprings(u8 var) +{ + if(var == MB_HOT_SPRINGS) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_IsWaterfall(u8 var) +{ + if(var == MB_WATERFALL) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_IsFortreeBridge(u8 var) +{ + if(var == MB_FORTREE_BRIDGE) + return TRUE; + else + return FALSE; +} + +bool8 sub_80576A0(u8 var) +{ + if(var == MB_PACIFIDLOG_VERTICAL_LOG_1) + return TRUE; + else + return FALSE; +} + +bool8 sub_80576B4(u8 var) +{ + if(var == MB_PACIFIDLOG_VERTICAL_LOG_2) + return TRUE; + else + return FALSE; +} + +bool8 sub_80576C8(u8 var) +{ + if(var == MB_PACIFIDLOG_HORIZONTAL_LOG_1) + return TRUE; + else + return FALSE; +} + +bool8 sub_80576DC(u8 var) +{ + if(var == MB_PACIFIDLOG_HORIZONTAL_LOG_2) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_IsPacifidlogLog(u8 var) +{ + if(var >= MB_PACIFIDLOG_VERTICAL_LOG_1 && var <= MB_PACIFIDLOG_HORIZONTAL_LOG_2) + return TRUE; + else + return FALSE; +} + +bool8 is_tile_x8C(u8 var) +{ + if(var == MB_TRICK_HOUSE_PUZZLE_DOOR) + return TRUE; + else + return FALSE; +} + +bool8 is_tile_x85(u8 var) +{ + if(var == MB_REGION_MAP) + return TRUE; + else + return FALSE; +} + +bool8 is_tile_x8B(u8 var) +{ + if(var == MB_CLOSED_SOOTOPOLIS_GYM_DOOR) + return TRUE; + else + return FALSE; +} + +bool8 is_tile_x8A(u8 var) +{ + if(var == MB_ROULETTE) + return TRUE; + else + return FALSE; +} + +bool8 is_tile_x87(u8 var) +{ + if(var == MB_POKEBLOCK_FEEDER) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_0xBB(u8 var) +{ + if(var == MB_BB) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_0xBC(u8 var) +{ + if(var == MB_BC) + return TRUE; + else + return FALSE; +} + +bool8 sub_8057798(u8 var) +{ + if(var == MB_LAVARIDGE_GYM_B1F_WARP) + return TRUE; + else + return FALSE; +} + +bool8 is_role_x68(u8 var) +{ + if(var == MB_LAVARIDGE_GYM_1F_WARP) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_IsAquaHideoutWarp(u8 var) +{ + if(var == MB_AQUA_HIDEOUT_WARP) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_IsSurfableFishableWater(u8 var) +{ + if(var == MB_POND_WATER || var == MB_OCEAN_WATER || var == MB_SEMI_DEEP_WATER || var == MB_DEEP_WATER || var == MB_SOOTOPOLIS_DEEP_WATER || (var >= MB_EASTWARD_CURRENT && var <= MB_SOUTHWARD_CURRENT)) + return TRUE; + else + return FALSE; +} + +bool8 sub_8057804(u8 var) +{ + if(var == MB_MT_PYRE_HOLE) + return TRUE; + else + return FALSE; +} + +bool8 sub_8057818(u8 var) +{ + if(var == MB_CRACKED_FLOOR_HOLE) + return TRUE; + else + return FALSE; +} + +bool8 sub_805782C(u8 var) +{ + if(var == MB_CRACKED_FLOOR) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_IsMuddySlope(u8 var) +{ + if(var == MB_MUDDY_SLOPE) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_IsBumpySlope(u8 var) +{ + if(var == MB_BUMPY_SLOPE) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_IsIsolatedVerticalRail(u8 var) +{ + if(var == MB_ISOLATED_VERTICAL_RAIL) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_IsIsolatedHorizontalRail(u8 var) +{ + if(var == MB_ISOLATED_HORIZONTAL_RAIL) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_IsVerticalRail(u8 var) +{ + if(var == MB_VERTICAL_RAIL) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_IsHorizontalRail(u8 var) +{ + if(var == MB_HORIZONTAL_RAIL) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_IsSeaweed(u8 var) +{ + if(var == MB_SEAWEED || var == MB_SEAWEED_NO_SURFACING) + return TRUE; + else + return FALSE; +} + +bool8 MetatileBehavior_IsRunningDisallowed(u8 var) +{ + if(var == MB_NO_RUNNING || var == MB_LONG_GRASS || var == MB_HOT_SPRINGS || MetatileBehavior_IsPacifidlogLog(var) != FALSE) + return TRUE; + else + return FALSE; +} + +bool8 sub_80578F8(u8 var) +{ + if(var == MB_TALL_GRASS || var == MB_LONG_GRASS || var == MB_ASH || var == MB_LONG_GRASS_SOUTH_EDGE) + return TRUE; + else + return FALSE; +} + +bool8 sub_805791C(u8 var) +{ + if(var == MB_8E) + return TRUE; + else + return FALSE; +} + +bool8 sub_8057930(u8 var) +{ + if(var == MB_PICTURE_BOOK_SHELF) + return TRUE; + else + return FALSE; +} + +bool8 sub_8057944(u8 var) +{ + if(var == MB_BOOKSHELF) + return TRUE; + else + return FALSE; +} + +bool8 sub_8057958(u8 var) +{ + if(var == MB_POKEMON_CENTER_BOOKSHELF) + return TRUE; + else + return FALSE; +} + +bool8 sub_805796C(u8 var) +{ + if(var == MB_VASE) + return TRUE; + else + return FALSE; +} + +bool8 sub_8057980(u8 var) +{ + if(var == MB_TRASH_CAN) + return TRUE; + else + return FALSE; +} + +bool8 sub_8057994(u8 var) +{ + if(var == MB_SHOP_SHELF) + return TRUE; + else + return FALSE; +} + +bool8 sub_80579A8(u8 var) +{ + if(var == MB_BLUEPRINT) + return TRUE; + else + return FALSE; +} diff --git a/src/money.c b/src/money.c new file mode 100644 index 000000000..2a59cab50 --- /dev/null +++ b/src/money.c @@ -0,0 +1,240 @@ +#include "global.h" +#include "money.h" +#include "decompress.h" +#include "menu.h" +#include "sprite.h" +#include "string_util.h" + +#define SPRITE_TAG_MONEY (0x2722) + +extern u16 gSpecialVar_0x8005; +extern u8 gUnknown_02038734; + +extern const struct SpriteSheet gUnknown_083CF584; +extern const struct SpritePalette gUnknown_083CF58C; +extern const struct SpriteTemplate gSpriteTemplate_83CF56C; + +bool8 IsEnoughMoney(u32 budget, u32 cost) { + if (budget >= cost) { + return TRUE; + } + + return FALSE; +} + +void sub_80B79B8(u32 *arg0, u32 arg1) { + if (*arg0 > *arg0 + arg1) { + *arg0 = 999999; + return; + } + + *arg0 = *arg0 + arg1; + if (*arg0 > 999999) { + *arg0 = 999999; + } +} + +void sub_80B79E0(u32 *arg0, u32 arg1) { + if (*arg0 < arg1) { + *arg0 = 0; + } else { + *arg0 = *arg0 - arg1; + } +} + +void sub_80B79F8(u8 *buffer, u32 arg1, u8 arg2) { + u8 width; + u8 i; + + if (arg1 > 999999) { + width = 7; + } else if (arg1 > 99999) { + width = 6; + } else if (arg1 > 10000) { + width = 5; + } else if (arg1 > 999) { + width = 4; + } else if (arg1 > 99) { + width = 3; + } else if (arg1 > 9) { + width = 2; + } else { + width = 1; + } + + buffer[0] = EXT_CTRL_CODE_BEGIN; + buffer[1] = 0x14; + buffer[2] = 0x06; + buffer += 3; + + for (i = 0; i < arg2 - width; i++) { + buffer[0] = CHAR_SPACE; + buffer += 1; + } + + buffer[0] = CHAR_CURRENCY; + buffer += 1; + + buffer = ConvertIntToDecimalString(buffer, arg1); + + buffer[0] = EXT_CTRL_CODE_BEGIN; + buffer[1] = 0x14; + buffer[2] = 0x00; + buffer[3] = EOS; +} + +void sub_80B7A94(u32 arg0, u8 size, u8 x, u8 y) { + u8 buffer[16]; + u8 stringWidth; + + sub_80B79F8(buffer, arg0, size); + stringWidth = sub_8072CA4(buffer); + + if (stringWidth >= (size + 1) * 8) + MenuPrint(buffer, x, y); + else + { + int xPlusOne = x + 1; + MenuPrint_PixelCoords(buffer, (xPlusOne + size) * 8 - stringWidth, y * 8, 1); + } +} + +void sub_80B7AEC(u32 arg0, u8 left, u8 top) { + u8 buffer[32]; + u8 *ptr; + + ptr = &buffer[0]; + + ptr[0] = CHAR_CURRENCY; + ptr++; + + ptr = ConvertIntToDecimalString(ptr, arg0); + + MenuPrint_RightAligned(buffer, left, top); + + ptr[0] = 0xFC; + ptr[1] = 0x14; + ptr[2] = 0x00; + ptr[3] = 0xFF; +} + +__attribute__((naked)) +void sub_80B7B34(void) { + asm(".syntax unified\n\ + push {r4-r7,lr}\n\ + mov r7, r9\n\ + mov r6, r8\n\ + push {r6,r7}\n\ + sub sp, 0x4\n\ + mov r8, r0\n\ + adds r5, r1, 0\n\ + mov r9, r2\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + mov r8, r0\n\ + lsls r5, 24\n\ + lsrs r5, 24\n\ + mov r1, r9\n\ + lsls r1, 8\n\ + mov r9, r1\n\ + ldr r4, _080B7BD8 @ =gDecoration10000_Gfx\n\ + adds r0, r1, r4\n\ + lsls r6, r5, 4\n\ + subs r6, r5\n\ + lsls r1, r6, 6\n\ + mov r3, r8\n\ + adds r3, 0x1\n\ + lsls r3, 5\n\ + ldr r2, _080B7BDC @ =0x06008000\n\ + adds r3, r2\n\ + adds r1, r3\n\ + movs r2, 0x20\n\ + str r3, [sp]\n\ + bl CpuFastSet\n\ + adds r4, 0x80\n\ + add r9, r4\n\ + adds r0, r5, 0x1\n\ + lsls r4, r0, 4\n\ + subs r4, r0\n\ + lsls r1, r4, 6\n\ + ldr r3, [sp]\n\ + adds r1, r3\n\ + mov r0, r9\n\ + movs r2, 0x20\n\ + bl CpuFastSet\n\ + movs r3, 0\n\ + lsls r5, 5\n\ + mov r0, r8\n\ + adds r7, r5, r0\n\ + lsls r6, 1\n\ + adds r6, 0x1\n\ + add r6, r8\n\ + ldr r1, _080B7BE0 @ =0xfffff000\n\ + adds r5, r1, 0\n\ + ldr r0, _080B7BE4 @ =0x0600f800\n\ + mov r12, r0\n\ + ldr r1, _080B7BE8 @ =0x0600f840\n\ + mov r9, r1\n\ + lsls r4, 1\n\ + adds r4, 0x1\n\ + add r4, r8\n\ +_080B7BAA:\n\ + adds r1, r7, r3\n\ + lsls r1, 1\n\ + mov r0, r12\n\ + adds r2, r1, r0\n\ + adds r0, r3, r6\n\ + adds r0, r5\n\ + strh r0, [r2]\n\ + add r1, r9\n\ + adds r0, r3, r4\n\ + adds r0, r5\n\ + strh r0, [r1]\n\ + adds r0, r3, 0x1\n\ + lsls r0, 16\n\ + lsrs r3, r0, 16\n\ + cmp r3, 0x3\n\ + bls _080B7BAA\n\ + add sp, 0x4\n\ + pop {r3,r4}\n\ + mov r8, r3\n\ + mov r9, r4\n\ + pop {r4-r7}\n\ + pop {r0}\n\ + bx r0\n\ + .align 2, 0\n\ +_080B7BD8: .4byte gDecoration10000_Gfx\n\ +_080B7BDC: .4byte 0x06008000\n\ +_080B7BE0: .4byte 0xfffff000\n\ +_080B7BE4: .4byte 0x0600f800\n\ +_080B7BE8: .4byte 0x0600f840\n\ + .syntax divided\n"); +} + +void sub_80B7BEC(u32 arg0, u8 x, u8 y) { + sub_80B7A94(arg0, 6, x + 6, y + 1); +} + +void sub_80B7C14(u32 arg0, u8 x, u8 y) { + MenuDrawTextWindow(x, y, x + 13, y + 3); + sub_80B7BEC(arg0, x, y); + + LoadCompressedObjectPic(&gUnknown_083CF584); + LoadCompressedObjectPalette(&gUnknown_083CF58C); + + gUnknown_02038734 = CreateSprite(&gSpriteTemplate_83CF56C, x * 8 + 19, y * 8 + 11, 0); +} + +void RemoveMoneyLabelObject(u8 x, u8 y) { + DestroySpriteAndFreeResources(&gSprites[gUnknown_02038734]); + FreeSpritePaletteByTag(SPRITE_TAG_MONEY); + MenuZeroFillWindowRect(x, y, x + 13, y + 3); +} + +bool8 sub_80B7CE8(void) { + return IsEnoughMoney(gSaveBlock1.money, gSpecialVar_0x8005); +} + +void sub_80B7D0C(void) { + sub_80B79E0(&gSaveBlock1.money, gSpecialVar_0x8005); +} diff --git a/src/mori_debug_menu.c b/src/mori_debug_menu.c index fbb796ca4..44f8542a5 100644 --- a/src/mori_debug_menu.c +++ b/src/mori_debug_menu.c @@ -5,9 +5,15 @@ #include "menu.h" #include "main.h" #include "string_util.h" +#include "link.h" +#define SIO_MULTI_CNT ((struct SioMultiCnt *)REG_ADDR_SIOCNT) + +extern u8 gUnknown_03004DA0[]; extern u8 (*gCallback_03004AE8)(void); +extern u8 gUnknown_0839B22C[][3]; +extern u8 gUnknown_0839B24A[]; extern u8 gUnknown_0839B24D[]; extern u8 gUnknown_0839B255[]; extern u8 gUnknown_0839B257[]; @@ -16,6 +22,17 @@ extern const struct MenuAction gMoriDebugMenuActions[]; extern u8 gSpeciesNames[][11]; +void unref_sub_8083CF0(void) +{ + int i; + int id = SIO_MULTI_CNT->id; + gUnknown_03004DA0[0] = EOS; + StringAppend(gUnknown_03004DA0, gUnknown_0839B24A); + for (i = 0; i < 10; i++) + if ((word_3002910[id ^ 1] >> i) & 1) + StringAppend(gUnknown_03004DA0, gUnknown_0839B22C[i]); +} + bool8 sub_8083D4C(void) { if ( gMain.newKeys & A_BUTTON ) diff --git a/src/mystery_event_menu.c b/src/mystery_event_menu.c new file mode 100644 index 000000000..09523ff40 --- /dev/null +++ b/src/mystery_event_menu.c @@ -0,0 +1,346 @@ +#include "global.h" +#include "sprite.h" +#include "menu.h" +#include "link.h" +#include "text.h" +#include "main.h" +#include "palette.h" +#include "task.h" +#include "string_util.h" +#include "songs.h" +#include "sound.h" +#include "save.h" +#include "asm.h" +#include "mystery_event_menu.h" + +extern u8 unk_2000000[]; +extern u8 gUnknown_02039338; + +extern u8 gSystemText_LinkStandby[]; +extern u8 gSystemText_LoadEventPressA[]; +extern u8 gSystemText_LoadingEvent[]; +extern u8 gSystemText_DontCutLink[]; +extern u8 gSystemText_EventLoadSuccess[]; +extern u8 gSystemText_LoadingError[]; + +static void VBlankCB(void); +static bool8 CheckLanguageMatch(void); +static bool8 GetEventLoadMessage(u8 *dest, u32 status); +static void CB2_MysteryEventMenu(void); + +static void VBlankCB(void) +{ + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); +} + +static bool8 CheckLanguageMatch(void) +{ + bool8 val = FALSE; + + if (gLinkPlayers[0].language == gLinkPlayers[1].language) + val = TRUE; + + return val; +} + +void CB2_InitMysteryEventMenu(void) +{ + ResetSpriteData(); + FreeAllSpritePalettes(); + ResetTasks(); + SetVBlankCallback(VBlankCB); + SetUpWindowConfig(&gWindowConfig_81E6CE4); + InitMenuWindow(&gWindowConfig_81E6CE4); + MenuZeroFillScreen(); + REG_DISPCNT = 320; + REG_BLDCNT = 0; + CreateTask(Task_DestroySelf, 0); + StopMapMusic(); + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); + FillPalette(0, 0, 2); + SetMainCallback2(CB2_MysteryEventMenu); +} + +static bool8 GetEventLoadMessage(u8 *dest, u32 status) +{ + bool8 retVal = 1; + + if (status == 0) + { + StringCopy(dest, gSystemText_EventLoadSuccess); + retVal = 0; + } + + if (status == 2) + retVal = 0; + + if (status == 1) + StringCopy(dest, gSystemText_LoadingError); + + return retVal; +} + +static void CB2_MysteryEventMenu(void) +{ + u16 unkVal; + + switch (gMain.state) + { + case 0: + MenuDrawTextWindow(0, 14, 29, 19); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, 0); + gMain.state++; + break; + case 1: + if (gPaletteFade.active) + break; + sub_8072044(gSystemText_LinkStandby); + gMain.state++; + break; + case 2: + if (MenuUpdateWindowText()) + { + gMain.state++; + gLinkType = 21761; + OpenLink(); + } + break; + case 3: + if ((gLinkStatus & 0x20) && (gLinkStatus & 0x1C) > 4) + { + PlaySE(SE_PIN); + sub_8072044(gSystemText_LoadEventPressA); + gMain.state++; + } + if (gMain.newKeys & B_BUTTON) + { + PlaySE(SE_SELECT); + CloseLink(); + gMain.state = 15; + } + break; + case 4: + if (MenuUpdateWindowText()) + gMain.state++; + break; +#ifdef NONMATCHING + case 5: + if (GetLinkPlayerCount_2() != 2) + { + GetEventLoadMessage(gStringVar4, 1); + sub_8072044(gStringVar4); + gMain.state = 13; + break; + } + if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + sub_8007F4C(); + MenuDrawTextWindow(6, 5, 23, 8); + MenuPrint(gSystemText_LoadingEvent, 7, 6); + gMain.state++; + } + else if (gMain.newKeys & B_BUTTON) + { + PlaySE(SE_SELECT); + CloseLink(); + gMain.state = 15; + } + break; + case 6: + if (IsLinkConnectionEstablished()) + { + if (!gReceivedRemoteLinkPlayers) + break; + + if (GetLinkPlayerDataExchangeStatusTimed() == 3) + { + sub_800832C(); + MenuZeroFillWindowRect(6, 5, 23, 8); + GetEventLoadMessage(gStringVar4, 1); + sub_8072044(gStringVar4); + gMain.state = 13; + break; + } + else if (CheckLanguageMatch()) + { + sub_8072044(gSystemText_DontCutLink); + gMain.state++; + break; + } + else + { + CloseLink(); + MenuZeroFillWindowRect(6, 5, 23, 8); + GetEventLoadMessage(gStringVar4, 1); + sub_8072044(gStringVar4); + gMain.state = 13; + break; + } + } + if (gMain.newKeys & B_BUTTON) + { + PlaySE(SE_SELECT); + CloseLink(); + gMain.state = 15; + break; + } + break; +#else + case 5: + if (GetLinkPlayerCount_2() != 2) + { + goto label; + } + if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + sub_8007F4C(); + MenuDrawTextWindow(6, 5, 23, 8); + MenuPrint(gSystemText_LoadingEvent, 7, 6); + gMain.state++; + } + else if (gMain.newKeys & B_BUTTON) + { + PlaySE(SE_SELECT); + CloseLink(); + gMain.state = 15; + } + break; + case 6: + if (IsLinkConnectionEstablished()) + { + register u8 *ptr asm("r0"); + register u32 offset1 asm("r2"); + register u32 offset2 asm("r1"); + + if (!gReceivedRemoteLinkPlayers) + break; + + if (GetLinkPlayerDataExchangeStatusTimed() == 3) + { + sub_800832C(); + MenuZeroFillWindowRect(6, 5, 23, 8); + GetEventLoadMessage(gStringVar4, 1); + sub_8072044(gStringVar4); + ptr = (u8 *)&gMain; + offset1 = offsetof(struct Main, state); + asm("" ::: "r1"); + ptr += offset1; + *ptr = 13; + } + else if (CheckLanguageMatch()) + { + register u8 *ptr2 asm("r1"); + register int offset3 asm("r0"); + register int dummy asm("r2"); + sub_8072044(gSystemText_DontCutLink); + ptr2 = (u8 *)&gMain; + offset3 = offsetof(struct Main, state); + if (dummy) + dummy++; + ptr2 += offset3; + (*ptr2)++; + break; + } + else + { + CloseLink(); + MenuZeroFillWindowRect(6, 5, 23, 8); + label: + GetEventLoadMessage(gStringVar4, 1); + sub_8072044(gStringVar4); + ptr = (u8 *)&gMain; + offset2 = offsetof(struct Main, state); + ptr += offset2; + *ptr = 13; + } + break; + } + if (gMain.newKeys & B_BUTTON) + { + PlaySE(SE_SELECT); + CloseLink(); + gMain.state = 15; + break; + } + break; +#endif + case 7: + if (MenuUpdateWindowText()) + gMain.state++; + break; + case 8: + if (GetBlockReceivedStatus()) + { + ResetBlockReceivedFlags(); + gMain.state++; + } + break; + case 9: + gMain.state++; + break; + case 10: + sub_800832C(); + gMain.state++; + break; + case 11: + if (gReceivedRemoteLinkPlayers) + break; + unkVal = sub_812613C(unk_2000000); + CpuFill32(0, unk_2000000, 0x7D4); + if (!GetEventLoadMessage(gStringVar4, unkVal)) + sub_8125D44(0); + gMain.state++; + break; + case 12: + sub_8072044(gStringVar4); + gMain.state++; + break; + case 13: + MenuZeroFillWindowRect(6, 5, 23, 8); + if (MenuUpdateWindowText()) + { + gMain.state++; + gUnknown_02039338 = 0; + } + break; + case 14: + if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + gMain.state++; + } + break; + case 15: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); + gMain.state++; + break; + case 16: + if (!gPaletteFade.active) + DoSoftReset(); + break; + } + + if (gLinkStatus & 0x40) + { + if (!IsLinkMaster()) + { + CloseLink(); + MenuZeroFillWindowRect(6, 5, 23, 8); + GetEventLoadMessage(gStringVar4, 1); + sub_8072044(gStringVar4); + gMain.state = 13; + } + } + + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} diff --git a/src/mystery_event_script.c b/src/mystery_event_script.c new file mode 100644 index 000000000..4aa3784d7 --- /dev/null +++ b/src/mystery_event_script.c @@ -0,0 +1,97 @@ +#include "global.h" +#include "script.h" +#include "string_util.h" + +#ifdef SAPPHIRE +#define UNK_MASK 0x100 +#else +#define UNK_MASK 0x80 +#endif + +extern struct ScriptContext gUnknown_02039288; + +extern ScrCmdFunc gScriptFuncs[]; +extern ScrCmdFunc gScriptFuncs_End[]; + +extern u8 gOtherText_DataCannotUseVersion[]; + +void sub_8126160(u32 val); + +bool32 sub_8126098(u16 a1, u32 a2, u16 a3, u32 a4) +{ + if (!(a1 & 0x2)) + return FALSE; + + if (!(a2 & 0x2)) + return FALSE; + + if (!(a3 & 0x4)) + return FALSE; + + if (!(a4 & UNK_MASK)) + return FALSE; + + return TRUE; +} + +void sub_81260D0(void) +{ + StringExpandPlaceholders(gStringVar4, gOtherText_DataCannotUseVersion); + sub_8126160(3); +} + +void sub_81260EC(struct ScriptContext *ctx, u8 *ptr) +{ + InitScriptContext(ctx, gScriptFuncs, gScriptFuncs_End); + SetupBytecodeScript(ctx, ptr); + ctx->data[0] = (u32)ptr; + ctx->data[1] = 0; + ctx->data[2] = 0; + ctx->data[3] = 0; +} + +bool32 sub_812611C(struct ScriptContext *ctx) +{ + if (RunScript(ctx) && ctx->data[3]) + return TRUE; + else + return FALSE; +} + +u32 sub_812613C(u8 *ptr) +{ + struct ScriptContext *ctx = &gUnknown_02039288; + sub_81260EC(ctx, ptr); + while (sub_812611C(ctx)) + ; + return ctx->data[2]; +} + +void sub_8126160(u32 val) +{ + gUnknown_02039288.data[2] = val; +} + +int sub_812616C(u8 *a1, int a2) +{ + unsigned int i; + int sum = 0; + + for (i = 0; i < a2; i++) + sum += a1[i]; + + return sum; +} + +u32 sub_812618C(u8 *ptr) +{ + return ptr[0] | (ptr[1] << 8) | (ptr[2] << 16) | (ptr[3] << 24); +} + +void sub_81261A4(u8 *ptr, u32 val) +{ + ptr[0] = val; + ptr[1] = val >> 8; + ptr[2] = val >> 16; + ptr[3] = val >> 24; +} diff --git a/src/new_game.c b/src/new_game.c index c36337409..fa1894086 100644 --- a/src/new_game.c +++ b/src/new_game.c @@ -18,7 +18,15 @@ extern u8 gUnknown_03005CE8; extern u16 gSaveFileStatus; extern u8 gUnknown_0819FA81[]; -extern const struct SB1_2EFC_Struct gUnknown_08216604; + +const struct SB1_2EFC_Struct gUnknown_08216604 = +{ + { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, + } +}; void write_word_to_mem(u32 a1, u8 *a2) { @@ -102,7 +110,7 @@ void NewGameInitData(void) sub_8052DE4(); memset(&gSaveBlock1, 0, sizeof(gSaveBlock1)); sub_80A2B18(); - gSaveBlock2.sb2_field_9 = 0; + gSaveBlock2.specialSaveWarp = 0; set_player_trainer_id(); PlayTimeCounter_Reset(); sub_8052D78(); diff --git a/src/player_pc.c b/src/player_pc.c new file mode 100644 index 000000000..822e2108e --- /dev/null +++ b/src/player_pc.c @@ -0,0 +1,818 @@ +#include "global.h" +#include "item.h" +#include "task.h" +#include "menu.h" +#include "sound.h" +#include "main.h" +#include "script.h" +#include "palette.h" +#include "weather.h" +#include "asm.h" +#include "string_util.h" + +extern void DisplayItemMessageOnField(u8, u8*, TaskFunc, u16); +extern void ItemStorageMenuProcessInput(u8); +extern void DoPlayerPCDecoration(u8); +extern void BuyMenuFreeMemory(void); +extern void DestroyVerticalScrollIndicator(u8); +extern u8 sub_813AF3C(void); +extern void sub_813AF78(void); +extern void sub_813A240(u8); +extern void sub_813B108(u8); +extern void sub_813B174(u8); +extern void sub_80A6A30(void); +extern u8 sub_807D770(void); +extern void sub_813A280(u8); +extern void sub_813AE6C(u8, u8); +extern void sub_813A240(u8); +extern void sub_813AD58(u16); +extern void sub_813AE0C(u8); +extern void sub_813ABE8(u8); +extern void sub_813AA30(u8, u8); +extern void sub_813A4B4(u8); +extern void sub_813A468(u8); + +extern u8 gOtherText_NoItems[]; + +extern u16 gNewGamePCItems[]; + +extern u8 gOtherText_WhatWillYouDo[]; +extern u8 gOtherText_NoMailHere[]; + +extern u8 *gUnknown_02039314; +extern struct MenuAction gUnknown_08406298[]; +extern u8 gUnknown_084062B8[]; +extern u8 gUnknown_084062BC[]; +extern u8 gUnknown_030007B4; +extern u8 unk_201FE00[]; + +extern u8 gUnknown_08152850; +extern u8 gUnknown_08152C75; + +extern u32 gUnknown_08406288[]; +extern const struct MenuAction gUnknown_084062C0[]; + +void InitPlayerPCMenu(u8 taskId); +void PlayerPCProcessMenuInput(u8 taskId); +void InitItemStorageMenu(u8); +void ItemStorageMenuPrint(u8 *); + +void NewGameInitPCItems(void) +{ + u8 i = 0; + + ClearItemSlots(gSaveBlock1.pcItems, 0x32); + + while (gNewGamePCItems[i * 2] && (gNewGamePCItems + 1)[i * 2]) + { + if(AddPCItem(gNewGamePCItems[i * 2], (gNewGamePCItems + 1)[i * 2]) != 1) + break; + i++; + } +} + +void BedroomPC(void) +{ + u8 taskId; + + gUnknown_02039314 = gUnknown_084062B8; + gUnknown_030007B4 = 4; + taskId = CreateTask(TaskDummy, 0); + DisplayItemMessageOnField(taskId, gOtherText_WhatWillYouDo, InitPlayerPCMenu, 0); +} + +void PlayerPC(void) +{ + u8 taskId; + + gUnknown_02039314 = gUnknown_084062BC; + gUnknown_030007B4 = 3; + taskId = CreateTask(TaskDummy, 0); + DisplayItemMessageOnField(taskId, gOtherText_WhatWillYouDo, InitPlayerPCMenu, 0); +} + +void InitPlayerPCMenu(u8 taskId) +{ + MenuDrawTextWindow(0, 0, 10, gUnknown_030007B4 * 2 + 1); + PrintMenuItemsReordered(1, 1, gUnknown_030007B4, gUnknown_08406298, gUnknown_02039314); + InitMenu(0, 1, 1, gUnknown_030007B4, 0, 9); + gTasks[taskId].func = PlayerPCProcessMenuInput; +} + +void PlayerPCProcessMenuInput(u8 taskId) +{ + if(gMain.newAndRepeatedKeys & 0x40) + { + PlaySE(5); + MoveMenuCursor(-1); + } + else if(gMain.newAndRepeatedKeys & 0x80) + { + PlaySE(5); + MoveMenuCursor(1); + } + else if(gMain.newKeys & 0x1) + { + sub_8072DEC(); + PlaySE(5); + gUnknown_08406298[gUnknown_02039314[GetMenuCursorPos()]].func(taskId); + } + else if(gMain.newKeys & 0x2) + { + sub_8072DEC(); + PlaySE(5); + gUnknown_08406298[gUnknown_030007B4[gUnknown_02039314 - 1]].func(taskId); + } +} + +void ReshowPlayerPC(u8 var) +{ + DisplayItemMessageOnField(var, gOtherText_WhatWillYouDo, InitPlayerPCMenu, 0); +} + +void PlayerPC_ItemStorage(u8 taskId) +{ + InitItemStorageMenu(0); + gTasks[taskId].func = ItemStorageMenuProcessInput; +} + +void PlayerPC_Mailbox(u8 taskId) +{ + MenuZeroFillWindowRect(0, 0, 10, 9); + unk_201FE00[3] = sub_813AF3C(); + if(!unk_201FE00[3]) + DisplayItemMessageOnField(taskId, gOtherText_NoMailHere, ReshowPlayerPC, 0); + else + { + unk_201FE00[0] = 0; + unk_201FE00[2] = 0; + sub_813AF78(); + sub_813A240(taskId); + sub_813B108(taskId); + gTasks[taskId].func = sub_813B174; + } +} + +void PlayerPC_Decoration(u8 var) +{ + MenuZeroFillWindowRect(0, 0, 10, 9); + DoPlayerPCDecoration(var); +} + +void PlayerPC_TurnOff(u8 taskId) +{ + if(gUnknown_030007B4 == 4) + { + MenuZeroFillWindowRect(0, 0, 0x1D, 0x13); + if(!gSaveBlock2.playerGender) + ScriptContext1_SetupScript(&gUnknown_08152850); // male + else + ScriptContext1_SetupScript(&gUnknown_08152C75); // female + } + else + { + MenuZeroFillWindowRect(0, 0, 10, 9); + EnableBothScriptContexts(); + } + DestroyTask(taskId); +} + +void InitItemStorageMenu(u8 var) +{ + MenuZeroFillWindowRect(0, 0, 10, 9); + MenuDrawTextWindow(0, 0, 11, 9); + PrintMenuItems(1, 1, 4, gUnknown_084062C0); + InitMenu(0, 1, 1, 4, var, 10); + ItemStorageMenuPrint((u8 *)gUnknown_08406288[var]); +} + +void ItemStorageMenuPrint(u8 *textPtr) +{ + MenuFillWindowRectWithBlankTile(2, 15, 27, 18); + MenuPrint(textPtr, 2, 15); +} + +void ItemStorageMenuProcessInput(u8 var) +{ + if(gMain.newAndRepeatedKeys & 0x40) + { + PlaySE(5); + MoveMenuCursor(-1); + ItemStorageMenuPrint((u8 *)gUnknown_08406288[GetMenuCursorPos()]); + } + else if(gMain.newAndRepeatedKeys & 0x80) + { + PlaySE(5); + MoveMenuCursor(1); + ItemStorageMenuPrint((u8 *)gUnknown_08406288[GetMenuCursorPos()]); + } + else if(gMain.newKeys & 0x1) + { + PlaySE(5); + gUnknown_084062C0[GetMenuCursorPos()].func(var); + } + else if(gMain.newKeys & 0x2) + { + sub_8072DEC(); + PlaySE(5); + gUnknown_084062C0[3].func(var); + } +} + +void Task_ItemStorage_Deposit(u8 taskId) +{ + if(!gPaletteFade.active) + { + sub_80A6A30(); + DestroyTask(taskId); + } +} + +void ItemStorage_Deposit(u8 taskId) +{ + gTasks[taskId].func = Task_ItemStorage_Deposit; + fade_screen(1, 0); +} + +void sub_813A0C8(u8 taskId) +{ + if(sub_807D770() == 1) + gTasks[taskId].func = ItemStorageMenuProcessInput; +} + +void sub_813A0F8(void) +{ + MenuDisplayMessageBox(); + InitItemStorageMenu(1); + CreateTask(sub_813A0C8, 0); + pal_fill_black(); +} + +void ItemStorage_Withdraw(u8 taskId) +{ + u8 var; + u16 * data = gTasks[taskId].data; + + sub_8072DEC(); + MenuZeroFillWindowRect(0, 0, 11, 9); + var = CountUsedPCItemSlots(); + data[2] = var; + + if(var) + { + MenuZeroFillWindowRect(0, 14, 29, 19); + data[6] = 0; + data[0] = 0; + data[1] = 0; + sub_813A240(taskId); + sub_813AE6C(taskId, 0); + gTasks[taskId].func = sub_813A280; + } + else + DisplayItemMessageOnField(taskId, gOtherText_NoItems, PlayerPC_ItemStorage, 0); +} + +void ItemStorage_Toss(u8 taskId) +{ + u8 var; + u16 * data = gTasks[taskId].data; + + sub_8072DEC(); + MenuZeroFillWindowRect(0, 0, 11, 9); + var = CountUsedPCItemSlots(); + data[2] = var; + + if(var) + { + MenuZeroFillWindowRect(0, 14, 29, 19); + data[6] = 2; + data[0] = 0; + data[1] = 0; + sub_813A240(taskId); + sub_813AE6C(taskId, 2); + gTasks[taskId].func = sub_813A280; + } + else + DisplayItemMessageOnField(taskId, gOtherText_NoItems, PlayerPC_ItemStorage, 0); +} + +void ItemStorage_Exit(u8 var) +{ + sub_8072DEC(); + MenuZeroFillWindowRect(0, 0, 11, 9); + ReshowPlayerPC(var); +} + +void sub_813A240(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + + if (data[2] > 7) + data[4] = 8; + else + data[4] = data[2] + 1; + + if(unk_201FE00[3] > 7) + unk_201FE00[1] = 8; + else + unk_201FE00[1] = unk_201FE00[3] + 1; +} + +#ifdef NONMATCHING +void sub_813A280(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + + if(gMain.newAndRepeatedKeys & 0x40) + { + if(data[0]) + { + PlaySE(5); + data[0] = MoveMenuCursor(-1); + if(!data[9]) + { + if(data[1] + data[0] == data[2]) + { + sub_813AD58(0xFFFF); + return; + } + sub_813AD58(gSaveBlock1.pcItems[data[1] + data[0]].itemId); + } + return; + } + if(!data[1]) + return; + PlaySE(5); + sub_813AE0C(taskId); + if(data[9]) + MoveMenuCursor(0); + return; + } + if(!(gMain.newAndRepeatedKeys & 0x80)) + { + if(gMain.newKeys & 0x4) + { + if(!data[9]) + { + if(data[0] + data[1] != data[2]) + { + PlaySE(5); + data[9] = 1; + data[8] = data[0] + data[1]; + sub_813AD58(0xFFF7); + } + sub_813ABE8(taskId); + return; + } + PlaySE(5); + sub_813AA30(taskId, 0); + sub_813AE0C(taskId); + return; + } + if(gMain.newKeys & 0x1) + { + PlaySE(5); + if(data[9]) + { + sub_813AA30(taskId, 0); + sub_813AE0C(taskId); + return; + } + if(data[1] + data[0] != data[2]) + { + sub_813A4B4(taskId); + return; + } + } + else + { + if(!(gMain.newKeys & 0x2)) + return; + PlaySE(5); + if(data[9]) + { + sub_813AA30(taskId, 1); + sub_813AE0C(taskId); + return; + } + sub_8072DEC(); + } + sub_813A468(taskId); + return; + } + if(data[0] == data[4] - 1) + { + if(data[1] + data[0] == data[2]) + return; + PlaySE(5); + data[1]++; + sub_813AE0C(taskId); + if(data[9]) + MoveMenuCursor(0); + return; + } + PlaySE(5); + data[0] = MoveMenuCursor(1); + if(!data[9]) + { + if(data[1] + data[0] != data[2]) + { + sub_813AD58(gSaveBlock1.pcItems[data[1] + data[0]].itemId); + return; + } + sub_813AD58(0xFFFF); + } +} +#else +__attribute__((naked)) +void sub_813A280(u8 taskId) +{ + asm(".syntax unified\n\ + push {r4-r6,lr}\n\ + lsls r0, 24\n\ + lsrs r5, r0, 24\n\ + adds r6, r5, 0\n\ + lsls r0, r5, 2\n\ + adds r0, r5\n\ + lsls r0, 3\n\ + ldr r1, _0813A2DC @ =gTasks + 0x8\n\ + adds r4, r0, r1\n\ + ldr r2, _0813A2E0 @ =gMain\n\ + ldrh r1, [r2, 0x30]\n\ + movs r0, 0x40\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + beq _0813A306\n\ + movs r1, 0\n\ + ldrsh r0, [r4, r1]\n\ + cmp r0, 0\n\ + beq _0813A2E4\n\ + movs r0, 0x5\n\ + bl PlaySE\n\ + movs r0, 0x1\n\ + negs r0, r0\n\ + bl MoveMenuCursor\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + strh r0, [r4]\n\ + ldrh r1, [r4, 0x2]\n\ + adds r1, r0\n\ + lsls r1, 16\n\ + lsrs r1, 16\n\ + movs r2, 0x12\n\ + ldrsh r0, [r4, r2]\n\ + cmp r0, 0\n\ + beq _0813A2CC\n\ + b _0813A460\n\ +_0813A2CC:\n\ + lsls r0, r1, 16\n\ + asrs r1, r0, 16\n\ + movs r2, 0x4\n\ + ldrsh r0, [r4, r2]\n\ + cmp r1, r0\n\ + beq _0813A34C\n\ + b _0813A358\n\ + .align 2, 0\n\ +_0813A2DC: .4byte gTasks + 0x8\n\ +_0813A2E0: .4byte gMain\n\ +_0813A2E4:\n\ + movs r1, 0x2\n\ + ldrsh r0, [r4, r1]\n\ + cmp r0, 0\n\ + bne _0813A2EE\n\ + b _0813A460\n\ +_0813A2EE:\n\ + movs r0, 0x5\n\ + bl PlaySE\n\ + ldrh r0, [r4, 0x2]\n\ + subs r0, 0x1\n\ + strh r0, [r4, 0x2]\n\ + adds r0, r5, 0\n\ + bl sub_813AE0C\n\ + movs r2, 0x12\n\ + ldrsh r0, [r4, r2]\n\ + b _0813A394\n\ +_0813A306:\n\ + movs r0, 0x80\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + beq _0813A3A0\n\ + movs r0, 0\n\ + ldrsh r1, [r4, r0]\n\ + movs r2, 0x8\n\ + ldrsh r0, [r4, r2]\n\ + subs r0, 0x1\n\ + cmp r1, r0\n\ + beq _0813A370\n\ + movs r0, 0x5\n\ + bl PlaySE\n\ + movs r0, 0x1\n\ + bl MoveMenuCursor\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + strh r0, [r4]\n\ + ldrh r1, [r4, 0x2]\n\ + adds r1, r0\n\ + lsls r1, 16\n\ + lsrs r1, 16\n\ + movs r2, 0x12\n\ + ldrsh r0, [r4, r2]\n\ + cmp r0, 0\n\ + beq _0813A340\n\ + b _0813A460\n\ +_0813A340:\n\ + lsls r0, r1, 16\n\ + asrs r1, r0, 16\n\ + movs r2, 0x4\n\ + ldrsh r0, [r4, r2]\n\ + cmp r1, r0\n\ + bne _0813A358\n\ +_0813A34C:\n\ + ldr r0, _0813A354 @ =0x0000ffff\n\ + bl sub_813AD58\n\ + b _0813A460\n\ + .align 2, 0\n\ +_0813A354: .4byte 0x0000ffff\n\ +_0813A358:\n\ + ldr r0, _0813A36C @ =gSaveBlock1\n\ + lsls r1, 2\n\ + adds r1, r0\n\ + movs r0, 0x93\n\ + lsls r0, 3\n\ + adds r1, r0\n\ + ldrh r0, [r1]\n\ + bl sub_813AD58\n\ + b _0813A460\n\ + .align 2, 0\n\ +_0813A36C: .4byte gSaveBlock1\n\ +_0813A370:\n\ + movs r2, 0x2\n\ + ldrsh r0, [r4, r2]\n\ + adds r0, r1\n\ + movs r2, 0x4\n\ + ldrsh r1, [r4, r2]\n\ + cmp r0, r1\n\ + beq _0813A460\n\ + movs r0, 0x5\n\ + bl PlaySE\n\ + ldrh r0, [r4, 0x2]\n\ + adds r0, 0x1\n\ + strh r0, [r4, 0x2]\n\ + adds r0, r5, 0\n\ + bl sub_813AE0C\n\ + movs r1, 0x12\n\ + ldrsh r0, [r4, r1]\n\ +_0813A394:\n\ + cmp r0, 0\n\ + beq _0813A460\n\ + movs r0, 0\n\ + bl MoveMenuCursor\n\ + b _0813A460\n\ +_0813A3A0:\n\ + ldrh r1, [r2, 0x2E]\n\ + movs r0, 0x4\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + beq _0813A3F0\n\ + movs r2, 0x12\n\ + ldrsh r0, [r4, r2]\n\ + cmp r0, 0\n\ + bne _0813A3E8\n\ + movs r1, 0\n\ + ldrsh r0, [r4, r1]\n\ + movs r2, 0x2\n\ + ldrsh r1, [r4, r2]\n\ + adds r0, r1\n\ + movs r2, 0x4\n\ + ldrsh r1, [r4, r2]\n\ + cmp r0, r1\n\ + beq _0813A3DC\n\ + movs r0, 0x5\n\ + bl PlaySE\n\ + movs r0, 0x1\n\ + strh r0, [r4, 0x12]\n\ + ldrh r0, [r4]\n\ + ldrh r1, [r4, 0x2]\n\ + adds r0, r1\n\ + strh r0, [r4, 0x10]\n\ + ldr r0, _0813A3E4 @ =0x0000fff7\n\ + bl sub_813AD58\n\ +_0813A3DC:\n\ + adds r0, r5, 0\n\ + bl sub_813ABE8\n\ + b _0813A460\n\ + .align 2, 0\n\ +_0813A3E4: .4byte 0x0000fff7\n\ +_0813A3E8:\n\ + movs r0, 0x5\n\ + bl PlaySE\n\ + b _0813A420\n\ +_0813A3F0:\n\ + movs r0, 0x1\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + beq _0813A430\n\ + movs r0, 0x5\n\ + bl PlaySE\n\ + movs r2, 0x12\n\ + ldrsh r0, [r4, r2]\n\ + cmp r0, 0\n\ + bne _0813A420\n\ + movs r1, 0x2\n\ + ldrsh r0, [r4, r1]\n\ + movs r2, 0\n\ + ldrsh r1, [r4, r2]\n\ + adds r0, r1\n\ + movs r2, 0x4\n\ + ldrsh r1, [r4, r2]\n\ + cmp r0, r1\n\ + beq _0813A44A\n\ + adds r0, r5, 0\n\ + bl sub_813A4B4\n\ + b _0813A460\n\ +_0813A420:\n\ + adds r0, r5, 0\n\ + movs r1, 0\n\ + bl sub_813AA30\n\ + adds r0, r5, 0\n\ + bl sub_813AE0C\n\ + b _0813A460\n\ +_0813A430:\n\ + movs r0, 0x2\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + beq _0813A460\n\ + movs r0, 0x5\n\ + bl PlaySE\n\ + movs r1, 0x12\n\ + ldrsh r0, [r4, r1]\n\ + cmp r0, 0\n\ + bne _0813A452\n\ + bl sub_8072DEC\n\ +_0813A44A:\n\ + adds r0, r5, 0\n\ + bl sub_813A468\n\ + b _0813A460\n\ +_0813A452:\n\ + adds r0, r6, 0\n\ + movs r1, 0x1\n\ + bl sub_813AA30\n\ + adds r0, r6, 0\n\ + bl sub_813AE0C\n\ +_0813A460:\n\ + pop {r4-r6}\n\ + pop {r0}\n\ + bx r0\n\ + .syntax divided"); +} +#endif + +void sub_813A468(u8 taskId) +{ + BuyMenuFreeMemory(); + DestroyVerticalScrollIndicator(0); + DestroyVerticalScrollIndicator(1); + MenuZeroFillWindowRect(0, 0, 29, 19); + MenuDisplayMessageBox(); + InitItemStorageMenu(gTasks[taskId].data[6]); + gTasks[taskId].func = ItemStorageMenuProcessInput; +} + +#ifdef NONMATCHING +void sub_813A4B4(u8 taskId) +{ + u16 *data = gTasks[taskId].data; + u16 var = data[2] + data[0]; + + sub_80F996C(0); + sub_80F996C(1); + + if(data[6]) + { + if(gSaveBlock1.pcItems[var].itemId == 1) + { + data[3] = 1; + sub_813A794(taskId); + return; + } + sub_813AD58(0xFFF7); + data[3] = 1; + MenuDrawTextWindow(6, 8, 13, 11); + sub_80A418C(data[3], STR_CONV_MODE_RIGHT_ALIGN, 8, 9, 3); + gTasks[taskId].func = sub_813A584; + return; + } + if(gSaveBlock1.pcItems[var].itemId != 1) + { + sub_813AD58(0xFFF7); + data[3] = 1; + MenuDrawTextWindow(6, 8, 13, 11); + sub_80A418C(data[3], STR_CONV_MODE_RIGHT_ALIGN, 8, 9, 3); + gTasks[taskId].func = sub_813A584; + return; + } + data[3] = 1; + sub_813A6FC(taskId); +} +#else +__attribute__((naked)) +void sub_813A4B4(u8 taskId) +{ + asm(".syntax unified\n\ + push {r4-r6,lr}\n\ + sub sp, 0x4\n\ + lsls r0, 24\n\ + lsrs r6, r0, 24\n\ + lsls r0, r6, 2\n\ + adds r0, r6\n\ + lsls r0, 3\n\ + ldr r1, _0813A500 @ =gTasks + 0x8\n\ + adds r4, r0, r1\n\ + ldrb r0, [r4, 0x2]\n\ + ldrb r1, [r4]\n\ + adds r0, r1\n\ + lsls r0, 24\n\ + lsrs r5, r0, 24\n\ + movs r0, 0\n\ + bl sub_80F996C\n\ + movs r0, 0x1\n\ + bl sub_80F996C\n\ + movs r1, 0xC\n\ + ldrsh r0, [r4, r1]\n\ + cmp r0, 0\n\ + bne _0813A518\n\ + ldr r1, _0813A504 @ =gSaveBlock1\n\ + lsls r0, r5, 2\n\ + adds r0, r1\n\ + ldr r1, _0813A508 @ =0x0000049a\n\ + adds r0, r1\n\ + ldrh r0, [r0]\n\ + cmp r0, 0x1\n\ + bne _0813A50C\n\ + strh r0, [r4, 0x6]\n\ + adds r0, r6, 0\n\ + bl sub_813A6FC\n\ + b _0813A570\n\ + .align 2, 0\n\ +_0813A500: .4byte gTasks + 0x8\n\ +_0813A504: .4byte gSaveBlock1\n\ +_0813A508: .4byte 0x0000049a\n\ +_0813A50C:\n\ + ldr r0, _0813A514 @ =0x0000fffe\n\ + bl sub_813AD58\n\ + b _0813A542\n\ + .align 2, 0\n\ +_0813A514: .4byte 0x0000fffe\n\ +_0813A518:\n\ + ldr r1, _0813A534 @ =gSaveBlock1\n\ + lsls r0, r5, 2\n\ + adds r0, r1\n\ + ldr r1, _0813A538 @ =0x0000049a\n\ + adds r0, r1\n\ + ldrh r0, [r0]\n\ + cmp r0, 0x1\n\ + bne _0813A53C\n\ + strh r0, [r4, 0x6]\n\ + adds r0, r6, 0\n\ + bl sub_813A794\n\ + b _0813A570\n\ + .align 2, 0\n\ +_0813A534: .4byte gSaveBlock1\n\ +_0813A538: .4byte 0x0000049a\n\ +_0813A53C:\n\ + ldr r0, _0813A578 @ =0x0000fffc\n\ + bl sub_813AD58\n\ +_0813A542:\n\ + movs r0, 0x1\n\ + strh r0, [r4, 0x6]\n\ + movs r0, 0x6\n\ + movs r1, 0x8\n\ + movs r2, 0xD\n\ + movs r3, 0xB\n\ + bl MenuDrawTextWindow\n\ + ldrh r0, [r4, 0x6]\n\ + movs r1, 0x3\n\ + str r1, [sp]\n\ + movs r1, 0x1\n\ + movs r2, 0x8\n\ + movs r3, 0x9\n\ + bl sub_80A418C\n\ + ldr r1, _0813A57C @ =gTasks\n\ + lsls r0, r6, 2\n\ + adds r0, r6\n\ + lsls r0, 3\n\ + adds r0, r1\n\ + ldr r1, _0813A580 @ =sub_813A584\n\ + str r1, [r0]\n\ +_0813A570:\n\ + add sp, 0x4\n\ + pop {r4-r6}\n\ + pop {r0}\n\ + bx r0\n\ + .align 2, 0\n\ +_0813A578: .4byte 0x0000fffc\n\ +_0813A57C: .4byte gTasks\n\ +_0813A580: .4byte sub_813A584\n\ + .syntax divided"); +} +#endif diff --git a/src/pokedex.c b/src/pokedex.c index aa832a681..54fa5912c 100644 --- a/src/pokedex.c +++ b/src/pokedex.c @@ -170,7 +170,6 @@ void sub_808C0B8(void) void ClearPokedexView(struct PokedexView *pokedexView) { u16 i; - struct UnknownStruct3 *p; for(i = 0; i <= 385; i++) { @@ -1732,7 +1731,6 @@ void sub_808E6BC(void) u8 sub_808E71C(void) { u16 r2; - u16 r3; u16 r4 = gPokedexView->selectedPokemon; if((gMain.newKeys & DPAD_UP) && r4) @@ -2177,8 +2175,6 @@ void sub_808F168(struct Sprite *sprite) if(gPokedexView->menuIsOpen != 0 && gPokedexView->menuY == r1) { - u8 data2; - sprite->invisible = 0; sprite->pos2.y = gPokedexView->menuCursorPos * 16; sprite->pos2.x = gSineTable[(u8)sprite->data2] / 64; diff --git a/src/pokemon_1.c b/src/pokemon_1.c index 3971e08dd..d6f475171 100644 --- a/src/pokemon_1.c +++ b/src/pokemon_1.c @@ -200,7 +200,7 @@ void CreateMonWithGenderNatureLetter(struct Pokemon *mon, u16 species, u8 level, do { personality = Random32(); - actualLetter = ((((personality & 0x3000000) >> 18) | ((personality & 0x30000) >> 12) | ((personality & 0x300) >> 6) | personality & 0x3) % 28); + actualLetter = ((((personality & 0x3000000) >> 18) | ((personality & 0x30000) >> 12) | ((personality & 0x300) >> 6) | (personality & 0x3)) % 28); } while (nature != GetNatureFromPersonality(personality) || gender != GetGenderFromSpeciesAndPersonality(species, personality) @@ -302,9 +302,9 @@ void sub_803ADE8(struct Pokemon *mon, struct UnknownPokemonStruct *src) StringCopy(nickname, src->nickname); if (nickname[0] == 0xFC && nickname[1] == 0x15) - language = 1; + language = LANGUAGE_JAPANESE; else - language = 2; + language = GAME_LANGUAGE; SetMonData(mon, MON_DATA_LANGUAGE, &language); StripExtCtrlCodes(nickname); @@ -422,7 +422,6 @@ void CalculateMonStats(struct Pokemon *mon) u16 species = GetMonData(mon, MON_DATA_SPECIES, NULL); s32 level = GetLevelFromMonExp(mon); s32 newMaxHP; - u8 nature; SetMonData(mon, MON_DATA_LEVEL, (u8 *)&level); diff --git a/src/pokemon_2.c b/src/pokemon_2.c index aeffb29a0..2baf1155e 100644 --- a/src/pokemon_2.c +++ b/src/pokemon_2.c @@ -26,7 +26,7 @@ extern u8 gUnknown_02024C07; extern u8 gUnknown_02024C08; extern u8 gUnknown_02024C0C; extern u8 gXXX_CritRelated; -extern u16 word_2024DB8; +extern u16 gBattleWeather; extern struct BattleEnigmaBerry gEnigmaBerries[]; extern u16 gBattleMovePower; extern struct SpriteTemplate gUnknown_02024E8C; @@ -1016,7 +1016,11 @@ void SetBoxMonData(struct BoxPokemon *boxMon, s32 field, const u8 *data) break; case MON_DATA_IVS: { +#ifdef BUGFIX_SETMONIVS + u32 ivs = data[0] | (data[1] << 8) | (data[2] << 16) | (data[3] << 24); +#else u32 ivs = *data; // Bug: Only the HP IV and the lower 3 bits of the Attack IV are read. The rest become 0. +#endif substruct3->hpIV = ivs & 0x1F; substruct3->attackIV = (ivs >> 5) & 0x1F; substruct3->defenseIV = (ivs >> 10) & 0x1F; diff --git a/src/pokemon_3.c b/src/pokemon_3.c new file mode 100644 index 000000000..f69ffcfef --- /dev/null +++ b/src/pokemon_3.c @@ -0,0 +1,477 @@ +#include "global.h" +#include "asm.h" +#include "text.h" +#include "string_util.h" +#include "pokemon.h" +#include "rng.h" +#include "species.h" +#include "main.h" +#include "sprite.h" +#include "flag.h" +#include "rtc.h" +#include "item.h" + +#define EVO_FRIENDSHIP 0x0001 // Pokémon levels up with friendship ≥ 220 +#define EVO_FRIENDSHIP_DAY 0x0002 // Pokémon levels up during the day with friendship ≥ 220 +#define EVO_FRIENDSHIP_NIGHT 0x0003 // Pokémon levels up at night with friendship ≥ 220 +#define EVO_LEVEL 0x0004 // Pokémon reaches the specified level +#define EVO_TRADE 0x0005 // Pokémon is traded +#define EVO_TRADE_ITEM 0x0006 // Pokémon is traded while it's holding the specified item +#define EVO_ITEM 0x0007 // specified item is used on Pokémon +#define EVO_LEVEL_ATK_GT_DEF 0x0008 // Pokémon reaches the specified level with attack > defense +#define EVO_LEVEL_ATK_EQ_DEF 0x0009 // Pokémon reaches the specified level with attack = defense +#define EVO_LEVEL_ATK_LT_DEF 0x000a // Pokémon reaches the specified level with attack < defense +#define EVO_LEVEL_SILCOON 0x000b // Pokémon reaches the specified level with a Silcoon personality value +#define EVO_LEVEL_CASCOON 0x000c // Pokémon reaches the specified level with a Cascoon personality value +#define EVO_LEVEL_NINJASK 0x000d // Pokémon reaches the specified level (special value for Ninjask) +#define EVO_LEVEL_SHEDINJA 0x000e // Pokémon reaches the specified level (special value for Shedinja) +#define EVO_BEAUTY 0x000f // Pokémon levels up with beauty ≥ specified value + +struct Evolution +{ + u16 method; + u16 param; + u16 targetSpecies; +}; + +struct EvolutionData +{ + struct Evolution evolutions[5]; +}; + +extern void get_battle_strings_(u8 *); + +extern u8 gPlayerPartyCount; +extern struct Pokemon gPlayerParty[6]; +extern u8 gEnemyPartyCount; +extern struct Pokemon gEnemyParty[6]; +extern struct BattlePokemon gBattleMons[4]; +extern u8 * const gItemEffectTable[]; +extern u8 gUnknown_02024A60; +extern struct BattleEnigmaBerry gEnigmaBerries[]; +extern struct EvolutionData gEvolutionTable[]; +extern u16 gSpeciesToHoennPokedexNum[]; +extern u16 gSpeciesToNationalPokedexNum[]; +extern u16 gHoennToNationalOrder[]; +extern u16 gSpeciesIdToCryId[]; +extern u8 gUnknown_030041C0[]; +extern u8 gUnknown_03004290[]; +extern u8 gUnknown_020238CC[]; +extern u8 gUnknown_02024C07; +extern u8 gUnknown_02024C08; +extern u8 gUnknown_02024C0B; +extern u8 gUnknown_02024E6C; + +extern u8 gUnknown_082082F8[]; +extern u8 gUnknown_083FFDB3[]; +extern u8 gUnknown_083FFDD3[]; +extern u8 gUnknown_083FEE5D[]; +extern u8 gUnknown_083FEE92[]; +extern u8 *gUnknown_08400F58[]; + +bool8 HealStatusConditions(struct Pokemon *mon, u32 unused, u32 healMask, u8 battleId) +{ + u32 status = GetMonData(mon, MON_DATA_STATUS, 0); + + if (status & healMask) + { + status &= ~healMask; + SetMonData(mon, MON_DATA_STATUS, (u8 *)&status); + if (gMain.inBattle && battleId != 4) + gBattleMons[battleId].status1 &= ~healMask; + return FALSE; + } + else + { + return TRUE; + } +} + +u8 GetItemEffectParamOffset(u16 itemId, u8 effectByte, u8 effectBit) +{ + u8 *temp; + u8 *itemEffect; + u8 offset; + int i; + u8 j; + u8 val; + + offset = 6; + + temp = gItemEffectTable[itemId - 13]; + + if (!temp && itemId != 175) + return 0; + + if (itemId == 175) + { + temp = gEnigmaBerries[gUnknown_02024A60].itemEffect; + } + + itemEffect = temp; + + for (i = 0; i < 6; i++) + { + switch (i) + { + case 0: + case 1: + case 2: + case 3: + if (i == effectByte) + return 0; + break; + case 4: + val = itemEffect[4]; + if (val & 0x20) + val &= 0xDF; + j = 0; + while (val) + { + if (val & 1) + { + switch (j) + { + case 2: + if (val & 0x10) + val &= 0xEF; + case 0: + if (i == effectByte && (val & effectBit)) + return offset; + offset++; + break; + case 1: + if (i == effectByte && (val & effectBit)) + return offset; + offset++; + break; + case 3: + if (i == effectByte && (val & effectBit)) + return offset; + offset++; + break; + case 7: + if (i == effectByte) + return 0; + break; + } + } + j++; + val >>= 1; + if (i == effectByte) + effectBit >>= 1; + } + break; + case 5: + val = itemEffect[5]; + j = 0; + while (val) + { + if (val & 1) + { + switch (j) + { + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + case 6: + if (i == effectByte && (val & effectBit)) + return offset; + offset++; + break; + case 7: + if (i == effectByte) + return 0; + break; + } + } + j++; + val >>= 1; + if (i == effectByte) + effectBit >>= 1; + } + break; + } + } + + return offset; +} + +void sub_803F324(int stat) +{ + gUnknown_02024C08 = gUnknown_02024E6C; + StringCopy(gUnknown_030041C0, gUnknown_08400F58[gUnknown_082082F8[stat]]); + StringCopy(gUnknown_03004290, gUnknown_083FFDB3); + get_battle_strings_(gUnknown_083FFDD3); +} + +u8 *sub_803F378(u16 itemId) +{ + int i; + u8 *itemEffect; + + if (itemId == 175) + { + if (gMain.inBattle) + { + itemEffect = gEnigmaBerries[gUnknown_02024E6C].itemEffect; + } + else + { + itemEffect = gSaveBlock1.enigmaBerry.itemEffect; + } + } + else + { + itemEffect = gItemEffectTable[itemId - 13]; + } + + gUnknown_02024C0B = gUnknown_02024E6C; + + for (i = 0; i < 3; i++) + { + if (itemEffect[i] & 0xF) + sub_803F324(i * 2); + if (itemEffect[i] & 0xF0) + { + if (i) + { + sub_803F324(i * 2 + 1); + } + else + { + gUnknown_02024C07 = gUnknown_02024E6C; + get_battle_strings_(gUnknown_083FEE92); + } + } + } + + if (itemEffect[3] & 0x80) + { + gUnknown_02024C07 = gUnknown_02024E6C; + get_battle_strings_(gUnknown_083FEE5D); + } + + return gUnknown_020238CC; +} + +u8 GetNature(struct Pokemon *mon) +{ + return GetMonData(mon, MON_DATA_PERSONALITY, 0) % 25; +} + +u8 GetNatureFromPersonality(u32 personality) +{ + return personality % 25; +} + +u16 GetEvolutionTargetSpecies(struct Pokemon *mon, u8 type, u16 evolutionItem) +{ + int i; + u16 targetSpecies = 0; + u16 species = GetMonData(mon, MON_DATA_SPECIES, 0); + u16 heldItem = GetMonData(mon, MON_DATA_HELD_ITEM, 0); + u32 personality = GetMonData(mon, MON_DATA_PERSONALITY, 0); + u8 level; + u16 friendship; + u8 beauty = GetMonData(mon, MON_DATA_BEAUTY, 0); + u16 upperPersonality = personality >> 16; + u8 holdEffect; + + if (heldItem == 175) + holdEffect = gSaveBlock1.enigmaBerry.holdEffect; + else + holdEffect = ItemId_GetHoldEffect(heldItem); + + if (holdEffect == 38 && type != 3) + return 0; + + switch (type) + { + case 0: + level = GetMonData(mon, MON_DATA_LEVEL, 0); + friendship = GetMonData(mon, MON_DATA_FRIENDSHIP, 0); + + for (i = 0; i < 5; i++) + { + switch (gEvolutionTable[species].evolutions[i].method) + { + case EVO_FRIENDSHIP: + if (friendship >= 220) + targetSpecies = gEvolutionTable[species].evolutions[i].targetSpecies; + break; + case EVO_FRIENDSHIP_DAY: + RtcCalcLocalTime(); + if (gLocalTime.hours >= 12 && gLocalTime.hours < 24 && friendship >= 220) + targetSpecies = gEvolutionTable[species].evolutions[i].targetSpecies; + break; + case EVO_FRIENDSHIP_NIGHT: + RtcCalcLocalTime(); + if (gLocalTime.hours >= 0 && gLocalTime.hours < 12 && friendship >= 220) + targetSpecies = gEvolutionTable[species].evolutions[i].targetSpecies; + break; + case EVO_LEVEL: + if (gEvolutionTable[species].evolutions[i].param <= level) + targetSpecies = gEvolutionTable[species].evolutions[i].targetSpecies; + break; + case EVO_LEVEL_ATK_GT_DEF: + if (gEvolutionTable[species].evolutions[i].param <= level) + if (GetMonData(mon, MON_DATA_ATK, 0) > GetMonData(mon, MON_DATA_DEF, 0)) + targetSpecies = gEvolutionTable[species].evolutions[i].targetSpecies; + break; + case EVO_LEVEL_ATK_EQ_DEF: + if (gEvolutionTable[species].evolutions[i].param <= level) + if (GetMonData(mon, MON_DATA_ATK, 0) == GetMonData(mon, MON_DATA_DEF, 0)) + targetSpecies = gEvolutionTable[species].evolutions[i].targetSpecies; + break; + case EVO_LEVEL_ATK_LT_DEF: + if (gEvolutionTable[species].evolutions[i].param <= level) + if (GetMonData(mon, MON_DATA_ATK, 0) < GetMonData(mon, MON_DATA_DEF, 0)) + targetSpecies = gEvolutionTable[species].evolutions[i].targetSpecies; + break; + case EVO_LEVEL_SILCOON: + if (gEvolutionTable[species].evolutions[i].param <= level && (upperPersonality % 10) <= 4) + targetSpecies = gEvolutionTable[species].evolutions[i].targetSpecies; + break; + case EVO_LEVEL_CASCOON: + if (gEvolutionTable[species].evolutions[i].param <= level && (upperPersonality % 10) > 4) + targetSpecies = gEvolutionTable[species].evolutions[i].targetSpecies; + break; + case EVO_LEVEL_NINJASK: + if (gEvolutionTable[species].evolutions[i].param <= level) + targetSpecies = gEvolutionTable[species].evolutions[i].targetSpecies; + break; + case EVO_BEAUTY: + if (gEvolutionTable[species].evolutions[i].param <= beauty) + targetSpecies = gEvolutionTable[species].evolutions[i].targetSpecies; + break; + } + } + break; + case 1: + for (i = 0; i < 5; i++) + { + switch (gEvolutionTable[species].evolutions[i].method) + { + case EVO_TRADE: + targetSpecies = gEvolutionTable[species].evolutions[i].targetSpecies; + break; + case EVO_TRADE_ITEM: + if (gEvolutionTable[species].evolutions[i].param == heldItem) + { + heldItem = 0; + SetMonData(mon, MON_DATA_HELD_ITEM, (u8 *)&heldItem); + targetSpecies = gEvolutionTable[species].evolutions[i].targetSpecies; + } + break; + } + } + break; + case 2: + case 3: + for (i = 0; i < 5; i++) + { + if (gEvolutionTable[species].evolutions[i].method == EVO_ITEM + && gEvolutionTable[species].evolutions[i].param == evolutionItem) + { + targetSpecies = gEvolutionTable[species].evolutions[i].targetSpecies; + break; + } + } + break; + } + + return targetSpecies; +} + +u16 HoennPokedexNumToSpecies(u16 hoennNum) +{ + u16 species; + + if (!hoennNum) + return 0; + + species = 0; + + while (species < 411 && gSpeciesToHoennPokedexNum[species] != hoennNum) + species++; + + if (species == 411) + return 0; + + return species + 1; +} + +u16 NationalPokedexNumToSpecies(u16 nationalNum) +{ + u16 species; + + if (!nationalNum) + return 0; + + species = 0; + + while (species < 411 && gSpeciesToNationalPokedexNum[species] != nationalNum) + species++; + + if (species == 411) + return 0; + + return species + 1; +} + +u16 NationalToHoennOrder(u16 nationalNum) +{ + u16 hoennNum; + + if (!nationalNum) + return 0; + + hoennNum = 0; + + while (hoennNum < 411 && gHoennToNationalOrder[hoennNum] != nationalNum) + hoennNum++; + + if (hoennNum == 411) + return 0; + + return hoennNum + 1; +} + +u16 SpeciesToNationalPokedexNum(u16 species) +{ + if (!species) + return 0; + + return gSpeciesToNationalPokedexNum[species - 1]; +} + +u16 SpeciesToHoennPokedexNum(u16 species) +{ + if (!species) + return 0; + + return gSpeciesToHoennPokedexNum[species - 1]; +} + +u16 HoennToNationalOrder(u16 hoennNum) +{ + if (!hoennNum) + return 0; + + return gHoennToNationalOrder[hoennNum - 1]; +} + +u32 SpeciesToCryId(u16 species) +{ + if (species <= 250) + return species; + + if (species < 276) + return 200; + + return gSpeciesIdToCryId[species - 276]; +} diff --git a/src/pokemon_size_record.c b/src/pokemon_size_record.c index 11c00dbe2..21f386f2d 100644 --- a/src/pokemon_size_record.c +++ b/src/pokemon_size_record.c @@ -61,7 +61,6 @@ static u32 GetMonSize(u16 species, u16 b) u64 unk0; u32 r7; u32 var; - struct UnknownStruct *s; r7 = sub_8090D54(SpeciesToNationalPokedexNum(species), 0); var = TranslateBigMonSizeTableIndex(b); diff --git a/src/rom4.c b/src/rom4.c index a3b0b221d..bd5a9d285 100644 --- a/src/rom4.c +++ b/src/rom4.c @@ -4,31 +4,33 @@ #include "asm_fieldmap.h" #include "battle_setup.h" #include "berry.h" +#include "field_camera.h" +#include "field_effect.h" #include "field_map_obj.h" +#include "field_message_box.h" #include "field_player_avatar.h" +#include "flag.h" +#include "heal_location.h" +#include "link.h" +#include "load_save.h" +#include "main.h" #include "menu.h" -#include "weather.h" -#include "task.h" -#include "tileset_anim.h" -#include "start_menu.h" -#include "play_time.h" -#include "truck_scene.h" #include "new_game.h" -#include "heal_location.h" -#include "field_message_box.h" +#include "palette.h" +#include "play_time.h" +#include "rng.h" #include "safari_zone.h" #include "script.h" #include "songs.h" #include "sound.h" -#include "rng.h" -#include "main.h" -#include "palette.h" -#include "link.h" -#include "flag.h" +#include "start_menu.h" +#include "task.h" +#include "tileset_anim.h" +#include "truck_scene.h" #include "var.h" -#include "field_camera.h" -#include "field_effect.h" +#include "weather.h" #include "wild_encounter.h" +#include "metatile_behavior.h" #ifdef SAPPHIRE #define LEGENDARY_MUSIC BGM_OOAME // Heavy Rain @@ -454,7 +456,7 @@ void sub_80537CC(u8 a1) warp_set(&gSaveBlock1.warp1, warp->group, warp->map, -1, warp->x, warp->y); } -void gpu_sync_bg_hide(void) +void gpu_sync_bg_hide() { gSaveBlock1.warp1 = gSaveBlock1.warp2; } @@ -1262,9 +1264,9 @@ void CB2_ContinueSavedGame(void) PlayTimeCounter_Start(); ScriptContext1_Init(); ScriptContext2_Disable(); - if (sub_80479F8() == 1) + if (GetSecretBase2Field_9() == 1) { - sub_8047A04(); + ClearSecretBase2Field_9(); sub_8053778(); warp_in(); SetMainCallback2(CB2_LoadMap); @@ -63,9 +63,8 @@ u16 ConvertDateToDayCount(u8 year, u8 month, u8 day) s32 i; u16 dayCount = 0; -#if (REVISION < 2) - // Revisions 0 and 1 don't add days for the year 2000, - // causing the berry glitch. +#ifndef BUGFIX_BERRY + // The berry glitch was caused by not adding days for the year 2000. for (i = year - 1; i > 0; i--) { dayCount += 365; @@ -74,8 +73,7 @@ u16 ConvertDateToDayCount(u8 year, u8 month, u8 day) dayCount++; } #else - // Revision 2 has "i >= 0" as the condition instead of "i > 0", - // which fixes the issue. + // The fix was to use "i >= 0" as the condition instead of "i > 0". for (i = year - 1; i >= 0; i--) { dayCount += 365; @@ -83,7 +81,7 @@ u16 ConvertDateToDayCount(u8 year, u8 month, u8 day) if (IsLeapYear(i) == TRUE) dayCount++; } -#endif +#endif // BUGFIX_BERRY for (i = 0; i < month - 1; i++) dayCount += sNumDaysInMonths[i]; diff --git a/src/save.c b/src/save.c index a26e0da98..2771b4ea5 100644 --- a/src/save.c +++ b/src/save.c @@ -2,8 +2,10 @@ #include "save.h" #include "asm.h" #include "gba/gba.h" +#include "load_save.h" #include "rom4.h" #include "gba/flash_internal.h" +#include "save_failed_screen.h" extern struct SaveSection unk_2000000; @@ -550,27 +552,27 @@ u8 sub_8125C3C(u8 a1) sav12_xor_increment(10); for (i = 0; i < 2; i++) sub_81253C8(28 + i, gHallOfFameSaveSectionLocations[i].data, gHallOfFameSaveSectionLocations[i].size); - save_serialize_game(); + SaveSerializedGame(); save_write_to_flash(0xFFFF, gSaveSectionLocations); break; case 0: default: - save_serialize_game(); + SaveSerializedGame(); save_write_to_flash(0xFFFF, gSaveSectionLocations); break; case 1: - save_serialize_game(); + SaveSerializedGame(); for (i = 0; i < 5; i++) save_write_to_flash(i, gSaveSectionLocations); break; case 2: - save_serialize_game(); + SaveSerializedGame(); save_write_to_flash(0, gSaveSectionLocations); break; case 4: for (i = 28; i < 32; i++) EraseFlashSector(i); - save_serialize_game(); + SaveSerializedGame(); save_write_to_flash(0xFFFF, gSaveSectionLocations); break; } @@ -584,7 +586,7 @@ u8 sub_8125D44(u8 a1) sub_8125C3C(a1); if (!gUnknown_03005EA8) return 1; - fullscreen_save_activate(a1); + DoSaveFailedScreen(a1); return 0xFF; } @@ -592,7 +594,7 @@ u8 sub_8125D80(void) { if (gUnknown_3004820 != 1) return 1; - save_serialize_game(); + SaveSerializedGame(); sub_812546C(gSaveSectionLocations); return 0; } @@ -601,7 +603,7 @@ bool8 sub_8125DA8(void) { u8 v0 = sub_812550C(14, gSaveSectionLocations); if (gUnknown_03005EA8) - fullscreen_save_activate(0); + DoSaveFailedScreen(0); if (v0 == 0xFF) return 1; else @@ -612,7 +614,7 @@ u8 sub_8125DDC(void) { sub_812556C(14, gSaveSectionLocations); if (gUnknown_03005EA8) - fullscreen_save_activate(0); + DoSaveFailedScreen(0); return 0; } @@ -620,7 +622,7 @@ u8 sub_8125E04(void) { sub_8125758(14, gSaveSectionLocations); if (gUnknown_03005EA8) - fullscreen_save_activate(0); + DoSaveFailedScreen(0); return 0; } @@ -629,7 +631,7 @@ u8 sub_8125E2C(void) if (gUnknown_3004820 != 1) return 1; - save_serialize_game(); + SaveSerializedGame(); sub_81254C8(gSaveSectionLocations); sub_812556C(gUnknown_03005EB4 + 1, gSaveSectionLocations); return 0; @@ -650,7 +652,7 @@ u8 sub_8125E6C(void) retVal = 1; } if (gUnknown_03005EA8) - fullscreen_save_activate(1); + DoSaveFailedScreen(1); return retVal; } @@ -669,7 +671,7 @@ u8 sub_8125EC8(u8 a1) case 0: default: result = sub_812587C(0xFFFF, gSaveSectionLocations); - save_deserialize_game(); + LoadSerializedGame(); gSaveFileStatus = result; gUnknown_03005EBC = 0; break; diff --git a/src/save_failed_screen.c b/src/save_failed_screen.c new file mode 100644 index 000000000..41e61eadb --- /dev/null +++ b/src/save_failed_screen.c @@ -0,0 +1,301 @@ +#include "global.h" +#include "main.h" +#include "sprite.h" +#include "palette.h" +#include "task.h" +#include "text.h" +#include "menu.h" +#include "save.h" +#include "m4a.h" +#include "gba/flash_internal.h" +#include "asm.h" + +// In English 1.0, the text window is too small, causing text to overflow. + +#ifdef BUGFIX_SAVEFAILEDSCREEN1 +#define MSG_WIN_TOP 10 +#else +#define MSG_WIN_TOP 12 +#endif + +#define CLOCK_WIN_TOP (MSG_WIN_TOP - 4) + +struct SaveFailedStruct +{ + u16 unk0; + u16 unk2; +}; + +extern u8 unk_2000000[]; + +extern u16 gUnknown_0203933C; +extern struct SaveFailedStruct gUnknown_0203933E; +extern u32 gUnknown_03005EA8; +extern u32 gUnknown_03005EBC; + +extern struct OamData gUnknown_08411940; +extern u8 gUnknown_08411948[][3]; + +extern u8 gBirchHelpGfx[]; + +extern u8 gSystemText_SaveFailedBackupCheck[]; +extern u8 gSystemText_CheckCompleteSaveAttempt[]; +extern u8 gSystemText_BackupDamagedGameContinue[]; +extern u8 gSystemText_SaveCompletedPressA[]; +extern u8 gSystemText_SaveCompletedGameEnd[]; +extern u8 gSystemText_GameplayEnded[]; + +extern u8 gBirchGrassTilemap[]; +extern u8 gBirchBagTilemap[]; + +extern const u8 gSaveFailedClockGfx[]; +extern const u8 gSaveFailedClockPal[]; +extern u8 gBirchBagGrassPal[]; + +static void VBlankCB(void); +static void CB2_SaveFailedScreen(void); +static void CB2_WipeSave(void); +static void CB2_GameplayCannotBeContinued(void); +static void CB2_FadeAndReturnToTitleScreen(void); +static void CB2_ReturnToTitleScreen(void); +static void VBlankCB_UpdateClockGraphics(void); +static bool8 VerifySectorWipe(u16 sector); +static bool8 WipeSector(u16 sector); +static bool8 WipeSectors(u32 sectorBits); + +void DoSaveFailedScreen(u8 var) +{ + SetMainCallback2(CB2_SaveFailedScreen); + gUnknown_0203933C = var; + gUnknown_0203933E.unk0 = 0; +} + +static void VBlankCB(void) +{ + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); +} + +static void CB2_SaveFailedScreen(void) +{ + u16 ime; + + switch(gMain.state) + { + case 0: + default: + SetVBlankCallback(0); + REG_DISPCNT = 0; + REG_BG3CNT = 0; + REG_BG2CNT = 0; + REG_BG1CNT = 0; + REG_BG0CNT = 0; + REG_BG3HOFS = 0; + REG_BG3VOFS = 0; + REG_BG2HOFS = 0; + REG_BG2VOFS = 0; + REG_BG1HOFS = 0; + REG_BG1VOFS = 0; + REG_BG0HOFS = 0; + REG_BG0VOFS = 0; + DmaFill16(3, 0, VRAM, VRAM_SIZE); + DmaFill32(3, 0, OAM, OAM_SIZE); + DmaFill16(3, 0, PLTT, PLTT_SIZE); + LZ77UnCompVram(&gBirchHelpGfx, (void *)VRAM); + LZ77UnCompVram(&gBirchBagTilemap, (void *)(VRAM + 0x3000)); + LZ77UnCompVram(&gBirchGrassTilemap, (void *)(VRAM + 0x3800)); + LZ77UnCompVram(&gSaveFailedClockGfx, (void *)(VRAM + 0x10020)); + ResetSpriteData(); + ResetTasks(); + ResetPaletteFade(); + LoadPalette(&gBirchBagGrassPal, 0, 0x40); + LoadPalette(&gSaveFailedClockPal, 0x100, 0x20); + SetUpWindowConfig(&gWindowConfig_81E6C3C); + InitMenuWindow(&gWindowConfig_81E6CE4); + MenuDrawTextWindow(13, CLOCK_WIN_TOP, 16, CLOCK_WIN_TOP + 3); // clock window + MenuDrawTextWindow(1, MSG_WIN_TOP, 28, 19); // message window + MenuPrint(gSystemText_SaveFailedBackupCheck, 2, MSG_WIN_TOP + 1); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, 0); + ime = REG_IME; + REG_IME = 0; + REG_IE |= INTR_FLAG_VBLANK; + REG_IME = ime; + REG_DISPSTAT |= DISPSTAT_VBLANK_INTR; + SetVBlankCallback(VBlankCB); + REG_BG3CNT = 0x703; + REG_BG2CNT = 0x602; + REG_BG0CNT = 0x1f08; + REG_DISPCNT = DISPCNT_OBJ_ON | DISPCNT_BG3_ON | DISPCNT_BG2_ON | DISPCNT_BG0_ON | DISPCNT_OBJ_1D_MAP | DISPCNT_MODE_0; + gMain.state++; + break; + case 1: + if (!UpdatePaletteFade()) + { + SetMainCallback2(CB2_WipeSave); + SetVBlankCallback(VBlankCB_UpdateClockGraphics); + } + break; + } +} + +static void CB2_WipeSave(void) +{ + u8 wipeTries = 0; + + gUnknown_0203933E.unk0 = 1; + + while (gUnknown_03005EA8 && wipeTries < 3) + { + if (WipeSectors(gUnknown_03005EA8)) + { + MenuDrawTextWindow(1, MSG_WIN_TOP, 28, 19); + MenuPrint(gSystemText_BackupDamagedGameContinue, 2, MSG_WIN_TOP + 1); + SetMainCallback2(CB2_GameplayCannotBeContinued); + return; + } + + MenuDrawTextWindow(1, MSG_WIN_TOP, 28, 19); + MenuPrint(gSystemText_CheckCompleteSaveAttempt, 2, MSG_WIN_TOP + 1); + sub_8125C3C(gUnknown_0203933C); + + if (gUnknown_03005EA8) + { +#ifdef BUGFIX_SAVEFAILEDSCREEN2 + MenuDrawTextWindow(1, MSG_WIN_TOP, 28, 19); +#endif + MenuPrint(gSystemText_SaveFailedBackupCheck, 2, MSG_WIN_TOP + 1); + } + + wipeTries++; + } + + if (wipeTries == 3) + { + MenuDrawTextWindow(1, MSG_WIN_TOP, 28, 19); + MenuPrint(gSystemText_BackupDamagedGameContinue, 2, MSG_WIN_TOP + 1); + SetMainCallback2(CB2_FadeAndReturnToTitleScreen); // called again below + } + else + { + MenuDrawTextWindow(1, MSG_WIN_TOP, 28, 19); + + if (!gUnknown_03005EBC) // cant continue game. + MenuPrint(gSystemText_SaveCompletedGameEnd, 2, MSG_WIN_TOP + 1); + else // can continue game. + MenuPrint(gSystemText_SaveCompletedPressA, 2, MSG_WIN_TOP + 1); + } + + SetMainCallback2(CB2_FadeAndReturnToTitleScreen); +} + +static void CB2_GameplayCannotBeContinued(void) +{ + gUnknown_0203933E.unk0 = 0; + + if (gMain.newKeys & A_BUTTON) + { + MenuDrawTextWindow(1, MSG_WIN_TOP, 28, 19); + MenuPrint(gSystemText_GameplayEnded, 2, MSG_WIN_TOP + 1); + SetVBlankCallback(VBlankCB); + SetMainCallback2(CB2_FadeAndReturnToTitleScreen); + } +} + +static void CB2_FadeAndReturnToTitleScreen(void) +{ + u8 zero; + + gUnknown_0203933E.unk0 = zero = 0; + + if (gMain.newKeys & A_BUTTON) + { + BeginNormalPaletteFade(0xFFFFFFFF, 0, zero, 16, 0); + SetVBlankCallback(VBlankCB); + SetMainCallback2(CB2_ReturnToTitleScreen); + } +} + +static void CB2_ReturnToTitleScreen(void) +{ + if (!UpdatePaletteFade()) + { + if (!gUnknown_03005EBC) + { + DoSoftReset(); + } + else + { + SetMainCallback2((MainCallback)gUnknown_03005EBC); + gUnknown_03005EBC = 0; + } + } +} + +static void VBlankCB_UpdateClockGraphics(void) +{ + unsigned int n = (gMain.vblankCounter2 >> 3) & 7; + + gMain.oamBuffer[0] = gUnknown_08411940; + gMain.oamBuffer[0].x = 112; + gMain.oamBuffer[0].y = (CLOCK_WIN_TOP + 1) * 8; + + if (gUnknown_0203933E.unk0) + { + gMain.oamBuffer[0].tileNum = gUnknown_08411948[n][0]; + gMain.oamBuffer[0].matrixNum = (gUnknown_08411948[n][2] << 4) | (gUnknown_08411948[n][1] << 3); + } + else + { + gMain.oamBuffer[0].tileNum = 1; + } + + CpuFastCopy(gMain.oamBuffer, (void *)OAM, 4); + + if (gUnknown_0203933E.unk2) + gUnknown_0203933E.unk2--; +} + +static bool8 VerifySectorWipe(u16 sector) +{ + u32 *ptr = (u32 *)unk_2000000; + u16 i; + + ReadFlash(sector, 0, (u8 *)ptr, 4096); + + for (i = 0; i < 0x400; i++, ptr++) + if (*ptr) + return TRUE; + + return FALSE; +} + +static bool8 WipeSector(u16 sector) +{ + u16 i, j; + bool8 failed = TRUE; + + for (i = 0; failed && i < 130; i++) + { + for (j = 0; j < 0x1000; j++) + ProgramFlashByte(sector, j, 0); + + failed = VerifySectorWipe(sector); + } + + return failed; +} + +static bool8 WipeSectors(u32 sectorBits) +{ + u16 i; + + for (i = 0; i < 0x20; i++) + if ((sectorBits & (1 << i)) && !WipeSector(i)) + sectorBits &= ~(1 << i); + + if (sectorBits == 0) + return FALSE; + else + return TRUE; +} diff --git a/src/scrcmd.c b/src/scrcmd.c index 8051b0cb0..a8567a2bb 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -12,6 +12,7 @@ #include "asm_fieldmap.h" #include "main.h" #include "menu.h" +#include "money.h" #include "decoration.h" #include "field_message_box.h" #include "sound.h" @@ -1697,7 +1698,7 @@ bool8 ScrCmd_setanimation(struct ScriptContext *ctx) return FALSE; } -bool8 sub_8067B48() +static bool8 sub_8067B48() { if (!FieldEffectActiveListContains(gUnknown_0202E8BC)) return TRUE; @@ -1775,7 +1776,7 @@ bool8 ScrCmd_setdoorclosed(struct ScriptContext *ctx) return FALSE; } -bool8 IsDoorAnimationStopped() +static bool8 IsDoorAnimationStopped() { if (!FieldIsDoorAnimationRunning()) return TRUE; diff --git a/src/script_menu.c b/src/script_menu.c new file mode 100644 index 000000000..1010435cc --- /dev/null +++ b/src/script_menu.c @@ -0,0 +1,431 @@ +#include "global.h" +#include "task.h" +#include "menu.h" +#include "palette.h" +#include "script.h" +#include "sound.h" +#include "flag.h" +#include "sprite.h" + +struct MultichoiceListStruct +{ + struct MenuAction *list; + u8 count; +}; + +extern const struct MultichoiceListStruct gMultichoiceLists[]; + +extern u16 gScriptResult; + +extern void FreeResourcesAndDestroySprite(struct Sprite *sprite); +extern u8 CreateMonSprite_PicBox(u16, s16, s16, u8); +extern u8 sub_80B59AC(void); + +extern u8 gPCText_PlayersPC[]; +extern u8 gPCText_SomeonesPC[]; +extern u8 gPCText_HallOfFame[]; +extern u8 gPCText_LogOff[]; +extern u8 gPCText_LanettesPC[]; +extern u8 gPCText_WhichPCShouldBeAccessed[]; + +void DrawMultichoiceMenu(u8, u8, u8, struct MenuAction *list, u8, u8); +void sub_80B53B4(u8, u8, u8, struct MenuAction *list, u8); +void sub_80B52B4(u8); +void sub_80B5230(u8, u8, u8, u8, u8, u8); +void task_yes_no_maybe(u8); +void sub_80B5684(u8); +void CreatePCMenu(void); + +bool8 sub_80B5054(u8 left, u8 top, u8 var3, u8 var4) +{ + if(FuncIsActiveTask(sub_80B52B4) == 1) + return FALSE; + else + { + gScriptResult = 0xFF; + DrawMultichoiceMenu(left, top, gMultichoiceLists[var3].count, gMultichoiceLists[var3].list, var4, 0); + return TRUE; + } +} + +bool8 sub_80B50B0(u8 left, u8 top, u8 var3, u8 var4, u8 var5) +{ + if(FuncIsActiveTask(sub_80B52B4) == 1) + return FALSE; + else + { + gScriptResult = 0xFF; + DrawMultichoiceMenu(left, top, gMultichoiceLists[var3].count, gMultichoiceLists[var3].list, var4, var5); + return TRUE; + } +} + +u16 GetStringWidthInTilesForScriptMenu(u8 *str) +{ + // each tile on screen is 8x8, so it needs the number of tiles and not pixels, hence the division by 8. + return (GetStringWidthGivenWindowConfig((struct WindowConfig *)&gWindowConfig_81E6CE4, str) + 7) / 8; +} + +void DrawMultichoiceMenu(u8 left, u8 top, u8 count, struct MenuAction *list, u8 var4, u8 cursorPos) +{ + u16 width = GetStringWidthInTilesForScriptMenu(list[0].text); + u16 newWidth; + u8 i; + u8 right; + u8 bottom; + + for(i = 1; i < count; i++) + { + newWidth = GetStringWidthInTilesForScriptMenu(list[i].text); + if(width < newWidth) + width = newWidth; + } + + right = width; + right = (right + left) + 1; + + if(right > 29) + { + left = left + (29 - right); + right = 29; + } + + bottom = top + (2 * count + 1); + + MenuDrawTextWindow(left, top, right, bottom); + PrintMenuItems(left + 1, top + 1, count, list); + InitMenu(0, left + 1, top + 1, count, cursorPos, right - left - 1); + sub_80B5230(left, top, right, bottom, var4, count); +} + +void sub_80B5230(u8 left, u8 top, u8 right, u8 bottom, u8 unkVar, u8 count) +{ + u8 taskId = CreateTask(sub_80B52B4, 80); + + gTasks[taskId].data[0] = left; + gTasks[taskId].data[1] = top; + gTasks[taskId].data[2] = right; + gTasks[taskId].data[3] = bottom; + gTasks[taskId].data[4] = unkVar; + + if(count > 3) + gTasks[taskId].data[5] = TRUE; + else + gTasks[taskId].data[5] = FALSE; +} + +void sub_80B52B4(u8 taskId) +{ + s8 var; + + if(!gPaletteFade.active) + { + if(!gTasks[taskId].data[5]) + var = ProcessMenuInputNoWrap(); + else + var = ProcessMenuInput(); + + if(var != -2) + { + if(var == -1) + { + if(!gTasks[taskId].data[4]) + { + PlaySE(5); + gScriptResult = 127; + } + else + { + return; + } + } + else + { + gScriptResult = var; + } + sub_8072DEC(); + MenuZeroFillWindowRect(gTasks[taskId].data[0], gTasks[taskId].data[1], gTasks[taskId].data[2], gTasks[taskId].data[3]); + DestroyTask(taskId); + EnableBothScriptContexts(); + } + } +} + +bool8 Multichoice(u8 var1, u8 var2, u8 var3, u8 var4) +{ + if(FuncIsActiveTask(sub_80B52B4) == 1) + return FALSE; + else + { + gScriptResult = 0xFF; + sub_80B53B4(var1, var2, gMultichoiceLists[var3].count, gMultichoiceLists[var3].list, var4); + return TRUE; + } +} + +void sub_80B53B4(u8 left, u8 top, u8 count, struct MenuAction *list, u8 var4) +{ + u16 width = GetStringWidthInTilesForScriptMenu(list[0].text); + u16 newWidth; + u8 i; + u8 right; + u8 bottom; + + for(i = 1; i < count; i++) + { + newWidth = GetStringWidthInTilesForScriptMenu(list[i].text); + if(width < newWidth) + width = newWidth; + } + + right = width; + right = (right + left) + 2; + bottom = top + (2 * count + 1); + + PrintMenuItems(left, top, count, list); + InitMenu(0, left, top, count, 0, right - left - 1); + sub_80B5230(left, top, right, bottom, var4, count); +} + +bool8 yes_no_box(u8 var1, u8 var2) +{ + u8 taskId; + + if(FuncIsActiveTask(task_yes_no_maybe) == 1) + return FALSE; + else + { + gScriptResult = 0xFF; + DisplayYesNoMenu(var1, var2, 1); + taskId = CreateTask(task_yes_no_maybe, 0x50); + gTasks[taskId].data[0] = var1; + gTasks[taskId].data[1] = var2; + return TRUE; + } +} + +// unused +bool8 IsScriptActive(void) +{ + if(gScriptResult == 0xFF) + return FALSE; + else + return TRUE; +} + +void task_yes_no_maybe(u8 taskId) +{ + u8 left, top; + + if (gTasks[taskId].data[2] < 5) + { + gTasks[taskId].data[2]++; + return; + } + + switch (ProcessMenuInputNoWrap()) + { + case -2: + return; + case -1: + case 1: + PlaySE(5); + gScriptResult = 0; + break; + case 0: + gScriptResult = 1; + break; + } + + left = gTasks[taskId].data[0]; + top = gTasks[taskId].data[1]; + + MenuZeroFillWindowRect(left, top, left + 6, top + 5); + DestroyTask(taskId); + EnableBothScriptContexts(); +} + +bool8 sub_80B5578(u8 left, u8 top, u8 multichoiceId, u8 a4, u8 columnCount) +{ + u8 bottom = 0; + + if (FuncIsActiveTask(sub_80B5684) == TRUE) + { + return FALSE; + } + else + { + u8 taskId; + u8 width; + + gScriptResult = 0xFF; + + sub_807274C(left, top, gMultichoiceLists[multichoiceId].count, 0, gMultichoiceLists[multichoiceId].list, columnCount, 0); + + taskId = CreateTask(sub_80B5684, 80); + + if (!((gMultichoiceLists[multichoiceId].count >> 1) < columnCount || (gMultichoiceLists[multichoiceId].count & 1)) + || columnCount == 1 || gMultichoiceLists[multichoiceId].count == columnCount) + { + bottom = (2 * (gMultichoiceLists[multichoiceId].count / columnCount)) + 1 + top; + } + else + { + bottom = (2 * (gMultichoiceLists[multichoiceId].count / columnCount)) + 3 + top; + } + + width = sub_807288C(columnCount); + gTasks[taskId].data[0] = left; + gTasks[taskId].data[1] = top; + gTasks[taskId].data[2] = width + left + 2; + gTasks[taskId].data[3] = bottom; + gTasks[taskId].data[4] = a4; + return TRUE; + } +} + +void sub_80B5684(u8 taskId) +{ + s8 var = sub_80727CC(); + + if (var != -2) + { + if (var == -1) + { + if (!gTasks[taskId].data[4]) + { + PlaySE(5); + gScriptResult = 127; + } + else + { + return; + } + } + else + { + gScriptResult = var; + } + sub_8072DEC(); + MenuZeroFillWindowRect(gTasks[taskId].data[0], gTasks[taskId].data[1], gTasks[taskId].data[2], gTasks[taskId].data[3]); + DestroyTask(taskId); + EnableBothScriptContexts(); + } +} + +bool8 TryCreatePCMenu(void) +{ + if(FuncIsActiveTask(sub_80B52B4) == 1) + return FALSE; + else + { + gScriptResult = 0xFF; + CreatePCMenu(); + return TRUE; + } +} + +void CreatePCMenu(void) +{ + u16 playersPCWidth = GetStringWidthInTilesForScriptMenu(gPCText_PlayersPC); + u8 width; + u8 numChoices; + + if(playersPCWidth > GetStringWidthInTilesForScriptMenu(gPCText_SomeonesPC)) + width = playersPCWidth; + else + width = 8; + + if(FlagGet(0x804)) // player has cleared game? + { + numChoices = 4; + MenuDrawTextWindow(0, 0, width + 2, 9); + MenuPrint(gPCText_HallOfFame, 1, 5); + MenuPrint(gPCText_LogOff, 1, 7); + } + else + { + numChoices = 3; + MenuDrawTextWindow(0, 0, width + 2, 7); + MenuPrint(gPCText_LogOff, 1, 5); + } + + if(FlagGet(0x84B)) // player met lanette? + MenuPrint(gPCText_LanettesPC, 1, 1); + else + MenuPrint(gPCText_SomeonesPC, 1, 1); + + MenuPrint(gPCText_PlayersPC, 1, 3); + InitMenu(0, 1, 1, numChoices, 0, width + 1); + sub_80B5230(0, 0, width + 2, 2 * numChoices + 1, 0, numChoices); +} + +void sub_80B5838(void) +{ + MenuDisplayMessageBox(); + MenuPrint(gPCText_WhichPCShouldBeAccessed, 2, 15); +} + +void task_picbox(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + + switch(task->data[0]) + { + case 0: + task->data[0]++; + break; + case 1: + break; + case 2: + FreeResourcesAndDestroySprite(&gSprites[task->data[2]]); + task->data[0]++; + break; + case 3: + MenuZeroFillWindowRect(task->data[3], task->data[4], task->data[3] + 9, task->data[4] + 10); + DestroyTask(taskId); + break; + } +} + +bool8 sub_80B58C4(u16 var1, u8 var2, u8 var3) +{ + u8 taskId; + u8 var; + + if(FindTaskIdByFunc(task_picbox) != 0xFF) + return FALSE; + else + { + MenuDrawTextWindow(var2, var3, var2 + 9, var3 + 10); + taskId = CreateTask(task_picbox, 0x50); + gTasks[taskId].data[0] = 0; + gTasks[taskId].data[1] = var1; + var = CreateMonSprite_PicBox(var1, var2 * 8 + 40, var3 * 8 + 40, 0); + gTasks[taskId].data[2] = var; + gTasks[taskId].data[3] = var2; + gTasks[taskId].data[4] = var3; + gSprites[var].callback = SpriteCallbackDummy; + gSprites[var].oam.priority = 0; + return TRUE; + } +} + +void *picbox_close(void) +{ + u8 taskId = FindTaskIdByFunc(task_picbox); + + if(taskId == 0xFF) + return NULL; + + gTasks[taskId].data[0]++; + return (void *)sub_80B59AC; +} + +bool8 sub_80B59AC(void) +{ + if(FindTaskIdByFunc(task_picbox) == 0xFF) + return TRUE; + else + return FALSE; +} diff --git a/src/sound.c b/src/sound.c index 56719aa08..69accd1c2 100644 --- a/src/sound.c +++ b/src/sound.c @@ -12,6 +12,9 @@ struct Fanfare u16 duration; }; +// Hack: different prototype than definition +u32 SpeciesToCryId(u32); + extern u16 gUnknown_020239F8; extern struct MusicPlayerInfo *gMPlay_PokemonCry; extern u8 gPokemonCryBGMDuckingCounter; diff --git a/src/sprite.c b/src/sprite.c index 78a8608ad..df101b61f 100644 --- a/src/sprite.c +++ b/src/sprite.c @@ -10,12 +10,8 @@ #define SET_SPRITE_TILE_RANGE(index, start, count) \ { \ - u16 *rangeStarts; \ - u16 *rangeCounts; \ - rangeStarts = sSpriteTileRanges; \ - rangeStarts[index * 2] = start; \ - rangeCounts = sSpriteTileRanges + 1; \ - rangeCounts[index * 2] = count; \ + sSpriteTileRanges[index * 2] = start; \ + (sSpriteTileRanges + 1)[index * 2] = count; \ } #define ALLOC_SPRITE_TILE(n) \ @@ -61,10 +57,8 @@ static void ClearSpriteCopyRequests(void); static void ResetOamMatrices(void); static void ResetSprite(struct Sprite *sprite); static s16 AllocSpriteTiles(u16 tileCount); -static u8 SpriteTileAllocBitmapOp(u16 bit, u8 op); +u8 SpriteTileAllocBitmapOp(u16 bit, u8 op); static void RequestSpriteFrameImageCopy(u16 index, u16 tileNum, struct SpriteFrameImage *images); -static void CopyFromSprites(u8 *dest); -static void CopyToSprites(u8 *src); static void ResetAllSprites(void); static void BeginAnim(struct Sprite *sprite); static void ContinueAnim(struct Sprite *sprite); @@ -786,7 +780,7 @@ static s16 AllocSpriteTiles(u16 tileCount) return start; } -static u8 SpriteTileAllocBitmapOp(u16 bit, u8 op) +u8 SpriteTileAllocBitmapOp(u16 bit, u8 op) { u8 index = bit / 8; u8 shift = bit % 8; @@ -855,7 +849,7 @@ void RequestSpriteCopy(u8 *src, u8 *dest, u16 size) } } -static void CopyFromSprites(u8 *dest) +void CopyFromSprites(u8 *dest) { u32 i; u8 *src = (u8 *)gSprites; @@ -867,7 +861,7 @@ static void CopyFromSprites(u8 *dest) } } -static void CopyToSprites(u8 *src) +void CopyToSprites(u8 *src) { u32 i; u8 *dest = (u8 *)gSprites; diff --git a/src/start_menu.c b/src/start_menu.c index 06eb28909..850f610e3 100644 --- a/src/start_menu.c +++ b/src/start_menu.c @@ -1,10 +1,19 @@ #include "global.h" #include "start_menu.h" #include "asm.h" +#include "field_player_avatar.h" +#include "flag.h" +#include "load_save.h" #include "main.h" +#include "map_obj_lock.h" #include "menu.h" +#include "option_menu.h" #include "palette.h" #include "pokedex.h" +#include "rom4.h" +#include "safari_zone.h" +#include "save.h" +#include "save_menu_util.h" #include "script.h" #include "songs.h" #include "sound.h" @@ -12,15 +21,7 @@ #include "string_util.h" #include "task.h" #include "trainer_card.h" -#include "flag.h" -#include "rom4.h" -#include "safari_zone.h" -#include "field_player_avatar.h" #include "weather.h" -#include "save.h" -#include "option_menu.h" -#include "map_obj_lock.h" -#include "save_menu_util.h" //Menu actions enum { @@ -76,7 +77,6 @@ static void BuildStartMenuActions_Link(void); static void DisplaySafariBallsWindow(void); static bool32 PrintStartMenuItemsMultistep(s16 *a, u32 b); static bool32 InitStartMenuMultistep(s16 *a, s16 *b); -static void sub_8071230(void); static void Task_StartMenu(u8 taskId); static u8 StartMenu_InputProcessCallback(void); static u8 SaveCallback1(void); @@ -811,14 +811,14 @@ static void Task_8071B64(u8 taskId) (*step)++; break; case 1: - sub_8047A1C(); + SetSecretBase2Field_9_AndHideBG(); sub_8125E2C(); (*step)++; break; case 2: if(!sub_8125E6C()) break; - sub_8047A34(); + ClearSecretBase2Field_9_2(); (*step)++; break; case 3: @@ -832,18 +832,3 @@ static void Task_8071B64(u8 taskId) } } } - -void sub_8071C20(void) -{ - PlaySE(SE_SELECT); - MenuZeroFillScreen(); - sub_8064E2C(); - ScriptContext2_Disable(); - sub_8072DEC(); -} - -void AppendToList(u8 *list, u8 *pindex, u32 value) -{ - list[*pindex] = value; - (*pindex)++; -} diff --git a/src/starter_choose.c b/src/starter_choose.c index 341f73e4c..2750705b8 100644 --- a/src/starter_choose.c +++ b/src/starter_choose.c @@ -20,12 +20,12 @@ struct MonCoords extern void * const gUnknown_081FAF4C[]; extern const u8 gStarterChoose_PokeballCoords[][2]; -extern u8 gUnknown_083F66F0[]; +extern u8 gBirchHelpGfx[]; extern u8 gBirchBagTilemap[]; extern u8 gBirchGrassTilemap[]; extern struct SpriteSheet gUnknown_083F7794; extern struct SpriteSheet gUnknown_083F77A4; -extern u8 gUnknown_083F62EC[]; +extern u8 gBirchBagGrassPal[]; extern const u8 gStarterChoose_LabelCoords[][2]; extern u16 gStarterMons[]; extern union AffineAnimCmd *gUnknown_083F778C[]; @@ -108,7 +108,7 @@ void CB2_ChooseStarter(void) DmaFill32(3, 0, OAM, OAM_SIZE); DmaFill16(3, 0, PLTT, PLTT_SIZE); - LZ77UnCompVram(&gUnknown_083F66F0, (void *)VRAM); + LZ77UnCompVram(&gBirchHelpGfx, (void *)VRAM); LZ77UnCompVram(&gBirchBagTilemap, (void *)(VRAM + 0x3000)); LZ77UnCompVram(&gBirchGrassTilemap, (void *)(VRAM + 0x3800)); remove_some_task(); @@ -116,7 +116,7 @@ void CB2_ChooseStarter(void) ResetSpriteData(); ResetPaletteFade(); FreeAllSpritePalettes(); - LoadPalette(gUnknown_083F62EC, 0, 0x40); + LoadPalette(gBirchBagGrassPal, 0, 0x40); LoadCompressedObjectPic(&gUnknown_083F7794); LoadCompressedObjectPic(&gUnknown_083F77A4); LoadSpritePalettes(gUnknown_083F77B4); diff --git a/src/text.c b/src/text.c index c632a4fa6..265ef5493 100644 --- a/src/text.c +++ b/src/text.c @@ -8,12 +8,6 @@ enum { - CHARSET_JAPANESE = 1, - CHARSET_LATIN -}; - -enum -{ WIN_STATE_END, WIN_STATE_BEGIN, WIN_STATE_NORMAL, @@ -361,7 +355,7 @@ static const WriteGlyphTilemapFunc sWriteGlyphTilemapFuncs[] = WriteGlyphTilemap_Font6, }; -static const struct Window sDefaultWindow = { .charset = CHARSET_LATIN }; +static const struct Window sDefaultWindow = { .language = GAME_LANGUAGE }; typedef u8 (*ExtCtrlCodeFunc)(struct Window *); @@ -1918,7 +1912,7 @@ static void MultistepLoadFont_LoadGlyph(struct Window *win, u16 startOffset, u8 } } -static void EmptyFunc(void) +void EmptyFunc(void) { } @@ -1947,7 +1941,7 @@ void InitWindow(struct Window *win, const u8 *text, u16 tileDataStartOffset, u8 struct WindowConfig *winConfig = win->config; win->textMode = winConfig->textMode; win->fontNum = winConfig->fontNum; - win->charset = CHARSET_LATIN; + win->language = GAME_LANGUAGE; win->paletteNum = winConfig->paletteNum; win->win_field_B = 0; win->win_field_C = 0; @@ -2045,7 +2039,7 @@ u8 sub_8002F44(struct Window *win) static u8 sub_8002FA0(struct Window *win, const u8 *text) { u8 retVal; - u8 savedCharset = win->charset; + u8 savedLanguage = win->language; const u8 *savedText = win->text; u16 savedTextIndex = win->textIndex; win->text = text; @@ -2055,7 +2049,7 @@ static u8 sub_8002FA0(struct Window *win, const u8 *text) win->text = savedText; win->textIndex = savedTextIndex; win->state = WIN_STATE_NORMAL; - win->charset = savedCharset; + win->language = savedLanguage; return retVal; } @@ -2291,13 +2285,13 @@ static u8 ExtCtrlCode_Spacing(struct Window *win) static u8 ExtCtrlCode_Japanese(struct Window *win) { - win->charset = CHARSET_JAPANESE; + win->language = LANGUAGE_JAPANESE; return 2; } static u8 ExtCtrlCode_Latin(struct Window *win) { - win->charset = CHARSET_LATIN; + win->language = GAME_LANGUAGE; return 2; } @@ -2596,7 +2590,7 @@ static void LoadFixedWidthGlyph(struct Window *win, u32 glyph, u8 *dest) u8 *upperTile; u8 *lowerTile; - GetGlyphTilePointers(win->fontNum, win->charset, glyph, &upperTile, &lowerTile); + GetGlyphTilePointers(win->fontNum, win->language, glyph, &upperTile, &lowerTile); switch (win->fontNum) { @@ -2627,17 +2621,17 @@ static void WriteGlyphTilemap(struct Window *win, u16 upperTileNum, u16 lowerTil } } -static void GetGlyphTilePointers(u8 fontNum, u8 charset, u16 glyph, u8 **upperTilePtr, u8 **lowerTilePtr) +static void GetGlyphTilePointers(u8 fontNum, u8 language, u16 glyph, u8 **upperTilePtr, u8 **lowerTilePtr) { u16 index; const struct Font *font; - if (charset == CHARSET_JAPANESE) - charset = 0; + if (language == LANGUAGE_JAPANESE) + language = 0; else - charset = 7; + language = 7; - font = &sFonts[charset + fontNum]; + font = &sFonts[language + fontNum]; switch (font->type) { @@ -3137,7 +3131,7 @@ static void DrawDownArrow(struct Window *win) { u8 *upperTile; u8 *lowerTile; - GetGlyphTilePointers(win->fontNum, win->charset, 0, &upperTile, &lowerTile); + GetGlyphTilePointers(win->fontNum, win->language, 0, &upperTile, &lowerTile); glyphTileInfo.width = 8 - glyphTileInfo.startPixel; glyphTileInfo.src = upperTile; glyphTileInfo.dest = (u32 *)(win->tileData + 32 * GetCursorTileNum(win, 1, 0)); @@ -3340,10 +3334,10 @@ static u8 GetGlyphWidth(struct Window *win, u32 glyph) { u8 width = 8; -#if REVISION >= 1 - if (win->charset != CHARSET_JAPANESE) +#ifdef BUGFIX_GLYPHWIDTH + if (win->language != LANGUAGE_JAPANESE) #else - if (win->charset == CHARSET_LATIN) + if (win->language == LANGUAGE_ENGLISH) #endif { width = win->spacing; @@ -3539,7 +3533,7 @@ u8 GetStringWidth(struct Window *win, const u8 *s) { u8 width = 0; u8 savedFontNum = win->fontNum; - u8 savedCharset = win->charset; + u8 savedCharset = win->language; u8 savedSpacing = win->spacing; s32 i = 0; @@ -3552,9 +3546,9 @@ u8 GetStringWidth(struct Window *win, const u8 *s) { u8 temp; i++; - temp = win->charset; + temp = win->language; width += GetStringWidth(win, GetExpandedPlaceholder(s[i])); - win->charset = temp; + win->language = temp; i++; break; } @@ -3580,10 +3574,10 @@ u8 GetStringWidth(struct Window *win, const u8 *s) win->spacing = s[i + 1]; break; case 0x15: - win->charset = 1; + win->language = LANGUAGE_JAPANESE; break; case 0x16: - win->charset = 2; + win->language = GAME_LANGUAGE; break; } @@ -3596,7 +3590,7 @@ u8 GetStringWidth(struct Window *win, const u8 *s) } win->spacing = savedSpacing; - win->charset = savedCharset; + win->language = savedCharset; win->fontNum = savedFontNum; return width; @@ -3659,10 +3653,9 @@ u8 GetStringWidthGivenWindowConfig(struct WindowConfig *winConfig, const u8 *s) void ConvertInternationalString(u8 *s, u8 language) { - if (language == CHARSET_JAPANESE) + if (language == LANGUAGE_JAPANESE) { u8 i; - u8 length; StripExtCtrlCodes(s); i = StringLength(s); @@ -4254,7 +4247,7 @@ static s32 DrawGlyphTiles(struct Window *win, u32 glyph, u32 glyphWidth) u8 *lowerTile; s32 retVal = 0; - GetGlyphTilePointers(win->fontNum, win->charset, glyph, &upperTile, &lowerTile); + GetGlyphTilePointers(win->fontNum, win->language, glyph, &upperTile, &lowerTile); glyphTileInfo.textMode = win->textMode; glyphTileInfo.startPixel = (win->left + win->cursorX) & 7; glyphTileInfo.width = glyphWidth; diff --git a/src/trainer_card.c b/src/trainer_card.c index a04ad4359..453cec76d 100644 --- a/src/trainer_card.c +++ b/src/trainer_card.c @@ -6,6 +6,7 @@ #include "link.h" #include "main.h" #include "menu.h" +#include "money.h" #include "palette.h" #include "pokedex.h" #include "rom4.h" @@ -81,7 +82,7 @@ static void sub_809323C(void); static void sub_8093254(void); static void sub_80932AC(Callback callBack); static void sub_80932E4(u8 arg1, Callback callBack); -static void sub_8093324(void); +void sub_8093324(void); static void nullsub_60(u8); static u32 sav12_xor_get_clamped_above(u8 index, u32 maxVal); static u8 sub_80934F4(struct TrainerCard *); @@ -91,7 +92,7 @@ static void sub_8093598(void); static void sub_80935EC(void); static void sub_8093610(void); static void sub_8093688(void); -static void sub_80936D4(void); +void sub_80936D4(void); static void sub_80937A4(void); static void sub_80937BC(void); static void sub_80937D8(void); @@ -106,13 +107,13 @@ static void sub_80939DC(u8 taskId); static void sub_8093A28(void); static u8 sub_8093A48(void); static void sub_8093A68(u8 taskId); -static void sub_8093D7C(void); +void sub_8093D7C(void); static void sub_8093DAC(void); static void sub_8093DC8(void); static void sub_8093DEC(void); static void sub_8093E04(void); static void sub_8093E28(void); -static void sub_8093EA0(void); +void sub_8093EA0(void); static void sub_8093EF8(void); static void sub_8093F14(void); static void sub_8093F48(void); @@ -142,12 +143,12 @@ static void TrainerCard_Back_PrintLinkPokeblocks_Label(void); static void TrainerCard_Back_PrintLinkPokeblocks(void); static void TrainerCard_Back_PrintPokemonTrades_Label(void); static void TrainerCard_Back_PrintPokemonTrades(void); -static void unref_sub_8094588(u16 left, u16 top); +void unref_sub_8094588(u16 left, u16 top); void sub_8093110(Callback arg1) { sub_80932AC(arg1); SetMainCallback2(sub_8093174); - unk_2000000.language = 2; + unk_2000000.language = GAME_LANGUAGE; } void sub_8093130(u8 playerIndex, Callback arg2) { @@ -253,7 +254,7 @@ static void sub_80932E4(u8 arg1, Callback callBack) { StoreWordInTwoHalfwords(&task->data[TD_CALLBACK], (u32) callBack); } -static void sub_8093324(void) { +void sub_8093324(void) { u8 taskId = FindTaskIdByFunc(nullsub_60); struct Task *task = &gTasks[taskId]; unk_2000000.var_1 = task->data[TD_0]; @@ -592,7 +593,7 @@ _080936D0: .4byte 0x02000000\n\ #endif -static void sub_80936D4(void) { +void sub_80936D4(void) { unk_2000000.var_7 = FALSE; unk_2000000.var_8 = FALSE; unk_2000000.var_9 = FALSE; @@ -1338,7 +1339,7 @@ bool8 sub_8093D50(void) { } __attribute__((naked)) -static void sub_8093D7C(void) { +void sub_8093D7C(void) { asm(".syntax unified\n\ ldr r1, _08093DA0 @ =gUnknown_03004DE0\n\ ldr r0, _08093DA4 @ =REG_VCOUNT\n\ @@ -1471,7 +1472,7 @@ _08093E9C: .4byte 0x80000200\n\ .syntax divided\n"); } -static void sub_8093EA0(void) { +void sub_8093EA0(void) { LoadPalette(gUnknown_083B5EF8[unk_2000000.var_2], 0, 48 * 2); LoadPalette(gBadgesPalette, 48, 16 * 2); LoadPalette(gUnknown_083B5F4C, 64, 16 * 2); @@ -2016,7 +2017,7 @@ static void TrainerCard_Back_PrintPokemonTrades(void) { MenuPrint_RightAligned(buffer, 28, 9); } -static void unref_sub_8094588(u16 left, u16 top) { +void unref_sub_8094588(u16 left, u16 top) { u8 *text = gOtherText_Boy; if (gSaveBlock2.playerGender == FEMALE) { diff --git a/src/trainer_see.c b/src/trainer_see.c index 969bc94c1..2b4ecbcc1 100644 --- a/src/trainer_see.c +++ b/src/trainer_see.c @@ -20,7 +20,7 @@ extern u32 gUnknown_0202FF84[]; bool8 CheckTrainers(void) { u8 i; - + for(i = 0; i < 16; i++) { if ( gMapObjects[i].active ) @@ -60,7 +60,7 @@ bool8 TrainerCanApproachPlayer(struct MapObject *trainerObj) s16 x, y; u8 i; u8 playerCoord; - + PlayerGetDestCoords(&x, &y); if ( trainerObj->trainerType == 1 ) // trainers that don't spin { @@ -119,6 +119,12 @@ bool8 IsTrainerInRangeEast(struct MapObject *trainerObj, s16 vision, s16 x, s16 return FALSE; } +#ifdef BUGFIX_TRAINERAPPROACH +#define COLLISION_MASK ~1 +#else +#define COLLISION_MASK 1 +#endif + bool8 CheckPathBetweenTrainerAndPlayer(struct MapObject2 *trainerObj, u8 playerCoord, u8 direction) { s16 x, y; @@ -127,21 +133,18 @@ bool8 CheckPathBetweenTrainerAndPlayer(struct MapObject2 *trainerObj, u8 playerC u8 i; u8 var; - if ( !playerCoord ) + if (!playerCoord) return FALSE; x = trainerObj->coords2.x; y = trainerObj->coords2.y; - for(i = 0; i <= playerCoord - 1;) + for (i = 0; i <= playerCoord - 1; i++, MoveCoords(direction, &x, &y)) { var = sub_8060024((struct MapObject *)trainerObj, x, y, direction); - if (var != 0 && (var & 1) != 0 ) + if (var && (var & COLLISION_MASK)) return FALSE; - - i++; - MoveCoords(direction, &x, &y); } // preserve mapobj_unk_19 before clearing. @@ -154,7 +157,7 @@ bool8 CheckPathBetweenTrainerAndPlayer(struct MapObject2 *trainerObj, u8 playerC trainerObj->mapobj_unk_19 = unk19_temp; trainerObj->mapobj_unk_19b = unk19b_temp; - if ( var == 4 ) + if (var == 4) return playerCoord; return FALSE; @@ -173,7 +176,7 @@ void sub_80842FC(TaskFunc func) { TaskFunc func2 = RunTrainerSeeFuncList; u8 taskId = FindTaskIdByFunc(func2); - + SetTaskFuncWithFollowupFunc(taskId, RunTrainerSeeFuncList, func); gTasks[taskId].data[0] = 1; func2(taskId); @@ -201,7 +204,7 @@ s8 sub_8084398(u8 taskId, struct Task *task, struct MapObject *trainerObj) FieldObjectGetLocalIdAndMap(trainerObj, (u8 *)&gUnknown_0202FF84[0], (u8 *)&gUnknown_0202FF84[1], (u8 *)&gUnknown_0202FF84[2]); FieldEffectStart(0); - + direction = GetFaceDirectionAnimId(trainerObj->mapobj_unk_18); FieldObjectSetSpecialAnim(trainerObj, direction); @@ -267,17 +270,17 @@ s8 sub_8084478(u8 taskId, struct Task *task, struct MapObject *trainerObj) s8 sub_8084534(u8 taskId, struct Task *task, struct MapObject *trainerObj) // technically only 1 parameter, but needs all 3 for TrainerSeeFuncList call. { struct MapObject *playerObj = &gMapObjects[gPlayerAvatar.mapObjectId]; - + if ( !FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(playerObj) || FieldObjectClearAnimIfSpecialAnimFinished(playerObj) ) SwitchTaskToFollowupFunc(taskId); - + return 0; } s8 sub_8084578(u8 taskId, struct Task *task, struct MapObject *trainerObj) { - if(!FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(trainerObj) + if(!FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(trainerObj) || FieldObjectClearAnimIfSpecialAnimFinished(trainerObj)) { FieldObjectSetSpecialAnim(trainerObj, 0x59); @@ -290,13 +293,13 @@ s8 sub_80845AC(u8 taskId, struct Task *task, struct MapObject *trainerObj) { if ( FieldObjectClearAnimIfSpecialAnimFinished(trainerObj) ) task->data[0] = 3; - + return 0; } s8 sub_80845C8(u8 taskId, struct Task *task, struct MapObject *trainerObj) { - if(!FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(trainerObj) + if(!FieldObjectIsSpecialAnimOrDirectionSequenceAnimActive(trainerObj) || FieldObjectClearAnimIfSpecialAnimFinished(trainerObj)) { FieldObjectSetSpecialAnim(trainerObj, 0x3E); @@ -327,7 +330,7 @@ s8 sub_8084654(u8 taskId, struct Task *task, struct MapObject *trainerObj) { trainerObj->mapobj_bit_26 = 0; trainerObj->mapobj_bit_2 = 1; - + sprite = &gSprites[trainerObj->spriteId]; sprite->oam.priority = 2; FieldObjectClearAnimIfSpecialAnimFinished(trainerObj); diff --git a/src/truck_scene.c b/src/truck_scene.c index 4e45bd165..64eca498c 100644 --- a/src/truck_scene.c +++ b/src/truck_scene.c @@ -12,8 +12,6 @@ extern s8 gTruckCamera_HorizontalTable[]; s32 GetTruckCameraBobbingY(int a1) { - s32 result; - if (!(a1 % 120)) return -1; else if ((a1 % 10) <= 4) @@ -24,8 +22,6 @@ s32 GetTruckCameraBobbingY(int a1) s32 GetTruckBoxMovement(int a1) // for the box movement? { - s32 result; - if (!((a1 + 120) % 180)) return -1; diff --git a/src/weather.c b/src/weather.c index c16faaed8..520185441 100644 --- a/src/weather.c +++ b/src/weather.c @@ -192,7 +192,7 @@ void sub_807CB10(void) { v4 += v11; dunno = v4 - v9; if (dunno > 0) { - v4 -= dunno + ((u16)dunno >> 15) >> 1; + v4 -= (dunno + ((u16)dunno >> 15)) >> 1; } v1[v6][v2] = v4 >> 8; if (v1[v6][v2] > 0x1f) { diff --git a/src/wild_encounter.c b/src/wild_encounter.c index 48fe3c116..1291242a7 100644 --- a/src/wild_encounter.c +++ b/src/wild_encounter.c @@ -11,6 +11,7 @@ #include "var.h" #include "rom4.h" #include "vars.h" +#include "metatile_behavior.h" struct WildPokemon { diff --git a/sym_ewram.txt b/sym_ewram.txt index 842903712..d76fc1e13 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -6,6 +6,8 @@ .space 0x2E8 .include "src/link.o" + + .align 2 gUnknown_020238C4: @ 20238C4 .space 0x1 @@ -244,7 +246,7 @@ gUnknown_02024D28: @ 2024D28 gUnknown_02024D68: @ 2024D68 .space 0x50 -word_2024DB8: @ 2024DB8 +gBattleWeather: @ 2024DB8 .space 0x4 gUnknown_02024DBC: @ 2024DBC @@ -310,7 +312,7 @@ gSaveBlock2: @ 2024EA4 gSaveBlock1: @ 2025734 .space 0x3AC0 -gUnknown_020291F4: @ 20291F4 +gLoadedSaveData: @ items .space 0x4D8 gUnknown_020296CC: @ 20296CC |